@event-calendar/core 5.2.3 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * EventCalendar v5.2.3
2
+ * EventCalendar v5.3.0
3
3
  * https://github.com/vkurko/calendar
4
4
  */
5
- import { untrack, getAbortSignal, tick, getContext, setContext, onMount, mount, unmount } from "svelte";
5
+ import { untrack, tick, getAbortSignal, getContext, setContext, onMount, mount, unmount } from "svelte";
6
6
  import * as $ from "svelte/internal/client";
7
7
  import "svelte/internal/disclose-version";
8
8
  import { SvelteMap } from "svelte/reactivity";
@@ -87,6 +87,12 @@ function max(...args) {
87
87
  function symbol() {
88
88
  return /* @__PURE__ */ Symbol("ec");
89
89
  }
90
+ function length(array) {
91
+ return array.length;
92
+ }
93
+ function empty(array) {
94
+ return !length(array);
95
+ }
90
96
  function isArray(value) {
91
97
  return Array.isArray(value);
92
98
  }
@@ -112,14 +118,6 @@ function runAll(fns) {
112
118
  function noop() {
113
119
  }
114
120
  const identity = (x) => x;
115
- function stopPropagation(fn, _this = void 0) {
116
- return function(event) {
117
- event.stopPropagation();
118
- if (fn) {
119
- fn.call(_this, event);
120
- }
121
- };
122
- }
123
121
  function isRtl() {
124
122
  return window.getComputedStyle(document.documentElement).direction === "rtl";
125
123
  }
@@ -323,6 +321,14 @@ function listen(node, event, handler, options) {
323
321
  node.addEventListener(event, handler, options);
324
322
  return () => node.removeEventListener(event, handler, options);
325
323
  }
324
+ function stopPropagation(fn, _this = void 0) {
325
+ return function(jsEvent) {
326
+ jsEvent.stopPropagation();
327
+ if (fn) {
328
+ fn.call(_this, jsEvent);
329
+ }
330
+ };
331
+ }
326
332
  function createView(view2, _viewTitle, _currentRange, _activeRange) {
327
333
  return {
328
334
  type: view2,
@@ -492,19 +498,21 @@ function createAllDayChunks(event, days, withId = true) {
492
498
  let lastEnd;
493
499
  let gridColumn;
494
500
  let gridRow;
495
- for (let { gridColumn: column, gridRow: row, resource, dayStart, dayEnd, disabled } of days) {
496
- if (!disabled && eventIntersects(event, dayStart, dayEnd, resource)) {
501
+ let resource;
502
+ for (let { gridColumn: column, gridRow: row, resource: dayResource, dayStart, dayEnd, disabled } of days) {
503
+ if (!disabled && eventIntersects(event, dayStart, dayEnd, dayResource)) {
497
504
  dates.push(dayStart);
498
505
  lastEnd = dayEnd;
499
506
  if (!gridColumn) {
500
507
  gridColumn = column;
501
508
  gridRow = row;
509
+ resource = dayResource;
502
510
  }
503
511
  }
504
512
  }
505
513
  if (dates.length) {
506
514
  let chunk = createEventChunk(event, dates[0], lastEnd);
507
- assign(chunk, { gridColumn, gridRow, dates });
515
+ assign(chunk, { gridColumn, gridRow, resource, dates });
508
516
  if (withId) {
509
517
  assignChunkId(chunk);
510
518
  }
@@ -694,19 +702,19 @@ function createResource(input) {
694
702
  return {
695
703
  id: String(input.id),
696
704
  title: input.title || "",
697
- eventBackgroundColor: input.eventBackgroundColor,
698
- eventTextColor: input.eventTextColor,
705
+ eventBackgroundColor: eventBackgroundColor(input),
706
+ eventTextColor: eventTextColor(input),
699
707
  extendedProps: input.extendedProps ?? {}
700
708
  };
701
709
  }
702
- function resourceBackgroundColor(event, resources) {
703
- return findResource(event, resources)?.eventBackgroundColor;
710
+ function eventBackgroundColor(resource) {
711
+ return resource?.eventBackgroundColor;
704
712
  }
705
- function resourceTextColor(event, resources) {
706
- return findResource(event, resources)?.eventTextColor;
713
+ function eventTextColor(resource) {
714
+ return resource?.eventTextColor;
707
715
  }
708
- function findResource(event, resources) {
709
- return resources.find((resource) => event.resourceIds.includes(resource.id));
716
+ function findFirstResource(event, resources) {
717
+ return empty(event.resourceIds) ? void 0 : resources.find((resource) => event.resourceIds.includes(resource.id));
710
718
  }
711
719
  function createSlots(date, slotDuration, slotLabelPeriodicity2, slotTimeLimits2, intlSlotLabel) {
712
720
  let slots2 = [];
@@ -800,6 +808,7 @@ function createOptions(plugins) {
800
808
  lazyFetching: true,
801
809
  loading: void 0,
802
810
  locale: void 0,
811
+ refetchResourcesOnNavigate: false,
803
812
  resources: [],
804
813
  selectable: false,
805
814
  theme: {
@@ -857,13 +866,13 @@ function createOptions(plugins) {
857
866
  }
858
867
  function createParsers(plugins) {
859
868
  let parsers = {
860
- date: (date) => setMidnight(createDate(date)),
869
+ date: (input) => setMidnight(createDate(input)),
861
870
  duration: createDuration,
862
871
  events: createEvents,
863
872
  eventSources: createEventSources,
864
- hiddenDays: (days) => [...new Set(days)],
865
- highlightedDates: (dates) => dates.map((date) => setMidnight(createDate(date))),
866
- resources: createResources,
873
+ hiddenDays: (input) => [...new Set(input)],
874
+ highlightedDates: (input) => input.map((item) => setMidnight(createDate(item))),
875
+ resources: (input) => isArray(input) ? createResources(input) : input,
867
876
  validRange: createDateRange
868
877
  };
869
878
  for (let plugin of plugins) {
@@ -986,68 +995,121 @@ function diff(options, prevOptions) {
986
995
  }
987
996
  return diff2;
988
997
  }
989
- function loadEvents(mainState) {
990
- let fetching = 0;
998
+ function loadEvents(mainState, loadingInvoker) {
991
999
  return () => {
992
- let { activeRange: activeRange2, fetchedRange, options: { events, eventSources, lazyFetching, loading } } = mainState;
1000
+ let {
1001
+ activeRange: activeRange2,
1002
+ fetchedRange: { events: fetchedRange },
1003
+ viewDates: viewDates2,
1004
+ options: { events, eventSources, lazyFetching }
1005
+ } = mainState;
993
1006
  untrack(() => {
994
- if (!eventSources.length) {
995
- mainState.events = events;
996
- }
997
- if (!fetchedRange.start || fetchedRange.start > activeRange2.start || fetchedRange.end < activeRange2.end || !lazyFetching) {
998
- if (isFunction(loading) && !fetching) {
999
- loading(true);
1007
+ load(
1008
+ eventSources.map((source) => isFunction(source.events) ? source.events : source),
1009
+ events,
1010
+ createEvents,
1011
+ (result) => mainState.events = result,
1012
+ activeRange2,
1013
+ fetchedRange,
1014
+ viewDates2,
1015
+ true,
1016
+ lazyFetching,
1017
+ loadingInvoker
1018
+ );
1019
+ });
1020
+ };
1021
+ }
1022
+ function loadResources(mainState, loadingInvoker) {
1023
+ return () => {
1024
+ let {
1025
+ activeRange: activeRange2,
1026
+ fetchedRange: { resources: fetchedRange },
1027
+ viewDates: viewDates2,
1028
+ options: { lazyFetching, refetchResourcesOnNavigate, resources }
1029
+ } = mainState;
1030
+ untrack(() => {
1031
+ load(
1032
+ isArray(resources) ? [] : [resources],
1033
+ resources,
1034
+ createResources,
1035
+ (result) => mainState.resources = result,
1036
+ activeRange2,
1037
+ fetchedRange,
1038
+ viewDates2,
1039
+ refetchResourcesOnNavigate,
1040
+ lazyFetching,
1041
+ loadingInvoker
1042
+ );
1043
+ });
1044
+ };
1045
+ }
1046
+ function load(sources, defaultResult, parseResult, applyResult, activeRange2, fetchedRange, viewDates2, refetchOnNavigate, lazyFetching, loading) {
1047
+ if (empty(viewDates2)) {
1048
+ return;
1049
+ }
1050
+ if (empty(sources)) {
1051
+ applyResult(defaultResult);
1052
+ return;
1053
+ }
1054
+ if ((refetchOnNavigate || !fetchedRange.start) && (!lazyFetching || !fetchedRange.start || fetchedRange.start > activeRange2.start || fetchedRange.end < activeRange2.end)) {
1055
+ let result = [];
1056
+ let failure = (e) => loading.stop();
1057
+ let success = (data) => {
1058
+ result = result.concat(parseResult(data));
1059
+ applyResult(result);
1060
+ loading.stop();
1061
+ };
1062
+ let startStr = toISOString(activeRange2.start);
1063
+ let endStr = toISOString(activeRange2.end);
1064
+ for (let source of sources) {
1065
+ loading.start();
1066
+ if (isFunction(source)) {
1067
+ let result2 = source(refetchOnNavigate ? {
1068
+ start: toLocalDate(activeRange2.start),
1069
+ end: toLocalDate(activeRange2.end),
1070
+ startStr,
1071
+ endStr
1072
+ } : {}, success, failure);
1073
+ if (result2 !== void 0) {
1074
+ Promise.resolve(result2).then(success, failure);
1000
1075
  }
1001
- let stopLoading = () => {
1002
- if (--fetching === 0 && isFunction(loading)) {
1003
- loading(false);
1004
- }
1005
- };
1006
- let events2 = [];
1007
- let failure = (e) => stopLoading();
1008
- let success = (data) => {
1009
- events2 = events2.concat(createEvents(data));
1010
- mainState.events = events2;
1011
- stopLoading();
1012
- };
1013
- let startStr = toISOString(activeRange2.start);
1014
- let endStr = toISOString(activeRange2.end);
1015
- for (let source of eventSources) {
1016
- if (isFunction(source.events)) {
1017
- let result = source.events({
1018
- start: toLocalDate(activeRange2.start),
1019
- end: toLocalDate(activeRange2.end),
1020
- startStr,
1021
- endStr
1022
- }, success, failure);
1023
- if (result !== void 0) {
1024
- Promise.resolve(result).then(success, failure);
1025
- }
1026
- } else {
1027
- let params = isFunction(source.extraParams) ? source.extraParams() : assign({}, source.extraParams);
1028
- params.start = startStr;
1029
- params.end = endStr;
1030
- params = new URLSearchParams(params);
1031
- let url = source.url, headers = {}, body;
1032
- if (["GET", "HEAD"].includes(source.method)) {
1033
- url += (url.includes("?") ? "&" : "?") + params;
1034
- } else {
1035
- headers["content-type"] = "application/x-www-form-urlencoded;charset=UTF-8";
1036
- body = String(params);
1037
- }
1038
- fetch(url, {
1039
- method: source.method,
1040
- headers,
1041
- body,
1042
- signal: getAbortSignal(),
1043
- credentials: "same-origin"
1044
- }).then((response) => response.json()).then(success).catch(failure);
1045
- }
1046
- ++fetching;
1076
+ } else {
1077
+ let params = isFunction(source.extraParams) ? source.extraParams() : assign({}, source.extraParams);
1078
+ if (refetchOnNavigate) {
1079
+ params.start = startStr;
1080
+ params.end = endStr;
1081
+ }
1082
+ params = new URLSearchParams(params);
1083
+ let url = source.url, headers = {}, body;
1084
+ if (["GET", "HEAD"].includes(source.method)) {
1085
+ url += (url.includes("?") ? "&" : "?") + params;
1086
+ } else {
1087
+ headers["content-type"] = "application/x-www-form-urlencoded;charset=UTF-8";
1088
+ body = String(params);
1047
1089
  }
1048
- assign(fetchedRange, activeRange2);
1090
+ fetch(url, {
1091
+ method: source.method,
1092
+ headers,
1093
+ body,
1094
+ signal: getAbortSignal(),
1095
+ credentials: "same-origin"
1096
+ }).then((response) => response.json()).then(success).catch(failure);
1049
1097
  }
1050
- });
1098
+ }
1099
+ assign(fetchedRange, activeRange2);
1100
+ }
1101
+ }
1102
+ function createLoadingInvoker(options) {
1103
+ let counter = 0;
1104
+ function invoke(value) {
1105
+ let { loading } = options;
1106
+ if (isFunction(loading)) {
1107
+ loading(value);
1108
+ }
1109
+ }
1110
+ return {
1111
+ start: () => ++counter === 1 && invoke(true),
1112
+ stop: () => --counter === 0 && invoke(false)
1051
1113
  };
1052
1114
  }
1053
1115
  function setNowAndToday(mainState) {
@@ -1136,17 +1198,17 @@ function activeRange(mainState) {
1136
1198
  }
1137
1199
  function filteredEvents(mainState) {
1138
1200
  return () => {
1139
- let { events, options: { eventFilter, eventOrder, filterEventsWithResources, resources } } = mainState;
1201
+ let { events, options: { eventFilter, eventOrder, filterEventsWithResources, resources, view: view2 } } = mainState;
1140
1202
  let result = [...events];
1141
1203
  untrack(() => {
1142
1204
  if (isFunction(eventFilter)) {
1143
1205
  let events2 = events.map(toEventWithLocalDates);
1144
- let view2 = toViewWithLocalDates(mainState.view);
1206
+ let view3 = toViewWithLocalDates(mainState.view);
1145
1207
  result = result.filter((event, index2) => eventFilter({
1146
1208
  event: toEventWithLocalDates(event),
1147
1209
  index: index2,
1148
1210
  events: events2,
1149
- view: view2
1211
+ view: view3
1150
1212
  }));
1151
1213
  }
1152
1214
  if (filterEventsWithResources) {
@@ -1170,8 +1232,8 @@ function viewDates(mainState) {
1170
1232
  let { hiddenDays } = options;
1171
1233
  let dates = [];
1172
1234
  untrack(() => {
1173
- let date = cloneDate(activeRange2.start);
1174
- let end = cloneDate(activeRange2.end);
1235
+ let date = setMidnight(cloneDate(activeRange2.start));
1236
+ let end = setMidnight(cloneDate(activeRange2.end));
1175
1237
  while (date < end) {
1176
1238
  if (!hiddenDays.includes(date.getUTCDay())) {
1177
1239
  dates.push(cloneDate(date));
@@ -1237,7 +1299,7 @@ class State {
1237
1299
  return $.get(this.#fetchedRange);
1238
1300
  }
1239
1301
  set fetchedRange(value) {
1240
- $.set(this.#fetchedRange, value);
1302
+ $.set(this.#fetchedRange, value, true);
1241
1303
  }
1242
1304
  #events;
1243
1305
  get events() {
@@ -1267,6 +1329,13 @@ class State {
1267
1329
  set now(value) {
1268
1330
  $.set(this.#now, value, true);
1269
1331
  }
1332
+ #resources;
1333
+ get resources() {
1334
+ return $.get(this.#resources);
1335
+ }
1336
+ set resources(value) {
1337
+ $.set(this.#resources, value);
1338
+ }
1270
1339
  #today;
1271
1340
  get today() {
1272
1341
  return $.get(this.#today);
@@ -1373,11 +1442,12 @@ class State {
1373
1442
  this.#auxComponents = $.state($.proxy([]));
1374
1443
  this.#currentRange = $.derived(currentRange(this));
1375
1444
  this.#activeRange = $.derived(activeRange(this));
1376
- this.#fetchedRange = $.state({ start: void 0, end: void 0 });
1445
+ this.#fetchedRange = $.state($.proxy({ events: {}, resources: {} }));
1377
1446
  this.#events = $.state([]);
1378
1447
  this.#filteredEvents = $.derived(filteredEvents(this));
1379
1448
  this.#mainEl = $.state();
1380
1449
  this.#now = $.state($.proxy(createDate()));
1450
+ this.#resources = $.state([]);
1381
1451
  this.#today = $.state($.proxy(setMidnight(createDate())));
1382
1452
  this.#intlEventTime = $.derived(intlRange(this, "eventTimeFormat"));
1383
1453
  this.#intlDayHeader = $.derived(intl(this, "dayHeaderFormat"));
@@ -1400,8 +1470,10 @@ class State {
1400
1470
  this.#initEffects();
1401
1471
  }
1402
1472
  #initEffects() {
1473
+ let loading = createLoadingInvoker(this.options);
1403
1474
  $.user_pre_effect(setNowAndToday(this));
1404
- $.user_effect(loadEvents(this));
1475
+ $.user_effect(loadEvents(this, loading));
1476
+ $.user_effect(loadResources(this, loading));
1405
1477
  $.user_effect(runDatesSet(this));
1406
1478
  $.user_effect(runEventAllUpdated(this));
1407
1479
  $.user_effect(runViewDidMount(this));
@@ -1415,12 +1487,12 @@ class State {
1415
1487
  this.#setOption(name, value, parsed);
1416
1488
  }
1417
1489
  }
1418
- var root_2$4 = $.from_html(`<h2></h2>`);
1490
+ var root_2$5 = $.from_html(`<h2></h2>`);
1419
1491
  var root_4$1 = $.from_html(`<button><i></i></button>`);
1420
1492
  var root_6$1 = $.from_html(`<button><i></i></button>`);
1421
- var root_8 = $.from_html(`<button> </button>`);
1493
+ var root_8$1 = $.from_html(`<button> </button>`);
1422
1494
  var root_10 = $.from_html(`<button></button>`);
1423
- var root_12 = $.from_html(`<button> </button>`);
1495
+ var root_12$1 = $.from_html(`<button> </button>`);
1424
1496
  function Buttons($$anchor, $$props) {
1425
1497
  $.push($$props, true);
1426
1498
  let mainState = getContext("state");
@@ -1481,7 +1553,7 @@ function Buttons($$anchor, $$props) {
1481
1553
  var node_1 = $.first_child(fragment_1);
1482
1554
  {
1483
1555
  var consequent = ($$anchor3) => {
1484
- var h2 = root_2$4();
1556
+ var h2 = root_2$5();
1485
1557
  $.attach(h2, () => contentFrom($.get(viewTitle2)));
1486
1558
  $.template_effect(() => $.set_class(h2, 1, $.get(theme).title));
1487
1559
  $.append($$anchor3, h2);
@@ -1527,7 +1599,7 @@ function Buttons($$anchor, $$props) {
1527
1599
  var node_4 = $.first_child(fragment_4);
1528
1600
  {
1529
1601
  var consequent_3 = ($$anchor6) => {
1530
- var button_3 = root_8();
1602
+ var button_3 = root_8$1();
1531
1603
  button_3.__click = setToday;
1532
1604
  var text = $.child(button_3, true);
1533
1605
  $.reset(button_3);
@@ -1560,7 +1632,7 @@ function Buttons($$anchor, $$props) {
1560
1632
  var node_6 = $.first_child(fragment_6);
1561
1633
  {
1562
1634
  var consequent_5 = ($$anchor8) => {
1563
- var button_5 = root_12();
1635
+ var button_5 = root_12$1();
1564
1636
  button_5.__click = () => mainState.setOption("view", $.get(button));
1565
1637
  var text_1 = $.child(button_5, true);
1566
1638
  $.reset(button_5);
@@ -1640,8 +1712,8 @@ function Buttons($$anchor, $$props) {
1640
1712
  }
1641
1713
  $.delegate(["click"]);
1642
1714
  var root_3$1 = $.from_html(`<div><!></div>`);
1643
- var root_1$a = $.from_html(`<div></div>`);
1644
- var root$e = $.from_html(`<nav></nav>`);
1715
+ var root_1$c = $.from_html(`<div></div>`);
1716
+ var root$b = $.from_html(`<nav></nav>`);
1645
1717
  function Toolbar($$anchor, $$props) {
1646
1718
  $.push($$props, true);
1647
1719
  let $$d = $.derived(() => getContext("state")), headerToolbar = $.derived(() => $.get($$d).options.headerToolbar), theme = $.derived(() => $.get($$d).options.theme);
@@ -1652,9 +1724,9 @@ function Toolbar($$anchor, $$props) {
1652
1724
  }
1653
1725
  return sections2;
1654
1726
  });
1655
- var nav = root$e();
1727
+ var nav = root$b();
1656
1728
  $.each(nav, 21, () => keys($.get(sections)), $.index, ($$anchor2, key) => {
1657
- var div = root_1$a();
1729
+ var div = root_1$c();
1658
1730
  $.each(div, 21, () => $.get(sections)[$.get(key)], $.index, ($$anchor3, buttons) => {
1659
1731
  var fragment = $.comment();
1660
1732
  var node = $.first_child(fragment);
@@ -1694,7 +1766,7 @@ function Toolbar($$anchor, $$props) {
1694
1766
  $.append($$anchor, nav);
1695
1767
  $.pop();
1696
1768
  }
1697
- var root$d = $.from_html(`<div><!> <!> <!></div>`);
1769
+ var root$a = $.from_html(`<div><!> <!> <!></div>`);
1698
1770
  function Calendar($$anchor, $$props) {
1699
1771
  $.push($$props, true);
1700
1772
  let plugins = $.prop($$props, "plugins", 19, () => []), options = $.prop($$props, "options", 19, () => ({}));
@@ -1724,8 +1796,12 @@ function Calendar($$anchor, $$props) {
1724
1796
  let value = mainState.options[name];
1725
1797
  return isDate(value) ? toLocalDate(value) : value;
1726
1798
  }
1799
+ function refetchResources() {
1800
+ mainState.fetchedRange.resources = {};
1801
+ return this;
1802
+ }
1727
1803
  function refetchEvents() {
1728
- mainState.fetchedRange = { start: void 0, end: void 0 };
1804
+ mainState.fetchedRange.events = {};
1729
1805
  return this;
1730
1806
  }
1731
1807
  function getEvents() {
@@ -1793,6 +1869,7 @@ function Calendar($$anchor, $$props) {
1793
1869
  var $$exports = {
1794
1870
  setOption,
1795
1871
  getOption,
1872
+ refetchResources,
1796
1873
  refetchEvents,
1797
1874
  getEvents,
1798
1875
  getEventById,
@@ -1805,7 +1882,7 @@ function Calendar($$anchor, $$props) {
1805
1882
  next,
1806
1883
  prev
1807
1884
  };
1808
- var div = root$d();
1885
+ var div = root$a();
1809
1886
  let styles;
1810
1887
  var node = $.child(div);
1811
1888
  Toolbar(node, {});
@@ -2007,7 +2084,7 @@ let ViewState$4 = class ViewState {
2007
2084
  this.#popupDay = $.state(null);
2008
2085
  }
2009
2086
  };
2010
- var root$c = $.from_html(`<div><!></div>`);
2087
+ var root$9 = $.from_html(`<div><!></div>`);
2011
2088
  function BaseDay($$anchor, $$props) {
2012
2089
  $.push($$props, true);
2013
2090
  let el = $.prop($$props, "el", 15), allDay = $.prop($$props, "allDay", 3, false), resource = $.prop($$props, "resource", 3, void 0), dateFromPoint = $.prop($$props, "dateFromPoint", 3, () => $$props.date), classes = $.prop($$props, "classes", 3, identity), disabled = $.prop($$props, "disabled", 3, false), highlight = $.prop($$props, "highlight", 3, false), role = $.prop($$props, "role", 3, "cell"), noIeb = $.prop($$props, "noIeb", 3, false), noBeb = $.prop($$props, "noBeb", 3, false);
@@ -2035,7 +2112,7 @@ function BaseDay($$anchor, $$props) {
2035
2112
  });
2036
2113
  });
2037
2114
  let onpointerdown = $.derived(() => !disabled() && $.get(action) ? (jsEvent) => $.get(action).select(jsEvent, $.get(snap2)) : void 0);
2038
- var div = root$c();
2115
+ var div = root$9();
2039
2116
  div.__pointerdown = function(...$$args) {
2040
2117
  $.get(onpointerdown)?.apply(this, $$args);
2041
2118
  };
@@ -2051,16 +2128,16 @@ function BaseDay($$anchor, $$props) {
2051
2128
  $.pop();
2052
2129
  }
2053
2130
  $.delegate(["pointerdown"]);
2054
- var root_1$9 = $.from_html(`<div></div>`);
2055
- var root$b = $.from_html(`<article><!></article>`);
2131
+ var root_1$b = $.from_html(`<div></div>`);
2132
+ var root$8 = $.from_html(`<article><!></article>`);
2056
2133
  function BaseEvent($$anchor, $$props) {
2057
2134
  $.push($$props, true);
2058
2135
  let el = $.prop($$props, "el", 15), classes = $.prop($$props, "classes", 3, identity), styles = $.prop($$props, "styles", 3, identity);
2059
- let $$d = $.derived(() => getContext("state")), intlEventTime = $.derived(() => $.get($$d).intlEventTime), view2 = $.derived(() => $.get($$d).view), displayEventEnd = $.derived(() => $.get($$d).options.displayEventEnd), eventBackgroundColor = $.derived(() => $.get($$d).options.eventBackgroundColor), eventColor = $.derived(() => $.get($$d).options.eventColor), eventContent = $.derived(() => $.get($$d).options.eventContent), eventClick = $.derived(() => $.get($$d).options.eventClick), eventDidMount = $.derived(() => $.get($$d).options.eventDidMount), eventClassNames = $.derived(() => $.get($$d).options.eventClassNames), eventMouseEnter = $.derived(() => $.get($$d).options.eventMouseEnter), eventMouseLeave = $.derived(() => $.get($$d).options.eventMouseLeave), eventTextColor = $.derived(() => $.get($$d).options.eventTextColor), resources = $.derived(() => $.get($$d).options.resources), theme = $.derived(() => $.get($$d).options.theme);
2136
+ let $$d = $.derived(() => getContext("state")), intlEventTime = $.derived(() => $.get($$d).intlEventTime), resources = $.derived(() => $.get($$d).resources), view2 = $.derived(() => $.get($$d).view), displayEventEnd = $.derived(() => $.get($$d).options.displayEventEnd), eventBackgroundColor$1 = $.derived(() => $.get($$d).options.eventBackgroundColor), eventColor = $.derived(() => $.get($$d).options.eventColor), eventContent = $.derived(() => $.get($$d).options.eventContent), eventClick = $.derived(() => $.get($$d).options.eventClick), eventDidMount = $.derived(() => $.get($$d).options.eventDidMount), eventClassNames = $.derived(() => $.get($$d).options.eventClassNames), eventMouseEnter = $.derived(() => $.get($$d).options.eventMouseEnter), eventMouseLeave = $.derived(() => $.get($$d).options.eventMouseLeave), eventTextColor$1 = $.derived(() => $.get($$d).options.eventTextColor), theme = $.derived(() => $.get($$d).options.theme);
2060
2137
  let event = $.derived(() => $$props.chunk.event);
2061
2138
  let display = $.derived(() => $$props.chunk.event.display);
2062
- let bgColor = $.derived(() => $.get(event).backgroundColor ?? resourceBackgroundColor($.get(event), $.get(resources)) ?? $.get(eventBackgroundColor) ?? $.get(eventColor));
2063
- let txtColor = $.derived(() => $.get(event).textColor ?? resourceTextColor($.get(event), $.get(resources)) ?? $.get(eventTextColor));
2139
+ let bgColor = $.derived(() => $.get(event).backgroundColor ?? eventBackgroundColor($$props.chunk.resource ?? findFirstResource($.get(event), $.get(resources))) ?? $.get(eventBackgroundColor$1) ?? $.get(eventColor));
2140
+ let txtColor = $.derived(() => $.get(event).textColor ?? eventTextColor($$props.chunk.resource ?? findFirstResource($.get(event), $.get(resources))) ?? $.get(eventTextColor$1));
2064
2141
  let style = $.derived(() => entries(styles()({ "background-color": $.get(bgColor), "color": $.get(txtColor) })).map((entry) => `${entry[0]}:${entry[1]}`).concat($.get(event).styles).join(";"));
2065
2142
  let classNames = $.derived(() => classes()([
2066
2143
  bgEvent($.get(display)) ? $.get(theme).bgEvent : $.get(theme).event,
@@ -2089,7 +2166,7 @@ function BaseEvent($$anchor, $$props) {
2089
2166
  let onkeydown = $.derived(() => $.get(onclick) && keyEnter($.get(onclick)));
2090
2167
  let onmouseenter = $.derived(() => createHandler($.get(eventMouseEnter), $.get(display)));
2091
2168
  let onmouseleave = $.derived(() => createHandler($.get(eventMouseLeave), $.get(display)));
2092
- var article = root$b();
2169
+ var article = root$8();
2093
2170
  article.__click = function(...$$args) {
2094
2171
  $.get(onclick)?.apply(this, $$args);
2095
2172
  };
@@ -2101,7 +2178,7 @@ function BaseEvent($$anchor, $$props) {
2101
2178
  };
2102
2179
  {
2103
2180
  const defaultBody = ($$anchor2) => {
2104
- var div = root_1$9();
2181
+ var div = root_1$b();
2105
2182
  $.attach(div, () => contentFrom($.get(content)));
2106
2183
  $.template_effect(() => $.set_class(div, 1, $.clsx($.get(theme).eventBody)));
2107
2184
  $.append($$anchor2, div);
@@ -2141,12 +2218,12 @@ function BaseEvent($$anchor, $$props) {
2141
2218
  $.pop();
2142
2219
  }
2143
2220
  $.delegate(["click", "keydown", "pointerdown"]);
2144
- var root$a = $.from_html(`<div><!></div>`);
2221
+ var root$7 = $.from_html(`<div><!></div>`);
2145
2222
  function ColHead($$anchor, $$props) {
2146
2223
  $.push($$props, true);
2147
2224
  let weekday = $.prop($$props, "weekday", 3, true), colSpan = $.prop($$props, "colSpan", 3, 1), ariaHidden = $.prop($$props, "ariaHidden", 3, false), disabled = $.prop($$props, "disabled", 3, false), highlight = $.prop($$props, "highlight", 3, false);
2148
2225
  let $$d = $.derived(() => getContext("state")), today = $.derived(() => $.get($$d).today), theme = $.derived(() => $.get($$d).options.theme);
2149
- var div = root$a();
2226
+ var div = root$7();
2150
2227
  var node = $.child(div);
2151
2228
  $.snippet(node, () => $$props.children);
2152
2229
  $.reset(div);
@@ -2171,12 +2248,12 @@ function ColHead($$anchor, $$props) {
2171
2248
  $.append($$anchor, div);
2172
2249
  $.pop();
2173
2250
  }
2174
- var root$9 = $.from_html(`<time></time>`);
2251
+ var root$6 = $.from_html(`<time></time>`);
2175
2252
  function DayHeader($$anchor, $$props) {
2176
2253
  $.push($$props, true);
2177
2254
  let alPrefix = $.prop($$props, "alPrefix", 3, "");
2178
2255
  let $$d = $.derived(() => getContext("state")), intlDayHeader = $.derived(() => $.get($$d).intlDayHeader), intlDayHeaderAL = $.derived(() => $.get($$d).intlDayHeaderAL);
2179
- var time = root$9();
2256
+ var time = root$6();
2180
2257
  $.attach(time, () => contentFrom($.get(intlDayHeader).format($$props.date)));
2181
2258
  $.template_effect(
2182
2259
  ($0, $1) => {
@@ -2274,10 +2351,10 @@ function InteractableEvent($$anchor, $$props) {
2274
2351
  }
2275
2352
  $.pop();
2276
2353
  }
2277
- var root_2$3 = $.from_html(`<time></time>`);
2354
+ var root_2$4 = $.from_html(`<time></time>`);
2278
2355
  var root_3 = $.from_html(`<span></span>`);
2279
2356
  var root_4 = $.from_html(`<a role="button" tabindex="0" aria-haspopup="dialog"></a>`);
2280
- var root_1$8 = $.from_html(`<div><!> <!></div> <div><!></div>`, 1);
2357
+ var root_1$a = $.from_html(`<div><!> <!></div> <div><!></div>`, 1);
2281
2358
  function Day$3($$anchor, $$props) {
2282
2359
  $.push($$props, true);
2283
2360
  const $firstDay = () => $.store_get($.get(firstDay), "$firstDay", $$stores);
@@ -2339,12 +2416,12 @@ function Day$3($$anchor, $$props) {
2339
2416
  return $$props.noBeb;
2340
2417
  },
2341
2418
  children: ($$anchor2, $$slotProps) => {
2342
- var fragment_1 = root_1$8();
2419
+ var fragment_1 = root_1$a();
2343
2420
  var div = $.first_child(fragment_1);
2344
2421
  var node = $.child(div);
2345
2422
  {
2346
2423
  var consequent = ($$anchor3) => {
2347
- var time = root_2$3();
2424
+ var time = root_2$4();
2348
2425
  $.attach(time, () => contentFrom($.get(intlDayCell).format($.get(dayStart))));
2349
2426
  $.template_effect(($0) => $.set_attribute(time, "datetime", $0), [() => toISOString($.get(dayStart), 10)]);
2350
2427
  $.append($$anchor3, time);
@@ -2503,7 +2580,7 @@ function Event$3($$anchor, $$props) {
2503
2580
  }
2504
2581
  return $.pop($$exports);
2505
2582
  }
2506
- var root$8 = $.from_html(`<dialog closedby="closerequest"><header><time></time> <a role="button" tabindex="0">&times;</a></header> <div></div></dialog>`);
2583
+ var root$5 = $.from_html(`<dialog closedby="closerequest"><header><time></time> <a role="button" tabindex="0">&times;</a></header> <div></div></dialog>`);
2507
2584
  function Popup($$anchor, $$props) {
2508
2585
  $.push($$props, true);
2509
2586
  let viewState = getContext("view-state");
@@ -2573,7 +2650,7 @@ function Popup($$anchor, $$props) {
2573
2650
  close();
2574
2651
  $.get(interaction).action?.noClick();
2575
2652
  }
2576
- var dialog = root$8();
2653
+ var dialog = root$5();
2577
2654
  let styles;
2578
2655
  var header = $.child(dialog);
2579
2656
  var time = $.child(header);
@@ -2619,8 +2696,8 @@ function Popup($$anchor, $$props) {
2619
2696
  $.pop();
2620
2697
  }
2621
2698
  $.delegate(["click", "keydown"]);
2622
- var root_1$7 = $.from_html(`<div role="columnheader"><span></span></div>`);
2623
- var root$7 = $.from_html(`<section><header><div role="row"></div></header> <div><div></div> <div><!> <!> <!></div></div> <!></section>`);
2699
+ var root_2$3 = $.from_html(`<div role="columnheader"><span></span></div>`);
2700
+ var root_1$9 = $.from_html(`<section><header><div role="row"></div></header> <div><div></div> <div><!> <!> <!></div></div> <!></section>`);
2624
2701
  function View$3($$anchor, $$props) {
2625
2702
  $.push($$props, true);
2626
2703
  let mainState = getContext("state");
@@ -2636,124 +2713,139 @@ function View$3($$anchor, $$props) {
2636
2713
  }
2637
2714
  function hide() {
2638
2715
  $.get(hiddenChunks).size;
2639
- refs.forEach((ref) => ref.hide());
2716
+ refs.forEach((ref) => ref?.hide());
2640
2717
  }
2641
2718
  $.user_effect(reposition);
2642
2719
  $.user_effect(hide);
2643
- var section = root$7();
2644
- let styles;
2645
- var header = $.child(section);
2646
- var div = $.child(header);
2647
- $.each(div, 21, () => $.get(grid2)[0], $.index, ($$anchor2, $$item, i) => {
2648
- let dayStart = () => $.get($$item).dayStart;
2649
- var div_1 = root_1$7();
2650
- $.set_attribute(div_1, "aria-colindex", 1 + i);
2651
- var span = $.child(div_1);
2652
- $.attach(span, () => contentFrom($.get(intlDayHeader).format(dayStart())));
2653
- $.reset(div_1);
2654
- $.template_effect(
2655
- ($0, $1) => {
2656
- $.set_class(div_1, 1, $0);
2657
- $.set_attribute(span, "aria-label", $1);
2658
- },
2659
- [
2660
- () => $.clsx([
2661
- $.get(theme).colHead,
2662
- $.get(theme).weekdays?.[dayStart().getUTCDay()]
2663
- ]),
2664
- () => $.get(intlDayHeaderAL).format(dayStart())
2665
- ]
2666
- );
2667
- $.append($$anchor2, div_1);
2668
- });
2669
- $.reset(div);
2670
- $.reset(header);
2671
- var div_2 = $.sibling(header, 2);
2672
- var div_3 = $.child(div_2);
2673
- $.each(div_3, 21, () => $.get(grid2), $.index, ($$anchor2, days, i) => {
2674
- var fragment = $.comment();
2675
- var node = $.first_child(fragment);
2676
- $.each(node, 17, () => $.get(days), $.index, ($$anchor3, day, j) => {
2677
- {
2678
- let $0 = $.derived(() => j + 1 === $.get(days).length);
2679
- let $1 = $.derived(() => i + 1 === $.get(grid2).length);
2680
- Day$3($$anchor3, {
2681
- get day() {
2682
- return $.get(day);
2683
- },
2684
- get noIeb() {
2685
- return $.get($0);
2720
+ var fragment = $.comment();
2721
+ var node = $.first_child(fragment);
2722
+ {
2723
+ var consequent_1 = ($$anchor2) => {
2724
+ var section = root_1$9();
2725
+ let styles;
2726
+ var header = $.child(section);
2727
+ var div = $.child(header);
2728
+ $.each(div, 21, () => $.get(grid2)[0], $.index, ($$anchor3, $$item, i) => {
2729
+ let dayStart = () => $.get($$item).dayStart;
2730
+ var div_1 = root_2$3();
2731
+ $.set_attribute(div_1, "aria-colindex", 1 + i);
2732
+ var span = $.child(div_1);
2733
+ $.attach(span, () => contentFrom($.get(intlDayHeader).format(dayStart())));
2734
+ $.reset(div_1);
2735
+ $.template_effect(
2736
+ ($0, $1) => {
2737
+ $.set_class(div_1, 1, $0);
2738
+ $.set_attribute(span, "aria-label", $1);
2686
2739
  },
2687
- get noBeb() {
2688
- return $.get($1);
2740
+ [
2741
+ () => $.clsx([
2742
+ $.get(theme).colHead,
2743
+ $.get(theme).weekdays?.[dayStart().getUTCDay()]
2744
+ ]),
2745
+ () => $.get(intlDayHeaderAL).format(dayStart())
2746
+ ]
2747
+ );
2748
+ $.append($$anchor3, div_1);
2749
+ });
2750
+ $.reset(div);
2751
+ $.reset(header);
2752
+ var div_2 = $.sibling(header, 2);
2753
+ var div_3 = $.child(div_2);
2754
+ $.each(div_3, 21, () => $.get(grid2), $.index, ($$anchor3, days, i) => {
2755
+ var fragment_1 = $.comment();
2756
+ var node_1 = $.first_child(fragment_1);
2757
+ $.each(node_1, 17, () => $.get(days), $.index, ($$anchor4, day, j) => {
2758
+ {
2759
+ let $0 = $.derived(() => j + 1 === length($.get(days)));
2760
+ let $1 = $.derived(() => i + 1 === length($.get(grid2)));
2761
+ Day$3($$anchor4, {
2762
+ get day() {
2763
+ return $.get(day);
2764
+ },
2765
+ get noIeb() {
2766
+ return $.get($0);
2767
+ },
2768
+ get noBeb() {
2769
+ return $.get($1);
2770
+ }
2771
+ });
2689
2772
  }
2690
2773
  });
2774
+ $.append($$anchor3, fragment_1);
2775
+ });
2776
+ $.reset(div_3);
2777
+ $.bind_this(div_3, ($$value) => viewState.gridEl = $$value, () => viewState?.gridEl);
2778
+ var div_4 = $.sibling(div_3, 2);
2779
+ var node_2 = $.child(div_4);
2780
+ $.each(node_2, 19, () => $.get(chunks), (chunk) => chunk.id, ($$anchor3, chunk, i) => {
2781
+ $.bind_this(
2782
+ Event$3($$anchor3, {
2783
+ get chunk() {
2784
+ return $.get(chunk);
2785
+ }
2786
+ }),
2787
+ ($$value, i2) => refs[i2] = $$value,
2788
+ (i2) => refs?.[i2],
2789
+ () => [$.get(i)]
2790
+ );
2791
+ });
2792
+ var node_3 = $.sibling(node_2, 2);
2793
+ $.each(node_3, 17, () => $.get(bgChunks), (chunk) => chunk.id, ($$anchor3, chunk) => {
2794
+ Event$3($$anchor3, {
2795
+ get chunk() {
2796
+ return $.get(chunk);
2797
+ }
2798
+ });
2799
+ });
2800
+ var node_4 = $.sibling(node_3, 2);
2801
+ $.each(node_4, 17, () => $.get(iChunks), $.index, ($$anchor3, chunk) => {
2802
+ Event$3($$anchor3, {
2803
+ get chunk() {
2804
+ return $.get(chunk);
2805
+ }
2806
+ });
2807
+ });
2808
+ $.reset(div_4);
2809
+ $.reset(div_2);
2810
+ var node_5 = $.sibling(div_2, 2);
2811
+ {
2812
+ var consequent = ($$anchor3) => {
2813
+ Popup($$anchor3, {});
2814
+ };
2815
+ $.if(node_5, ($$render) => {
2816
+ if ($.get(popupDay)) $$render(consequent);
2817
+ });
2691
2818
  }
2692
- });
2693
- $.append($$anchor2, fragment);
2694
- });
2695
- $.reset(div_3);
2696
- $.bind_this(div_3, ($$value) => viewState.gridEl = $$value, () => viewState?.gridEl);
2697
- var div_4 = $.sibling(div_3, 2);
2698
- var node_1 = $.child(div_4);
2699
- $.each(node_1, 19, () => $.get(chunks), (chunk) => chunk.id, ($$anchor2, chunk, i) => {
2700
- $.bind_this(
2701
- Event$3($$anchor2, {
2702
- get chunk() {
2703
- return $.get(chunk);
2704
- }
2705
- }),
2706
- ($$value, i2) => refs[i2] = $$value,
2707
- (i2) => refs?.[i2],
2708
- () => [$.get(i)]
2709
- );
2710
- });
2711
- var node_2 = $.sibling(node_1, 2);
2712
- $.each(node_2, 17, () => $.get(bgChunks), (chunk) => chunk.id, ($$anchor2, chunk) => {
2713
- Event$3($$anchor2, {
2714
- get chunk() {
2715
- return $.get(chunk);
2716
- }
2717
- });
2718
- });
2719
- var node_3 = $.sibling(node_2, 2);
2720
- $.each(node_3, 17, () => $.get(iChunks), $.index, ($$anchor2, chunk) => {
2721
- Event$3($$anchor2, {
2722
- get chunk() {
2723
- return $.get(chunk);
2724
- }
2725
- });
2726
- });
2727
- $.reset(div_4);
2728
- $.reset(div_2);
2729
- var node_4 = $.sibling(div_2, 2);
2730
- {
2731
- var consequent = ($$anchor2) => {
2732
- Popup($$anchor2, {});
2819
+ $.reset(section);
2820
+ $.bind_this(section, ($$value) => mainState.mainEl = $$value, () => mainState?.mainEl);
2821
+ $.attach(section, () => resizeObserver(reposition));
2822
+ $.template_effect(
2823
+ ($0) => {
2824
+ $.set_class(section, 1, $.clsx([
2825
+ $.get(theme).main,
2826
+ $.get(dayMaxEvents) === true && $.get(theme).uniform
2827
+ ]));
2828
+ styles = $.set_style(section, "", styles, $0);
2829
+ $.set_class(header, 1, $.get(theme).header);
2830
+ $.set_class(div, 1, $.get(theme).grid);
2831
+ $.set_class(div_2, 1, $.get(theme).body);
2832
+ $.set_class(div_3, 1, $.get(theme).grid);
2833
+ $.set_class(div_4, 1, $.get(theme).events);
2834
+ },
2835
+ [
2836
+ () => ({
2837
+ "--ec-grid-cols": length($.get(grid2)[0]),
2838
+ "--ec-grid-rows": length($.get(grid2))
2839
+ })
2840
+ ]
2841
+ );
2842
+ $.append($$anchor2, section);
2733
2843
  };
2734
- $.if(node_4, ($$render) => {
2735
- if ($.get(popupDay)) $$render(consequent);
2844
+ $.if(node, ($$render) => {
2845
+ if (!empty($.get(grid2)) && !empty($.get(grid2)[0])) $$render(consequent_1);
2736
2846
  });
2737
2847
  }
2738
- $.reset(section);
2739
- $.bind_this(section, ($$value) => mainState.mainEl = $$value, () => mainState?.mainEl);
2740
- $.attach(section, () => resizeObserver(reposition));
2741
- $.template_effect(() => {
2742
- $.set_class(section, 1, $.clsx([
2743
- $.get(theme).main,
2744
- $.get(dayMaxEvents) === true && $.get(theme).uniform
2745
- ]));
2746
- styles = $.set_style(section, "", styles, {
2747
- "--ec-grid-cols": $.get(grid2)[0].length,
2748
- "--ec-grid-rows": $.get(grid2).length
2749
- });
2750
- $.set_class(header, 1, $.get(theme).header);
2751
- $.set_class(div, 1, $.get(theme).grid);
2752
- $.set_class(div_2, 1, $.get(theme).body);
2753
- $.set_class(div_3, 1, $.get(theme).grid);
2754
- $.set_class(div_4, 1, $.get(theme).events);
2755
- });
2756
- $.append($$anchor, section);
2848
+ $.append($$anchor, fragment);
2757
2849
  $.pop();
2758
2850
  }
2759
2851
  const index$5 = {
@@ -3460,9 +3552,9 @@ function Pointer($$anchor, $$props) {
3460
3552
  $.event("scroll", $.window, handleScroll2);
3461
3553
  return $.pop($$exports);
3462
3554
  }
3463
- var root_1$6 = $.from_html(`<div></div>`);
3555
+ var root_1$8 = $.from_html(`<div></div>`);
3464
3556
  var root_2$2 = $.from_html(`<div></div>`);
3465
- var root$6 = $.from_html(`<!> <!> <!>`, 1);
3557
+ var root$4 = $.from_html(`<!> <!> <!>`, 1);
3466
3558
  function Resizer($$anchor, $$props) {
3467
3559
  $.push($$props, true);
3468
3560
  let forceDate = $.prop($$props, "forceDate", 3, void 0), forceMargin = $.prop($$props, "forceMargin", 3, void 0);
@@ -3474,11 +3566,11 @@ function Resizer($$anchor, $$props) {
3474
3566
  function createResizeHandler(start) {
3475
3567
  return (jsEvent) => $.get(action).resize($.get(event), jsEvent, start, $$props.axis, forceDate(), forceMargin(), $$props.chunk.zeroDuration, $.get(snap2));
3476
3568
  }
3477
- var fragment = root$6();
3569
+ var fragment = root$4();
3478
3570
  var node = $.first_child(fragment);
3479
3571
  {
3480
3572
  var consequent = ($$anchor2) => {
3481
- var div = root_1$6();
3573
+ var div = root_1$8();
3482
3574
  var event_handler = $.derived(() => createResizeHandler(true));
3483
3575
  div.__pointerdown = function(...$$args) {
3484
3576
  $.get(event_handler)?.apply(this, $$args);
@@ -3511,14 +3603,14 @@ function Resizer($$anchor, $$props) {
3511
3603
  $.pop();
3512
3604
  }
3513
3605
  $.delegate(["pointerdown"]);
3514
- var root$5 = $.from_html(`<!> <!>`, 1);
3606
+ var root$3 = $.from_html(`<!> <!>`, 1);
3515
3607
  function Auxiliary($$anchor, $$props) {
3516
3608
  $.push($$props, true);
3517
3609
  let mainState = getContext("state");
3518
3610
  new AuxState(mainState);
3519
3611
  let interaction = $.derived(() => mainState.interaction), pointer = $.derived(() => mainState.options.pointer);
3520
3612
  $.get(interaction).resizer = Resizer;
3521
- var fragment = root$5();
3613
+ var fragment = root$3();
3522
3614
  var node = $.first_child(fragment);
3523
3615
  $.bind_this(Action(node, {}), ($$value) => $.get(interaction).action = $$value, () => $.get(interaction)?.action);
3524
3616
  var node_1 = $.sibling(node, 2);
@@ -3602,7 +3694,7 @@ let ViewState$3 = class ViewState2 {
3602
3694
  this.#intlListDaySide = $.derived(intl(mainState, "listDaySideFormat"));
3603
3695
  }
3604
3696
  };
3605
- var root_1$5 = $.from_html(`<div></div> <!>`, 1);
3697
+ var root_1$7 = $.from_html(`<div></div> <!>`, 1);
3606
3698
  function Event$2($$anchor, $$props) {
3607
3699
  $.push($$props, true);
3608
3700
  let $$d = $.derived(() => getContext("state")), interaction = $.derived(() => $.get($$d).interaction), theme = $.derived(() => $.get($$d).options.theme);
@@ -3613,7 +3705,7 @@ function Event$2($$anchor, $$props) {
3613
3705
  });
3614
3706
  {
3615
3707
  const body = ($$anchor2, defaultBody = $.noop, bgColor = $.noop, txtColor = $.noop) => {
3616
- var fragment_1 = root_1$5();
3708
+ var fragment_1 = root_1$7();
3617
3709
  var div = $.first_child(fragment_1);
3618
3710
  let styles_1;
3619
3711
  var node = $.sibling(div, 2);
@@ -3713,8 +3805,8 @@ function Day$2($$anchor, $$props) {
3713
3805
  $.append($$anchor, fragment);
3714
3806
  $.pop();
3715
3807
  }
3716
- var root_1$4 = $.from_html(`<div></div>`);
3717
- var root$4 = $.from_html(`<section><!></section>`);
3808
+ var root_1$6 = $.from_html(`<div></div>`);
3809
+ var root$2 = $.from_html(`<section><!></section>`);
3718
3810
  function View$2($$anchor, $$props) {
3719
3811
  $.push($$props, true);
3720
3812
  let mainState = getContext("state");
@@ -3723,7 +3815,7 @@ function View$2($$anchor, $$props) {
3723
3815
  let filteredEvents2 = $.derived(() => mainState.filteredEvents), view2 = $.derived(() => mainState.view), viewDates2 = $.derived(() => mainState.viewDates), noEventsClick = $.derived(() => mainState.options.noEventsClick), noEventsContent = $.derived(() => mainState.options.noEventsContent), theme = $.derived(() => mainState.options.theme);
3724
3816
  let noEvents = $.derived(() => {
3725
3817
  let noEvents2 = true;
3726
- if ($.get(viewDates2).length) {
3818
+ if (!empty($.get(viewDates2))) {
3727
3819
  let start = $.get(viewDates2)[0];
3728
3820
  let end = addDay(cloneDate($.get(viewDates2).at(-1)));
3729
3821
  for (let event of $.get(filteredEvents2)) {
@@ -3741,11 +3833,11 @@ function View$2($$anchor, $$props) {
3741
3833
  $.get(noEventsClick)({ jsEvent, view: toViewWithLocalDates($.get(view2)) });
3742
3834
  }
3743
3835
  }
3744
- var section = root$4();
3836
+ var section = root$2();
3745
3837
  var node = $.child(section);
3746
3838
  {
3747
3839
  var consequent = ($$anchor2) => {
3748
- var div = root_1$4();
3840
+ var div = root_1$6();
3749
3841
  div.__click = onclick;
3750
3842
  $.attach(div, () => contentFrom($.get(content)));
3751
3843
  $.template_effect(() => $.set_class(div, 1, $.get(theme).noEvents));
@@ -3837,6 +3929,7 @@ function createChunks$1(event, days, withId = true) {
3837
3929
  assign(chunk, {
3838
3930
  gridColumn,
3839
3931
  gridRow,
3932
+ resource,
3840
3933
  top: (chunk.start - start) / 1e3,
3841
3934
  height: (chunk.end - chunk.start) / 1e3,
3842
3935
  maxHeight: (end - chunk.start) / 1e3
@@ -4218,7 +4311,8 @@ function viewResources(mainState) {
4218
4311
  let {
4219
4312
  activeRange: activeRange2,
4220
4313
  filteredEvents: filteredEvents2,
4221
- options: { filterResourcesWithEvents, resources },
4314
+ resources,
4315
+ options: { filterResourcesWithEvents },
4222
4316
  extensions: { viewResources: viewResources2 }
4223
4317
  } = mainState;
4224
4318
  let result = viewResources2 ? viewResources2(resources) : resources;
@@ -4226,7 +4320,7 @@ function viewResources(mainState) {
4226
4320
  if (filterResourcesWithEvents) {
4227
4321
  result = resources.filter(
4228
4322
  (resource) => filteredEvents2.some(
4229
- (event) => eventIntersects(event, activeRange2.start, activeRange2.end, resource)
4323
+ (event) => !bgEvent(event.display) && eventIntersects(event, activeRange2.start, activeRange2.end, resource)
4230
4324
  )
4231
4325
  );
4232
4326
  }
@@ -4297,7 +4391,7 @@ let ViewState$1 = class ViewState4 extends RRState(TRState(TRRState())) {
4297
4391
  this.#grid = $.derived(grid$1(mainState, this));
4298
4392
  }
4299
4393
  };
4300
- var root$3 = $.from_html(`<span></span>`);
4394
+ var root$1 = $.from_html(`<span></span>`);
4301
4395
  function Label($$anchor, $$props) {
4302
4396
  $.push($$props, true);
4303
4397
  let date = $.prop($$props, "date", 3, void 0), setLabel = $.prop($$props, "setLabel", 3, void 0);
@@ -4334,7 +4428,7 @@ function Label($$anchor, $$props) {
4334
4428
  });
4335
4429
  }
4336
4430
  });
4337
- var span = root$3();
4431
+ var span = root$1();
4338
4432
  $.bind_this(span, ($$value) => $.set(el, $$value), () => $.get(el));
4339
4433
  $.attach(span, () => contentFrom($.get(content)));
4340
4434
  $.template_effect(() => $.set_attribute(span, "aria-label", $.get(ariaLabel)));
@@ -4458,7 +4552,7 @@ function AllDayEvent($$anchor, $$props) {
4458
4552
  });
4459
4553
  return $.pop($$exports);
4460
4554
  }
4461
- var root_1$3 = $.from_html(`<div></div>`);
4555
+ var root_1$5 = $.from_html(`<div></div>`);
4462
4556
  function NowIndicator$1($$anchor, $$props) {
4463
4557
  $.push($$props, true);
4464
4558
  let span = $.prop($$props, "span", 3, 1);
@@ -4491,7 +4585,7 @@ function NowIndicator$1($$anchor, $$props) {
4491
4585
  var node = $.first_child(fragment);
4492
4586
  {
4493
4587
  var consequent = ($$anchor2) => {
4494
- var div = root_1$3();
4588
+ var div = root_1$5();
4495
4589
  let styles;
4496
4590
  $.attach(div, () => intersectionObserver(onIntersect, $.get(observerOptions)));
4497
4591
  $.template_effect(() => {
@@ -4510,9 +4604,9 @@ function NowIndicator$1($$anchor, $$props) {
4510
4604
  $.append($$anchor, fragment);
4511
4605
  $.pop();
4512
4606
  }
4513
- var root_5 = $.from_html(`<div><aside></aside> <div role="row"></div> <div><!> <!> <!></div></div>`);
4514
- var root_11 = $.from_html(`<div><time></time></div>`);
4515
- var root$2 = $.from_html(`<section><header><aside></aside> <div role="row"><!></div> <!></header> <div role="rowgroup"><aside aria-hidden="true"></aside> <div role="row"></div> <div><!> <!> <!></div></div> <!></section>`);
4607
+ var root_6 = $.from_html(`<div><aside></aside> <div role="row"></div> <div><!> <!> <!></div></div>`);
4608
+ var root_12 = $.from_html(`<div><time></time></div>`);
4609
+ var root_1$4 = $.from_html(`<section><header><aside></aside> <div role="row"><!></div> <!></header> <div role="rowgroup"><aside aria-hidden="true"></aside> <div role="row"></div> <div><!> <!> <!></div></div> <!></section>`);
4516
4610
  function View$1($$anchor, $$props) {
4517
4611
  $.push($$props, true);
4518
4612
  let viewState = $.prop($$props, "viewState", 7);
@@ -4526,9 +4620,10 @@ function View$1($$anchor, $$props) {
4526
4620
  let headerHeight = $.state(0);
4527
4621
  let allDayText = $.derived(() => createAllDayContent($.get(allDayContent)));
4528
4622
  $.user_effect(() => {
4529
- $.get(viewDates2);
4530
4623
  $.get(scrollTime);
4531
- tick().then(scrollToTime);
4624
+ if (!empty($.get(viewDates2))) {
4625
+ tick().then(scrollToTime);
4626
+ }
4532
4627
  });
4533
4628
  function scrollToTime() {
4534
4629
  $.get(mainEl).scrollTop = ((toSeconds($.get(scrollTime)) - toSeconds($.get(slotTimeLimits2).min)) / toSeconds($.get(slotDuration)) - 0.5) * $.get(slotHeight);
@@ -4538,249 +4633,264 @@ function View$1($$anchor, $$props) {
4538
4633
  runReposition(refs, $.get(allDayChunks));
4539
4634
  }
4540
4635
  $.user_effect(reposition);
4541
- var section = root$2();
4542
- let styles;
4543
- var header_1 = $.child(section);
4544
- var aside = $.child(header_1);
4545
- var div = $.sibling(aside, 2);
4546
- var node = $.child(div);
4636
+ var fragment = $.comment();
4637
+ var node = $.first_child(fragment);
4547
4638
  {
4548
- var consequent = ($$anchor2) => {
4549
- var fragment = $.comment();
4550
- var node_1 = $.first_child(fragment);
4551
- $.snippet(node_1, () => $$props.header);
4552
- $.append($$anchor2, fragment);
4553
- };
4554
- var alternate = ($$anchor2) => {
4555
- var fragment_1 = $.comment();
4556
- var node_2 = $.first_child(fragment_1);
4557
- $.each(node_2, 17, () => $.get(grid2)[0], $.index, ($$anchor3, $$item, i) => {
4558
- let date = () => $.get($$item).dayStart;
4559
- let disabled = () => $.get($$item).disabled;
4560
- let highlight = () => $.get($$item).highlight;
4561
- ColHead($$anchor3, {
4562
- get date() {
4563
- return date();
4564
- },
4565
- colIndex: 1 + i,
4566
- get disabled() {
4567
- return disabled();
4568
- },
4569
- get highlight() {
4570
- return highlight();
4571
- },
4572
- children: ($$anchor4, $$slotProps) => {
4573
- DayHeader($$anchor4, {
4639
+ var consequent_4 = ($$anchor2) => {
4640
+ var section = root_1$4();
4641
+ let styles;
4642
+ var header_1 = $.child(section);
4643
+ var aside = $.child(header_1);
4644
+ var div = $.sibling(aside, 2);
4645
+ var node_1 = $.child(div);
4646
+ {
4647
+ var consequent = ($$anchor3) => {
4648
+ var fragment_1 = $.comment();
4649
+ var node_2 = $.first_child(fragment_1);
4650
+ $.snippet(node_2, () => $$props.header);
4651
+ $.append($$anchor3, fragment_1);
4652
+ };
4653
+ var alternate = ($$anchor3) => {
4654
+ var fragment_2 = $.comment();
4655
+ var node_3 = $.first_child(fragment_2);
4656
+ $.each(node_3, 17, () => $.get(grid2)[0], $.index, ($$anchor4, $$item, i) => {
4657
+ let date = () => $.get($$item).dayStart;
4658
+ let disabled = () => $.get($$item).disabled;
4659
+ let highlight = () => $.get($$item).highlight;
4660
+ ColHead($$anchor4, {
4574
4661
  get date() {
4575
4662
  return date();
4663
+ },
4664
+ colIndex: 1 + i,
4665
+ get disabled() {
4666
+ return disabled();
4667
+ },
4668
+ get highlight() {
4669
+ return highlight();
4670
+ },
4671
+ children: ($$anchor5, $$slotProps) => {
4672
+ DayHeader($$anchor5, {
4673
+ get date() {
4674
+ return date();
4675
+ }
4676
+ });
4677
+ },
4678
+ $$slots: { default: true }
4679
+ });
4680
+ });
4681
+ $.append($$anchor3, fragment_2);
4682
+ };
4683
+ $.if(node_1, ($$render) => {
4684
+ if ($$props.header) $$render(consequent);
4685
+ else $$render(alternate, false);
4686
+ });
4687
+ }
4688
+ $.reset(div);
4689
+ var node_4 = $.sibling(div, 2);
4690
+ {
4691
+ var consequent_1 = ($$anchor3) => {
4692
+ var div_1 = root_6();
4693
+ var aside_1 = $.child(div_1);
4694
+ $.attach(aside_1, () => contentFrom($.get(allDayText)));
4695
+ var div_2 = $.sibling(aside_1, 2);
4696
+ $.each(div_2, 21, () => $.get(grid2), $.index, ($$anchor4, days, i) => {
4697
+ var fragment_5 = $.comment();
4698
+ var node_5 = $.first_child(fragment_5);
4699
+ $.each(node_5, 17, () => $.get(days), $.index, ($$anchor5, day, j) => {
4700
+ {
4701
+ let $0 = $.derived(() => i + 1 === length($.get(grid2)) && j + 1 === length($.get(days)));
4702
+ Day$1($$anchor5, {
4703
+ get day() {
4704
+ return $.get(day);
4705
+ },
4706
+ allDay: true,
4707
+ get noIeb() {
4708
+ return $.get($0);
4709
+ }
4710
+ });
4576
4711
  }
4577
4712
  });
4578
- },
4579
- $$slots: { default: true }
4713
+ $.append($$anchor4, fragment_5);
4714
+ });
4715
+ $.reset(div_2);
4716
+ var div_3 = $.sibling(div_2, 2);
4717
+ var node_6 = $.child(div_3);
4718
+ $.each(node_6, 19, () => $.get(allDayChunks), (chunk) => chunk.id, ($$anchor4, chunk, i) => {
4719
+ $.bind_this(
4720
+ AllDayEvent($$anchor4, {
4721
+ get chunk() {
4722
+ return $.get(chunk);
4723
+ }
4724
+ }),
4725
+ ($$value, i2) => refs[i2] = $$value,
4726
+ (i2) => refs?.[i2],
4727
+ () => [$.get(i)]
4728
+ );
4729
+ });
4730
+ var node_7 = $.sibling(node_6, 2);
4731
+ $.each(node_7, 17, () => $.get(allDayBgChunks), (chunk) => chunk.id, ($$anchor4, chunk) => {
4732
+ AllDayEvent($$anchor4, {
4733
+ get chunk() {
4734
+ return $.get(chunk);
4735
+ }
4736
+ });
4737
+ });
4738
+ var node_8 = $.sibling(node_7, 2);
4739
+ $.each(node_8, 17, () => $.get(allDayIChunks), $.index, ($$anchor4, chunk) => {
4740
+ AllDayEvent($$anchor4, {
4741
+ get chunk() {
4742
+ return $.get(chunk);
4743
+ }
4744
+ });
4745
+ });
4746
+ $.reset(div_3);
4747
+ $.reset(div_1);
4748
+ $.template_effect(() => {
4749
+ $.set_class(div_1, 1, $.get(theme).allDay);
4750
+ $.set_class(aside_1, 1, $.get(theme).sidebar);
4751
+ $.set_class(div_2, 1, $.get(theme).grid);
4752
+ $.set_class(div_3, 1, $.get(theme).events);
4753
+ });
4754
+ $.append($$anchor3, div_1);
4755
+ };
4756
+ $.if(node_4, ($$render) => {
4757
+ if ($.get(allDaySlot)) $$render(consequent_1);
4580
4758
  });
4759
+ }
4760
+ $.reset(header_1);
4761
+ var div_4 = $.sibling(header_1, 2);
4762
+ var aside_2 = $.child(div_4);
4763
+ $.each(aside_2, 21, () => $.get(slots2), $.index, ($$anchor3, slot, i) => {
4764
+ var div_5 = root_12();
4765
+ let styles_1;
4766
+ var time = $.child(div_5);
4767
+ $.attach(time, () => contentFrom($.get(slot)[1]));
4768
+ $.reset(div_5);
4769
+ $.template_effect(() => {
4770
+ $.set_class(div_5, 1, $.clsx([$.get(theme).slot, !i && $.get(theme).hidden]));
4771
+ styles_1 = $.set_style(div_5, "", styles_1, { "--ec-slot-label-periodicity": $.get(slot)[2] });
4772
+ $.set_attribute(time, "datetime", $.get(slot)[0]);
4773
+ });
4774
+ $.append($$anchor3, div_5);
4581
4775
  });
4582
- $.append($$anchor2, fragment_1);
4583
- };
4584
- $.if(node, ($$render) => {
4585
- if ($$props.header) $$render(consequent);
4586
- else $$render(alternate, false);
4587
- });
4588
- }
4589
- $.reset(div);
4590
- var node_3 = $.sibling(div, 2);
4591
- {
4592
- var consequent_1 = ($$anchor2) => {
4593
- var div_1 = root_5();
4594
- var aside_1 = $.child(div_1);
4595
- $.attach(aside_1, () => contentFrom($.get(allDayText)));
4596
- var div_2 = $.sibling(aside_1, 2);
4597
- $.each(div_2, 21, () => $.get(grid2), $.index, ($$anchor3, days, i) => {
4598
- var fragment_4 = $.comment();
4599
- var node_4 = $.first_child(fragment_4);
4600
- $.each(node_4, 17, () => $.get(days), $.index, ($$anchor4, day, j) => {
4776
+ $.reset(aside_2);
4777
+ var div_6 = $.sibling(aside_2, 2);
4778
+ $.each(div_6, 21, () => $.get(grid2), $.index, ($$anchor3, days, i) => {
4779
+ var fragment_10 = $.comment();
4780
+ var node_9 = $.first_child(fragment_10);
4781
+ $.each(node_9, 17, () => $.get(days), $.index, ($$anchor4, day, j) => {
4601
4782
  {
4602
- let $0 = $.derived(() => i + 1 === $.get(grid2).length && j + 1 === $.get(days).length);
4783
+ let $0 = $.derived(() => i + 1 === length($.get(grid2)) && j + 1 === length($.get(days)));
4603
4784
  Day$1($$anchor4, {
4604
4785
  get day() {
4605
4786
  return $.get(day);
4606
4787
  },
4607
- allDay: true,
4608
4788
  get noIeb() {
4609
4789
  return $.get($0);
4610
- }
4790
+ },
4791
+ noBeb: true
4611
4792
  });
4612
4793
  }
4613
4794
  });
4614
- $.append($$anchor3, fragment_4);
4615
- });
4616
- $.reset(div_2);
4617
- var div_3 = $.sibling(div_2, 2);
4618
- var node_5 = $.child(div_3);
4619
- $.each(node_5, 19, () => $.get(allDayChunks), (chunk) => chunk.id, ($$anchor3, chunk, i) => {
4620
- $.bind_this(
4621
- AllDayEvent($$anchor3, {
4622
- get chunk() {
4623
- return $.get(chunk);
4624
- }
4625
- }),
4626
- ($$value, i2) => refs[i2] = $$value,
4627
- (i2) => refs?.[i2],
4628
- () => [$.get(i)]
4629
- );
4795
+ $.append($$anchor3, fragment_10);
4630
4796
  });
4631
- var node_6 = $.sibling(node_5, 2);
4632
- $.each(node_6, 17, () => $.get(allDayBgChunks), (chunk) => chunk.id, ($$anchor3, chunk) => {
4633
- AllDayEvent($$anchor3, {
4797
+ $.reset(div_6);
4798
+ var div_7 = $.sibling(div_6, 2);
4799
+ var node_10 = $.child(div_7);
4800
+ $.each(node_10, 17, () => $.get(chunks), (chunk) => chunk.id, ($$anchor3, chunk) => {
4801
+ Event$1($$anchor3, {
4634
4802
  get chunk() {
4635
4803
  return $.get(chunk);
4636
4804
  }
4637
4805
  });
4638
4806
  });
4639
- var node_7 = $.sibling(node_6, 2);
4640
- $.each(node_7, 17, () => $.get(allDayIChunks), $.index, ($$anchor3, chunk) => {
4641
- AllDayEvent($$anchor3, {
4807
+ var node_11 = $.sibling(node_10, 2);
4808
+ $.each(node_11, 17, () => $.get(bgChunks), (chunk) => chunk.id, ($$anchor3, chunk) => {
4809
+ Event$1($$anchor3, {
4642
4810
  get chunk() {
4643
4811
  return $.get(chunk);
4644
4812
  }
4645
4813
  });
4646
4814
  });
4647
- $.reset(div_3);
4648
- $.reset(div_1);
4649
- $.template_effect(() => {
4650
- $.set_class(div_1, 1, $.get(theme).allDay);
4651
- $.set_class(aside_1, 1, $.get(theme).sidebar);
4652
- $.set_class(div_2, 1, $.get(theme).grid);
4653
- $.set_class(div_3, 1, $.get(theme).events);
4654
- });
4655
- $.append($$anchor2, div_1);
4656
- };
4657
- $.if(node_3, ($$render) => {
4658
- if ($.get(allDaySlot)) $$render(consequent_1);
4659
- });
4660
- }
4661
- $.reset(header_1);
4662
- var div_4 = $.sibling(header_1, 2);
4663
- var aside_2 = $.child(div_4);
4664
- $.each(aside_2, 21, () => $.get(slots2), $.index, ($$anchor2, slot, i) => {
4665
- var div_5 = root_11();
4666
- let styles_1;
4667
- var time = $.child(div_5);
4668
- $.attach(time, () => contentFrom($.get(slot)[1]));
4669
- $.reset(div_5);
4670
- $.template_effect(() => {
4671
- $.set_class(div_5, 1, $.clsx([$.get(theme).slot, !i && $.get(theme).hidden]));
4672
- styles_1 = $.set_style(div_5, "", styles_1, { "--ec-slot-label-periodicity": $.get(slot)[2] });
4673
- $.set_attribute(time, "datetime", $.get(slot)[0]);
4674
- });
4675
- $.append($$anchor2, div_5);
4676
- });
4677
- $.reset(aside_2);
4678
- var div_6 = $.sibling(aside_2, 2);
4679
- $.each(div_6, 21, () => $.get(grid2), $.index, ($$anchor2, days, i) => {
4680
- var fragment_9 = $.comment();
4681
- var node_8 = $.first_child(fragment_9);
4682
- $.each(node_8, 17, () => $.get(days), $.index, ($$anchor3, day, j) => {
4683
- {
4684
- let $0 = $.derived(() => i + 1 === $.get(grid2).length && j + 1 === $.get(days).length);
4685
- Day$1($$anchor3, {
4686
- get day() {
4687
- return $.get(day);
4688
- },
4689
- get noIeb() {
4690
- return $.get($0);
4691
- },
4692
- noBeb: true
4815
+ var node_12 = $.sibling(node_11, 2);
4816
+ $.each(node_12, 17, () => $.get(iChunks), $.index, ($$anchor3, chunk) => {
4817
+ Event$1($$anchor3, {
4818
+ get chunk() {
4819
+ return $.get(chunk);
4820
+ }
4693
4821
  });
4694
- }
4695
- });
4696
- $.append($$anchor2, fragment_9);
4697
- });
4698
- $.reset(div_6);
4699
- var div_7 = $.sibling(div_6, 2);
4700
- var node_9 = $.child(div_7);
4701
- $.each(node_9, 17, () => $.get(chunks), (chunk) => chunk.id, ($$anchor2, chunk) => {
4702
- Event$1($$anchor2, {
4703
- get chunk() {
4704
- return $.get(chunk);
4705
- }
4706
- });
4707
- });
4708
- var node_10 = $.sibling(node_9, 2);
4709
- $.each(node_10, 17, () => $.get(bgChunks), (chunk) => chunk.id, ($$anchor2, chunk) => {
4710
- Event$1($$anchor2, {
4711
- get chunk() {
4712
- return $.get(chunk);
4713
- }
4714
- });
4715
- });
4716
- var node_11 = $.sibling(node_10, 2);
4717
- $.each(node_11, 17, () => $.get(iChunks), $.index, ($$anchor2, chunk) => {
4718
- Event$1($$anchor2, {
4719
- get chunk() {
4720
- return $.get(chunk);
4721
- }
4722
- });
4723
- });
4724
- $.reset(div_7);
4725
- $.reset(div_4);
4726
- var node_12 = $.sibling(div_4, 2);
4727
- {
4728
- var consequent_3 = ($$anchor2) => {
4729
- var fragment_14 = $.comment();
4730
- var node_13 = $.first_child(fragment_14);
4822
+ });
4823
+ $.reset(div_7);
4824
+ $.reset(div_4);
4825
+ var node_13 = $.sibling(div_4, 2);
4731
4826
  {
4732
- var consequent_2 = ($$anchor3) => {
4827
+ var consequent_3 = ($$anchor3) => {
4733
4828
  var fragment_15 = $.comment();
4734
4829
  var node_14 = $.first_child(fragment_15);
4735
- $.snippet(node_14, () => $$props.nowIndicator);
4830
+ {
4831
+ var consequent_2 = ($$anchor4) => {
4832
+ var fragment_16 = $.comment();
4833
+ var node_15 = $.first_child(fragment_16);
4834
+ $.snippet(node_15, () => $$props.nowIndicator);
4835
+ $.append($$anchor4, fragment_16);
4836
+ };
4837
+ var alternate_1 = ($$anchor4) => {
4838
+ NowIndicator$1($$anchor4, {
4839
+ get days() {
4840
+ return $.get(grid2)[0];
4841
+ }
4842
+ });
4843
+ };
4844
+ $.if(node_14, ($$render) => {
4845
+ if ($$props.nowIndicator) $$render(consequent_2);
4846
+ else $$render(alternate_1, false);
4847
+ });
4848
+ }
4736
4849
  $.append($$anchor3, fragment_15);
4737
4850
  };
4738
- var alternate_1 = ($$anchor3) => {
4739
- NowIndicator$1($$anchor3, {
4740
- get days() {
4741
- return $.get(grid2)[0];
4742
- }
4743
- });
4744
- };
4745
4851
  $.if(node_13, ($$render) => {
4746
- if ($$props.nowIndicator) $$render(consequent_2);
4747
- else $$render(alternate_1, false);
4852
+ if ($.get(showNowIndicator)) $$render(consequent_3);
4748
4853
  });
4749
4854
  }
4750
- $.append($$anchor2, fragment_14);
4855
+ $.reset(section);
4856
+ $.bind_this(section, ($$value) => mainState.mainEl = $$value, () => mainState?.mainEl);
4857
+ $.attach(section, () => resizeObserver(reposition));
4858
+ $.template_effect(
4859
+ ($0) => {
4860
+ $.set_class(section, 1, $.get(theme).main);
4861
+ styles = $.set_style(section, "", styles, $0);
4862
+ $.set_class(header_1, 1, $.get(theme).header);
4863
+ $.set_class(aside, 1, $.get(theme).sidebar);
4864
+ $.set_class(div, 1, $.get(theme).grid);
4865
+ $.set_class(div_4, 1, $.get(theme).body);
4866
+ $.set_class(aside_2, 1, $.get(theme).sidebar);
4867
+ $.set_class(div_6, 1, $.get(theme).grid);
4868
+ $.set_class(div_7, 1, $.get(theme).events);
4869
+ },
4870
+ [
4871
+ () => ({
4872
+ "--ec-grid-cols": length($.get(grid2)) * length($.get(grid2)[0]),
4873
+ "--ec-col-group-span": length($.get(grid2)[0]),
4874
+ "--ec-col-width": $.get(columnWidth) ?? "minmax(0, 1fr)",
4875
+ "--ec-slot-label-periodicity": $.get(slotLabelPeriodicity2),
4876
+ "--ec-slot-height": `${$.get(slotHeight) ?? ""}px`,
4877
+ "--ec-header-height": `${$.get(headerHeight) ?? ""}px`,
4878
+ "--ec-sidebar-width": `${$.get(sidebarWidth) ?? ""}px`
4879
+ })
4880
+ ]
4881
+ );
4882
+ $.bind_element_size(aside, "offsetWidth", ($$value) => viewState().sidebarWidth = $$value);
4883
+ $.bind_element_size(header_1, "offsetHeight", ($$value) => $.set(headerHeight, $$value));
4884
+ $.append($$anchor2, section);
4751
4885
  };
4752
- $.if(node_12, ($$render) => {
4753
- if ($.get(showNowIndicator)) $$render(consequent_3);
4886
+ $.if(node, ($$render) => {
4887
+ if (!empty($.get(grid2)) && !empty($.get(grid2)[0])) $$render(consequent_4);
4754
4888
  });
4755
4889
  }
4756
- $.reset(section);
4757
- $.bind_this(section, ($$value) => mainState.mainEl = $$value, () => mainState?.mainEl);
4758
- $.attach(section, () => resizeObserver(reposition));
4759
- $.template_effect(() => {
4760
- $.set_class(section, 1, $.get(theme).main);
4761
- styles = $.set_style(section, "", styles, {
4762
- "--ec-grid-cols": $.get(grid2).length * $.get(grid2)[0].length,
4763
- "--ec-col-group-span": $.get(grid2)[0].length,
4764
- "--ec-col-width": $.get(columnWidth) ?? "minmax(0, 1fr)",
4765
- "--ec-slot-label-periodicity": $.get(slotLabelPeriodicity2),
4766
- "--ec-slot-height": `${$.get(slotHeight) ?? ""}px`,
4767
- "--ec-header-height": `${$.get(headerHeight) ?? ""}px`,
4768
- "--ec-sidebar-width": `${$.get(sidebarWidth) ?? ""}px`
4769
- });
4770
- $.set_class(header_1, 1, $.get(theme).header);
4771
- $.set_class(aside, 1, $.get(theme).sidebar);
4772
- $.set_class(div, 1, $.get(theme).grid);
4773
- $.set_class(div_4, 1, $.get(theme).body);
4774
- $.set_class(aside_2, 1, $.get(theme).sidebar);
4775
- $.set_class(div_6, 1, $.get(theme).grid);
4776
- $.set_class(div_7, 1, $.get(theme).events);
4777
- });
4778
- $.bind_element_size(aside, "offsetWidth", ($$value) => viewState().sidebarWidth = $$value);
4779
- $.bind_element_size(header_1, "offsetHeight", ($$value) => $.set(headerHeight, $$value));
4780
- $.append($$anchor, section);
4890
+ $.append($$anchor, fragment);
4781
4891
  $.pop();
4782
4892
  }
4783
- var root_1$2 = $.from_html(`<!> <!>`, 1);
4893
+ var root_1$3 = $.from_html(`<!> <!>`, 1);
4784
4894
  function View_1($$anchor, $$props) {
4785
4895
  $.push($$props, true);
4786
4896
  let mainState = getContext("state");
@@ -4800,7 +4910,7 @@ function View_1($$anchor, $$props) {
4800
4910
  for (let days of $.get(grid2)) {
4801
4911
  let day = days[0];
4802
4912
  if (datesEqual(day.dayStart, $.get(today))) {
4803
- $.get(mainEl).scrollLeft = ($.get(mainEl).scrollWidth - $.get(sidebarWidth)) / ($.get(grid2).length * days.length) * (day.gridColumn - 1) * (isRtl() ? -1 : 1);
4913
+ $.get(mainEl).scrollLeft = ($.get(mainEl).scrollWidth - $.get(sidebarWidth)) / (length($.get(grid2)) * length(days)) * (day.gridColumn - 1) * (isRtl() ? -1 : 1);
4804
4914
  break;
4805
4915
  }
4806
4916
  }
@@ -4808,7 +4918,7 @@ function View_1($$anchor, $$props) {
4808
4918
  }
4809
4919
  {
4810
4920
  const header = ($$anchor2) => {
4811
- var fragment_1 = root_1$2();
4921
+ var fragment_1 = root_1$3();
4812
4922
  var node = $.first_child(fragment_1);
4813
4923
  $.each(node, 17, () => $.get(grid2), $.index, ($$anchor3, days, i) => {
4814
4924
  const computed_const = $.derived(() => {
@@ -4816,10 +4926,11 @@ function View_1($$anchor, $$props) {
4816
4926
  return { date, resource, disabled, highlight };
4817
4927
  });
4818
4928
  {
4819
- let $0 = $.derived(() => $.get(grid2)[0].length > 1 ? $.get(theme).colGroup : void 0);
4820
- let $1 = $.derived(() => 1 + i * $.get(days).length);
4821
- let $2 = $.derived(() => $.get(datesAboveResources) && $.get(computed_const).disabled);
4822
- let $3 = $.derived(() => $.get(datesAboveResources) && $.get(computed_const).highlight);
4929
+ let $0 = $.derived(() => length($.get(grid2)[0]) > 1 ? $.get(theme).colGroup : void 0);
4930
+ let $1 = $.derived(() => length($.get(days)));
4931
+ let $2 = $.derived(() => 1 + i * length($.get(days)));
4932
+ let $3 = $.derived(() => $.get(datesAboveResources) && $.get(computed_const).disabled);
4933
+ let $4 = $.derived(() => $.get(datesAboveResources) && $.get(computed_const).highlight);
4823
4934
  ColHead($$anchor3, {
4824
4935
  get date() {
4825
4936
  return $.get(computed_const).date;
@@ -4831,16 +4942,16 @@ function View_1($$anchor, $$props) {
4831
4942
  return $.get(datesAboveResources);
4832
4943
  },
4833
4944
  get colSpan() {
4834
- return $.get(days).length;
4945
+ return $.get($1);
4835
4946
  },
4836
4947
  get colIndex() {
4837
- return $.get($1);
4948
+ return $.get($2);
4838
4949
  },
4839
4950
  get disabled() {
4840
- return $.get($2);
4951
+ return $.get($3);
4841
4952
  },
4842
4953
  get highlight() {
4843
- return $.get($3);
4954
+ return $.get($4);
4844
4955
  },
4845
4956
  children: ($$anchor4, $$slotProps) => {
4846
4957
  var fragment_3 = $.comment();
@@ -4886,7 +4997,7 @@ function View_1($$anchor, $$props) {
4886
4997
  return { date, resource, disabled, highlight };
4887
4998
  });
4888
4999
  {
4889
- let $0 = $.derived(() => 1 + j + i * $.get(days).length);
5000
+ let $0 = $.derived(() => 1 + j + i * length($.get(days)));
4890
5001
  ColHead($$anchor5, {
4891
5002
  get date() {
4892
5003
  return $.get(computed_const_1).date;
@@ -4940,7 +5051,7 @@ function View_1($$anchor, $$props) {
4940
5051
  $.append($$anchor3, fragment_6);
4941
5052
  };
4942
5053
  $.if(node_2, ($$render) => {
4943
- if ($.get(grid2)[0].length > 1) $$render(consequent_2);
5054
+ if (length($.get(grid2)[0]) > 1) $$render(consequent_2);
4944
5055
  });
4945
5056
  }
4946
5057
  $.append($$anchor2, fragment_1);
@@ -4952,12 +5063,13 @@ function View_1($$anchor, $$props) {
4952
5063
  var consequent_3 = ($$anchor3) => {
4953
5064
  {
4954
5065
  let $0 = $.derived(() => $.get(grid2).flat());
5066
+ let $1 = $.derived(() => length($.get(grid2)[0]));
4955
5067
  NowIndicator$1($$anchor3, {
4956
5068
  get days() {
4957
5069
  return $.get($0);
4958
5070
  },
4959
5071
  get span() {
4960
- return $.get(grid2)[0].length;
5072
+ return $.get($1);
4961
5073
  }
4962
5074
  });
4963
5075
  }
@@ -4981,18 +5093,19 @@ function View_1($$anchor, $$props) {
4981
5093
  var alternate_2 = ($$anchor4) => {
4982
5094
  {
4983
5095
  let $0 = $.derived(() => $.get(grid2).flat());
5096
+ let $1 = $.derived(() => length($.get(grid2)));
4984
5097
  NowIndicator$1($$anchor4, {
4985
5098
  get days() {
4986
5099
  return $.get($0);
4987
5100
  },
4988
5101
  get span() {
4989
- return $.get(grid2).length;
5102
+ return $.get($1);
4990
5103
  }
4991
5104
  });
4992
5105
  }
4993
5106
  };
4994
5107
  $.if(node_7, ($$render) => {
4995
- if ($.get(grid2)[0].length > 1) $$render(consequent_4);
5108
+ if (length($.get(grid2)[0]) > 1) $$render(consequent_4);
4996
5109
  else $$render(alternate_2, false);
4997
5110
  });
4998
5111
  }
@@ -5063,26 +5176,29 @@ function createChunks(event, days, monthView2, withId = true) {
5063
5176
  let lastEnd;
5064
5177
  let gridColumn;
5065
5178
  let gridRow;
5179
+ let resource;
5066
5180
  let left;
5067
5181
  let width = 0;
5068
- for (let { gridColumn: column, gridRow: row, resource, dayStart, dayEnd, start, end, disabled } of days) {
5182
+ for (let { gridColumn: column, gridRow: row, resource: dayResource, dayStart, dayEnd, start, end, disabled } of days) {
5069
5183
  if (!disabled) {
5070
5184
  if (monthView2) {
5071
- if (eventIntersects(event, dayStart, dayEnd, resource)) {
5185
+ if (eventIntersects(event, dayStart, dayEnd, dayResource)) {
5072
5186
  if (!dates.length) {
5073
5187
  firstStart = dayStart;
5074
5188
  gridColumn = column;
5075
5189
  gridRow = row;
5190
+ resource = dayResource;
5076
5191
  }
5077
5192
  dates.push(dayStart);
5078
5193
  lastEnd = end;
5079
5194
  }
5080
5195
  } else {
5081
- if (eventIntersects(event, start, end, resource)) {
5196
+ if (eventIntersects(event, start, end, dayResource)) {
5082
5197
  if (!dates.length) {
5083
5198
  firstStart = start;
5084
5199
  gridColumn = column;
5085
5200
  gridRow = row;
5201
+ resource = dayResource;
5086
5202
  left = max(event.start - start, 0) / 1e3;
5087
5203
  }
5088
5204
  dates.push(dayStart);
@@ -5094,7 +5210,7 @@ function createChunks(event, days, monthView2, withId = true) {
5094
5210
  }
5095
5211
  if (dates.length) {
5096
5212
  let chunk = createEventChunk(event, firstStart, lastEnd);
5097
- assign(chunk, { gridColumn, gridRow, dates, left, width });
5213
+ assign(chunk, { gridColumn, gridRow, resource, dates, left, width });
5098
5214
  if (withId) {
5099
5215
  assignChunkId(chunk);
5100
5216
  }
@@ -5246,7 +5362,7 @@ function daySlots(mainState, viewState) {
5246
5362
  }
5247
5363
  function nestedResources(mainState) {
5248
5364
  return () => {
5249
- let { options: { resources } } = mainState;
5365
+ let { resources } = mainState;
5250
5366
  let nested;
5251
5367
  untrack(() => {
5252
5368
  nested = resources.some((resource) => getPayload(resource).children.length);
@@ -5436,9 +5552,9 @@ function Event($$anchor, $$props) {
5436
5552
  }
5437
5553
  return $.pop($$exports);
5438
5554
  }
5439
- var root_1$1 = $.from_html(`<span></span>`);
5555
+ var root_1$2 = $.from_html(`<span></span>`);
5440
5556
  var root_2 = $.from_html(`<button><!></button>`);
5441
- var root$1 = $.from_html(`<!> <span><!></span>`, 1);
5557
+ var root = $.from_html(`<!> <span><!></span>`, 1);
5442
5558
  function Expander($$anchor, $$props) {
5443
5559
  $.push($$props, true);
5444
5560
  let $$d = $.derived(() => getContext("state")), options = $.derived(() => $.get($$d).options);
@@ -5464,10 +5580,10 @@ function Expander($$anchor, $$props) {
5464
5580
  }
5465
5581
  }
5466
5582
  }
5467
- var fragment = root$1();
5583
+ var fragment = root();
5468
5584
  var node = $.first_child(fragment);
5469
5585
  $.each(node, 17, () => Array($.get(payload).level), $.index, ($$anchor2, level) => {
5470
- var span = root_1$1();
5586
+ var span = root_1$2();
5471
5587
  $.template_effect(() => $.set_class(span, 1, $.get(theme).expander));
5472
5588
  $.append($$anchor2, span);
5473
5589
  });
@@ -5506,7 +5622,7 @@ function Expander($$anchor, $$props) {
5506
5622
  $.pop();
5507
5623
  }
5508
5624
  $.delegate(["click"]);
5509
- var root_1 = $.from_html(`<div></div>`);
5625
+ var root_1$1 = $.from_html(`<div></div>`);
5510
5626
  function NowIndicator($$anchor, $$props) {
5511
5627
  $.push($$props, true);
5512
5628
  let $$d = $.derived(() => getContext("state")), mainEl = $.derived(() => $.get($$d).mainEl), now = $.derived(() => $.get($$d).now), today = $.derived(() => $.get($$d).today), slotDuration = $.derived(() => $.get($$d).options.slotDuration), slotWidth = $.derived(() => $.get($$d).options.slotWidth), theme = $.derived(() => $.get($$d).options.theme);
@@ -5538,7 +5654,7 @@ function NowIndicator($$anchor, $$props) {
5538
5654
  var node = $.first_child(fragment);
5539
5655
  {
5540
5656
  var consequent = ($$anchor2) => {
5541
- var div = root_1();
5657
+ var div = root_1$1();
5542
5658
  let styles;
5543
5659
  $.attach(div, () => intersectionObserver(onIntersect, $.get(observerOptions)));
5544
5660
  $.template_effect(() => {
@@ -5558,9 +5674,9 @@ function NowIndicator($$anchor, $$props) {
5558
5674
  $.append($$anchor, fragment);
5559
5675
  $.pop();
5560
5676
  }
5561
- var root_6 = $.from_html(`<div><time></time></div>`);
5562
- var root_7 = $.from_html(`<div role="rowheader"><!> <!></div>`);
5563
- var root = $.from_html(`<section><header><aside></aside> <div role="row"><!> <!></div></header> <div role="rowgroup"><aside></aside> <div role="row"></div> <div><!> <!> <!></div></div> <!></section>`);
5677
+ var root_7 = $.from_html(`<div><time></time></div>`);
5678
+ var root_8 = $.from_html(`<div role="rowheader"><!> <!></div>`);
5679
+ var root_1 = $.from_html(`<section><header><aside></aside> <div role="row"><!> <!></div></header> <div role="rowgroup"><aside></aside> <div role="row"></div> <div><!> <!> <!></div></div> <!></section>`);
5564
5680
  function View($$anchor, $$props) {
5565
5681
  $.push($$props, true);
5566
5682
  let mainState = getContext("state");
@@ -5570,9 +5686,10 @@ function View($$anchor, $$props) {
5570
5686
  let chunks = $.derived(() => viewState.chunks), bgChunks = $.derived(() => viewState.bgChunks), iChunks = $.derived(() => viewState.iChunks), daySlots2 = $.derived(() => viewState.daySlots), dayTimeLimits2 = $.derived(() => viewState.dayTimeLimits), grid2 = $.derived(() => viewState.grid), monthView2 = $.derived(() => viewState.monthView), nestedResources2 = $.derived(() => viewState.nestedResources), sidebarWidth = $.derived(() => viewState.sidebarWidth), slotLabelPeriodicity2 = $.derived(() => viewState.slotLabelPeriodicity), viewResources2 = $.derived(() => viewState.viewResources);
5571
5687
  let headerHeight = $.state(0);
5572
5688
  $.user_effect(() => {
5573
- $.get(viewDates2);
5574
5689
  $.get(scrollTime);
5575
- tick().then(scrollToTime);
5690
+ if (!empty($.get(viewDates2))) {
5691
+ tick().then(scrollToTime);
5692
+ }
5576
5693
  });
5577
5694
  function scrollToTime() {
5578
5695
  let scrollLeft = 0;
@@ -5582,7 +5699,7 @@ function View($$anchor, $$props) {
5582
5699
  let days = $.get(grid2)[0];
5583
5700
  for (let day of days) {
5584
5701
  if (datesEqual(day.dayStart, $.get(today))) {
5585
- $.get(mainEl).scrollLeft = ($.get(mainEl).scrollWidth - $.get(sidebarWidth)) / days.length * (day.gridColumn - 1) * (isRtl() ? -1 : 1);
5702
+ $.get(mainEl).scrollLeft = ($.get(mainEl).scrollWidth - $.get(sidebarWidth)) / length(days) * (day.gridColumn - 1) * (isRtl() ? -1 : 1);
5586
5703
  break;
5587
5704
  }
5588
5705
  }
@@ -5605,43 +5722,17 @@ function View($$anchor, $$props) {
5605
5722
  runReposition(refs, $.get(chunks));
5606
5723
  }
5607
5724
  $.user_effect(reposition);
5608
- var section = root();
5609
- let styles;
5610
- var header = $.child(section);
5611
- var aside = $.child(header);
5612
- var div = $.sibling(aside, 2);
5613
- var node = $.child(div);
5614
- $.each(node, 17, () => $.get(grid2)[0], $.index, ($$anchor2, $$item, i) => {
5615
- let date = () => $.get($$item).dayStart;
5616
- let disabled = () => $.get($$item).disabled;
5617
- let highlight = () => $.get($$item).highlight;
5618
- ColHead($$anchor2, {
5619
- get date() {
5620
- return date();
5621
- },
5622
- colIndex: 1 + i,
5623
- get disabled() {
5624
- return disabled();
5625
- },
5626
- get highlight() {
5627
- return highlight();
5628
- },
5629
- children: ($$anchor3, $$slotProps) => {
5630
- DayHeader($$anchor3, {
5631
- get date() {
5632
- return date();
5633
- }
5634
- });
5635
- },
5636
- $$slots: { default: true }
5637
- });
5638
- });
5639
- var node_1 = $.sibling(node, 2);
5725
+ var fragment = $.comment();
5726
+ var node = $.first_child(fragment);
5640
5727
  {
5641
- var consequent = ($$anchor2) => {
5642
- var fragment_2 = $.comment();
5643
- var node_2 = $.first_child(fragment_2);
5644
- $.each(node_2, 17, () => $.get(grid2)[0], $.index, ($$anchor3, $$item) => {
5728
+ var consequent_3 = ($$anchor2) => {
5729
+ var section = root_1();
5730
+ let styles;
5731
+ var header = $.child(section);
5732
+ var aside = $.child(header);
5733
+ var div = $.sibling(aside, 2);
5734
+ var node_1 = $.child(div);
5735
+ $.each(node_1, 17, () => $.get(grid2)[0], $.index, ($$anchor3, $$item, i) => {
5645
5736
  let date = () => $.get($$item).dayStart;
5646
5737
  let disabled = () => $.get($$item).disabled;
5647
5738
  let highlight = () => $.get($$item).highlight;
@@ -5649,164 +5740,205 @@ function View($$anchor, $$props) {
5649
5740
  get date() {
5650
5741
  return date();
5651
5742
  },
5652
- get className() {
5653
- return $.get(theme).slots;
5654
- },
5743
+ colIndex: 1 + i,
5655
5744
  get disabled() {
5656
5745
  return disabled();
5657
5746
  },
5658
5747
  get highlight() {
5659
5748
  return highlight();
5660
5749
  },
5661
- ariaHidden: true,
5662
5750
  children: ($$anchor4, $$slotProps) => {
5663
- var fragment_4 = $.comment();
5664
- var node_3 = $.first_child(fragment_4);
5665
- $.each(node_3, 17, () => $.get(daySlots2)[date().getTime()], $.index, ($$anchor5, slot) => {
5666
- var div_1 = root_6();
5667
- let styles_1;
5668
- var time = $.child(div_1);
5669
- $.attach(time, () => contentFrom($.get(slot)[1]));
5670
- $.reset(div_1);
5671
- $.template_effect(() => {
5672
- $.set_class(div_1, 1, $.get(theme).slot);
5673
- styles_1 = $.set_style(div_1, "", styles_1, { "--ec-slot-label-periodicity": $.get(slot)[2] });
5674
- $.set_attribute(time, "datetime", $.get(slot)[0]);
5675
- });
5676
- $.append($$anchor5, div_1);
5751
+ DayHeader($$anchor4, {
5752
+ get date() {
5753
+ return date();
5754
+ }
5677
5755
  });
5678
- $.append($$anchor4, fragment_4);
5679
5756
  },
5680
5757
  $$slots: { default: true }
5681
5758
  });
5682
5759
  });
5683
- $.append($$anchor2, fragment_2);
5684
- };
5685
- $.if(node_1, ($$render) => {
5686
- if (!$.get(monthView2)) $$render(consequent);
5687
- });
5688
- }
5689
- $.reset(div);
5690
- $.reset(header);
5691
- var div_2 = $.sibling(header, 2);
5692
- var aside_1 = $.child(div_2);
5693
- $.each(aside_1, 21, () => $.get(viewResources2), $.index, ($$anchor2, resource) => {
5694
- var div_3 = root_7();
5695
- var node_4 = $.child(div_3);
5696
- {
5697
- var consequent_1 = ($$anchor3) => {
5698
- Expander($$anchor3, {
5760
+ var node_2 = $.sibling(node_1, 2);
5761
+ {
5762
+ var consequent = ($$anchor3) => {
5763
+ var fragment_3 = $.comment();
5764
+ var node_3 = $.first_child(fragment_3);
5765
+ $.each(node_3, 17, () => $.get(grid2)[0], $.index, ($$anchor4, $$item) => {
5766
+ let date = () => $.get($$item).dayStart;
5767
+ let disabled = () => $.get($$item).disabled;
5768
+ let highlight = () => $.get($$item).highlight;
5769
+ ColHead($$anchor4, {
5770
+ get date() {
5771
+ return date();
5772
+ },
5773
+ get className() {
5774
+ return $.get(theme).slots;
5775
+ },
5776
+ get disabled() {
5777
+ return disabled();
5778
+ },
5779
+ get highlight() {
5780
+ return highlight();
5781
+ },
5782
+ ariaHidden: true,
5783
+ children: ($$anchor5, $$slotProps) => {
5784
+ var fragment_5 = $.comment();
5785
+ var node_4 = $.first_child(fragment_5);
5786
+ $.each(node_4, 17, () => $.get(daySlots2)[date().getTime()], $.index, ($$anchor6, slot) => {
5787
+ var div_1 = root_7();
5788
+ let styles_1;
5789
+ var time = $.child(div_1);
5790
+ $.attach(time, () => contentFrom($.get(slot)[1]));
5791
+ $.reset(div_1);
5792
+ $.template_effect(() => {
5793
+ $.set_class(div_1, 1, $.get(theme).slot);
5794
+ styles_1 = $.set_style(div_1, "", styles_1, { "--ec-slot-label-periodicity": $.get(slot)[2] });
5795
+ $.set_attribute(time, "datetime", $.get(slot)[0]);
5796
+ });
5797
+ $.append($$anchor6, div_1);
5798
+ });
5799
+ $.append($$anchor5, fragment_5);
5800
+ },
5801
+ $$slots: { default: true }
5802
+ });
5803
+ });
5804
+ $.append($$anchor3, fragment_3);
5805
+ };
5806
+ $.if(node_2, ($$render) => {
5807
+ if (!$.get(monthView2)) $$render(consequent);
5808
+ });
5809
+ }
5810
+ $.reset(div);
5811
+ $.reset(header);
5812
+ var div_2 = $.sibling(header, 2);
5813
+ var aside_1 = $.child(div_2);
5814
+ $.each(aside_1, 21, () => $.get(viewResources2), $.index, ($$anchor3, resource) => {
5815
+ var div_3 = root_8();
5816
+ var node_5 = $.child(div_3);
5817
+ {
5818
+ var consequent_1 = ($$anchor4) => {
5819
+ Expander($$anchor4, {
5820
+ get resource() {
5821
+ return $.get(resource);
5822
+ }
5823
+ });
5824
+ };
5825
+ $.if(node_5, ($$render) => {
5826
+ if ($.get(nestedResources2)) $$render(consequent_1);
5827
+ });
5828
+ }
5829
+ var node_6 = $.sibling(node_5, 2);
5830
+ Label(node_6, {
5699
5831
  get resource() {
5700
5832
  return $.get(resource);
5701
5833
  }
5702
5834
  });
5703
- };
5704
- $.if(node_4, ($$render) => {
5705
- if ($.get(nestedResources2)) $$render(consequent_1);
5835
+ $.reset(div_3);
5836
+ $.template_effect(() => $.set_class(div_3, 1, $.get(theme).rowHead));
5837
+ $.append($$anchor3, div_3);
5706
5838
  });
5707
- }
5708
- var node_5 = $.sibling(node_4, 2);
5709
- Label(node_5, {
5710
- get resource() {
5711
- return $.get(resource);
5712
- }
5713
- });
5714
- $.reset(div_3);
5715
- $.template_effect(() => $.set_class(div_3, 1, $.get(theme).rowHead));
5716
- $.append($$anchor2, div_3);
5717
- });
5718
- $.reset(aside_1);
5719
- var div_4 = $.sibling(aside_1, 2);
5720
- $.each(div_4, 21, () => $.get(grid2), $.index, ($$anchor2, days, i) => {
5721
- var fragment_6 = $.comment();
5722
- var node_6 = $.first_child(fragment_6);
5723
- $.each(node_6, 17, () => $.get(days), $.index, ($$anchor3, day, j) => {
5724
- {
5725
- let $0 = $.derived(() => j + 1 === $.get(days).length);
5726
- let $1 = $.derived(() => i + 1 === $.get(grid2).length);
5727
- Day($$anchor3, {
5728
- get day() {
5729
- return $.get(day);
5730
- },
5731
- get noIeb() {
5732
- return $.get($0);
5733
- },
5734
- get noBeb() {
5735
- return $.get($1);
5839
+ $.reset(aside_1);
5840
+ var div_4 = $.sibling(aside_1, 2);
5841
+ $.each(div_4, 21, () => $.get(grid2), $.index, ($$anchor3, days, i) => {
5842
+ var fragment_7 = $.comment();
5843
+ var node_7 = $.first_child(fragment_7);
5844
+ $.each(node_7, 17, () => $.get(days), $.index, ($$anchor4, day, j) => {
5845
+ {
5846
+ let $0 = $.derived(() => j + 1 === length($.get(days)));
5847
+ let $1 = $.derived(() => i + 1 === length($.get(grid2)));
5848
+ Day($$anchor4, {
5849
+ get day() {
5850
+ return $.get(day);
5851
+ },
5852
+ get noIeb() {
5853
+ return $.get($0);
5854
+ },
5855
+ get noBeb() {
5856
+ return $.get($1);
5857
+ }
5858
+ });
5736
5859
  }
5737
5860
  });
5861
+ $.append($$anchor3, fragment_7);
5862
+ });
5863
+ $.reset(div_4);
5864
+ var div_5 = $.sibling(div_4, 2);
5865
+ var node_8 = $.child(div_5);
5866
+ $.each(node_8, 19, () => $.get(chunks), (chunk) => chunk.id, ($$anchor3, chunk, i) => {
5867
+ $.bind_this(
5868
+ Event($$anchor3, {
5869
+ get chunk() {
5870
+ return $.get(chunk);
5871
+ }
5872
+ }),
5873
+ ($$value, i2) => refs[i2] = $$value,
5874
+ (i2) => refs?.[i2],
5875
+ () => [$.get(i)]
5876
+ );
5877
+ });
5878
+ var node_9 = $.sibling(node_8, 2);
5879
+ $.each(node_9, 17, () => $.get(bgChunks), (chunk) => chunk.id, ($$anchor3, chunk) => {
5880
+ Event($$anchor3, {
5881
+ get chunk() {
5882
+ return $.get(chunk);
5883
+ }
5884
+ });
5885
+ });
5886
+ var node_10 = $.sibling(node_9, 2);
5887
+ $.each(node_10, 17, () => $.get(iChunks), $.index, ($$anchor3, chunk) => {
5888
+ Event($$anchor3, {
5889
+ get chunk() {
5890
+ return $.get(chunk);
5891
+ }
5892
+ });
5893
+ });
5894
+ $.reset(div_5);
5895
+ $.reset(div_2);
5896
+ var node_11 = $.sibling(div_2, 2);
5897
+ {
5898
+ var consequent_2 = ($$anchor3) => {
5899
+ NowIndicator($$anchor3, {});
5900
+ };
5901
+ $.if(node_11, ($$render) => {
5902
+ if ($.get(nowIndicator) && !$.get(monthView2)) $$render(consequent_2);
5903
+ });
5738
5904
  }
5739
- });
5740
- $.append($$anchor2, fragment_6);
5741
- });
5742
- $.reset(div_4);
5743
- var div_5 = $.sibling(div_4, 2);
5744
- var node_7 = $.child(div_5);
5745
- $.each(node_7, 19, () => $.get(chunks), (chunk) => chunk.id, ($$anchor2, chunk, i) => {
5746
- $.bind_this(
5747
- Event($$anchor2, {
5748
- get chunk() {
5749
- return $.get(chunk);
5750
- }
5751
- }),
5752
- ($$value, i2) => refs[i2] = $$value,
5753
- (i2) => refs?.[i2],
5754
- () => [$.get(i)]
5755
- );
5756
- });
5757
- var node_8 = $.sibling(node_7, 2);
5758
- $.each(node_8, 17, () => $.get(bgChunks), (chunk) => chunk.id, ($$anchor2, chunk) => {
5759
- Event($$anchor2, {
5760
- get chunk() {
5761
- return $.get(chunk);
5762
- }
5763
- });
5764
- });
5765
- var node_9 = $.sibling(node_8, 2);
5766
- $.each(node_9, 17, () => $.get(iChunks), $.index, ($$anchor2, chunk) => {
5767
- Event($$anchor2, {
5768
- get chunk() {
5769
- return $.get(chunk);
5770
- }
5771
- });
5772
- });
5773
- $.reset(div_5);
5774
- $.reset(div_2);
5775
- var node_10 = $.sibling(div_2, 2);
5776
- {
5777
- var consequent_2 = ($$anchor2) => {
5778
- NowIndicator($$anchor2, {});
5905
+ $.reset(section);
5906
+ $.bind_this(section, ($$value) => mainState.mainEl = $$value, () => mainState?.mainEl);
5907
+ $.attach(section, () => resizeObserver(reposition));
5908
+ $.template_effect(
5909
+ ($0) => {
5910
+ $.set_class(section, 1, $.get(theme).main);
5911
+ styles = $.set_style(section, "", styles, $0);
5912
+ $.set_class(header, 1, $.get(theme).header);
5913
+ $.set_class(aside, 1, $.get(theme).sidebar);
5914
+ $.set_class(div, 1, $.get(theme).grid);
5915
+ $.set_class(div_2, 1, $.get(theme).body);
5916
+ $.set_class(aside_1, 1, $.get(theme).sidebar);
5917
+ $.set_class(div_4, 1, $.get(theme).grid);
5918
+ $.set_class(div_5, 1, $.get(theme).events);
5919
+ },
5920
+ [
5921
+ () => ({
5922
+ "--ec-grid-cols": length($.get(grid2)[0]),
5923
+ "--ec-grid-rows": `${length($.get(grid2)) > 1 ? `repeat(${length($.get(grid2)) - 1}, auto)` : ""} 1fr`,
5924
+ "--ec-col-width": $.get(columnWidth) ?? "minmax(4em, 1fr)",
5925
+ "--ec-slot-label-periodicity": $.get(slotLabelPeriodicity2),
5926
+ "--ec-slot-height": `${$.get(slotHeight) ?? ""}px`,
5927
+ "--ec-slot-width": `${$.get(slotWidth) ?? ""}px`,
5928
+ "--ec-header-height": `${$.get(headerHeight) ?? ""}px`,
5929
+ "--ec-sidebar-width": `${$.get(sidebarWidth) ?? ""}px`
5930
+ })
5931
+ ]
5932
+ );
5933
+ $.bind_element_size(aside, "offsetWidth", ($$value) => viewState.sidebarWidth = $$value);
5934
+ $.bind_element_size(header, "offsetHeight", ($$value) => $.set(headerHeight, $$value));
5935
+ $.append($$anchor2, section);
5779
5936
  };
5780
- $.if(node_10, ($$render) => {
5781
- if ($.get(nowIndicator) && !$.get(monthView2)) $$render(consequent_2);
5937
+ $.if(node, ($$render) => {
5938
+ if (!empty($.get(grid2)) && !empty($.get(grid2)[0])) $$render(consequent_3);
5782
5939
  });
5783
5940
  }
5784
- $.reset(section);
5785
- $.bind_this(section, ($$value) => mainState.mainEl = $$value, () => mainState?.mainEl);
5786
- $.attach(section, () => resizeObserver(reposition));
5787
- $.template_effect(() => {
5788
- $.set_class(section, 1, $.get(theme).main);
5789
- styles = $.set_style(section, "", styles, {
5790
- "--ec-grid-cols": $.get(grid2)[0].length,
5791
- "--ec-grid-rows": `${$.get(grid2).length > 1 ? `repeat(${$.get(grid2).length - 1}, auto)` : ""} 1fr`,
5792
- "--ec-col-width": $.get(columnWidth) ?? "minmax(4em, 1fr)",
5793
- "--ec-slot-label-periodicity": $.get(slotLabelPeriodicity2),
5794
- "--ec-slot-height": `${$.get(slotHeight) ?? ""}px`,
5795
- "--ec-slot-width": `${$.get(slotWidth) ?? ""}px`,
5796
- "--ec-header-height": `${$.get(headerHeight) ?? ""}px`,
5797
- "--ec-sidebar-width": `${$.get(sidebarWidth) ?? ""}px`
5798
- });
5799
- $.set_class(header, 1, $.get(theme).header);
5800
- $.set_class(aside, 1, $.get(theme).sidebar);
5801
- $.set_class(div, 1, $.get(theme).grid);
5802
- $.set_class(div_2, 1, $.get(theme).body);
5803
- $.set_class(aside_1, 1, $.get(theme).sidebar);
5804
- $.set_class(div_4, 1, $.get(theme).grid);
5805
- $.set_class(div_5, 1, $.get(theme).events);
5806
- });
5807
- $.bind_element_size(aside, "offsetWidth", ($$value) => viewState.sidebarWidth = $$value);
5808
- $.bind_element_size(header, "offsetHeight", ($$value) => $.set(headerHeight, $$value));
5809
- $.append($$anchor, section);
5941
+ $.append($$anchor, fragment);
5810
5942
  $.pop();
5811
5943
  }
5812
5944
  const index$1 = {