UNPKG

@mormat/jscheduler_ui

Version:

A javascript scheduler ui component

1 lines 25 kB
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.examples=n():e.examples=n()}(self,(()=>{return e={5:(e,n,t)=>{const{Day:a}=t(120),s={"crud-creating_event":"// This example show how can an event can be created from a form\nvar element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'week',\n currentDate: '2024-09-17'\n});\n\nscheduler.pushEvent({ \n label: 'meeting', \n start: '2024-09-17 10:00'\n});\n","crud-deleting_event":"// This example show how can an event can be updated from a form when clicking on it\nvar element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'week',\n events: [\n { \n some_id: 1234,\n label: 'some task', \n start: '2024-09-17 10:00', \n end: '2024-09-17 12:00',\n },\n {\n some_id: 1235,\n label: 'another task', \n start: '2024-09-19 10:00', \n end: '2024-09-19 12:00',\n }\n ],\n eventsClickable: true,\n onEventClick: function(clickedEvent) {\n scheduler.removeEvent(function(e) {\n return e.some_id === 1234\n });\n }\n});\n","crud-updating_event":"// This example show how can an event can be updated from a form when clicking on it\nvar element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'week',\n events: [\n { \n some_id: 1234,\n label: 'some task', \n start: '2024-09-17 10:00', \n end: '2024-09-17 12:00',\n },\n {\n some_id: 1235,\n label: 'another task', \n start: '2024-09-19 10:00', \n end: '2024-09-19 12:00',\n },\n {\n some_id: 1236,\n label: 'spanned task', \n start: '2024-09-17 10:00', \n end: '2024-09-19 12:00',\n }\n ],\n eventsEditable: true,\n onEventEdit: function(values) {\n \n document.getElementById('comments').innerHTML = \n 'label=' + values.label + ',' +\n 'start=' + values.start.getTime() + ',' +\n 'end=' + values.end.getTime() + ',' +\n 'some_id' + values.some_id;\n \n // When validating the form, update the event like this\n scheduler.replaceEvent(\n { \n label: 'some updated task', \n start: '2024-09-17 14:00',\n end: '2024-09-17 16:00',\n }, \n function(e) {\n return e.some_id === values.some_id\n }\n );\n\n }\n});\n","day_view-showing-groups":'var element = document.getElementById(\'scheduler\');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: \'day\',\n showGroups: true,\n groups: [\n {id: 1, label: "Maria Penny"},\n {id: 2, label: "John Castillo"},\n {id: 3, label: "Kate Dillard"},\n {id: 4, label: "Scott Peacock"},\n {id: 5, label: "William Smith"},\n {id: 6, label: "Casey Johnson"},\n {id: 7, label: "Anna Bartlett"}\n ],\n events: [\n { \n some_id: 1234,\n label: \'some task\', \n start: \'2024-02-04 10:16\', \n end: \'2024-02-04 13:48\',\n group_id: 2\n }\n ]\n});\n\ndocument.getElementById(\'comments\').innerHTML = scheduler.getLabel();\n',events:'[\n { \n "label": "meeting", \n \t"start": "2024-08-15 14:00"\n } \n]\n',"misc-responsive-rendering":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n useBreakpoint: true\n});\n\nvar comments = document.getElementById('comments');\ncomments.innerHTML = \n \"<button>small</button>\" +\n \"<button>medium</button>\" +\n \"<button>large</button>\"\n;\n\ncomments.childNodes.forEach(function(button) {\n button.onclick = function() {\n switch (button.innerHTML) {\n case 'small':\n element.style.width = '576px';\n break;\n case 'medium':\n element.style.width = '768px';\n break;\n case 'large':\n element.style.width = '1080px';\n break;\n }\n }\n \n});","month_view-displaying_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'month',\n events: [\n { label: 'training course', start: '2024-10-01 08:00', end: '2024-10-02 19:00' },\n { label: 'presentation', start: '2024-10-05 09:00', end: '2024-10-08 13:00' },\n \n // the invalid values below should be ignored,\n null, {}, { start: 'invalid date' }\n ]\n});\n","month_view-dragndrop_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'month',\n events: [\n { \n label: 'presentation', \n start: '2024-10-02 09:00', \n end: '2024-10-05 13:00' \n }\n ],\n eventsDraggable: true,\n onEventDrop: function(vars) {\n \n document.getElementById('comments').innerHTML = \n vars.label + ' event dropped' + \n ' at (' + vars.start.toDateString() + ' ' + \n vars.start.toTimeString().substring(0, 5) +\n ',' + vars.end.toDateString() + ' ' + \n vars.end.toTimeString().substring(0, 5) +\n ')';\n \n }\n});\n","month_view-i18n":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'month',\n dateLocale: 'it',\n translations: {\n 'edit_event_btn': \"Modifica l'evento\"\n },\n events: [\n { \n some_id: 1234,\n label: 'some task', \n start: '2023-05-02 10:00', \n end: '2023-05-02 12:00',\n }\n ],\n eventsEditable: true\n});\n\ndocument.getElementById('comments').innerHTML = scheduler.getLabel();\n","month_view-init_scheduler":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'month'\n});\n","month_view-loading_events_ajax":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'month',\n currentDate: '2024-08-15'\n});\n\nvar dateRange = scheduler.getEventsDateRange();\n// `dateRange.start` and `dateRange.end` are js Date objects\nurl = './examples/events.json' +\n '?start=' + dateRange.start.getTime() + \n '&end=' + dateRange.end.getTime();\n\n$.get(url, function( data ) {\n scheduler.setOptions( { events: data } );\n});\n\ndocument.getElementById('comments').innerHTML = \"loading '\" + url + \"'\";","month_view-overlapping_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'month',\n eventsDraggable: true,\n events: [\n { \n label: 'a task with a very long text', \n start: '2024-10-01 08:00', \n end: '2024-10-01 19:00' ,\n bgColor: 'primary'\n },\n { label: 'task 1', start: '2024-10-05 09:00', end: '2024-10-05 13:00', bgColor: 'success' },\n { label: 'task 2', start: '2024-10-05 14:00', end: '2024-10-05 18:00', bgColor: 'warning' },\n \n { label: 'item 1', start: '2024-10-08 10:00', end: '2024-10-08 12:00' },\n { label: 'item 3', start: '2024-10-07 10:00', end: '2024-10-13 12:00', bgColor: 'green' },\n { label: 'item 2', start: '2024-10-08 10:00', end: '2024-10-09 12:00', bgColor: 'orange' },\n \n { label: 'item 4', start: '2024-10-11 10:00', end: '2024-10-11 12:00', bgColor: 'cyan' },\n { label: 'item 5', start: '2024-10-13 10:00', end: '2024-10-13 12:00', bgColor: 'yellow' },\n { label: 'item 5', start: '2024-10-13 14:00', end: '2024-10-13 15:30', bgColor: 'salmon' },\n { label: 'item 6', start: '2024-10-13 16:00', end: '2024-10-13 18:30', bgColor: 'aquamarine' },\n \n // the invalid values below should be ignored,\n null, {}, { start: 'invalid date' }\n ]\n});\n","month_view-showing-groups":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'month',\n showGroups: true,\n groups: [\n {id: 1, label: \"Maria Penny\"},\n {id: 2, label: \"John Castillo\"},\n {id: 3, label: \"Kate Dillard\"},\n {id: 4, label: \"Scott Peacock\"},\n {id: 5, label: \"William Smith\"},\n {id: 6, label: \"Casey Johnson\"},\n {id: 7, label: \"Anna Bartlett\"}\n ],\n events: [\n { \n some_id: 1234,\n label: 'some task', \n start: '2024-02-04 10:00', \n end: '2024-02-08 12:00',\n group_id: 2\n },\n { \n some_id: 1235,\n label: 'another task', \n start: '2024-02-14 10:00', \n end: '2024-02-26 12:00',\n bgColor: 'fuchsia',\n group_id: 4\n }\n ]\n});\n\ndocument.getElementById('comments').innerHTML = scheduler.getLabel();\n","week_view-clickable_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'week',\n events: [\n { label: 'presentation', start: '2024-10-03 09:00', end: '2024-10-03 13:00' },\n { label: 'training course', start: '2024-10-01 08:00', end: '2024-10-02 19:00' }\n ],\n eventsClickable: true,\n onEventClick: function(subject) {\n document.getElementById('comments').innerHTML = 'clicked on ' + subject.label;\n }\n});","week_view-custom_hours_range":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'week',\n minHour: 9,\n maxHour: 18\n});\n\n","week_view-displaying_events":'var element = document.getElementById(\'scheduler\');\n\njscheduler_ui.render(element, {\n viewMode: \'week\',\n events: [\n // dates as string\n { \n label: "interview", \n start: "2024-08-13 10:00",\n end: "2024-08-13 12:00",\n },\n // using the Date object\n { \n label: "meeting", \n start: new Date("2024-08-15 14:00"),\n end: new Date("2024-08-15 18:00"),\n },\n // spanned event\n { \n label: "training course",\n start: "2024-08-15 09:00",\n end : "2024-08-17 18:00",\n },\n // the invalid values below should be ignored,\n null, {}, { start: \'invalid date\' }\n ]\n});\n',"week_view-displaying_spanned_events":'var element = document.getElementById(\'scheduler\');\n\njscheduler_ui.render(element, {\n viewMode: \'week\',\n eventsDraggable: true,\n events: [\n { \n label: "training course",\n start: "2024-08-13 09:00",\n end : "2024-08-15 18:00",\n bgColor: \'fuchsia\'\n },\n { \n label: "something elese",\n start: "2024-08-14 09:00",\n end : "2024-08-16 18:00",\n bgColor: \'MediumSeaGreen\'\n },\n ]\n});\n',"week_view-dragndrop_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'week',\n events: [\n { label: 'presentation', start: '2024-10-03 09:00', end: '2024-10-03 13:00' },\n { label: 'training course', start: '2024-10-01 08:00', end: '2024-10-02 19:00' }\n ],\n eventsDraggable: true,\n onEventDrop: function(vars) {\n \n document.getElementById('comments').innerHTML = \n vars.label + ' event dropped' + \n ' at (' + vars.start.toDateString() + ' ' + \n vars.start.toTimeString().substring(0, 5) +\n ',' + vars.end.toDateString() + ' ' + \n vars.end.toTimeString().substring(0, 5) +\n ')';\n \n }\n});\n\n\n","week_view-i18n":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'week',\n dateLocale: 'it',\n translations: {\n 'edit_event_btn': \"Modifica l'evento\"\n },\n events: [\n { \n some_id: 1234,\n label: 'some task', \n start: '2023-05-02 10:00', \n end: '2023-05-02 12:00',\n }\n ],\n eventsEditable: true\n});\n\ndocument.getElementById('comments').innerHTML = scheduler.getLabel();\n","week_view-init_scheduler":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'week'\n});\n\n","week_view-loading_events_ajax":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'week',\n currentDate: '2024-08-15'\n});\n\nvar dateRange = scheduler.getEventsDateRange();\n// `dateRange.start` and `dateRange.end` are js Date objects\nurl = './examples/events.json' +\n '?start=' + dateRange.start.getTime() + \n '&end=' + dateRange.end.getTime();\n\n$.get(url, function( data ) {\n scheduler.setOptions( { events: data } );\n});\n\ndocument.getElementById('comments').innerHTML = \"loading '\" + url + \"'\";","week_view-resizable_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'week',\n viewMode: 'week',\n events: [\n { label: 'presentation', start: '2024-10-03 09:00', end: '2024-10-03 13:00' }\n ],\n eventsResizeable: true,\n onEventResize: function(vars) {\n document.getElementById('comments').innerHTML = \n vars.label + ' event resized' + \n ' to ' + vars.end.toTimeString().substring(0, 5);\n \n }\n});\n","week_view-showing-groups":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'week',\n showGroups: true,\n groups: [\n {id: 1, label: \"Maria Penny\"},\n {id: 2, label: \"John Castillo\"},\n {id: 3, label: \"Kate Dillard\"},\n {id: 4, label: \"Scott Peacock\"},\n {id: 5, label: \"William Smith\"},\n {id: 6, label: \"Casey Johnson\"},\n {id: 7, label: \"Anna Bartlett\"}\n ],\n events: [\n { \n some_id: 1234,\n label: 'some task', \n start: '2023-05-02 10:00', \n end: '2023-05-02 12:00',\n group_id: 2,\n bgColor: '#DE3163',\n },\n { \n some_id: 1235,\n label: 'this label should not be displayed', \n labels: {\n showGroups: 'another task'\n },\n start: '2023-05-02 10:00', \n end: '2023-05-03 12:00',\n bgColor: '#6495ED',\n group_id: 3,\n },\n {\n some_id: 1236,\n label: 'ungrouped task', \n start: '2023-05-03 10:00', \n end: '2023-05-05 12:00',\n bgColor: '#FF7F50',\n group_id: 'missing-group'\n }\n ],\n});\n\ndocument.getElementById('comments').innerHTML = scheduler.getLabel();\n","year_view-displaying_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'year',\n events: [\n { \n label: 'task 1', \n start: '2025-01-05 08:00', \n end: '2025-01-07 19:00',\n short_label: 't1'\n },\n { \n label: 'task 2', \n start: '2025-03-10 08:00', \n end: '2025-03-10 19:00', \n short_label: 't2',\n bgColor: 'coral',\n },\n // { label: 'presentation', start: '2024-10-05 09:00', end: '2024-10-08 13:00' },\n \n // the invalid values below should be ignored,\n null, {}, { start: 'invalid date' }\n ],\n currentDate: \"2025-10-10\"\n});\n\n","year_view-dragndrop_events":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'year',\n events: [\n { \n label: 'task 1', \n start: '2025-01-05 08:00', \n end: '2025-01-07 19:00',\n short_label: 't1'\n },\n ],\n eventsDraggable: true,\n onEventDrop: function(vars) {\n \n document.getElementById('comments').innerHTML = \n vars.label + ' event dropped' + \n ' at (' + vars.start.toDateString() + ' ' + \n vars.start.toTimeString().substring(0, 5) +\n ',' + vars.end.toDateString() + ' ' + \n vars.end.toTimeString().substring(0, 5) +\n ')';\n \n },\n onEventDrop: function(vars) {\n var from = jscheduler_ui.utils.format_date(\n 'yyyy-mm-dd hh:ii', \n vars.start\n );\n var to = jscheduler_ui.utils.format_date(\n 'yyyy-mm-dd hh:ii', \n vars.end\n );\n document.getElementById('comments').innerHTML = \n vars.label + ' is now from ' + from + ' to ' + to; \n },\n currentDate: \"2025-10-10\"\n});\n\n","year_view-i18n":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'year',\n dateLocale: 'fr'\n});\n\n","year_view-init_scheduler":"var element = document.getElementById('scheduler');\n\njscheduler_ui.render(element, {\n viewMode: 'year'\n});\n\n","year_view-loading_events_ajax":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'year',\n currentDate: '2024-08-15'\n});\n\nvar dateRange = scheduler.getEventsDateRange();\n// `dateRange.start` and `dateRange.end` are js Date objects\nurl = './examples/events.json' +\n '?start=' + dateRange.start.getTime() + \n '&end=' + dateRange.end.getTime();\n\n$.get(url, function( data ) {\n scheduler.setOptions( { events: data } );\n});\n\ndocument.getElementById('comments').innerHTML = \"loading '\" + url + \"'\";","year_view-showing-groups":"var element = document.getElementById('scheduler');\n\nvar scheduler = jscheduler_ui.render(element, {\n viewMode: 'year',\n showGroups: true,\n groups: [\n {id: 1, label: \"Maria Penny\"},\n {id: 2, label: \"John Castillo\"},\n {id: 3, label: \"Kate Dillard\"},\n {id: 4, label: \"Scott Peacock\"},\n {id: 5, label: \"William Smith\"},\n {id: 6, label: \"Casey Johnson\"},\n {id: 7, label: \"Anna Bartlett\"}\n ],\n events: [\n { \n some_id: 1234,\n label: 'some task', \n start: '2024-02-04 10:00', \n end: '2024-02-04 12:00',\n group_id: 2\n },\n { \n some_id: 1234,\n label: 'long task', \n start: '2024-04-02 10:00', \n end: '2024-08-04 12:00',\n bgColor: 'fuchsia',\n group_id: 3\n }\n ],\n});\n\ndocument.getElementById('comments').innerHTML = scheduler.getLabel();\n"};var r=new URLSearchParams(window.location.href.split("?")[1]);e.exports={buildModel:function(e){const n=e.map((e=>e[1])).filter((e=>e));var t=r.has("p")?r.get("p"):n[0];const a=e.map((([e,n])=>{const a=new URLSearchParams(r);return a.set("p",n),{label:e,script:n,url:"?"+a,active:t===n,source:n in s?s[n]:""}})),l=a.find((e=>e.active));return{rows:a,activeRow:l}},getToday:function(){return new a(Date.now())}}},120:e=>{const n={yyyy:e=>String(e.getFullYear()),mm:e=>("0"+(e.getMonth()+1)).slice(-2),dd:e=>("0"+e.getDate()).slice(-2),uuu:e=>String(e.getMilliseconds()).padStart(3,"0"),"yyyy-mm":e=>n.yyyy(e)+"-"+n.mm(e),"yyyy-mm-dd":e=>n["yyyy-mm"](e)+"-"+n.dd(e),hh:e=>("0"+e.getHours()).slice(-2),ii:e=>("0"+e.getMinutes()).slice(-2),ss:e=>("0"+e.getSeconds()).slice(-2),"hh:ii":e=>n.hh(e)+":"+n.ii(e),"hh:ii:ss":e=>n.hh(e)+":"+n.ii(e)+":"+n.ss(e),"hh:ii:ss.uuu":e=>n.hh(e)+":"+n.ii(e)+":"+n.ss(e)+"."+n.uuu(e),"yyyy-mm-dd hh:ii":e=>n["yyyy-mm-dd"](e)+" "+n["hh:ii"](e),"yyyy-mm-dd hh:ii:ss":e=>n["yyyy-mm-dd"](e)+" "+n["hh:ii:ss"](e),"yyyy-mm-dd hh:ii:ss.uuu":e=>n["yyyy-mm-dd"](e)+" "+n["hh:ii:ss.uuu"](e)};function t(e,t){const a=new Date(t);return n[e](a)}class a{constructor(e){this.date=new Date(e)}get vars(){return{year:this.date.getFullYear(),monthIndex:this.date.getMonth(),day:this.date.getDate()}}getFirstDayOfWeek(){const e=new Date(this.date);return e.setDate(e.getDate()-e.getDay()+(0===e.getDay()?-6:1)),new a(e)}getLastDayOfWeek(){const e=new Date(this.date);return e.setDate(e.getDate()-e.getDay()+(0===e.getDay()?0:7)),new a(e)}getFirstDayOfMonth(){const e=new Date(this.date);return e.setDate(1),new a(e)}getLastDayOfMonth(){const e=new Date(this.date);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(e.getDate()-1),new a(e)}addDays(e){const n=new Date(this.date);return n.setDate(this.date.getDate()+e),new a(n)}addMonths(e){const n=new Date(this.date);return n.setMonth(this.date.getMonth()+e),new a(n)}addYears(e){const n=new Date(this.date);return n.setYear(n.getFullYear()+e),new a(n)}getDate(){return this.date}get numday(){return this.date.getDate()}get month(){return this.date.getMonth()}toString(){return n["yyyy-mm-dd"](this.date)}}class s{constructor(e,n){this.start=new Date(e),this.end=new Date(n)}static fromObject({start:e,end:n}){return new s(e,n)}static createForMonth(e){const n=t("yyyy-mm",e)+"-01 00:00:00.000",a=new Date(n);return a.setMonth(a.getMonth()+1),a.setTime(a.getTime()-1),new s(n,a)}get length(){return this.end.getTime()-this.start.getTime()}contains(e){const n=new Date(e.start),t=new Date(e.end);return this.start<=n&&t<=this.end}intersects(e){const n=new Date(e.start),t=new Date(e.end);return t<this.start||this.end<n?null:new s(Math.max(this.start.getTime(),n.getTime()),Math.min(this.end.getTime(),t.getTime()))}calcPercentPosition(e){const n=new Date(e),t=this.end.getTime()-this.start.getTime();return 100*(n.getTime()-this.start.getTime())/t}countDays(){return Math.round(this.length/864e5)}getWeeks(){const e=new a(this.start),n=new a(this.end),t=[];let s=e.getFirstDayOfWeek(),r=n.getLastDayOfWeek();for(;s<=r;){const e=[s];for(let n=1;n<7;n++)e.push(e[0].addDays(n));t.push(e),s=s.addDays(7)}return t}fill(e){if("month"===e){const e=new Date(this.end);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(e.getDate()-1),new s(t("yyyy-mm",this.start)+"-01 00:00:00.000",t("yyyy-mm-dd",e)+" 23:59:59.999")}if("day_hour"===e){const e=new Date(this.start),n=new Date(this.end);return e.setMinutes(0),0==n.getMinutes()&&n.setHours(n.getHours()-1),n.setMinutes(59),new s(t("yyyy-mm-dd hh:ii",e)+":00.000",t("yyyy-mm-dd hh:ii",n)+":59.999")}if("day"===e)return new s(new a(this.start)+" 00:00:00.000",new a(this.end)+" 23:59:59.999")}}function r(e){const n=[],t=new Set;for(const a of e){if(t.has(a))continue;const s=e.filter((e=>e!==a&&a.intersects(e)));if(s.length){const e=r(s);for(const t of e)n.push([a,...t]);for(const e of s)t.add(e)}else n.push([a])}return n}function l(e){const n=new Map,t=e.sort(((e,n)=>n.length-e.length));for(const e of t){let t=1/e.length,a=0;for(const s in e)if(n.has(e[s])){const r=n.get(e[s]);a=r.offset+r.length,t=(1-a)/(e.length-s-1)}else n.set(e[s],{offset:a,length:t}),a+=t}return n}class d{#e;constructor(e){this.#e=e}with(e,n){return"month"===e?new d(t("yyyy-mm",n)+"-"+t("dd",this.#e)+" "+t("hh:ii:ss.uuu",this.#e)):"day"===e?new d(t("yyyy-mm-dd",n)+" "+t("hh:ii:ss.uuu",this.#e)):"day_hour"===e?new d(t("yyyy-mm-dd",n)+" "+t("hh",n)+":"+t("ii",this.#e)+":"+t("ss",this.#e)+"."+t("uuu",this.#e)):void 0}toString(){return t("yyyy-mm-dd hh:ii:ss.uuu",this.#e)}}e.exports={format_date:t,DateRange:s,Day:a,date_add_hour:function(e,n){const t=new Date(e);return t.setTime(t.getTime()+60*n*60*1e3),t},groupDateRangedItemsByPosition:function(e){const n=[];e:for(const t of e){const e=new s(t.start,t.end-1);for(const a in n)if(!n[a].find((n=>{const t=new s(n.start,n.end-1);return e.intersects(t)}))){n[a].push(t);continue e}n.push([t])}return n},getOffsetAndLengthByDateRanges:function(e){return l(r(e))},_groupDateRanges:r,_mapGroupedDateRanges:l,getWeekDays:function({dateLocale:e="en"}={}){const n=[];for(let t=0;t<7;t++){const a=new Date("1970-01-01");a.setDate(t+5),n.push(a.toLocaleString(e,{weekday:"short"}))}return n},DateStringFormatter:d}}},n={},function t(a){var s=n[a];if(void 0!==s)return s.exports;var r=n[a]={exports:{}};return e[a](r,r.exports,t),r.exports}(5);var e,n}));