@nomideusz/svelte-calendar 0.7.5 → 0.8.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.
Files changed (36) hide show
  1. package/README.md +19 -4
  2. package/dist/calendar/Calendar.svelte +364 -497
  3. package/dist/calendar/Calendar.svelte.d.ts +6 -2
  4. package/dist/core/clock.svelte.js +12 -5
  5. package/dist/core/locale.d.ts +4 -0
  6. package/dist/core/locale.js +4 -0
  7. package/dist/engine/view-state.svelte.d.ts +2 -2
  8. package/dist/engine/view-state.svelte.js +20 -0
  9. package/dist/headless/create-calendar.svelte.js +18 -2
  10. package/dist/headless/types.d.ts +6 -6
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.js +3 -0
  13. package/dist/primitives/DayHeader.svelte +9 -25
  14. package/dist/primitives/EmptySlot.svelte +15 -31
  15. package/dist/primitives/EventBlock.svelte +33 -61
  16. package/dist/primitives/NowIndicator.svelte +16 -42
  17. package/dist/primitives/TimeGutter.svelte +9 -23
  18. package/dist/views/agenda/Agenda.svelte +3 -10
  19. package/dist/views/agenda/AgendaDay.svelte +195 -167
  20. package/dist/views/agenda/AgendaWeek.svelte +141 -195
  21. package/dist/views/mobile/Mobile.svelte +3 -10
  22. package/dist/views/mobile/MobileDay.svelte +422 -266
  23. package/dist/views/mobile/MobileWeek.svelte +131 -186
  24. package/dist/views/month/MonthGrid.svelte +334 -0
  25. package/dist/views/month/MonthGrid.svelte.d.ts +15 -0
  26. package/dist/views/planner/Planner.svelte +3 -10
  27. package/dist/views/planner/PlannerDay.svelte +636 -546
  28. package/dist/views/planner/PlannerWeek.svelte +299 -412
  29. package/dist/views/shared/EventContent.svelte +16 -0
  30. package/dist/views/shared/EventContent.svelte.d.ts +9 -0
  31. package/dist/views/shared/context.svelte.d.ts +1 -0
  32. package/dist/views/shared/context.svelte.js +1 -0
  33. package/dist/widget/CalendarWidget.svelte +79 -116
  34. package/package.json +3 -2
  35. package/widget/svelte-calendar.css +321 -10
  36. package/widget/widget.js +1944 -1031
package/widget/widget.js CHANGED
@@ -5567,6 +5567,7 @@
5567
5567
  }
5568
5568
  function inferMode(view) {
5569
5569
  if (view.startsWith("day")) return "day";
5570
+ if (view.startsWith("month")) return "month";
5570
5571
  return "week";
5571
5572
  }
5572
5573
  function computeRange(focus, mode, mondayStart, dayCount = 7) {
@@ -5576,6 +5577,13 @@
5576
5577
  const end = new Date(start2.getTime() + DAY_MS);
5577
5578
  return { start: start2, end };
5578
5579
  }
5580
+ if (mode === "month") {
5581
+ const first = new Date(focus.getFullYear(), focus.getMonth(), 1);
5582
+ const last = new Date(focus.getFullYear(), focus.getMonth() + 1, 0);
5583
+ const gridStart = startOfWeek(first.getTime(), mondayStart);
5584
+ const gridEnd = addDaysMs(startOfWeek(last.getTime(), mondayStart), 7);
5585
+ return { start: new Date(gridStart), end: new Date(gridEnd) };
5586
+ }
5579
5587
  if (dayCount === 7) {
5580
5588
  const ws = startOfWeek(focus.getTime(), mondayStart);
5581
5589
  return { start: new Date(ws), end: new Date(addDaysMs(ws, 7)) };
@@ -5628,10 +5636,18 @@
5628
5636
  set(dayCount, n, true);
5629
5637
  },
5630
5638
  next() {
5639
+ if (get(mode) === "month") {
5640
+ set(focusDate, new Date(get(focusDate).getFullYear(), get(focusDate).getMonth() + 1, 1), true);
5641
+ return;
5642
+ }
5631
5643
  const days = get(mode) === "day" ? 1 : get(dayCount);
5632
5644
  set(focusDate, new Date(addDaysMs(get(focusDate).getTime(), days)), true);
5633
5645
  },
5634
5646
  prev() {
5647
+ if (get(mode) === "month") {
5648
+ set(focusDate, new Date(get(focusDate).getFullYear(), get(focusDate).getMonth() - 1, 1), true);
5649
+ return;
5650
+ }
5635
5651
  const days = get(mode) === "day" ? -1 : -get(dayCount);
5636
5652
  set(focusDate, new Date(addDaysMs(get(focusDate).getTime(), days)), true);
5637
5653
  },
@@ -5744,6 +5760,7 @@
5744
5760
  tomorrow: "Tomorrow",
5745
5761
  day: "Day",
5746
5762
  week: "Week",
5763
+ month: "Month",
5747
5764
  planner: "Planner",
5748
5765
  agenda: "Agenda",
5749
5766
  now: "now",
@@ -5761,7 +5778,9 @@
5761
5778
  previousDay: "Previous day",
5762
5779
  nextDay: "Next day",
5763
5780
  previousWeek: "Previous week",
5781
+ previousMonth: "Previous month",
5764
5782
  nextWeek: "Next week",
5783
+ nextMonth: "Next month",
5765
5784
  calendar: "Calendar",
5766
5785
  viewMode: "View mode",
5767
5786
  dayNavigation: "Day navigation",
@@ -5780,6 +5799,7 @@
5780
5799
  nMore: (n) => `+${n} more`,
5781
5800
  nEvents: (n) => `${n} event${n === 1 ? "" : "s"}`,
5782
5801
  nCompleted: (n) => `${n} completed`,
5802
+ showLess: "Show less",
5783
5803
  dayNOfTotal: (current, total) => `day ${current} of ${total}`,
5784
5804
  percentComplete: (pct) => `${pct}% complete`
5785
5805
  };
@@ -6284,6 +6304,9 @@
6284
6304
  get oneventhover() {
6285
6305
  return raw?.oneventhover;
6286
6306
  },
6307
+ get ondayclick() {
6308
+ return raw?.ondayclick;
6309
+ },
6287
6310
  get disabledDates() {
6288
6311
  return raw?.disabledDates;
6289
6312
  },
@@ -6307,6 +6330,33 @@
6307
6330
  }
6308
6331
  };
6309
6332
  }
6333
+ function EventContent($$anchor, $$props) {
6334
+ push($$props, true);
6335
+ const ctx = useCalendarContext();
6336
+ const eventSnippet = /* @__PURE__ */ user_derived(() => ctx.eventSnippet);
6337
+ var fragment = comment();
6338
+ var node = first_child(fragment);
6339
+ {
6340
+ var consequent = ($$anchor2) => {
6341
+ var fragment_1 = comment();
6342
+ var node_1 = first_child(fragment_1);
6343
+ snippet(node_1, () => get(eventSnippet), () => $$props.event);
6344
+ append($$anchor2, fragment_1);
6345
+ };
6346
+ var alternate = ($$anchor2) => {
6347
+ var fragment_2 = comment();
6348
+ var node_2 = first_child(fragment_2);
6349
+ snippet(node_2, () => $$props.children);
6350
+ append($$anchor2, fragment_2);
6351
+ };
6352
+ if_block(node, ($$render) => {
6353
+ if (get(eventSnippet)) $$render(consequent);
6354
+ else $$render(alternate, -1);
6355
+ });
6356
+ }
6357
+ append($$anchor, fragment);
6358
+ pop();
6359
+ }
6310
6360
  function cubic_out(t) {
6311
6361
  const f = t - 1;
6312
6362
  return f * f * f + 1;
@@ -6392,10 +6442,13 @@
6392
6442
  intervalId = null;
6393
6443
  }
6394
6444
  }
6395
- onMount(() => {
6396
- start();
6397
- return destroy;
6398
- });
6445
+ try {
6446
+ onMount(() => {
6447
+ start();
6448
+ return destroy;
6449
+ });
6450
+ } catch {
6451
+ }
6399
6452
  return {
6400
6453
  get tick() {
6401
6454
  return get(tick2);
@@ -6555,23 +6608,26 @@
6555
6608
  }
6556
6609
  };
6557
6610
  }
6558
- var root_1$6 = /* @__PURE__ */ from_html(`<div class="fs-tick svelte-mrwdy7"><span class="fs-tick-lb svelte-mrwdy7"> </span></div> <div class="fs-tick fs-tick--half svelte-mrwdy7"></div>`, 1);
6559
- var root_2$6 = /* @__PURE__ */ from_html(`<span class="fs-blocked-label svelte-mrwdy7"> </span>`);
6560
- var root_3$6 = /* @__PURE__ */ from_html(`<div class="fs-blocked svelte-mrwdy7"><!></div>`);
6561
- var root_4$6 = /* @__PURE__ */ from_html(`<div class="fs-day-header-custom svelte-mrwdy7"><!></div>`);
6562
- var root_5$6 = /* @__PURE__ */ from_html(`<div><!> <!> <!></div>`);
6563
- var root_6$6 = /* @__PURE__ */ from_html(`<span class="fs-ev-live svelte-mrwdy7" aria-hidden="true"></span>`);
6611
+ var root_1$7 = /* @__PURE__ */ from_html(`<div class="fs-tick svelte-mrwdy7"><span class="fs-tick-lb svelte-mrwdy7"> </span></div> <div class="fs-tick fs-tick--half svelte-mrwdy7"></div>`, 1);
6612
+ var root_2$7 = /* @__PURE__ */ from_html(`<span class="fs-blocked-label svelte-mrwdy7"> </span>`);
6613
+ var root_3$7 = /* @__PURE__ */ from_html(`<div class="fs-blocked svelte-mrwdy7"><!></div>`);
6614
+ var root_4$7 = /* @__PURE__ */ from_html(`<div class="fs-day-header-custom svelte-mrwdy7"><!></div>`);
6615
+ var root_5$7 = /* @__PURE__ */ from_html(`<div><!> <!> <!></div>`);
6616
+ var root_6$7 = /* @__PURE__ */ from_html(`<span class="fs-ev-live svelte-mrwdy7" aria-hidden="true"></span>`);
6564
6617
  var root_7$6 = /* @__PURE__ */ from_html(`<span class="fs-ev-next-badge svelte-mrwdy7" aria-hidden="true"> </span>`);
6565
- var root_8$5 = /* @__PURE__ */ from_html(`<span class="fs-ev-time svelte-mrwdy7"> </span>`);
6618
+ var root_8$6 = /* @__PURE__ */ from_html(`<span class="fs-ev-time svelte-mrwdy7"> </span>`);
6566
6619
  var root_9$5 = /* @__PURE__ */ from_html(`<span class="fs-ev-sub svelte-mrwdy7"> </span>`);
6567
6620
  var root_10$5 = /* @__PURE__ */ from_html(`<span class="fs-ev-loc svelte-mrwdy7"> </span>`);
6568
6621
  var root_11$5 = /* @__PURE__ */ from_html(`<span class="fs-ev-tag svelte-mrwdy7"> </span>`);
6569
6622
  var root_12$5 = /* @__PURE__ */ from_html(`<span class="fs-ev-tags svelte-mrwdy7"></span>`);
6570
- var root_13$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="fs-ev-inner svelte-mrwdy7"><!> <!> <span class="fs-ev-title svelte-mrwdy7"> </span> <!> <!> <!></div></div>`);
6571
- var root_14$4 = /* @__PURE__ */ from_html(`<span class="fs-ad-span svelte-mrwdy7"> </span>`);
6572
- var root_15$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="fs-ad-dot svelte-mrwdy7" aria-hidden="true"></span> <span class="fs-ad-title svelte-mrwdy7"> </span> <!></div>`);
6573
- var root_16$4 = /* @__PURE__ */ from_html(`<div class="fs-allday svelte-mrwdy7"></div>`);
6574
- var root_17$3 = /* @__PURE__ */ from_html(`<div role="region"><div role="application"><div class="fs-track svelte-mrwdy7" role="none"><!> <div class="fs-now svelte-mrwdy7"><span class="fs-now-tag svelte-mrwdy7"> <span class="fs-now-sec svelte-mrwdy7"> </span></span> <div class="fs-now-line svelte-mrwdy7"></div></div> <!></div></div> <!></div>`);
6623
+ var root_13$4 = /* @__PURE__ */ from_html(`<!> <span class="fs-ev-title svelte-mrwdy7"> </span> <!> <!> <!>`, 1);
6624
+ var root_14$4 = /* @__PURE__ */ from_html(`<div class="fs-ev-handle fs-ev-handle--start svelte-mrwdy7" aria-hidden="true"></div> <div class="fs-ev-handle fs-ev-handle--end svelte-mrwdy7" aria-hidden="true"></div>`, 1);
6625
+ var root_15$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="fs-ev-inner svelte-mrwdy7"><!> <!></div> <!></div>`);
6626
+ var root_16$4 = /* @__PURE__ */ from_html(`<div class="fs-create-ghost svelte-mrwdy7" aria-hidden="true"><span class="fs-create-ghost-time svelte-mrwdy7"> </span></div>`);
6627
+ var root_17$4 = /* @__PURE__ */ from_html(`<span class="fs-ad-span svelte-mrwdy7"> </span>`);
6628
+ var root_18$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="fs-ad-dot svelte-mrwdy7" aria-hidden="true"></span> <span class="fs-ad-title svelte-mrwdy7"> </span> <!></div>`);
6629
+ var root_19$3 = /* @__PURE__ */ from_html(`<div class="fs-allday svelte-mrwdy7"></div>`);
6630
+ var root_20$2 = /* @__PURE__ */ from_html(`<div role="region"><div role="application"><div class="fs-track svelte-mrwdy7" role="none"><!> <div class="fs-now svelte-mrwdy7"><span class="fs-now-tag svelte-mrwdy7"> <span class="fs-now-sec svelte-mrwdy7"> </span></span> <div class="fs-now-line svelte-mrwdy7"></div></div> <!> <!></div></div> <!></div>`);
6575
6631
  function PlannerDay($$anchor, $$props) {
6576
6632
  push($$props, true);
6577
6633
  const L = /* @__PURE__ */ user_derived(getLabels);
@@ -6676,7 +6732,7 @@
6676
6732
  });
6677
6733
  const positionedEvents = /* @__PURE__ */ user_derived(() => {
6678
6734
  const now2 = clock.tick;
6679
- const dragP = get(drag)?.active && get(drag).mode === "move" ? get(drag).payload : null;
6735
+ const dragP = get(drag)?.active && (get(drag).mode === "move" || get(drag).mode === "resize-start" || get(drag).mode === "resize-end") ? get(drag).payload : null;
6680
6736
  const staticEvents = [];
6681
6737
  let draggedEv = null;
6682
6738
  for (const ev of get(timedEvents)) {
@@ -6880,13 +6936,16 @@
6880
6936
  const SCROLL_THRESHOLD = 3;
6881
6937
  function onPointerDown(e) {
6882
6938
  if (e.button !== 0) return;
6883
- if (!readOnly()) return;
6884
6939
  if (e.target.closest(".fs-event")) return;
6885
- dragStartX = e.clientX;
6886
- dragScrollStart = el.scrollLeft;
6887
- window.addEventListener("pointermove", onScrollMove);
6888
- window.addEventListener("pointerup", onScrollUp, { once: true });
6889
- window.addEventListener("pointercancel", onScrollUp, { once: true });
6940
+ if (readOnly()) {
6941
+ dragStartX = e.clientX;
6942
+ dragScrollStart = el.scrollLeft;
6943
+ window.addEventListener("pointermove", onScrollMove);
6944
+ window.addEventListener("pointerup", onScrollUp, { once: true });
6945
+ window.addEventListener("pointercancel", onScrollUp, { once: true });
6946
+ return;
6947
+ }
6948
+ onCreatePointerDown(e);
6890
6949
  }
6891
6950
  function onScrollMove(e) {
6892
6951
  const dx = e.clientX - dragStartX;
@@ -6936,6 +6995,65 @@
6936
6995
  }
6937
6996
  }
6938
6997
  }
6998
+ const CREATE_THRESHOLD = 4;
6999
+ let createStartX = 0;
7000
+ let createAnchorMs = 0;
7001
+ let createStarted = false;
7002
+ function trackX(e) {
7003
+ return e.clientX - el.getBoundingClientRect().left + el.scrollLeft;
7004
+ }
7005
+ function onCreatePointerDown(e) {
7006
+ if (!get(drag) || !$$props.oneventcreate) return;
7007
+ createStartX = e.clientX;
7008
+ createAnchorMs = pxToTime(trackX(e));
7009
+ createStarted = false;
7010
+ window.addEventListener("pointermove", onCreateMove);
7011
+ window.addEventListener("pointerup", onCreateUp, { once: true });
7012
+ window.addEventListener("pointercancel", onCreateCancel, { once: true });
7013
+ }
7014
+ function onCreateMove(e) {
7015
+ if (!get(drag)) return;
7016
+ if (!createStarted) {
7017
+ if (Math.abs(e.clientX - createStartX) < CREATE_THRESHOLD) return;
7018
+ if (get(disabledSet).has(sod(createAnchorMs))) return;
7019
+ createStarted = true;
7020
+ wasDragging = true;
7021
+ createAnchorMs = Math.floor(createAnchorMs / get(SNAP_MS)) * get(SNAP_MS);
7022
+ get(drag).beginCreate(new Date(createAnchorMs), new Date(createAnchorMs + get(SNAP_MS)));
7023
+ }
7024
+ const snapped = Math.round(pxToTime(trackX(e)) / get(SNAP_MS)) * get(SNAP_MS);
7025
+ get(drag).updatePointer(new Date(Math.min(createAnchorMs, snapped)), new Date(Math.max(createAnchorMs + get(SNAP_MS), snapped)));
7026
+ }
7027
+ function cleanupCreateDrag() {
7028
+ window.removeEventListener("pointermove", onCreateMove);
7029
+ window.removeEventListener("pointerup", onCreateUp);
7030
+ window.removeEventListener("pointercancel", onCreateCancel);
7031
+ createStarted = false;
7032
+ }
7033
+ function onCreateUp() {
7034
+ if (get(drag) && createStarted) {
7035
+ get(commitDragCtx)?.();
7036
+ setTimeout(
7037
+ () => {
7038
+ wasDragging = false;
7039
+ },
7040
+ 0
7041
+ );
7042
+ }
7043
+ cleanupCreateDrag();
7044
+ }
7045
+ function onCreateCancel() {
7046
+ if (get(drag) && createStarted) {
7047
+ get(drag).cancel();
7048
+ setTimeout(
7049
+ () => {
7050
+ wasDragging = false;
7051
+ },
7052
+ 0
7053
+ );
7054
+ }
7055
+ cleanupCreateDrag();
7056
+ }
6939
7057
  const DRAG_THRESHOLD = 5;
6940
7058
  let evDragStartX = 0;
6941
7059
  let evDragOriginPx = 0;
@@ -6992,7 +7110,65 @@
6992
7110
  if (get(drag) && evDragStarted) get(drag).cancel();
6993
7111
  cleanupEvDrag();
6994
7112
  }
6995
- var div = root_17$3();
7113
+ let rsStartX = 0;
7114
+ let rsStarted = false;
7115
+ let rsEdge = "end";
7116
+ let rsEvent = null;
7117
+ function onResizePointerDown(e, ev, edge) {
7118
+ if (e.button !== 0 || !get(drag) || readOnly() || ev.data?.readOnly) return;
7119
+ e.stopPropagation();
7120
+ rsStartX = e.clientX;
7121
+ rsStarted = false;
7122
+ rsEdge = edge;
7123
+ rsEvent = ev;
7124
+ window.addEventListener("pointermove", onResizeMove);
7125
+ window.addEventListener("pointerup", onResizeUp, { once: true });
7126
+ window.addEventListener("pointercancel", onResizeCancel, { once: true });
7127
+ }
7128
+ function onResizeMove(e) {
7129
+ const ev = rsEvent;
7130
+ if (!get(drag) || !ev) return;
7131
+ if (!rsStarted) {
7132
+ if (Math.abs(e.clientX - rsStartX) < CREATE_THRESHOLD) return;
7133
+ rsStarted = true;
7134
+ get(drag).beginResize(ev.id, rsEdge, ev.start, ev.end);
7135
+ }
7136
+ const snapped = Math.round(pxToTime(trackX(e)) / get(SNAP_MS)) * get(SNAP_MS);
7137
+ if (rsEdge === "end") {
7138
+ const end = Math.max(snapped, ev.start.getTime() + get(SNAP_MS));
7139
+ get(drag).updatePointer(ev.start, new Date(end));
7140
+ } else {
7141
+ const start = Math.min(snapped, ev.end.getTime() - get(SNAP_MS));
7142
+ get(drag).updatePointer(new Date(start), ev.end);
7143
+ }
7144
+ }
7145
+ function cleanupResize() {
7146
+ window.removeEventListener("pointermove", onResizeMove);
7147
+ window.removeEventListener("pointerup", onResizeUp);
7148
+ window.removeEventListener("pointercancel", onResizeCancel);
7149
+ rsStarted = false;
7150
+ rsEvent = null;
7151
+ }
7152
+ function onResizeUp() {
7153
+ if (get(drag) && rsStarted) {
7154
+ wasDragging = true;
7155
+ get(commitDragCtx)?.();
7156
+ setTimeout(
7157
+ () => {
7158
+ wasDragging = false;
7159
+ },
7160
+ 0
7161
+ );
7162
+ } else if (rsEvent && !rsStarted) {
7163
+ $$props.oneventclick?.(rsEvent);
7164
+ }
7165
+ cleanupResize();
7166
+ }
7167
+ function onResizeCancel() {
7168
+ if (get(drag) && rsStarted) get(drag).cancel();
7169
+ cleanupResize();
7170
+ }
7171
+ var div = root_20$2();
6996
7172
  let classes;
6997
7173
  let styles;
6998
7174
  var div_1 = child(div);
@@ -7001,14 +7177,14 @@
7001
7177
  let styles_1;
7002
7178
  var node = child(div_2);
7003
7179
  each(node, 17, () => get(days), (d) => d.ms, ($$anchor2, d) => {
7004
- var div_3 = root_5$6();
7180
+ var div_3 = root_5$7();
7005
7181
  let classes_2;
7006
7182
  let styles_2;
7007
7183
  var node_1 = child(div_3);
7008
7184
  each(node_1, 17, () => ({ length: get(hourCount) }), index, ($$anchor3, _, h) => {
7009
7185
  const hour = /* @__PURE__ */ user_derived(() => get(startHour) + h);
7010
7186
  const x = /* @__PURE__ */ user_derived(() => h * get(hourWidth));
7011
- var fragment = root_1$6();
7187
+ var fragment = root_1$7();
7012
7188
  var div_4 = first_child(fragment);
7013
7189
  let styles_3;
7014
7190
  var span = child(div_4);
@@ -7045,12 +7221,12 @@
7045
7221
  var node_5 = first_child(fragment_3);
7046
7222
  {
7047
7223
  var consequent_1 = ($$anchor6) => {
7048
- var div_6 = root_3$6();
7224
+ var div_6 = root_3$7();
7049
7225
  let styles_5;
7050
7226
  var node_6 = child(div_6);
7051
7227
  {
7052
7228
  var consequent = ($$anchor7) => {
7053
- var span_1 = root_2$6();
7229
+ var span_1 = root_2$7();
7054
7230
  var text_1 = child(span_1, true);
7055
7231
  reset(span_1);
7056
7232
  template_effect(() => set_text(text_1, get(slot).label));
@@ -7091,7 +7267,7 @@
7091
7267
  var node_7 = sibling(node_2, 2);
7092
7268
  {
7093
7269
  var consequent_4 = ($$anchor3) => {
7094
- var div_7 = root_4$6();
7270
+ var div_7 = root_4$7();
7095
7271
  var node_8 = child(div_7);
7096
7272
  {
7097
7273
  let $0 = /* @__PURE__ */ user_derived(() => ({
@@ -7139,14 +7315,14 @@
7139
7315
  reset(div_8);
7140
7316
  var node_9 = sibling(div_8, 2);
7141
7317
  each(node_9, 17, () => get(positionedEvents), (p) => p.ev.id, ($$anchor2, p) => {
7142
- var div_9 = root_13$4();
7318
+ var div_9 = root_15$4();
7143
7319
  let classes_3;
7144
7320
  let styles_7;
7145
7321
  var div_10 = child(div_9);
7146
7322
  var node_10 = child(div_10);
7147
7323
  {
7148
7324
  var consequent_5 = ($$anchor3) => {
7149
- var span_4 = root_6$6();
7325
+ var span_4 = root_6$7();
7150
7326
  append($$anchor3, span_4);
7151
7327
  };
7152
7328
  var consequent_6 = ($$anchor3) => {
@@ -7162,69 +7338,95 @@
7162
7338
  });
7163
7339
  }
7164
7340
  var node_11 = sibling(node_10, 2);
7341
+ EventContent(node_11, {
7342
+ get event() {
7343
+ return get(p).ev;
7344
+ },
7345
+ children: ($$anchor3, $$slotProps) => {
7346
+ var fragment_4 = root_13$4();
7347
+ var node_12 = first_child(fragment_4);
7348
+ {
7349
+ var consequent_7 = ($$anchor4) => {
7350
+ var span_6 = root_8$6();
7351
+ var text_5 = child(span_6);
7352
+ reset(span_6);
7353
+ template_effect(($0, $1) => set_text(text_5, `${$0 ?? ""} – ${$1 ?? ""}`), [
7354
+ () => fmtTime$1(get(p).ev.start, $$props.locale),
7355
+ () => fmtTime$1(get(p).ev.end, $$props.locale)
7356
+ ]);
7357
+ append($$anchor4, span_6);
7358
+ };
7359
+ if_block(node_12, ($$render) => {
7360
+ if (get(p).fit.time) $$render(consequent_7);
7361
+ });
7362
+ }
7363
+ var span_7 = sibling(node_12, 2);
7364
+ var text_6 = child(span_7, true);
7365
+ reset(span_7);
7366
+ var node_13 = sibling(span_7, 2);
7367
+ {
7368
+ var consequent_8 = ($$anchor4) => {
7369
+ var span_8 = root_9$5();
7370
+ var text_7 = child(span_8, true);
7371
+ reset(span_8);
7372
+ template_effect(() => set_text(text_7, get(p).ev.subtitle));
7373
+ append($$anchor4, span_8);
7374
+ };
7375
+ if_block(node_13, ($$render) => {
7376
+ if (get(p).ev.subtitle && get(p).fit.subtitle) $$render(consequent_8);
7377
+ });
7378
+ }
7379
+ var node_14 = sibling(node_13, 2);
7380
+ {
7381
+ var consequent_9 = ($$anchor4) => {
7382
+ var span_9 = root_10$5();
7383
+ var text_8 = child(span_9, true);
7384
+ reset(span_9);
7385
+ template_effect(() => set_text(text_8, get(p).ev.location));
7386
+ append($$anchor4, span_9);
7387
+ };
7388
+ if_block(node_14, ($$render) => {
7389
+ if (get(p).ev.location && get(p).fit.location) $$render(consequent_9);
7390
+ });
7391
+ }
7392
+ var node_15 = sibling(node_14, 2);
7393
+ {
7394
+ var consequent_10 = ($$anchor4) => {
7395
+ var span_10 = root_12$5();
7396
+ each(span_10, 21, () => get(p).ev.tags, index, ($$anchor5, tag) => {
7397
+ var span_11 = root_11$5();
7398
+ var text_9 = child(span_11, true);
7399
+ reset(span_11);
7400
+ template_effect(() => set_text(text_9, get(tag)));
7401
+ append($$anchor5, span_11);
7402
+ });
7403
+ reset(span_10);
7404
+ append($$anchor4, span_10);
7405
+ };
7406
+ if_block(node_15, ($$render) => {
7407
+ if (get(p).ev.tags?.length && get(p).fit.tags) $$render(consequent_10);
7408
+ });
7409
+ }
7410
+ template_effect(() => set_text(text_6, get(p).ev.title));
7411
+ append($$anchor3, fragment_4);
7412
+ },
7413
+ $$slots: { default: true }
7414
+ });
7415
+ reset(div_10);
7416
+ var node_16 = sibling(div_10, 2);
7165
7417
  {
7166
- var consequent_7 = ($$anchor3) => {
7167
- var span_6 = root_8$5();
7168
- var text_5 = child(span_6);
7169
- reset(span_6);
7170
- template_effect(($0, $1) => set_text(text_5, `${$0 ?? ""} – ${$1 ?? ""}`), [
7171
- () => fmtTime$1(get(p).ev.start, $$props.locale),
7172
- () => fmtTime$1(get(p).ev.end, $$props.locale)
7173
- ]);
7174
- append($$anchor3, span_6);
7175
- };
7176
- if_block(node_11, ($$render) => {
7177
- if (get(p).fit.time) $$render(consequent_7);
7178
- });
7179
- }
7180
- var span_7 = sibling(node_11, 2);
7181
- var text_6 = child(span_7, true);
7182
- reset(span_7);
7183
- var node_12 = sibling(span_7, 2);
7184
- {
7185
- var consequent_8 = ($$anchor3) => {
7186
- var span_8 = root_9$5();
7187
- var text_7 = child(span_8, true);
7188
- reset(span_8);
7189
- template_effect(() => set_text(text_7, get(p).ev.subtitle));
7190
- append($$anchor3, span_8);
7191
- };
7192
- if_block(node_12, ($$render) => {
7193
- if (get(p).ev.subtitle && get(p).fit.subtitle) $$render(consequent_8);
7194
- });
7195
- }
7196
- var node_13 = sibling(node_12, 2);
7197
- {
7198
- var consequent_9 = ($$anchor3) => {
7199
- var span_9 = root_10$5();
7200
- var text_8 = child(span_9, true);
7201
- reset(span_9);
7202
- template_effect(() => set_text(text_8, get(p).ev.location));
7203
- append($$anchor3, span_9);
7204
- };
7205
- if_block(node_13, ($$render) => {
7206
- if (get(p).ev.location && get(p).fit.location) $$render(consequent_9);
7207
- });
7208
- }
7209
- var node_14 = sibling(node_13, 2);
7210
- {
7211
- var consequent_10 = ($$anchor3) => {
7212
- var span_10 = root_12$5();
7213
- each(span_10, 21, () => get(p).ev.tags, index, ($$anchor4, tag) => {
7214
- var span_11 = root_11$5();
7215
- var text_9 = child(span_11, true);
7216
- reset(span_11);
7217
- template_effect(() => set_text(text_9, get(tag)));
7218
- append($$anchor4, span_11);
7219
- });
7220
- reset(span_10);
7221
- append($$anchor3, span_10);
7418
+ var consequent_11 = ($$anchor3) => {
7419
+ var fragment_5 = root_14$4();
7420
+ var div_11 = first_child(fragment_5);
7421
+ var div_12 = sibling(div_11, 2);
7422
+ delegated("pointerdown", div_11, (e) => onResizePointerDown(e, get(p).ev, "start"));
7423
+ delegated("pointerdown", div_12, (e) => onResizePointerDown(e, get(p).ev, "end"));
7424
+ append($$anchor3, fragment_5);
7222
7425
  };
7223
- if_block(node_14, ($$render) => {
7224
- if (get(p).ev.tags?.length && get(p).fit.tags) $$render(consequent_10);
7426
+ if_block(node_16, ($$render) => {
7427
+ if (!readOnly() && !get(p).ev.data?.readOnly && !get(p).isDragged) $$render(consequent_11);
7225
7428
  });
7226
7429
  }
7227
- reset(div_10);
7228
7430
  reset(div_9);
7229
7431
  template_effect(() => {
7230
7432
  classes_3 = set_class(div_9, 1, "fs-event svelte-mrwdy7", null, classes_3, {
@@ -7232,6 +7434,7 @@
7232
7434
  "fs-event--current": get(p).isCurrent,
7233
7435
  "fs-event--next": get(p).isNext,
7234
7436
  "fs-event--dragging": get(p).isDragged,
7437
+ "fs-event--resizing": get(p).isDragged && get(drag)?.mode !== "move",
7235
7438
  "fs-event--readonly": get(p).ev.data?.readOnly,
7236
7439
  "fs-event--cancelled": get(p).ev.status === "cancelled",
7237
7440
  "fs-event--tentative": get(p).ev.status === "tentative",
@@ -7247,7 +7450,6 @@
7247
7450
  height: `${get(p).heightPx ?? ""}px`,
7248
7451
  "--ev-color": get(p).ev.color ?? "var(--dt-accent)"
7249
7452
  });
7250
- set_text(text_6, get(p).ev.title);
7251
7453
  });
7252
7454
  delegated("pointerdown", div_9, (e) => onEventPointerDown(e, get(p).ev));
7253
7455
  event("pointerenter", div_9, () => get(oneventhover)?.(get(p).ev));
@@ -7259,71 +7461,104 @@
7259
7461
  });
7260
7462
  append($$anchor2, div_9);
7261
7463
  });
7464
+ var node_17 = sibling(node_9, 2);
7465
+ {
7466
+ var consequent_12 = ($$anchor2) => {
7467
+ const gx = /* @__PURE__ */ user_derived(() => timeToPx(get(drag).payload.start.getTime()));
7468
+ const gw = /* @__PURE__ */ user_derived(() => Math.max(timeToPx(get(drag).payload.end.getTime()) - get(gx), 8));
7469
+ const gh = /* @__PURE__ */ user_derived(() => Math.max(MIN_EVENT_H, get(containerH) - get(contentTop) - 8 - EVENT_GAP));
7470
+ var div_13 = root_16$4();
7471
+ let styles_8;
7472
+ var span_12 = child(div_13);
7473
+ var text_10 = child(span_12);
7474
+ reset(span_12);
7475
+ reset(div_13);
7476
+ template_effect(
7477
+ ($0, $1) => {
7478
+ styles_8 = set_style(div_13, "", styles_8, {
7479
+ left: `${get(gx) ?? ""}px`,
7480
+ width: `${get(gw) ?? ""}px`,
7481
+ top: `${get(contentTop) ?? ""}px`,
7482
+ height: `${get(gh) ?? ""}px`
7483
+ });
7484
+ set_text(text_10, `${$0 ?? ""} – ${$1 ?? ""}`);
7485
+ },
7486
+ [
7487
+ () => fmtTime$1(get(drag).payload.start, $$props.locale),
7488
+ () => fmtTime$1(get(drag).payload.end, $$props.locale)
7489
+ ]
7490
+ );
7491
+ append($$anchor2, div_13);
7492
+ };
7493
+ if_block(node_17, ($$render) => {
7494
+ if (!readOnly() && get(drag)?.active && get(drag).mode === "create" && get(drag).payload) $$render(consequent_12);
7495
+ });
7496
+ }
7262
7497
  reset(div_2);
7263
7498
  reset(div_1);
7264
7499
  bind_this(div_1, ($$value) => el = $$value, () => el);
7265
- var node_15 = sibling(div_1, 2);
7500
+ var node_18 = sibling(div_1, 2);
7266
7501
  {
7267
- var consequent_12 = ($$anchor2) => {
7268
- var div_11 = root_16$4();
7269
- set_style(div_11, "", {}, { top: "56px" });
7270
- each(div_11, 21, () => get(allDayEvents), (seg) => seg.ev.id, ($$anchor3, seg) => {
7271
- var div_12 = root_15$4();
7502
+ var consequent_14 = ($$anchor2) => {
7503
+ var div_14 = root_19$3();
7504
+ set_style(div_14, "", {}, { top: "56px" });
7505
+ each(div_14, 21, () => get(allDayEvents), (seg) => seg.ev.id, ($$anchor3, seg) => {
7506
+ var div_15 = root_18$4();
7272
7507
  let classes_4;
7273
- let styles_8;
7274
- var span_12 = sibling(child(div_12), 2);
7275
- var text_10 = child(span_12, true);
7276
- reset(span_12);
7277
- var node_16 = sibling(span_12, 2);
7508
+ let styles_9;
7509
+ var span_13 = sibling(child(div_15), 2);
7510
+ var text_11 = child(span_13, true);
7511
+ reset(span_13);
7512
+ var node_19 = sibling(span_13, 2);
7278
7513
  {
7279
- var consequent_11 = ($$anchor4) => {
7280
- var span_13 = root_14$4();
7281
- var text_11 = child(span_13);
7282
- reset(span_13);
7283
- template_effect(() => set_text(text_11, `${get(L).day ?? ""} ${get(seg).dayIndex ?? ""}/${get(seg).totalDays ?? ""}`));
7284
- append($$anchor4, span_13);
7285
- };
7286
- var alternate = ($$anchor4) => {
7287
- var span_14 = root_14$4();
7288
- var text_12 = child(span_14, true);
7514
+ var consequent_13 = ($$anchor4) => {
7515
+ var span_14 = root_17$4();
7516
+ var text_12 = child(span_14);
7289
7517
  reset(span_14);
7290
- template_effect(() => set_text(text_12, get(L).allDay));
7518
+ template_effect(() => set_text(text_12, `${get(L).day ?? ""} ${get(seg).dayIndex ?? ""}/${get(seg).totalDays ?? ""}`));
7291
7519
  append($$anchor4, span_14);
7292
7520
  };
7293
- if_block(node_16, ($$render) => {
7294
- if (get(seg).totalDays > 1) $$render(consequent_11);
7521
+ var alternate = ($$anchor4) => {
7522
+ var span_15 = root_17$4();
7523
+ var text_13 = child(span_15, true);
7524
+ reset(span_15);
7525
+ template_effect(() => set_text(text_13, get(L).allDay));
7526
+ append($$anchor4, span_15);
7527
+ };
7528
+ if_block(node_19, ($$render) => {
7529
+ if (get(seg).totalDays > 1) $$render(consequent_13);
7295
7530
  else $$render(alternate, -1);
7296
7531
  });
7297
7532
  }
7298
- reset(div_12);
7533
+ reset(div_15);
7299
7534
  template_effect(
7300
7535
  ($0) => {
7301
- classes_4 = set_class(div_12, 1, "fs-ad svelte-mrwdy7", null, classes_4, {
7536
+ classes_4 = set_class(div_15, 1, "fs-ad svelte-mrwdy7", null, classes_4, {
7302
7537
  "fs-ad--start": get(seg).isStart,
7303
7538
  "fs-ad--selected": selectedEventId() === get(seg).ev.id
7304
7539
  });
7305
- set_attribute(div_12, "aria-label", `${get(seg).ev.title ?? ""}${$0 ?? ""}`);
7306
- styles_8 = set_style(div_12, "", styles_8, { "--ev-color": get(seg).ev.color ?? "var(--dt-accent)" });
7307
- set_text(text_10, get(seg).ev.title);
7540
+ set_attribute(div_15, "aria-label", `${get(seg).ev.title ?? ""}${$0 ?? ""}`);
7541
+ styles_9 = set_style(div_15, "", styles_9, { "--ev-color": get(seg).ev.color ?? "var(--dt-accent)" });
7542
+ set_text(text_11, get(seg).ev.title);
7308
7543
  },
7309
7544
  [
7310
7545
  () => get(seg).totalDays > 1 ? `, ${get(L).dayNOfTotal(get(seg).dayIndex, get(seg).totalDays)}` : `, ${get(L).allDay}`
7311
7546
  ]
7312
7547
  );
7313
- delegated("click", div_12, () => $$props.oneventclick?.(get(seg).ev));
7314
- delegated("keydown", div_12, (e) => {
7548
+ delegated("click", div_15, () => $$props.oneventclick?.(get(seg).ev));
7549
+ delegated("keydown", div_15, (e) => {
7315
7550
  if (e.key === "Enter" || e.key === " ") {
7316
7551
  e.preventDefault();
7317
7552
  $$props.oneventclick?.(get(seg).ev);
7318
7553
  }
7319
7554
  });
7320
- append($$anchor3, div_12);
7555
+ append($$anchor3, div_15);
7321
7556
  });
7322
- reset(div_11);
7323
- append($$anchor2, div_11);
7557
+ reset(div_14);
7558
+ append($$anchor2, div_14);
7324
7559
  };
7325
- if_block(node_15, ($$render) => {
7326
- if (get(allDayEvents).length > 0) $$render(consequent_12);
7560
+ if_block(node_18, ($$render) => {
7561
+ if (get(allDayEvents).length > 0) $$render(consequent_14);
7327
7562
  });
7328
7563
  }
7329
7564
  reset(div);
@@ -7409,18 +7644,18 @@
7409
7644
  "(prefers-reduced-motion: reduce)"
7410
7645
  );
7411
7646
  const allDaySegmentContent = ($$anchor, seg = noop) => {
7412
- var fragment = root_3$5();
7647
+ var fragment = root_3$6();
7413
7648
  var node = first_child(fragment);
7414
7649
  {
7415
7650
  var consequent = ($$anchor2) => {
7416
- var span = root$4();
7651
+ var span = root$5();
7417
7652
  var text2 = child(span, true);
7418
7653
  reset(span);
7419
7654
  template_effect(() => set_text(text2, seg().ev.title));
7420
7655
  append($$anchor2, span);
7421
7656
  };
7422
7657
  var alternate = ($$anchor2) => {
7423
- var fragment_1 = root_1$5();
7658
+ var fragment_1 = root_1$6();
7424
7659
  var span_1 = sibling(first_child(fragment_1), 2);
7425
7660
  var text_1 = child(span_1, true);
7426
7661
  reset(span_1);
@@ -7435,7 +7670,7 @@
7435
7670
  var node_1 = sibling(node, 2);
7436
7671
  {
7437
7672
  var consequent_1 = ($$anchor2) => {
7438
- var span_2 = root_2$5();
7673
+ var span_2 = root_2$6();
7439
7674
  append($$anchor2, span_2);
7440
7675
  };
7441
7676
  if_block(node_1, ($$render) => {
@@ -7444,15 +7679,15 @@
7444
7679
  }
7445
7680
  append($$anchor, fragment);
7446
7681
  };
7447
- var root$4 = /* @__PURE__ */ from_html(`<span class="wg-ad-title svelte-j4rvbp"> </span>`);
7448
- var root_1$5 = /* @__PURE__ */ from_html(`<span class="wg-ad-cont svelte-j4rvbp" aria-hidden="true">◂</span> <span class="wg-ad-title svelte-j4rvbp"> </span>`, 1);
7449
- var root_2$5 = /* @__PURE__ */ from_html(`<span class="wg-ad-arrow svelte-j4rvbp" aria-hidden="true">▸</span>`);
7450
- var root_3$5 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
7451
- var root_4$5 = /* @__PURE__ */ from_html(`<span class="wg-ev-loc svelte-j4rvbp"> </span>`);
7452
- var root_5$5 = /* @__PURE__ */ from_html(`<span class="wg-ev-time svelte-j4rvbp"> </span> <span class="wg-ev-title svelte-j4rvbp"> </span> <!>`, 1);
7453
- var root_6$5 = /* @__PURE__ */ from_html(`<span> </span>`);
7682
+ var root$5 = /* @__PURE__ */ from_html(`<span class="wg-ad-title svelte-j4rvbp"> </span>`);
7683
+ var root_1$6 = /* @__PURE__ */ from_html(`<span class="wg-ad-cont svelte-j4rvbp" aria-hidden="true">◂</span> <span class="wg-ad-title svelte-j4rvbp"> </span>`, 1);
7684
+ var root_2$6 = /* @__PURE__ */ from_html(`<span class="wg-ad-arrow svelte-j4rvbp" aria-hidden="true">▸</span>`);
7685
+ var root_3$6 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
7686
+ var root_4$6 = /* @__PURE__ */ from_html(`<span class="wg-ev-loc svelte-j4rvbp"> </span>`);
7687
+ var root_5$6 = /* @__PURE__ */ from_html(`<span class="wg-ev-time svelte-j4rvbp"> </span> <span class="wg-ev-title svelte-j4rvbp"> </span> <!>`, 1);
7688
+ var root_6$6 = /* @__PURE__ */ from_html(`<span> </span>`);
7454
7689
  var root_7$5 = /* @__PURE__ */ from_html(`<span class="wg-cell-month svelte-j4rvbp"> </span>`);
7455
- var root_8$4 = /* @__PURE__ */ from_html(`<div class="wg-cell-custom-header svelte-j4rvbp"><!></div>`);
7690
+ var root_8$5 = /* @__PURE__ */ from_html(`<div class="wg-cell-custom-header svelte-j4rvbp"><!></div>`);
7456
7691
  var root_9$4 = /* @__PURE__ */ from_html(`<span class="wg-blocked-label svelte-j4rvbp"> </span>`);
7457
7692
  var root_10$4 = /* @__PURE__ */ from_html(`<div class="wg-blocked svelte-j4rvbp"><!></div>`);
7458
7693
  var root_11$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><!></div>`);
@@ -7461,39 +7696,47 @@
7461
7696
  var root_14$3 = /* @__PURE__ */ from_html(`<div class="wg-ev wg-ev--drag-preview svelte-j4rvbp" aria-hidden="true"><!></div>`);
7462
7697
  var root_15$3 = /* @__PURE__ */ from_html(`<div class="wg-ev-more svelte-j4rvbp"> </div>`);
7463
7698
  var root_16$3 = /* @__PURE__ */ from_html(`<div role="gridcell" tabindex="0"><div><!> <span class="wg-day-wd svelte-j4rvbp"> </span></div> <!> <!> <!> <!> <div class="wg-cell-events svelte-j4rvbp"><!> <!> <!></div></div>`);
7464
- var root_17$2 = /* @__PURE__ */ from_html(`<div><div class="wg-week-body svelte-j4rvbp"><div class="wg-days svelte-j4rvbp"></div></div></div>`);
7465
- var root_18$2 = /* @__PURE__ */ from_html(`<div><div class="wg-body svelte-j4rvbp" role="grid"></div></div>`);
7699
+ var root_17$3 = /* @__PURE__ */ from_html(`<div><div class="wg-week-body svelte-j4rvbp"><div class="wg-days svelte-j4rvbp"></div></div></div>`);
7700
+ var root_18$3 = /* @__PURE__ */ from_html(`<div><div class="wg-body svelte-j4rvbp" role="grid"></div></div>`);
7466
7701
  function PlannerWeek($$anchor, $$props) {
7467
7702
  push($$props, true);
7468
7703
  const timedEventContent = ($$anchor2, ev = noop) => {
7469
- var fragment_2 = root_5$5();
7470
- var span_3 = first_child(fragment_2);
7471
- var text_2 = child(span_3, true);
7472
- reset(span_3);
7473
- var span_4 = sibling(span_3, 2);
7474
- var text_3 = child(span_4, true);
7475
- reset(span_4);
7476
- var node_2 = sibling(span_4, 2);
7477
- {
7478
- var consequent_2 = ($$anchor3) => {
7479
- var span_5 = root_4$5();
7480
- var text_4 = child(span_5, true);
7481
- reset(span_5);
7482
- template_effect(() => set_text(text_4, ev().location));
7483
- append($$anchor3, span_5);
7484
- };
7485
- if_block(node_2, ($$render) => {
7486
- if (ev().location) $$render(consequent_2);
7487
- });
7488
- }
7489
- template_effect(
7490
- ($0) => {
7491
- set_text(text_2, $0);
7492
- set_text(text_3, ev().title);
7704
+ EventContent($$anchor2, {
7705
+ get event() {
7706
+ return ev();
7493
7707
  },
7494
- [() => fmtAmPm(ev().start)]
7495
- );
7496
- append($$anchor2, fragment_2);
7708
+ children: ($$anchor3, $$slotProps) => {
7709
+ var fragment_3 = root_5$6();
7710
+ var span_3 = first_child(fragment_3);
7711
+ var text_2 = child(span_3, true);
7712
+ reset(span_3);
7713
+ var span_4 = sibling(span_3, 2);
7714
+ var text_3 = child(span_4, true);
7715
+ reset(span_4);
7716
+ var node_2 = sibling(span_4, 2);
7717
+ {
7718
+ var consequent_2 = ($$anchor4) => {
7719
+ var span_5 = root_4$6();
7720
+ var text_4 = child(span_5, true);
7721
+ reset(span_5);
7722
+ template_effect(() => set_text(text_4, ev().location));
7723
+ append($$anchor4, span_5);
7724
+ };
7725
+ if_block(node_2, ($$render) => {
7726
+ if (ev().location) $$render(consequent_2);
7727
+ });
7728
+ }
7729
+ template_effect(
7730
+ ($0) => {
7731
+ set_text(text_2, $0);
7732
+ set_text(text_3, ev().title);
7733
+ },
7734
+ [() => fmtAmPm(ev().start)]
7735
+ );
7736
+ append($$anchor3, fragment_3);
7737
+ },
7738
+ $$slots: { default: true }
7739
+ });
7497
7740
  };
7498
7741
  const L = /* @__PURE__ */ user_derived(getLabels);
7499
7742
  let mondayStart = prop($$props, "mondayStart", 3, true), height = prop($$props, "height", 3, 520), events = prop($$props, "events", 19, () => []), style = prop($$props, "style", 3, ""), selectedEventId = prop($$props, "selectedEventId", 3, null), readOnly = prop($$props, "readOnly", 3, false);
@@ -7767,12 +8010,12 @@
7767
8010
  if (get(drag) && evDragStarted) get(drag).cancel();
7768
8011
  cleanupEvDrag();
7769
8012
  }
7770
- var div = root_18$2();
8013
+ var div = root_18$3();
7771
8014
  let classes;
7772
8015
  let styles;
7773
8016
  var div_1 = child(div);
7774
8017
  each(div_1, 21, () => get(weeks), (week) => week.weekStart, ($$anchor2, week) => {
7775
- var div_2 = root_17$2();
8018
+ var div_2 = root_17$3();
7776
8019
  let classes_1;
7777
8020
  var div_3 = child(div_2);
7778
8021
  var div_4 = child(div_3);
@@ -7788,7 +8031,7 @@
7788
8031
  var node_3 = child(div_6);
7789
8032
  {
7790
8033
  var consequent_3 = ($$anchor4) => {
7791
- var span_6 = root_6$5();
8034
+ var span_6 = root_6$6();
7792
8035
  let classes_4;
7793
8036
  var text_5 = child(span_6, true);
7794
8037
  reset(span_6);
@@ -7822,7 +8065,7 @@
7822
8065
  var node_5 = sibling(node_4, 2);
7823
8066
  {
7824
8067
  var consequent_5 = ($$anchor4) => {
7825
- var div_7 = root_8$4();
8068
+ var div_7 = root_8$5();
7826
8069
  var node_6 = child(div_7);
7827
8070
  {
7828
8071
  let $0 = /* @__PURE__ */ user_derived(() => ({
@@ -7844,11 +8087,11 @@
7844
8087
  var consequent_8 = ($$anchor4) => {
7845
8088
  const jsDay = /* @__PURE__ */ user_derived(() => new Date(get(day).ms).getDay());
7846
8089
  const isoDay = /* @__PURE__ */ user_derived(() => get(jsDay) === 0 ? 7 : get(jsDay));
7847
- var fragment_3 = comment();
7848
- var node_8 = first_child(fragment_3);
8090
+ var fragment_4 = comment();
8091
+ var node_8 = first_child(fragment_4);
7849
8092
  each(node_8, 17, () => get(blockedSlots), index, ($$anchor5, slot) => {
7850
- var fragment_4 = comment();
7851
- var node_9 = first_child(fragment_4);
8093
+ var fragment_5 = comment();
8094
+ var node_9 = first_child(fragment_5);
7852
8095
  {
7853
8096
  var consequent_7 = ($$anchor6) => {
7854
8097
  var div_8 = root_10$4();
@@ -7873,9 +8116,9 @@
7873
8116
  if (!get(slot).day || get(slot).day === get(isoDay)) $$render(consequent_7);
7874
8117
  });
7875
8118
  }
7876
- append($$anchor5, fragment_4);
8119
+ append($$anchor5, fragment_5);
7877
8120
  });
7878
- append($$anchor4, fragment_3);
8121
+ append($$anchor4, fragment_4);
7879
8122
  };
7880
8123
  if_block(node_7, ($$render) => {
7881
8124
  if (get(blockedSlots)?.length) $$render(consequent_8);
@@ -8147,32 +8390,39 @@
8147
8390
  }
8148
8391
  return slots;
8149
8392
  }
8150
- var root$3 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-allday-dot svelte-n8lbn1"></span> <span class="ag-allday-title svelte-n8lbn1"> </span></div>`);
8151
- var root_1$4 = /* @__PURE__ */ from_html(`<div class="ag-allday svelte-n8lbn1"><div class="ag-allday-label svelte-n8lbn1"> </div> <div class="ag-allday-items svelte-n8lbn1"></div></div>`);
8152
- var root_2$4 = /* @__PURE__ */ from_html(`<div class="ag-q-empty svelte-n8lbn1"> </div>`);
8153
- var root_3$4 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-sub svelte-n8lbn1"> </span>`);
8154
- var root_4$4 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-tag svelte-n8lbn1"> </span>`);
8155
- var root_5$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-compact-row-dot svelte-n8lbn1"></span> <span class="ag-compact-row-time svelte-n8lbn1"> </span> <span class="ag-compact-row-title svelte-n8lbn1"> </span> <!> <!> <span class="ag-compact-row-dur svelte-n8lbn1"> </span></div>`);
8156
- var root_6$4 = /* @__PURE__ */ from_html(`<div class="ag-compact-list svelte-n8lbn1"><!></div>`);
8157
- var root_7$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-q-done-check svelte-n8lbn1">✓</span> <span class="ag-q-done-title svelte-n8lbn1"> </span></div>`);
8158
- var root_8$3 = /* @__PURE__ */ from_html(`<div class="ag-q-done-section svelte-n8lbn1"><div class="ag-q-label svelte-n8lbn1"> </div> <!></div>`);
8159
- var root_9$3 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="ag-q-now-dot svelte-n8lbn1"></div> <div class="ag-q-now-title svelte-n8lbn1"> </div> <div class="ag-q-now-time svelte-n8lbn1"> </div> <div class="ag-q-now-track svelte-n8lbn1"><div class="ag-q-now-fill svelte-n8lbn1"></div></div></div>`);
8393
+ var root$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-allday-dot svelte-n8lbn1"></span> <span class="ag-allday-title svelte-n8lbn1"> </span></div>`);
8394
+ var root_1$5 = /* @__PURE__ */ from_html(`<div class="ag-allday svelte-n8lbn1"><div class="ag-allday-label svelte-n8lbn1"> </div> <div class="ag-allday-items svelte-n8lbn1"></div></div>`);
8395
+ var root_2$5 = /* @__PURE__ */ from_html(`<div class="ag-q-empty svelte-n8lbn1"><!></div>`);
8396
+ var root_3$5 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-sub svelte-n8lbn1"> </span>`);
8397
+ var root_4$5 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-tag svelte-n8lbn1"> </span>`);
8398
+ var root_5$5 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-dot svelte-n8lbn1"></span> <span class="ag-compact-row-time svelte-n8lbn1"> </span> <span class="ag-compact-row-title svelte-n8lbn1"> </span> <!> <!> <span class="ag-compact-row-dur svelte-n8lbn1"> </span>`, 1);
8399
+ var root_6$5 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><!></div>`);
8400
+ var root_7$4 = /* @__PURE__ */ from_html(`<div class="ag-compact-list svelte-n8lbn1"><!></div>`);
8401
+ var root_8$4 = /* @__PURE__ */ from_html(`<div class="ag-q-now-sub svelte-n8lbn1"> </div>`);
8402
+ var root_9$3 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="ag-q-now-dot svelte-n8lbn1"></div> <div class="ag-q-now-title svelte-n8lbn1"> </div> <!> <div class="ag-q-now-time svelte-n8lbn1"> </div> <div class="ag-q-now-track svelte-n8lbn1"><div class="ag-q-now-fill svelte-n8lbn1"></div></div></div>`);
8160
8403
  var root_10$3 = /* @__PURE__ */ from_html(`<div class="ag-q-free svelte-n8lbn1"><div class="ag-q-free-label svelte-n8lbn1"> </div></div>`);
8161
- var root_11$3 = /* @__PURE__ */ from_html(`<span class="ag-card-sub svelte-n8lbn1"> </span>`);
8162
- var root_12$3 = /* @__PURE__ */ from_html(`<span class="ag-card-tag svelte-n8lbn1"> </span>`);
8163
- var root_13$2 = /* @__PURE__ */ from_html(`<div class="ag-card-tags svelte-n8lbn1"></div>`);
8164
- var root_14$2 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="ag-card-body svelte-n8lbn1"><div class="ag-card-top svelte-n8lbn1"><span class="ag-card-title svelte-n8lbn1"> </span> <span class="ag-card-eta svelte-n8lbn1"> </span></div> <!> <div class="ag-card-meta svelte-n8lbn1"> <span class="ag-card-dur svelte-n8lbn1"> </span></div> <!></div></div>`);
8165
- var root_15$2 = /* @__PURE__ */ from_html(`<div class="ag-q svelte-n8lbn1"><div class="ag-q-status svelte-n8lbn1"><!> <div class="ag-q-label svelte-n8lbn1"> <span class="ag-q-clock svelte-n8lbn1"> </span></div> <!></div> <div class="ag-q-queue svelte-n8lbn1"><div class="ag-q-label svelte-n8lbn1"> </div> <!></div></div>`);
8166
- var root_16$2 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-log-check svelte-n8lbn1">✓</span> <span class="ag-log-time svelte-n8lbn1"> </span> <span class="ag-log-dot svelte-n8lbn1"></span> <span class="ag-log-title svelte-n8lbn1"> </span> <span class="ag-log-dur svelte-n8lbn1"> </span></div>`);
8167
- var root_17$1 = /* @__PURE__ */ from_html(`<div class="ag-log svelte-n8lbn1"><!></div>`);
8168
- var root_18$1 = /* @__PURE__ */ from_html(`<span class="ag-card-loc svelte-n8lbn1"> </span>`);
8169
- var root_19$1 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="ag-card-body svelte-n8lbn1"><div class="ag-card-top svelte-n8lbn1"><span class="ag-card-order svelte-n8lbn1"> </span> <span class="ag-card-title svelte-n8lbn1"> </span></div> <!> <!> <div class="ag-card-meta svelte-n8lbn1"> <span class="ag-card-dur svelte-n8lbn1"> </span></div> <!></div></div>`);
8170
- var root_20$1 = /* @__PURE__ */ from_html(`<div class="ag-plan svelte-n8lbn1"><!></div>`);
8171
- var root_21$1 = /* @__PURE__ */ from_html(`<div><div class="ag-body svelte-n8lbn1" role="list"><!> <!></div></div>`);
8404
+ var root_11$3 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-q-done-check svelte-n8lbn1">✓</span> <span class="ag-q-done-title svelte-n8lbn1"> </span></div>`);
8405
+ var root_12$3 = /* @__PURE__ */ from_html(`<button class="ag-q-done-toggle svelte-n8lbn1"> </button>`);
8406
+ var root_13$2 = /* @__PURE__ */ from_html(`<div class="ag-q-done-section svelte-n8lbn1"><div class="ag-q-label svelte-n8lbn1"> </div> <!> <!></div>`);
8407
+ var root_14$2 = /* @__PURE__ */ from_html(`<div class="ag-q-empty svelte-n8lbn1"> </div>`);
8408
+ var root_15$2 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-dot svelte-n8lbn1"></span> <span class="ag-compact-row-time svelte-n8lbn1"> </span> <span class="ag-compact-row-title svelte-n8lbn1"> </span> <!>`, 1);
8409
+ var root_16$2 = /* @__PURE__ */ from_html(`<span class="ag-card-sub svelte-n8lbn1"> </span>`);
8410
+ var root_17$2 = /* @__PURE__ */ from_html(`<span class="ag-card-tag svelte-n8lbn1"> </span>`);
8411
+ var root_18$2 = /* @__PURE__ */ from_html(`<div class="ag-card-tags svelte-n8lbn1"></div>`);
8412
+ var root_19$2 = /* @__PURE__ */ from_html(`<div class="ag-card-top svelte-n8lbn1"><span class="ag-card-title svelte-n8lbn1"> </span> <span class="ag-card-eta svelte-n8lbn1"> </span></div> <!> <div class="ag-card-meta svelte-n8lbn1"> <span class="ag-card-dur svelte-n8lbn1"> </span></div> <!>`, 1);
8413
+ var root_20$1 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="ag-card-body svelte-n8lbn1"><!></div></div>`);
8414
+ var root_21$1 = /* @__PURE__ */ from_html(`<div class="ag-q svelte-n8lbn1"><div class="ag-q-status svelte-n8lbn1"><div class="ag-q-label svelte-n8lbn1"> <span class="ag-q-clock svelte-n8lbn1"> </span></div> <!> <!></div> <div class="ag-q-queue svelte-n8lbn1"><div class="ag-q-label svelte-n8lbn1"> </div> <!></div></div>`);
8415
+ var root_22$1 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-log-check svelte-n8lbn1">✓</span> <span class="ag-log-time svelte-n8lbn1"> </span> <span class="ag-log-dot svelte-n8lbn1"></span> <span class="ag-log-title svelte-n8lbn1"> </span> <span class="ag-log-dur svelte-n8lbn1"> </span></div>`);
8416
+ var root_23$1 = /* @__PURE__ */ from_html(`<div class="ag-log svelte-n8lbn1"><!></div>`);
8417
+ var root_24$1 = /* @__PURE__ */ from_html(`<span class="ag-card-loc svelte-n8lbn1"> </span>`);
8418
+ var root_25$1 = /* @__PURE__ */ from_html(`<div class="ag-card-top svelte-n8lbn1"><span class="ag-card-order svelte-n8lbn1"> </span> <span class="ag-card-title svelte-n8lbn1"> </span></div> <!> <!> <div class="ag-card-meta svelte-n8lbn1"> <span class="ag-card-dur svelte-n8lbn1"> </span></div> <!>`, 1);
8419
+ var root_26$1 = /* @__PURE__ */ from_html(`<div class="ag-plan svelte-n8lbn1"><!></div>`);
8420
+ var root_27$1 = /* @__PURE__ */ from_html(`<div><div class="ag-body svelte-n8lbn1" role="list"><!> <!></div></div>`);
8172
8421
  function AgendaDay($$anchor, $$props) {
8173
8422
  push($$props, true);
8174
8423
  const L = /* @__PURE__ */ user_derived(getLabels);
8175
8424
  const ctx = useCalendarContext();
8425
+ const emptySnippet = /* @__PURE__ */ user_derived(() => ctx.emptySnippet);
8176
8426
  let events = prop($$props, "events", 19, () => []), style = prop($$props, "style", 3, ""), selectedEventId = prop($$props, "selectedEventId", 3, null);
8177
8427
  const clock = createClock();
8178
8428
  const viewState = /* @__PURE__ */ user_derived(() => ctx.viewState);
@@ -8242,27 +8492,29 @@
8242
8492
  const upcomingNext = /* @__PURE__ */ user_derived(() => {
8243
8493
  const all = [];
8244
8494
  for (const slot of get(dayCat).upcomingSlots) {
8245
- for (const ev of slot.events) {
8246
- all.push(ev);
8247
- if (all.length >= 5) return all;
8248
- }
8495
+ for (const ev of slot.events) all.push(ev);
8249
8496
  }
8250
8497
  return all;
8251
8498
  });
8252
- var div = root_21$1();
8499
+ const UPCOMING_CARDS = 4;
8500
+ const DONE_VISIBLE = 3;
8501
+ let showAllDone = /* @__PURE__ */ state(false);
8502
+ const visibleDone = /* @__PURE__ */ user_derived(() => get(showAllDone) ? get(dayCat).past : get(dayCat).past.slice(-DONE_VISIBLE));
8503
+ const hiddenDoneCount = /* @__PURE__ */ user_derived(() => get(showAllDone) ? 0 : Math.max(0, get(dayCat).past.length - DONE_VISIBLE));
8504
+ var div = root_27$1();
8253
8505
  let classes;
8254
8506
  let styles;
8255
8507
  var div_1 = child(div);
8256
8508
  var node = child(div_1);
8257
8509
  {
8258
8510
  var consequent = ($$anchor2) => {
8259
- var div_2 = root_1$4();
8511
+ var div_2 = root_1$5();
8260
8512
  var div_3 = child(div_2);
8261
8513
  var text2 = child(div_3, true);
8262
8514
  reset(div_3);
8263
8515
  var div_4 = sibling(div_3, 2);
8264
8516
  each(div_4, 21, () => get(allDayBanner), (ev) => ev.id, ($$anchor3, ev) => {
8265
- var div_5 = root$3();
8517
+ var div_5 = root$4();
8266
8518
  let classes_1;
8267
8519
  let styles_1;
8268
8520
  var span = sibling(child(div_5), 2);
@@ -8293,67 +8545,102 @@
8293
8545
  }
8294
8546
  var node_1 = sibling(node, 2);
8295
8547
  {
8296
- var consequent_4 = ($$anchor2) => {
8297
- var div_6 = root_6$4();
8548
+ var consequent_5 = ($$anchor2) => {
8549
+ var div_6 = root_7$4();
8298
8550
  var node_2 = child(div_6);
8299
8551
  {
8300
- var consequent_1 = ($$anchor3) => {
8301
- var div_7 = root_2$4();
8302
- var text_2 = child(div_7, true);
8552
+ var consequent_2 = ($$anchor3) => {
8553
+ var div_7 = root_2$5();
8554
+ var node_3 = child(div_7);
8555
+ {
8556
+ var consequent_1 = ($$anchor4) => {
8557
+ var fragment = comment();
8558
+ var node_4 = first_child(fragment);
8559
+ snippet(node_4, () => get(emptySnippet));
8560
+ append($$anchor4, fragment);
8561
+ };
8562
+ var alternate = ($$anchor4) => {
8563
+ var text_2 = text();
8564
+ template_effect(() => set_text(text_2, get(L).nothingScheduledYet));
8565
+ append($$anchor4, text_2);
8566
+ };
8567
+ if_block(node_3, ($$render) => {
8568
+ if (get(emptySnippet)) $$render(consequent_1);
8569
+ else $$render(alternate, -1);
8570
+ });
8571
+ }
8303
8572
  reset(div_7);
8304
- template_effect(() => set_text(text_2, get(L).nothingScheduledYet));
8305
8573
  append($$anchor3, div_7);
8306
8574
  };
8307
- var alternate = ($$anchor3) => {
8308
- var fragment = comment();
8309
- var node_3 = first_child(fragment);
8310
- each(node_3, 17, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev) => {
8311
- var div_8 = root_5$4();
8575
+ var alternate_1 = ($$anchor3) => {
8576
+ var fragment_2 = comment();
8577
+ var node_5 = first_child(fragment_2);
8578
+ each(node_5, 17, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev) => {
8579
+ var div_8 = root_6$5();
8312
8580
  let classes_2;
8313
8581
  let styles_2;
8314
- var span_1 = sibling(child(div_8), 2);
8315
- var text_3 = child(span_1, true);
8316
- reset(span_1);
8317
- var span_2 = sibling(span_1, 2);
8318
- var text_4 = child(span_2, true);
8319
- reset(span_2);
8320
- var node_4 = sibling(span_2, 2);
8321
- {
8322
- var consequent_2 = ($$anchor5) => {
8323
- var span_3 = root_3$4();
8324
- var text_5 = child(span_3, true);
8325
- reset(span_3);
8326
- template_effect(() => set_text(text_5, get(ev).subtitle));
8327
- append($$anchor5, span_3);
8328
- };
8329
- if_block(node_4, ($$render) => {
8330
- if (get(ev).subtitle) $$render(consequent_2);
8331
- });
8332
- }
8333
- var node_5 = sibling(node_4, 2);
8334
- {
8335
- var consequent_3 = ($$anchor5) => {
8336
- var fragment_1 = comment();
8337
- var node_6 = first_child(fragment_1);
8338
- each(node_6, 17, () => get(ev).tags, index, ($$anchor6, tag) => {
8339
- var span_4 = root_4$4();
8340
- var text_6 = child(span_4, true);
8341
- reset(span_4);
8342
- template_effect(() => set_text(text_6, get(tag)));
8343
- append($$anchor6, span_4);
8344
- });
8345
- append($$anchor5, fragment_1);
8346
- };
8347
- if_block(node_5, ($$render) => {
8348
- if (get(ev).tags?.length) $$render(consequent_3);
8349
- });
8350
- }
8351
- var span_5 = sibling(node_5, 2);
8352
- var text_7 = child(span_5, true);
8353
- reset(span_5);
8582
+ var node_6 = child(div_8);
8583
+ EventContent(node_6, {
8584
+ get event() {
8585
+ return get(ev);
8586
+ },
8587
+ children: ($$anchor5, $$slotProps) => {
8588
+ var fragment_3 = root_5$5();
8589
+ var span_1 = sibling(first_child(fragment_3), 2);
8590
+ var text_3 = child(span_1, true);
8591
+ reset(span_1);
8592
+ var span_2 = sibling(span_1, 2);
8593
+ var text_4 = child(span_2, true);
8594
+ reset(span_2);
8595
+ var node_7 = sibling(span_2, 2);
8596
+ {
8597
+ var consequent_3 = ($$anchor6) => {
8598
+ var span_3 = root_3$5();
8599
+ var text_5 = child(span_3, true);
8600
+ reset(span_3);
8601
+ template_effect(() => set_text(text_5, get(ev).subtitle));
8602
+ append($$anchor6, span_3);
8603
+ };
8604
+ if_block(node_7, ($$render) => {
8605
+ if (get(ev).subtitle) $$render(consequent_3);
8606
+ });
8607
+ }
8608
+ var node_8 = sibling(node_7, 2);
8609
+ {
8610
+ var consequent_4 = ($$anchor6) => {
8611
+ var fragment_4 = comment();
8612
+ var node_9 = first_child(fragment_4);
8613
+ each(node_9, 17, () => get(ev).tags, index, ($$anchor7, tag) => {
8614
+ var span_4 = root_4$5();
8615
+ var text_6 = child(span_4, true);
8616
+ reset(span_4);
8617
+ template_effect(() => set_text(text_6, get(tag)));
8618
+ append($$anchor7, span_4);
8619
+ });
8620
+ append($$anchor6, fragment_4);
8621
+ };
8622
+ if_block(node_8, ($$render) => {
8623
+ if (get(ev).tags?.length) $$render(consequent_4);
8624
+ });
8625
+ }
8626
+ var span_5 = sibling(node_8, 2);
8627
+ var text_7 = child(span_5, true);
8628
+ reset(span_5);
8629
+ template_effect(
8630
+ ($0, $1) => {
8631
+ set_text(text_3, $0);
8632
+ set_text(text_4, get(ev).title);
8633
+ set_text(text_7, $1);
8634
+ },
8635
+ [() => fmt(get(ev).start), () => duration(get(ev))]
8636
+ );
8637
+ append($$anchor5, fragment_3);
8638
+ },
8639
+ $$slots: { default: true }
8640
+ });
8354
8641
  reset(div_8);
8355
8642
  template_effect(
8356
- ($0, $1, $2, $3) => {
8643
+ ($0, $1) => {
8357
8644
  classes_2 = set_class(div_8, 1, "ag-compact-row svelte-n8lbn1", null, classes_2, {
8358
8645
  "ag-compact-row--selected": selectedEventId() === get(ev).id,
8359
8646
  "ag-compact-row--cancelled": get(ev).status === "cancelled",
@@ -8361,106 +8648,74 @@
8361
8648
  });
8362
8649
  set_attribute(div_8, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
8363
8650
  styles_2 = set_style(div_8, "", styles_2, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8364
- set_text(text_3, $2);
8365
- set_text(text_4, get(ev).title);
8366
- set_text(text_7, $3);
8367
8651
  },
8368
- [
8369
- () => fmt(get(ev).start),
8370
- () => duration(get(ev)),
8371
- () => fmt(get(ev).start),
8372
- () => duration(get(ev))
8373
- ]
8652
+ [() => fmt(get(ev).start), () => duration(get(ev))]
8374
8653
  );
8375
8654
  delegated("click", div_8, () => handleClick(get(ev)));
8376
8655
  event("pointerenter", div_8, () => get(oneventhover)?.(get(ev)));
8377
8656
  delegated("keydown", div_8, (e) => handleKeydown(e, get(ev)));
8378
8657
  append($$anchor4, div_8);
8379
8658
  });
8380
- append($$anchor3, fragment);
8659
+ append($$anchor3, fragment_2);
8381
8660
  };
8382
8661
  if_block(node_2, ($$render) => {
8383
- if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_1);
8384
- else $$render(alternate, -1);
8662
+ if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_2);
8663
+ else $$render(alternate_1, -1);
8385
8664
  });
8386
8665
  }
8387
8666
  reset(div_6);
8388
8667
  append($$anchor2, div_6);
8389
8668
  };
8390
- var consequent_10 = ($$anchor2) => {
8391
- var div_9 = root_15$2();
8669
+ var consequent_15 = ($$anchor2) => {
8670
+ var div_9 = root_21$1();
8392
8671
  var div_10 = child(div_9);
8393
- var node_7 = child(div_10);
8672
+ var div_11 = child(div_10);
8673
+ var text_8 = child(div_11);
8674
+ var span_6 = sibling(text_8);
8675
+ var text_9 = child(span_6, true);
8676
+ reset(span_6);
8677
+ reset(div_11);
8678
+ var node_10 = sibling(div_11, 2);
8394
8679
  {
8395
- var consequent_5 = ($$anchor3) => {
8396
- var div_11 = root_8$3();
8397
- var div_12 = child(div_11);
8398
- var text_8 = child(div_12, true);
8399
- reset(div_12);
8400
- var node_8 = sibling(div_12, 2);
8401
- each(node_8, 17, () => get(dayCat).past, (ev) => ev.id, ($$anchor4, ev) => {
8402
- var div_13 = root_7$4();
8680
+ var consequent_7 = ($$anchor3) => {
8681
+ var fragment_5 = comment();
8682
+ var node_11 = first_child(fragment_5);
8683
+ each(node_11, 17, () => get(dayCat).current, (ev) => ev.id, ($$anchor4, ev) => {
8684
+ var div_12 = root_9$3();
8403
8685
  let classes_3;
8404
- var span_6 = sibling(child(div_13), 2);
8405
- var text_9 = child(span_6, true);
8406
- reset(span_6);
8407
- reset(div_13);
8408
- template_effect(
8409
- ($0) => {
8410
- classes_3 = set_class(div_13, 1, "ag-q-done-item svelte-n8lbn1", null, classes_3, {
8411
- "ag-q-done-item--selected": selectedEventId() === get(ev).id
8412
- });
8413
- set_attribute(div_13, "aria-label", `${get(ev).title ?? ""}, ${get(L).completed ?? ""}, ${$0 ?? ""}`);
8414
- set_text(text_9, get(ev).title);
8415
- },
8416
- [() => fmt(get(ev).start)]
8417
- );
8418
- delegated("click", div_13, () => handleClick(get(ev)));
8419
- delegated("keydown", div_13, (e) => handleKeydown(e, get(ev)));
8420
- append($$anchor4, div_13);
8421
- });
8422
- reset(div_11);
8423
- template_effect(() => set_text(text_8, get(L).done));
8424
- append($$anchor3, div_11);
8425
- };
8426
- if_block(node_7, ($$render) => {
8427
- if (get(dayCat).past.length > 0) $$render(consequent_5);
8428
- });
8429
- }
8430
- var div_14 = sibling(node_7, 2);
8431
- var text_10 = child(div_14);
8432
- var span_7 = sibling(text_10);
8433
- var text_11 = child(span_7, true);
8434
- reset(span_7);
8435
- reset(div_14);
8436
- var node_9 = sibling(div_14, 2);
8437
- {
8438
- var consequent_6 = ($$anchor3) => {
8439
- var fragment_2 = comment();
8440
- var node_10 = first_child(fragment_2);
8441
- each(node_10, 17, () => get(dayCat).current, (ev) => ev.id, ($$anchor4, ev) => {
8442
- var div_15 = root_9$3();
8443
- let classes_4;
8444
8686
  let styles_3;
8445
- var div_16 = sibling(child(div_15), 2);
8446
- var text_12 = child(div_16, true);
8447
- reset(div_16);
8448
- var div_17 = sibling(div_16, 2);
8449
- var text_13 = child(div_17);
8450
- reset(div_17);
8451
- var div_18 = sibling(div_17, 2);
8452
- var div_19 = child(div_18);
8453
- let styles_4;
8454
- reset(div_18);
8687
+ var div_13 = sibling(child(div_12), 2);
8688
+ var text_10 = child(div_13, true);
8689
+ reset(div_13);
8690
+ var node_12 = sibling(div_13, 2);
8691
+ {
8692
+ var consequent_6 = ($$anchor5) => {
8693
+ var div_14 = root_8$4();
8694
+ var text_11 = child(div_14, true);
8695
+ reset(div_14);
8696
+ template_effect(() => set_text(text_11, get(ev).subtitle));
8697
+ append($$anchor5, div_14);
8698
+ };
8699
+ if_block(node_12, ($$render) => {
8700
+ if (get(ev).subtitle) $$render(consequent_6);
8701
+ });
8702
+ }
8703
+ var div_15 = sibling(node_12, 2);
8704
+ var text_12 = child(div_15);
8455
8705
  reset(div_15);
8706
+ var div_16 = sibling(div_15, 2);
8707
+ var div_17 = child(div_16);
8708
+ let styles_4;
8709
+ reset(div_16);
8710
+ reset(div_12);
8456
8711
  template_effect(
8457
8712
  ($0, $1, $2) => {
8458
- classes_4 = set_class(div_15, 1, "ag-q-now svelte-n8lbn1", null, classes_4, { "ag-q-now--selected": selectedEventId() === get(ev).id });
8459
- set_attribute(div_15, "aria-label", `${get(ev).title ?? ""}, ${get(L).happeningNow ?? ""}, ${$0 ?? ""}`);
8460
- styles_3 = set_style(div_15, "", styles_3, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8461
- set_text(text_12, get(ev).title);
8462
- set_text(text_13, `${get(L).until ?? ""} ${$1 ?? ""}`);
8463
- styles_4 = set_style(div_19, "", styles_4, $2);
8713
+ classes_3 = set_class(div_12, 1, "ag-q-now svelte-n8lbn1", null, classes_3, { "ag-q-now--selected": selectedEventId() === get(ev).id });
8714
+ set_attribute(div_12, "aria-label", `${get(ev).title ?? ""}, ${get(L).happeningNow ?? ""}, ${$0 ?? ""}`);
8715
+ styles_3 = set_style(div_12, "", styles_3, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8716
+ set_text(text_10, get(ev).title);
8717
+ set_text(text_12, `${get(L).until ?? ""} ${$1 ?? ""}`);
8718
+ styles_4 = set_style(div_17, "", styles_4, $2);
8464
8719
  },
8465
8720
  [
8466
8721
  () => get(L).percentComplete(Math.round(prog(get(ev)) * 100)),
@@ -8468,178 +8723,313 @@
8468
8723
  () => ({ width: `${prog(get(ev)) * 100}%` })
8469
8724
  ]
8470
8725
  );
8471
- delegated("click", div_15, () => handleClick(get(ev)));
8472
- event("pointerenter", div_15, () => get(oneventhover)?.(get(ev)));
8473
- delegated("keydown", div_15, (e) => handleKeydown(e, get(ev)));
8474
- append($$anchor4, div_15);
8726
+ delegated("click", div_12, () => handleClick(get(ev)));
8727
+ event("pointerenter", div_12, () => get(oneventhover)?.(get(ev)));
8728
+ delegated("keydown", div_12, (e) => handleKeydown(e, get(ev)));
8729
+ append($$anchor4, div_12);
8475
8730
  });
8476
- append($$anchor3, fragment_2);
8731
+ append($$anchor3, fragment_5);
8477
8732
  };
8478
- var alternate_1 = ($$anchor3) => {
8479
- var div_20 = root_10$3();
8733
+ var alternate_2 = ($$anchor3) => {
8734
+ var div_18 = root_10$3();
8735
+ var div_19 = child(div_18);
8736
+ var text_13 = child(div_19, true);
8737
+ reset(div_19);
8738
+ reset(div_18);
8739
+ template_effect(() => set_text(text_13, get(L).free));
8740
+ append($$anchor3, div_18);
8741
+ };
8742
+ if_block(node_10, ($$render) => {
8743
+ if (get(dayCat).current.length > 0) $$render(consequent_7);
8744
+ else $$render(alternate_2, -1);
8745
+ });
8746
+ }
8747
+ var node_13 = sibling(node_10, 2);
8748
+ {
8749
+ var consequent_9 = ($$anchor3) => {
8750
+ var div_20 = root_13$2();
8480
8751
  var div_21 = child(div_20);
8481
8752
  var text_14 = child(div_21, true);
8482
8753
  reset(div_21);
8754
+ var node_14 = sibling(div_21, 2);
8755
+ each(node_14, 17, () => get(visibleDone), (ev) => ev.id, ($$anchor4, ev) => {
8756
+ var div_22 = root_11$3();
8757
+ let classes_4;
8758
+ var span_7 = sibling(child(div_22), 2);
8759
+ var text_15 = child(span_7, true);
8760
+ reset(span_7);
8761
+ reset(div_22);
8762
+ template_effect(
8763
+ ($0) => {
8764
+ classes_4 = set_class(div_22, 1, "ag-q-done-item svelte-n8lbn1", null, classes_4, {
8765
+ "ag-q-done-item--selected": selectedEventId() === get(ev).id
8766
+ });
8767
+ set_attribute(div_22, "aria-label", `${get(ev).title ?? ""}, ${get(L).completed ?? ""}, ${$0 ?? ""}`);
8768
+ set_text(text_15, get(ev).title);
8769
+ },
8770
+ [() => fmt(get(ev).start)]
8771
+ );
8772
+ delegated("click", div_22, () => handleClick(get(ev)));
8773
+ delegated("keydown", div_22, (e) => handleKeydown(e, get(ev)));
8774
+ append($$anchor4, div_22);
8775
+ });
8776
+ var node_15 = sibling(node_14, 2);
8777
+ {
8778
+ var consequent_8 = ($$anchor4) => {
8779
+ var button = root_12$3();
8780
+ var text_16 = child(button, true);
8781
+ reset(button);
8782
+ template_effect(($0) => set_text(text_16, $0), [
8783
+ () => get(showAllDone) ? get(L).showLess : get(L).nCompleted(get(hiddenDoneCount))
8784
+ ]);
8785
+ delegated("click", button, () => set(showAllDone, !get(showAllDone)));
8786
+ append($$anchor4, button);
8787
+ };
8788
+ if_block(node_15, ($$render) => {
8789
+ if (get(hiddenDoneCount) > 0) $$render(consequent_8);
8790
+ });
8791
+ }
8483
8792
  reset(div_20);
8484
- template_effect(() => set_text(text_14, get(L).free));
8793
+ template_effect(() => set_text(text_14, get(L).done));
8485
8794
  append($$anchor3, div_20);
8486
8795
  };
8487
- if_block(node_9, ($$render) => {
8488
- if (get(dayCat).current.length > 0) $$render(consequent_6);
8489
- else $$render(alternate_1, -1);
8796
+ if_block(node_13, ($$render) => {
8797
+ if (get(dayCat).past.length > 0) $$render(consequent_9);
8490
8798
  });
8491
8799
  }
8492
8800
  reset(div_10);
8493
- var div_22 = sibling(div_10, 2);
8494
- var div_23 = child(div_22);
8495
- var text_15 = child(div_23, true);
8496
- reset(div_23);
8497
- var node_11 = sibling(div_23, 2);
8801
+ var div_23 = sibling(div_10, 2);
8802
+ var div_24 = child(div_23);
8803
+ var text_17 = child(div_24, true);
8804
+ reset(div_24);
8805
+ var node_16 = sibling(div_24, 2);
8498
8806
  {
8499
- var consequent_7 = ($$anchor3) => {
8500
- var div_24 = root_2$4();
8501
- var text_16 = child(div_24, true);
8502
- reset(div_24);
8503
- template_effect(() => set_text(text_16, get(dayCat).past.length > 0 ? get(L).allDoneForToday : get(L).nothingScheduled));
8504
- append($$anchor3, div_24);
8807
+ var consequent_10 = ($$anchor3) => {
8808
+ var div_25 = root_14$2();
8809
+ var text_18 = child(div_25, true);
8810
+ reset(div_25);
8811
+ template_effect(() => set_text(text_18, get(dayCat).past.length > 0 ? get(L).allDoneForToday : get(L).nothingScheduled));
8812
+ append($$anchor3, div_25);
8505
8813
  };
8506
- var alternate_2 = ($$anchor3) => {
8507
- var fragment_3 = comment();
8508
- var node_12 = first_child(fragment_3);
8509
- each(node_12, 19, () => get(upcomingNext), (ev) => ev.id, ($$anchor4, ev, i) => {
8510
- var div_25 = root_14$2();
8511
- let classes_5;
8512
- let styles_5;
8513
- var div_26 = child(div_25);
8514
- var div_27 = child(div_26);
8515
- var span_8 = child(div_27);
8516
- var text_17 = child(span_8, true);
8517
- reset(span_8);
8518
- var span_9 = sibling(span_8, 2);
8519
- var text_18 = child(span_9, true);
8520
- reset(span_9);
8521
- reset(div_27);
8522
- var node_13 = sibling(div_27, 2);
8814
+ var alternate_4 = ($$anchor3) => {
8815
+ var fragment_6 = comment();
8816
+ var node_17 = first_child(fragment_6);
8817
+ each(node_17, 19, () => get(upcomingNext), (ev) => ev.id, ($$anchor4, ev, i) => {
8818
+ var fragment_7 = comment();
8819
+ var node_18 = first_child(fragment_7);
8523
8820
  {
8524
- var consequent_8 = ($$anchor5) => {
8525
- var span_10 = root_11$3();
8526
- var text_19 = child(span_10, true);
8527
- reset(span_10);
8528
- template_effect(() => set_text(text_19, get(ev).subtitle));
8529
- append($$anchor5, span_10);
8821
+ var consequent_12 = ($$anchor5) => {
8822
+ var div_26 = root_6$5();
8823
+ let classes_5;
8824
+ let styles_5;
8825
+ var node_19 = child(div_26);
8826
+ EventContent(node_19, {
8827
+ get event() {
8828
+ return get(ev);
8829
+ },
8830
+ children: ($$anchor6, $$slotProps) => {
8831
+ var fragment_8 = root_15$2();
8832
+ var span_8 = sibling(first_child(fragment_8), 2);
8833
+ var text_19 = child(span_8, true);
8834
+ reset(span_8);
8835
+ var span_9 = sibling(span_8, 2);
8836
+ var text_20 = child(span_9, true);
8837
+ reset(span_9);
8838
+ var node_20 = sibling(span_9, 2);
8839
+ {
8840
+ var consequent_11 = ($$anchor7) => {
8841
+ var span_10 = root_3$5();
8842
+ var text_21 = child(span_10, true);
8843
+ reset(span_10);
8844
+ template_effect(() => set_text(text_21, get(ev).subtitle));
8845
+ append($$anchor7, span_10);
8846
+ };
8847
+ if_block(node_20, ($$render) => {
8848
+ if (get(ev).subtitle) $$render(consequent_11);
8849
+ });
8850
+ }
8851
+ template_effect(
8852
+ ($0) => {
8853
+ set_text(text_19, $0);
8854
+ set_text(text_20, get(ev).title);
8855
+ },
8856
+ [() => fmt(get(ev).start)]
8857
+ );
8858
+ append($$anchor6, fragment_8);
8859
+ },
8860
+ $$slots: { default: true }
8861
+ });
8862
+ reset(div_26);
8863
+ template_effect(
8864
+ ($0, $1) => {
8865
+ classes_5 = set_class(div_26, 1, "ag-compact-row ag-compact-row--queue svelte-n8lbn1", null, classes_5, {
8866
+ "ag-compact-row--selected": selectedEventId() === get(ev).id
8867
+ });
8868
+ set_attribute(div_26, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
8869
+ styles_5 = set_style(div_26, "", styles_5, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8870
+ },
8871
+ [() => fmt(get(ev).start), () => duration(get(ev))]
8872
+ );
8873
+ delegated("click", div_26, () => handleClick(get(ev)));
8874
+ event("pointerenter", div_26, () => get(oneventhover)?.(get(ev)));
8875
+ delegated("keydown", div_26, (e) => handleKeydown(e, get(ev)));
8876
+ append($$anchor5, div_26);
8530
8877
  };
8531
- if_block(node_13, ($$render) => {
8532
- if (get(ev).subtitle) $$render(consequent_8);
8533
- });
8534
- }
8535
- var div_28 = sibling(node_13, 2);
8536
- var text_20 = child(div_28);
8537
- var span_11 = sibling(text_20);
8538
- var text_21 = child(span_11, true);
8539
- reset(span_11);
8540
- reset(div_28);
8541
- var node_14 = sibling(div_28, 2);
8542
- {
8543
- var consequent_9 = ($$anchor5) => {
8544
- var div_29 = root_13$2();
8545
- each(div_29, 21, () => get(ev).tags, index, ($$anchor6, tag) => {
8546
- var span_12 = root_12$3();
8547
- var text_22 = child(span_12, true);
8548
- reset(span_12);
8549
- template_effect(() => set_text(text_22, get(tag)));
8550
- append($$anchor6, span_12);
8878
+ var alternate_3 = ($$anchor5) => {
8879
+ var div_27 = root_20$1();
8880
+ let classes_6;
8881
+ let styles_6;
8882
+ var div_28 = child(div_27);
8883
+ var node_21 = child(div_28);
8884
+ EventContent(node_21, {
8885
+ get event() {
8886
+ return get(ev);
8887
+ },
8888
+ children: ($$anchor6, $$slotProps) => {
8889
+ var fragment_9 = root_19$2();
8890
+ var div_29 = first_child(fragment_9);
8891
+ var span_11 = child(div_29);
8892
+ var text_22 = child(span_11, true);
8893
+ reset(span_11);
8894
+ var span_12 = sibling(span_11, 2);
8895
+ var text_23 = child(span_12, true);
8896
+ reset(span_12);
8897
+ reset(div_29);
8898
+ var node_22 = sibling(div_29, 2);
8899
+ {
8900
+ var consequent_13 = ($$anchor7) => {
8901
+ var span_13 = root_16$2();
8902
+ var text_24 = child(span_13, true);
8903
+ reset(span_13);
8904
+ template_effect(() => set_text(text_24, get(ev).subtitle));
8905
+ append($$anchor7, span_13);
8906
+ };
8907
+ if_block(node_22, ($$render) => {
8908
+ if (get(ev).subtitle) $$render(consequent_13);
8909
+ });
8910
+ }
8911
+ var div_30 = sibling(node_22, 2);
8912
+ var text_25 = child(div_30);
8913
+ var span_14 = sibling(text_25);
8914
+ var text_26 = child(span_14, true);
8915
+ reset(span_14);
8916
+ reset(div_30);
8917
+ var node_23 = sibling(div_30, 2);
8918
+ {
8919
+ var consequent_14 = ($$anchor7) => {
8920
+ var div_31 = root_18$2();
8921
+ each(div_31, 21, () => get(ev).tags, index, ($$anchor8, tag) => {
8922
+ var span_15 = root_17$2();
8923
+ var text_27 = child(span_15, true);
8924
+ reset(span_15);
8925
+ template_effect(() => set_text(text_27, get(tag)));
8926
+ append($$anchor8, span_15);
8927
+ });
8928
+ reset(div_31);
8929
+ append($$anchor7, div_31);
8930
+ };
8931
+ if_block(node_23, ($$render) => {
8932
+ if (get(ev).tags?.length) $$render(consequent_14);
8933
+ });
8934
+ }
8935
+ template_effect(
8936
+ ($0, $1, $2, $3) => {
8937
+ set_text(text_22, get(ev).title);
8938
+ set_text(text_23, $0);
8939
+ set_text(text_25, `${$1 ?? ""} – ${$2 ?? ""} `);
8940
+ set_text(text_26, $3);
8941
+ },
8942
+ [
8943
+ () => eta(get(ev).start.getTime()),
8944
+ () => fmt(get(ev).start),
8945
+ () => fmt(get(ev).end),
8946
+ () => duration(get(ev))
8947
+ ]
8948
+ );
8949
+ append($$anchor6, fragment_9);
8950
+ },
8951
+ $$slots: { default: true }
8551
8952
  });
8552
- reset(div_29);
8553
- append($$anchor5, div_29);
8953
+ reset(div_28);
8954
+ reset(div_27);
8955
+ template_effect(
8956
+ ($0, $1) => {
8957
+ classes_6 = set_class(div_27, 1, "ag-card ag-card--q svelte-n8lbn1", null, classes_6, {
8958
+ "ag-card--hero": get(i) === 0,
8959
+ "ag-card--selected": selectedEventId() === get(ev).id
8960
+ });
8961
+ set_attribute(div_27, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
8962
+ styles_6 = set_style(div_27, "", styles_6, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8963
+ },
8964
+ [() => fmt(get(ev).start), () => duration(get(ev))]
8965
+ );
8966
+ delegated("click", div_27, () => handleClick(get(ev)));
8967
+ event("pointerenter", div_27, () => get(oneventhover)?.(get(ev)));
8968
+ delegated("keydown", div_27, (e) => handleKeydown(e, get(ev)));
8969
+ append($$anchor5, div_27);
8554
8970
  };
8555
- if_block(node_14, ($$render) => {
8556
- if (get(ev).tags?.length) $$render(consequent_9);
8971
+ if_block(node_18, ($$render) => {
8972
+ if (get(i) >= UPCOMING_CARDS) $$render(consequent_12);
8973
+ else $$render(alternate_3, -1);
8557
8974
  });
8558
8975
  }
8559
- reset(div_26);
8560
- reset(div_25);
8561
- template_effect(
8562
- ($0, $1, $2, $3, $4, $5) => {
8563
- classes_5 = set_class(div_25, 1, "ag-card ag-card--q svelte-n8lbn1", null, classes_5, {
8564
- "ag-card--hero": get(i) === 0,
8565
- "ag-card--selected": selectedEventId() === get(ev).id
8566
- });
8567
- set_attribute(div_25, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
8568
- styles_5 = set_style(div_25, "", styles_5, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8569
- set_text(text_17, get(ev).title);
8570
- set_text(text_18, $2);
8571
- set_text(text_20, `${$3 ?? ""} – ${$4 ?? ""} `);
8572
- set_text(text_21, $5);
8573
- },
8574
- [
8575
- () => fmt(get(ev).start),
8576
- () => duration(get(ev)),
8577
- () => eta(get(ev).start.getTime()),
8578
- () => fmt(get(ev).start),
8579
- () => fmt(get(ev).end),
8580
- () => duration(get(ev))
8581
- ]
8582
- );
8583
- delegated("click", div_25, () => handleClick(get(ev)));
8584
- event("pointerenter", div_25, () => get(oneventhover)?.(get(ev)));
8585
- delegated("keydown", div_25, (e) => handleKeydown(e, get(ev)));
8586
- append($$anchor4, div_25);
8976
+ append($$anchor4, fragment_7);
8587
8977
  });
8588
- append($$anchor3, fragment_3);
8978
+ append($$anchor3, fragment_6);
8589
8979
  };
8590
- if_block(node_11, ($$render) => {
8591
- if (get(upcomingNext).length === 0) $$render(consequent_7);
8592
- else $$render(alternate_2, -1);
8980
+ if_block(node_16, ($$render) => {
8981
+ if (get(upcomingNext).length === 0) $$render(consequent_10);
8982
+ else $$render(alternate_4, -1);
8593
8983
  });
8594
8984
  }
8595
- reset(div_22);
8985
+ reset(div_23);
8596
8986
  reset(div_9);
8597
8987
  template_effect(() => {
8598
- set_text(text_10, `${get(L).now ?? ""} `);
8599
- set_text(text_11, clock.hm);
8600
- set_text(text_15, get(L).upNext);
8988
+ set_text(text_8, `${get(L).now ?? ""} `);
8989
+ set_text(text_9, clock.hm);
8990
+ set_text(text_17, get(L).upNext);
8601
8991
  });
8602
8992
  append($$anchor2, div_9);
8603
8993
  };
8604
- var consequent_12 = ($$anchor2) => {
8605
- var div_30 = root_17$1();
8606
- var node_15 = child(div_30);
8994
+ var consequent_17 = ($$anchor2) => {
8995
+ var div_32 = root_23$1();
8996
+ var node_24 = child(div_32);
8607
8997
  {
8608
- var consequent_11 = ($$anchor3) => {
8609
- var div_31 = root_2$4();
8610
- var text_23 = child(div_31, true);
8611
- reset(div_31);
8612
- template_effect(() => set_text(text_23, get(L).nothingWasScheduled));
8613
- append($$anchor3, div_31);
8998
+ var consequent_16 = ($$anchor3) => {
8999
+ var div_33 = root_14$2();
9000
+ var text_28 = child(div_33, true);
9001
+ reset(div_33);
9002
+ template_effect(() => set_text(text_28, get(L).nothingWasScheduled));
9003
+ append($$anchor3, div_33);
8614
9004
  };
8615
- var alternate_3 = ($$anchor3) => {
8616
- var fragment_4 = comment();
8617
- var node_16 = first_child(fragment_4);
8618
- each(node_16, 17, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev) => {
8619
- var div_32 = root_16$2();
8620
- let classes_6;
8621
- let styles_6;
8622
- var span_13 = sibling(child(div_32), 2);
8623
- var text_24 = child(span_13, true);
8624
- reset(span_13);
8625
- var span_14 = sibling(span_13, 2);
9005
+ var alternate_5 = ($$anchor3) => {
9006
+ var fragment_10 = comment();
9007
+ var node_25 = first_child(fragment_10);
9008
+ each(node_25, 17, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev) => {
9009
+ var div_34 = root_22$1();
9010
+ let classes_7;
8626
9011
  let styles_7;
8627
- var span_15 = sibling(span_14, 2);
8628
- var text_25 = child(span_15, true);
8629
- reset(span_15);
8630
- var span_16 = sibling(span_15, 2);
8631
- var text_26 = child(span_16, true);
9012
+ var span_16 = sibling(child(div_34), 2);
9013
+ var text_29 = child(span_16, true);
8632
9014
  reset(span_16);
8633
- reset(div_32);
9015
+ var span_17 = sibling(span_16, 2);
9016
+ let styles_8;
9017
+ var span_18 = sibling(span_17, 2);
9018
+ var text_30 = child(span_18, true);
9019
+ reset(span_18);
9020
+ var span_19 = sibling(span_18, 2);
9021
+ var text_31 = child(span_19, true);
9022
+ reset(span_19);
9023
+ reset(div_34);
8634
9024
  template_effect(
8635
9025
  ($0, $1, $2, $3) => {
8636
- classes_6 = set_class(div_32, 1, "ag-log-row svelte-n8lbn1", null, classes_6, { "ag-log-row--selected": selectedEventId() === get(ev).id });
8637
- set_attribute(div_32, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""} to ${$1 ?? ""}`);
8638
- styles_6 = set_style(div_32, "", styles_6, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8639
- set_text(text_24, $2);
8640
- styles_7 = set_style(span_14, "", styles_7, { background: get(ev).color || "var(--dt-accent)" });
8641
- set_text(text_25, get(ev).title);
8642
- set_text(text_26, $3);
9026
+ classes_7 = set_class(div_34, 1, "ag-log-row svelte-n8lbn1", null, classes_7, { "ag-log-row--selected": selectedEventId() === get(ev).id });
9027
+ set_attribute(div_34, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""} to ${$1 ?? ""}`);
9028
+ styles_7 = set_style(div_34, "", styles_7, { "--ev-color": get(ev).color || "var(--dt-accent)" });
9029
+ set_text(text_29, $2);
9030
+ styles_8 = set_style(span_17, "", styles_8, { background: get(ev).color || "var(--dt-accent)" });
9031
+ set_text(text_30, get(ev).title);
9032
+ set_text(text_31, $3);
8643
9033
  },
8644
9034
  [
8645
9035
  () => fmt(get(ev).start),
@@ -8648,103 +9038,143 @@
8648
9038
  () => duration(get(ev))
8649
9039
  ]
8650
9040
  );
8651
- delegated("click", div_32, () => handleClick(get(ev)));
8652
- event("pointerenter", div_32, () => get(oneventhover)?.(get(ev)));
8653
- delegated("keydown", div_32, (e) => handleKeydown(e, get(ev)));
8654
- append($$anchor4, div_32);
9041
+ delegated("click", div_34, () => handleClick(get(ev)));
9042
+ event("pointerenter", div_34, () => get(oneventhover)?.(get(ev)));
9043
+ delegated("keydown", div_34, (e) => handleKeydown(e, get(ev)));
9044
+ append($$anchor4, div_34);
8655
9045
  });
8656
- append($$anchor3, fragment_4);
9046
+ append($$anchor3, fragment_10);
8657
9047
  };
8658
- if_block(node_15, ($$render) => {
8659
- if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_11);
8660
- else $$render(alternate_3, -1);
9048
+ if_block(node_24, ($$render) => {
9049
+ if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_16);
9050
+ else $$render(alternate_5, -1);
8661
9051
  });
8662
9052
  }
8663
- reset(div_30);
8664
- append($$anchor2, div_30);
9053
+ reset(div_32);
9054
+ append($$anchor2, div_32);
8665
9055
  };
8666
- var alternate_5 = ($$anchor2) => {
8667
- var div_33 = root_20$1();
8668
- var node_17 = child(div_33);
9056
+ var alternate_8 = ($$anchor2) => {
9057
+ var div_35 = root_26$1();
9058
+ var node_26 = child(div_35);
8669
9059
  {
8670
- var consequent_13 = ($$anchor3) => {
8671
- var div_34 = root_2$4();
8672
- var text_27 = child(div_34, true);
8673
- reset(div_34);
8674
- template_effect(() => set_text(text_27, get(L).nothingScheduledYet));
8675
- append($$anchor3, div_34);
9060
+ var consequent_19 = ($$anchor3) => {
9061
+ var div_36 = root_2$5();
9062
+ var node_27 = child(div_36);
9063
+ {
9064
+ var consequent_18 = ($$anchor4) => {
9065
+ var fragment_11 = comment();
9066
+ var node_28 = first_child(fragment_11);
9067
+ snippet(node_28, () => get(emptySnippet));
9068
+ append($$anchor4, fragment_11);
9069
+ };
9070
+ var alternate_6 = ($$anchor4) => {
9071
+ var text_32 = text();
9072
+ template_effect(() => set_text(text_32, get(L).nothingScheduledYet));
9073
+ append($$anchor4, text_32);
9074
+ };
9075
+ if_block(node_27, ($$render) => {
9076
+ if (get(emptySnippet)) $$render(consequent_18);
9077
+ else $$render(alternate_6, -1);
9078
+ });
9079
+ }
9080
+ reset(div_36);
9081
+ append($$anchor3, div_36);
8676
9082
  };
8677
- var alternate_4 = ($$anchor3) => {
8678
- var fragment_5 = comment();
8679
- var node_18 = first_child(fragment_5);
8680
- each(node_18, 19, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev, i) => {
8681
- var div_35 = root_19$1();
8682
- let classes_7;
8683
- let styles_8;
8684
- var div_36 = child(div_35);
8685
- var div_37 = child(div_36);
8686
- var span_17 = child(div_37);
8687
- var text_28 = child(span_17, true);
8688
- reset(span_17);
8689
- var span_18 = sibling(span_17, 2);
8690
- var text_29 = child(span_18, true);
8691
- reset(span_18);
8692
- reset(div_37);
8693
- var node_19 = sibling(div_37, 2);
8694
- {
8695
- var consequent_14 = ($$anchor5) => {
8696
- var span_19 = root_11$3();
8697
- var text_30 = child(span_19, true);
8698
- reset(span_19);
8699
- template_effect(() => set_text(text_30, get(ev).subtitle));
8700
- append($$anchor5, span_19);
8701
- };
8702
- if_block(node_19, ($$render) => {
8703
- if (get(ev).subtitle) $$render(consequent_14);
8704
- });
8705
- }
8706
- var node_20 = sibling(node_19, 2);
8707
- {
8708
- var consequent_15 = ($$anchor5) => {
8709
- var span_20 = root_18$1();
8710
- var text_31 = child(span_20, true);
9083
+ var alternate_7 = ($$anchor3) => {
9084
+ var fragment_13 = comment();
9085
+ var node_29 = first_child(fragment_13);
9086
+ each(node_29, 19, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev, i) => {
9087
+ var div_37 = root_20$1();
9088
+ let classes_8;
9089
+ let styles_9;
9090
+ var div_38 = child(div_37);
9091
+ var node_30 = child(div_38);
9092
+ EventContent(node_30, {
9093
+ get event() {
9094
+ return get(ev);
9095
+ },
9096
+ children: ($$anchor5, $$slotProps) => {
9097
+ var fragment_14 = root_25$1();
9098
+ var div_39 = first_child(fragment_14);
9099
+ var span_20 = child(div_39);
9100
+ var text_33 = child(span_20, true);
8711
9101
  reset(span_20);
8712
- template_effect(() => set_text(text_31, get(ev).location));
8713
- append($$anchor5, span_20);
8714
- };
8715
- if_block(node_20, ($$render) => {
8716
- if (get(ev).location) $$render(consequent_15);
8717
- });
8718
- }
8719
- var div_38 = sibling(node_20, 2);
8720
- var text_32 = child(div_38);
8721
- var span_21 = sibling(text_32);
8722
- var text_33 = child(span_21, true);
8723
- reset(span_21);
8724
- reset(div_38);
8725
- var node_21 = sibling(div_38, 2);
8726
- {
8727
- var consequent_16 = ($$anchor5) => {
8728
- var div_39 = root_13$2();
8729
- each(div_39, 21, () => get(ev).tags, index, ($$anchor6, tag) => {
8730
- var span_22 = root_12$3();
8731
- var text_34 = child(span_22, true);
8732
- reset(span_22);
8733
- template_effect(() => set_text(text_34, get(tag)));
8734
- append($$anchor6, span_22);
8735
- });
9102
+ var span_21 = sibling(span_20, 2);
9103
+ var text_34 = child(span_21, true);
9104
+ reset(span_21);
8736
9105
  reset(div_39);
8737
- append($$anchor5, div_39);
8738
- };
8739
- if_block(node_21, ($$render) => {
8740
- if (get(ev).tags?.length) $$render(consequent_16);
8741
- });
8742
- }
8743
- reset(div_36);
8744
- reset(div_35);
9106
+ var node_31 = sibling(div_39, 2);
9107
+ {
9108
+ var consequent_20 = ($$anchor6) => {
9109
+ var span_22 = root_16$2();
9110
+ var text_35 = child(span_22, true);
9111
+ reset(span_22);
9112
+ template_effect(() => set_text(text_35, get(ev).subtitle));
9113
+ append($$anchor6, span_22);
9114
+ };
9115
+ if_block(node_31, ($$render) => {
9116
+ if (get(ev).subtitle) $$render(consequent_20);
9117
+ });
9118
+ }
9119
+ var node_32 = sibling(node_31, 2);
9120
+ {
9121
+ var consequent_21 = ($$anchor6) => {
9122
+ var span_23 = root_24$1();
9123
+ var text_36 = child(span_23, true);
9124
+ reset(span_23);
9125
+ template_effect(() => set_text(text_36, get(ev).location));
9126
+ append($$anchor6, span_23);
9127
+ };
9128
+ if_block(node_32, ($$render) => {
9129
+ if (get(ev).location) $$render(consequent_21);
9130
+ });
9131
+ }
9132
+ var div_40 = sibling(node_32, 2);
9133
+ var text_37 = child(div_40);
9134
+ var span_24 = sibling(text_37);
9135
+ var text_38 = child(span_24, true);
9136
+ reset(span_24);
9137
+ reset(div_40);
9138
+ var node_33 = sibling(div_40, 2);
9139
+ {
9140
+ var consequent_22 = ($$anchor6) => {
9141
+ var div_41 = root_18$2();
9142
+ each(div_41, 21, () => get(ev).tags, index, ($$anchor7, tag) => {
9143
+ var span_25 = root_17$2();
9144
+ var text_39 = child(span_25, true);
9145
+ reset(span_25);
9146
+ template_effect(() => set_text(text_39, get(tag)));
9147
+ append($$anchor7, span_25);
9148
+ });
9149
+ reset(div_41);
9150
+ append($$anchor6, div_41);
9151
+ };
9152
+ if_block(node_33, ($$render) => {
9153
+ if (get(ev).tags?.length) $$render(consequent_22);
9154
+ });
9155
+ }
9156
+ template_effect(
9157
+ ($0, $1, $2) => {
9158
+ set_text(text_33, get(i) + 1);
9159
+ set_text(text_34, get(ev).title);
9160
+ set_text(text_37, `${$0 ?? ""} – ${$1 ?? ""} `);
9161
+ set_text(text_38, $2);
9162
+ },
9163
+ [
9164
+ () => fmt(get(ev).start),
9165
+ () => fmt(get(ev).end),
9166
+ () => duration(get(ev))
9167
+ ]
9168
+ );
9169
+ append($$anchor5, fragment_14);
9170
+ },
9171
+ $$slots: { default: true }
9172
+ });
9173
+ reset(div_38);
9174
+ reset(div_37);
8745
9175
  template_effect(
8746
- ($0, $1, $2, $3, $4, $5) => {
8747
- classes_7 = set_class(div_35, 1, "ag-card ag-card--plan svelte-n8lbn1", null, classes_7, {
9176
+ ($0, $1, $2) => {
9177
+ classes_8 = set_class(div_37, 1, "ag-card ag-card--plan svelte-n8lbn1", null, classes_8, {
8748
9178
  "ag-card--first": get(i) === 0,
8749
9179
  "ag-card--selected": selectedEventId() === get(ev).id,
8750
9180
  "ag-card--cancelled": get(ev).status === "cancelled",
@@ -8752,42 +9182,35 @@
8752
9182
  "ag-card--full": get(ev).status === "full",
8753
9183
  "ag-card--limited": get(ev).status === "limited"
8754
9184
  });
8755
- set_attribute(div_35, "aria-label", `${get(ev).title ?? ""}${get(ev).status === "cancelled" ? " (cancelled)" : ""}${get(ev).status === "tentative" ? " (tentative)" : ""}${get(ev).status === "full" ? " (full)" : ""}${get(ev).status === "limited" ? " (limited)" : ""}, ${$0 ?? ""} to ${$1 ?? ""}, ${$2 ?? ""}`);
8756
- styles_8 = set_style(div_35, "", styles_8, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8757
- set_text(text_28, get(i) + 1);
8758
- set_text(text_29, get(ev).title);
8759
- set_text(text_32, `${$3 ?? ""} – ${$4 ?? ""} `);
8760
- set_text(text_33, $5);
9185
+ set_attribute(div_37, "aria-label", `${get(ev).title ?? ""}${get(ev).status === "cancelled" ? " (cancelled)" : ""}${get(ev).status === "tentative" ? " (tentative)" : ""}${get(ev).status === "full" ? " (full)" : ""}${get(ev).status === "limited" ? " (limited)" : ""}, ${$0 ?? ""} to ${$1 ?? ""}, ${$2 ?? ""}`);
9186
+ styles_9 = set_style(div_37, "", styles_9, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8761
9187
  },
8762
9188
  [
8763
- () => fmt(get(ev).start),
8764
- () => fmt(get(ev).end),
8765
- () => duration(get(ev)),
8766
9189
  () => fmt(get(ev).start),
8767
9190
  () => fmt(get(ev).end),
8768
9191
  () => duration(get(ev))
8769
9192
  ]
8770
9193
  );
8771
- delegated("click", div_35, () => handleClick(get(ev)));
8772
- event("pointerenter", div_35, () => get(oneventhover)?.(get(ev)));
8773
- delegated("keydown", div_35, (e) => handleKeydown(e, get(ev)));
8774
- append($$anchor4, div_35);
9194
+ delegated("click", div_37, () => handleClick(get(ev)));
9195
+ event("pointerenter", div_37, () => get(oneventhover)?.(get(ev)));
9196
+ delegated("keydown", div_37, (e) => handleKeydown(e, get(ev)));
9197
+ append($$anchor4, div_37);
8775
9198
  });
8776
- append($$anchor3, fragment_5);
9199
+ append($$anchor3, fragment_13);
8777
9200
  };
8778
- if_block(node_17, ($$render) => {
8779
- if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_13);
8780
- else $$render(alternate_4, -1);
9201
+ if_block(node_26, ($$render) => {
9202
+ if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_19);
9203
+ else $$render(alternate_7, -1);
8781
9204
  });
8782
9205
  }
8783
- reset(div_33);
8784
- append($$anchor2, div_33);
9206
+ reset(div_35);
9207
+ append($$anchor2, div_35);
8785
9208
  };
8786
9209
  if_block(node_1, ($$render) => {
8787
- if (get(compact)) $$render(consequent_4);
8788
- else if (get(isToday)) $$render(consequent_10, 1);
8789
- else if (get(isPastDay)) $$render(consequent_12, 2);
8790
- else $$render(alternate_5, -1);
9210
+ if (get(compact)) $$render(consequent_5);
9211
+ else if (get(isToday)) $$render(consequent_15, 1);
9212
+ else if (get(isPastDay)) $$render(consequent_17, 2);
9213
+ else $$render(alternate_8, -1);
8791
9214
  });
8792
9215
  }
8793
9216
  reset(div_1);
@@ -8812,143 +9235,163 @@
8812
9235
  pop();
8813
9236
  }
8814
9237
  delegate(["pointerdown", "pointerup", "click", "keydown"]);
8815
- var root$2 = /* @__PURE__ */ from_html(`<span class="ag-card-sub svelte-uhwfyj"> </span>`);
8816
- var root_1$3 = /* @__PURE__ */ from_html(`<span class="ag-card-loc svelte-uhwfyj"> </span>`);
8817
- var root_2$3 = /* @__PURE__ */ from_html(`<span class="ag-card-eta svelte-uhwfyj"> </span>`);
8818
- var root_3$3 = /* @__PURE__ */ from_html(`<span class="ag-card-tag svelte-uhwfyj"> </span>`);
8819
- var root_4$3 = /* @__PURE__ */ from_html(`<div class="ag-card-tags svelte-uhwfyj"></div>`);
8820
- var root_5$3 = /* @__PURE__ */ from_html(`<div class="ag-card-progress svelte-uhwfyj"><div class="ag-card-progress-fill svelte-uhwfyj"></div></div>`);
8821
- var root_6$3 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="ag-card-body svelte-uhwfyj"><span class="ag-card-title svelte-uhwfyj"> </span> <!> <!> <span class="ag-card-meta svelte-uhwfyj"><!> <span class="ag-card-dur svelte-uhwfyj"> </span> <!></span> <!> <!></div></div>`);
8822
- var root_7$3 = /* @__PURE__ */ from_html(`<span class="ag-wday-date svelte-uhwfyj"> </span>`);
8823
- var root_8$2 = /* @__PURE__ */ from_html(`<div class="ag-wday-custom-header svelte-uhwfyj"><!></div>`);
8824
- var root_9$2 = /* @__PURE__ */ from_html(`<div role="listitem"><div class="ag-wday-head svelte-uhwfyj"><div class="ag-wday-head-left svelte-uhwfyj"><span class="ag-wday-name svelte-uhwfyj"> </span> <!></div> <!></div></div>`);
8825
- var root_10$2 = /* @__PURE__ */ from_html(`<span class="ag-wday-badge svelte-uhwfyj"> </span>`);
8826
- var root_11$2 = /* @__PURE__ */ from_html(`<span class="ag-wday-badge ag-wday-badge--muted svelte-uhwfyj"> </span>`);
8827
- var root_12$2 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-allday-dot svelte-uhwfyj"></span> <span class="ag-allday-title svelte-uhwfyj"> </span></div>`);
8828
- var root_13$1 = /* @__PURE__ */ from_html(`<div class="ag-allday svelte-uhwfyj"></div>`);
8829
- var root_14$1 = /* @__PURE__ */ from_html(`<div class="ag-wday-empty svelte-uhwfyj"> </div>`);
8830
- var root_15$1 = /* @__PURE__ */ from_html(`<span class="ag-compact-sub svelte-uhwfyj"> </span>`);
8831
- var root_16$1 = /* @__PURE__ */ from_html(`<span class="ag-compact-tag svelte-uhwfyj"> </span>`);
8832
- var root_17 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-compact-dot svelte-uhwfyj"></span> <span class="ag-compact-time svelte-uhwfyj"> </span> <span class="ag-compact-title svelte-uhwfyj"> </span> <!> <!> <span class="ag-compact-dur svelte-uhwfyj"> </span></div>`);
8833
- var root_18 = /* @__PURE__ */ from_html(`<div class="ag-wday-compact svelte-uhwfyj"></div>`);
8834
- var root_19 = /* @__PURE__ */ from_html(`<div class="ag-wslot svelte-uhwfyj"><div></div></div>`);
8835
- var root_20 = /* @__PURE__ */ from_html(`<div class="ag-wday-expanded svelte-uhwfyj"></div>`);
8836
- var root_21 = /* @__PURE__ */ from_html(`<div class="ag-wslot svelte-uhwfyj"><div class="ag-wslot-header svelte-uhwfyj"><span class="ag-wslot-now svelte-uhwfyj"> </span></div> <!></div>`);
8837
- var root_22 = /* @__PURE__ */ from_html(`<div class="ag-wday-past-line svelte-uhwfyj"> </div>`);
8838
- var root_23 = /* @__PURE__ */ from_html(`<div class="ag-wday-expanded svelte-uhwfyj"><!> <!> <!></div>`);
8839
- var root_24 = /* @__PURE__ */ from_html(`<span class="ag-compact-loc svelte-uhwfyj"> </span>`);
8840
- var root_25 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-compact-dot svelte-uhwfyj"></span> <span class="ag-compact-time svelte-uhwfyj"> </span> <span class="ag-compact-title svelte-uhwfyj"> </span> <!> <!> <!> <span class="ag-compact-dur svelte-uhwfyj"> </span></div>`);
8841
- var root_26 = /* @__PURE__ */ from_html(`<div class="ag-compact-more svelte-uhwfyj"> </div>`);
8842
- var root_27 = /* @__PURE__ */ from_html(`<div class="ag-wday-compact svelte-uhwfyj"><!> <!></div>`);
8843
- var root_28 = /* @__PURE__ */ from_html(`<div role="listitem"><div class="ag-wday-head svelte-uhwfyj"><div class="ag-wday-head-left svelte-uhwfyj"><!> <span class="ag-wday-name svelte-uhwfyj"> </span> <!></div> <!></div> <!> <!></div>`);
8844
- var root_29 = /* @__PURE__ */ from_html(`<div><div class="ag-body svelte-uhwfyj" role="list"></div></div>`);
9238
+ var root$3 = /* @__PURE__ */ from_html(`<span class="ag-card-sub svelte-uhwfyj"> </span>`);
9239
+ var root_1$4 = /* @__PURE__ */ from_html(`<span class="ag-card-loc svelte-uhwfyj"> </span>`);
9240
+ var root_2$4 = /* @__PURE__ */ from_html(`<span class="ag-card-eta svelte-uhwfyj"> </span>`);
9241
+ var root_3$4 = /* @__PURE__ */ from_html(`<span class="ag-card-tag svelte-uhwfyj"> </span>`);
9242
+ var root_4$4 = /* @__PURE__ */ from_html(`<div class="ag-card-tags svelte-uhwfyj"></div>`);
9243
+ var root_5$4 = /* @__PURE__ */ from_html(`<span class="ag-card-title svelte-uhwfyj"> </span> <!> <!> <span class="ag-card-meta svelte-uhwfyj"><!> <span class="ag-card-dur svelte-uhwfyj"> </span> <!></span> <!>`, 1);
9244
+ var root_6$4 = /* @__PURE__ */ from_html(`<div class="ag-card-progress svelte-uhwfyj"><div class="ag-card-progress-fill svelte-uhwfyj"></div></div>`);
9245
+ var root_7$3 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><div class="ag-card-body svelte-uhwfyj"><!> <!></div></div>`);
9246
+ var root_8$3 = /* @__PURE__ */ from_html(`<span class="ag-wday-date svelte-uhwfyj"> </span>`);
9247
+ var root_9$2 = /* @__PURE__ */ from_html(`<div class="ag-wday-custom-header svelte-uhwfyj"><!></div>`);
9248
+ var root_10$2 = /* @__PURE__ */ from_html(`<div role="listitem"><div class="ag-wday-head svelte-uhwfyj"><div class="ag-wday-head-left svelte-uhwfyj"><span class="ag-wday-name svelte-uhwfyj"> </span> <!></div> <!></div></div>`);
9249
+ var root_11$2 = /* @__PURE__ */ from_html(`<span class="ag-wday-badge svelte-uhwfyj"> </span>`);
9250
+ var root_12$2 = /* @__PURE__ */ from_html(`<span class="ag-wday-badge ag-wday-badge--muted svelte-uhwfyj"> </span>`);
9251
+ var root_13$1 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><span class="ag-allday-dot svelte-uhwfyj"></span> <span class="ag-allday-title svelte-uhwfyj"> </span></div>`);
9252
+ var root_14$1 = /* @__PURE__ */ from_html(`<div class="ag-allday svelte-uhwfyj"></div>`);
9253
+ var root_15$1 = /* @__PURE__ */ from_html(`<div class="ag-wday-empty svelte-uhwfyj"> </div>`);
9254
+ var root_16$1 = /* @__PURE__ */ from_html(`<span class="ag-compact-sub svelte-uhwfyj"> </span>`);
9255
+ var root_17$1 = /* @__PURE__ */ from_html(`<span class="ag-compact-tag svelte-uhwfyj"> </span>`);
9256
+ var root_18$1 = /* @__PURE__ */ from_html(`<span class="ag-compact-dot svelte-uhwfyj"></span> <span class="ag-compact-time svelte-uhwfyj"> </span> <span class="ag-compact-title svelte-uhwfyj"> </span> <!> <!> <span class="ag-compact-dur svelte-uhwfyj"> </span>`, 1);
9257
+ var root_19$1 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><!></div>`);
9258
+ var root_20 = /* @__PURE__ */ from_html(`<div class="ag-wday-compact svelte-uhwfyj"></div>`);
9259
+ var root_21 = /* @__PURE__ */ from_html(`<div class="ag-wslot svelte-uhwfyj"><div></div></div>`);
9260
+ var root_22 = /* @__PURE__ */ from_html(`<div class="ag-wday-expanded svelte-uhwfyj"></div>`);
9261
+ var root_23 = /* @__PURE__ */ from_html(`<div class="ag-wslot svelte-uhwfyj"><div class="ag-wslot-header svelte-uhwfyj"><span class="ag-wslot-now svelte-uhwfyj"> </span></div> <!></div>`);
9262
+ var root_24 = /* @__PURE__ */ from_html(`<div class="ag-wday-past-line svelte-uhwfyj"> </div>`);
9263
+ var root_25 = /* @__PURE__ */ from_html(`<div class="ag-wday-expanded svelte-uhwfyj"><!> <!> <!></div>`);
9264
+ var root_26 = /* @__PURE__ */ from_html(`<span class="ag-compact-loc svelte-uhwfyj"> </span>`);
9265
+ var root_27 = /* @__PURE__ */ from_html(`<span class="ag-compact-dot svelte-uhwfyj"></span> <span class="ag-compact-time svelte-uhwfyj"> </span> <span class="ag-compact-title svelte-uhwfyj"> </span> <!> <!> <!> <span class="ag-compact-dur svelte-uhwfyj"> </span>`, 1);
9266
+ var root_28 = /* @__PURE__ */ from_html(`<div class="ag-compact-more svelte-uhwfyj"> </div>`);
9267
+ var root_29 = /* @__PURE__ */ from_html(`<div class="ag-wday-compact svelte-uhwfyj"><!> <!></div>`);
9268
+ var root_30 = /* @__PURE__ */ from_html(`<div role="listitem"><div class="ag-wday-head svelte-uhwfyj"><div class="ag-wday-head-left svelte-uhwfyj"><!> <span class="ag-wday-name svelte-uhwfyj"> </span> <!></div> <!></div> <!> <!></div>`);
9269
+ var root_31 = /* @__PURE__ */ from_html(`<div><div class="ag-body svelte-uhwfyj" role="list"></div></div>`);
8845
9270
  function AgendaWeek($$anchor, $$props) {
8846
9271
  push($$props, true);
8847
9272
  const eventCard = ($$anchor2, ev = noop, isNow = noop, eta2 = noop) => {
8848
- var div = root_6$3();
9273
+ var div = root_7$3();
8849
9274
  let classes;
8850
9275
  let styles;
8851
9276
  var div_1 = child(div);
8852
- var span = child(div_1);
8853
- var text$1 = child(span, true);
8854
- reset(span);
8855
- var node = sibling(span, 2);
8856
- {
8857
- var consequent = ($$anchor3) => {
8858
- var span_1 = root$2();
8859
- var text_1 = child(span_1, true);
8860
- reset(span_1);
8861
- template_effect(() => set_text(text_1, ev().subtitle));
8862
- append($$anchor3, span_1);
8863
- };
8864
- if_block(node, ($$render) => {
8865
- if (ev().subtitle) $$render(consequent);
8866
- });
8867
- }
8868
- var node_1 = sibling(node, 2);
8869
- {
8870
- var consequent_1 = ($$anchor3) => {
8871
- var span_2 = root_1$3();
8872
- var text_2 = child(span_2, true);
8873
- reset(span_2);
8874
- template_effect(() => set_text(text_2, ev().location));
8875
- append($$anchor3, span_2);
8876
- };
8877
- if_block(node_1, ($$render) => {
8878
- if (ev().location) $$render(consequent_1);
8879
- });
8880
- }
8881
- var span_3 = sibling(node_1, 2);
8882
- var node_2 = child(span_3);
8883
- {
8884
- var consequent_2 = ($$anchor3) => {
8885
- var text_3 = text();
8886
- template_effect(($0) => set_text(text_3, `${get(L).until ?? ""} ${$0 ?? ""}`), [() => fmt(ev().end)]);
8887
- append($$anchor3, text_3);
8888
- };
8889
- var alternate = ($$anchor3) => {
8890
- var text_4 = text();
8891
- template_effect(($0, $1) => set_text(text_4, `${$0 ?? ""} – ${$1 ?? ""}`), [() => fmt(ev().start), () => fmt(ev().end)]);
8892
- append($$anchor3, text_4);
8893
- };
8894
- if_block(node_2, ($$render) => {
8895
- if (isNow()) $$render(consequent_2);
8896
- else $$render(alternate, -1);
8897
- });
8898
- }
8899
- var span_4 = sibling(node_2, 2);
8900
- var text_5 = child(span_4, true);
8901
- reset(span_4);
8902
- var node_3 = sibling(span_4, 2);
8903
- {
8904
- var consequent_3 = ($$anchor3) => {
8905
- var span_5 = root_2$3();
8906
- var text_6 = child(span_5, true);
8907
- reset(span_5);
8908
- template_effect(() => set_text(text_6, eta2()));
8909
- append($$anchor3, span_5);
8910
- };
8911
- if_block(node_3, ($$render) => {
8912
- if (eta2()) $$render(consequent_3);
8913
- });
8914
- }
8915
- reset(span_3);
8916
- var node_4 = sibling(span_3, 2);
8917
- {
8918
- var consequent_4 = ($$anchor3) => {
8919
- var div_2 = root_4$3();
8920
- each(div_2, 21, () => ev().tags, index, ($$anchor4, tag) => {
8921
- var span_6 = root_3$3();
8922
- var text_7 = child(span_6, true);
8923
- reset(span_6);
8924
- template_effect(() => set_text(text_7, get(tag)));
8925
- append($$anchor4, span_6);
8926
- });
8927
- reset(div_2);
8928
- append($$anchor3, div_2);
8929
- };
8930
- if_block(node_4, ($$render) => {
8931
- if (ev().tags?.length) $$render(consequent_4);
8932
- });
8933
- }
8934
- var node_5 = sibling(node_4, 2);
9277
+ var node = child(div_1);
9278
+ EventContent(node, {
9279
+ get event() {
9280
+ return ev();
9281
+ },
9282
+ children: ($$anchor3, $$slotProps) => {
9283
+ var fragment = root_5$4();
9284
+ var span = first_child(fragment);
9285
+ var text$1 = child(span, true);
9286
+ reset(span);
9287
+ var node_1 = sibling(span, 2);
9288
+ {
9289
+ var consequent = ($$anchor4) => {
9290
+ var span_1 = root$3();
9291
+ var text_1 = child(span_1, true);
9292
+ reset(span_1);
9293
+ template_effect(() => set_text(text_1, ev().subtitle));
9294
+ append($$anchor4, span_1);
9295
+ };
9296
+ if_block(node_1, ($$render) => {
9297
+ if (ev().subtitle) $$render(consequent);
9298
+ });
9299
+ }
9300
+ var node_2 = sibling(node_1, 2);
9301
+ {
9302
+ var consequent_1 = ($$anchor4) => {
9303
+ var span_2 = root_1$4();
9304
+ var text_2 = child(span_2, true);
9305
+ reset(span_2);
9306
+ template_effect(() => set_text(text_2, ev().location));
9307
+ append($$anchor4, span_2);
9308
+ };
9309
+ if_block(node_2, ($$render) => {
9310
+ if (ev().location) $$render(consequent_1);
9311
+ });
9312
+ }
9313
+ var span_3 = sibling(node_2, 2);
9314
+ var node_3 = child(span_3);
9315
+ {
9316
+ var consequent_2 = ($$anchor4) => {
9317
+ var text_3 = text();
9318
+ template_effect(($0) => set_text(text_3, `${get(L).until ?? ""} ${$0 ?? ""}`), [() => fmt(ev().end)]);
9319
+ append($$anchor4, text_3);
9320
+ };
9321
+ var alternate = ($$anchor4) => {
9322
+ var text_4 = text();
9323
+ template_effect(($0, $1) => set_text(text_4, `${$0 ?? ""} – ${$1 ?? ""}`), [() => fmt(ev().start), () => fmt(ev().end)]);
9324
+ append($$anchor4, text_4);
9325
+ };
9326
+ if_block(node_3, ($$render) => {
9327
+ if (isNow()) $$render(consequent_2);
9328
+ else $$render(alternate, -1);
9329
+ });
9330
+ }
9331
+ var span_4 = sibling(node_3, 2);
9332
+ var text_5 = child(span_4, true);
9333
+ reset(span_4);
9334
+ var node_4 = sibling(span_4, 2);
9335
+ {
9336
+ var consequent_3 = ($$anchor4) => {
9337
+ var span_5 = root_2$4();
9338
+ var text_6 = child(span_5, true);
9339
+ reset(span_5);
9340
+ template_effect(() => set_text(text_6, eta2()));
9341
+ append($$anchor4, span_5);
9342
+ };
9343
+ if_block(node_4, ($$render) => {
9344
+ if (eta2()) $$render(consequent_3);
9345
+ });
9346
+ }
9347
+ reset(span_3);
9348
+ var node_5 = sibling(span_3, 2);
9349
+ {
9350
+ var consequent_4 = ($$anchor4) => {
9351
+ var div_2 = root_4$4();
9352
+ each(div_2, 21, () => ev().tags, index, ($$anchor5, tag) => {
9353
+ var span_6 = root_3$4();
9354
+ var text_7 = child(span_6, true);
9355
+ reset(span_6);
9356
+ template_effect(() => set_text(text_7, get(tag)));
9357
+ append($$anchor5, span_6);
9358
+ });
9359
+ reset(div_2);
9360
+ append($$anchor4, div_2);
9361
+ };
9362
+ if_block(node_5, ($$render) => {
9363
+ if (ev().tags?.length) $$render(consequent_4);
9364
+ });
9365
+ }
9366
+ template_effect(
9367
+ ($0) => {
9368
+ set_text(text$1, ev().title);
9369
+ set_text(text_5, $0);
9370
+ },
9371
+ [() => duration(ev())]
9372
+ );
9373
+ append($$anchor3, fragment);
9374
+ },
9375
+ $$slots: { default: true }
9376
+ });
9377
+ var node_6 = sibling(node, 2);
8935
9378
  {
8936
9379
  var consequent_5 = ($$anchor3) => {
8937
- var div_3 = root_5$3();
9380
+ var div_3 = root_6$4();
8938
9381
  var div_4 = child(div_3);
8939
9382
  let styles_1;
8940
9383
  reset(div_3);
8941
9384
  template_effect(($0) => styles_1 = set_style(div_4, "", styles_1, $0), [() => ({ width: `${prog(ev()) * 100}%` })]);
8942
9385
  append($$anchor3, div_3);
8943
9386
  };
8944
- if_block(node_5, ($$render) => {
9387
+ if_block(node_6, ($$render) => {
8945
9388
  if (isNow()) $$render(consequent_5);
8946
9389
  });
8947
9390
  }
8948
9391
  reset(div_1);
8949
9392
  reset(div);
8950
9393
  template_effect(
8951
- ($0, $1, $2, $3) => {
9394
+ ($0, $1, $2) => {
8952
9395
  classes = set_class(div, 1, "ag-card svelte-uhwfyj", null, classes, {
8953
9396
  "ag-card--selected": selectedEventId() === ev().id,
8954
9397
  "ag-card--cancelled": ev().status === "cancelled",
@@ -8958,13 +9401,10 @@
8958
9401
  });
8959
9402
  set_attribute(div, "aria-label", `${ev().title ?? ""}${ev().status === "cancelled" ? " (cancelled)" : ""}${ev().status === "tentative" ? " (tentative)" : ""}${ev().status === "full" ? " (full)" : ""}${ev().status === "limited" ? " (limited)" : ""}, ${$0 ?? ""} to ${$1 ?? ""}, ${$2 ?? ""}`);
8960
9403
  styles = set_style(div, "", styles, { "--ev-color": ev().color || "var(--dt-accent)" });
8961
- set_text(text$1, ev().title);
8962
- set_text(text_5, $3);
8963
9404
  },
8964
9405
  [
8965
9406
  () => fmt(ev().start),
8966
9407
  () => fmt(ev().end),
8967
- () => duration(ev()),
8968
9408
  () => duration(ev())
8969
9409
  ]
8970
9410
  );
@@ -9082,42 +9522,42 @@
9082
9522
  }
9083
9523
  return out;
9084
9524
  });
9085
- var div_5 = root_29();
9525
+ var div_5 = root_31();
9086
9526
  let classes_1;
9087
9527
  var div_6 = child(div_5);
9088
9528
  each(div_6, 21, () => get(weekDays), (day) => day.ms, ($$anchor2, day) => {
9089
9529
  const expanded = /* @__PURE__ */ user_derived(() => get(day).tier === "today" || get(day).tier === "tomorrow");
9090
- var fragment_2 = comment();
9091
- var node_6 = first_child(fragment_2);
9530
+ var fragment_3 = comment();
9531
+ var node_7 = first_child(fragment_3);
9092
9532
  {
9093
9533
  var consequent_8 = ($$anchor3) => {
9094
- var div_7 = root_9$2();
9534
+ var div_7 = root_10$2();
9095
9535
  let classes_2;
9096
9536
  var div_8 = child(div_7);
9097
9537
  var div_9 = child(div_8);
9098
9538
  var span_7 = child(div_9);
9099
9539
  var text_8 = child(span_7, true);
9100
9540
  reset(span_7);
9101
- var node_7 = sibling(span_7, 2);
9541
+ var node_8 = sibling(span_7, 2);
9102
9542
  {
9103
9543
  var consequent_6 = ($$anchor4) => {
9104
- var span_8 = root_7$3();
9544
+ var span_8 = root_8$3();
9105
9545
  var text_9 = child(span_8, true);
9106
9546
  reset(span_8);
9107
9547
  template_effect(() => set_text(text_9, get(day).dateLabel));
9108
9548
  append($$anchor4, span_8);
9109
9549
  };
9110
- if_block(node_7, ($$render) => {
9550
+ if_block(node_8, ($$render) => {
9111
9551
  if (get(showDates)) $$render(consequent_6);
9112
9552
  });
9113
9553
  }
9114
9554
  reset(div_9);
9115
- var node_8 = sibling(div_9, 2);
9555
+ var node_9 = sibling(div_9, 2);
9116
9556
  {
9117
9557
  var consequent_7 = ($$anchor4) => {
9118
- var div_10 = root_8$2();
9119
- var node_9 = child(div_10);
9120
- snippet(node_9, () => get(dayHeaderSnippet), () => ({
9558
+ var div_10 = root_9$2();
9559
+ var node_10 = child(div_10);
9560
+ snippet(node_10, () => get(dayHeaderSnippet), () => ({
9121
9561
  date: new Date(get(day).ms),
9122
9562
  isToday: false,
9123
9563
  dayName: get(day).dayName
@@ -9125,7 +9565,7 @@
9125
9565
  reset(div_10);
9126
9566
  append($$anchor4, div_10);
9127
9567
  };
9128
- if_block(node_8, ($$render) => {
9568
+ if_block(node_9, ($$render) => {
9129
9569
  if (get(dayHeaderSnippet)) $$render(consequent_7);
9130
9570
  });
9131
9571
  }
@@ -9143,54 +9583,54 @@
9143
9583
  append($$anchor3, div_7);
9144
9584
  };
9145
9585
  var alternate_2 = ($$anchor3) => {
9146
- var div_11 = root_28();
9586
+ var div_11 = root_30();
9147
9587
  let classes_3;
9148
9588
  var div_12 = child(div_11);
9149
9589
  var div_13 = child(div_12);
9150
- var node_10 = child(div_13);
9590
+ var node_11 = child(div_13);
9151
9591
  {
9152
9592
  var consequent_9 = ($$anchor4) => {
9153
- var span_9 = root_10$2();
9593
+ var span_9 = root_11$2();
9154
9594
  var text_10 = child(span_9, true);
9155
9595
  reset(span_9);
9156
9596
  template_effect(() => set_text(text_10, get(L).today));
9157
9597
  append($$anchor4, span_9);
9158
9598
  };
9159
9599
  var consequent_10 = ($$anchor4) => {
9160
- var span_10 = root_11$2();
9600
+ var span_10 = root_12$2();
9161
9601
  var text_11 = child(span_10, true);
9162
9602
  reset(span_10);
9163
9603
  template_effect(() => set_text(text_11, get(L).tomorrow));
9164
9604
  append($$anchor4, span_10);
9165
9605
  };
9166
- if_block(node_10, ($$render) => {
9606
+ if_block(node_11, ($$render) => {
9167
9607
  if (get(day).tier === "today") $$render(consequent_9);
9168
9608
  else if (get(day).tier === "tomorrow") $$render(consequent_10, 1);
9169
9609
  });
9170
9610
  }
9171
- var span_11 = sibling(node_10, 2);
9611
+ var span_11 = sibling(node_11, 2);
9172
9612
  var text_12 = child(span_11, true);
9173
9613
  reset(span_11);
9174
- var node_11 = sibling(span_11, 2);
9614
+ var node_12 = sibling(span_11, 2);
9175
9615
  {
9176
9616
  var consequent_11 = ($$anchor4) => {
9177
- var span_12 = root_7$3();
9617
+ var span_12 = root_8$3();
9178
9618
  var text_13 = child(span_12, true);
9179
9619
  reset(span_12);
9180
9620
  template_effect(() => set_text(text_13, get(day).dateLabel));
9181
9621
  append($$anchor4, span_12);
9182
9622
  };
9183
- if_block(node_11, ($$render) => {
9623
+ if_block(node_12, ($$render) => {
9184
9624
  if (get(showDates)) $$render(consequent_11);
9185
9625
  });
9186
9626
  }
9187
9627
  reset(div_13);
9188
- var node_12 = sibling(div_13, 2);
9628
+ var node_13 = sibling(div_13, 2);
9189
9629
  {
9190
9630
  var consequent_12 = ($$anchor4) => {
9191
- var div_14 = root_8$2();
9192
- var node_13 = child(div_14);
9193
- snippet(node_13, () => get(dayHeaderSnippet), () => ({
9631
+ var div_14 = root_9$2();
9632
+ var node_14 = child(div_14);
9633
+ snippet(node_14, () => get(dayHeaderSnippet), () => ({
9194
9634
  date: new Date(get(day).ms),
9195
9635
  isToday: get(day).tier === "today",
9196
9636
  dayName: get(day).dayName
@@ -9198,17 +9638,17 @@
9198
9638
  reset(div_14);
9199
9639
  append($$anchor4, div_14);
9200
9640
  };
9201
- if_block(node_12, ($$render) => {
9641
+ if_block(node_13, ($$render) => {
9202
9642
  if (get(dayHeaderSnippet)) $$render(consequent_12);
9203
9643
  });
9204
9644
  }
9205
9645
  reset(div_12);
9206
- var node_14 = sibling(div_12, 2);
9646
+ var node_15 = sibling(div_12, 2);
9207
9647
  {
9208
9648
  var consequent_13 = ($$anchor4) => {
9209
- var div_15 = root_13$1();
9649
+ var div_15 = root_14$1();
9210
9650
  each(div_15, 21, () => get(day).allDayEvents, (ev) => ev.id, ($$anchor5, ev) => {
9211
- var div_16 = root_12$2();
9651
+ var div_16 = root_13$1();
9212
9652
  let classes_4;
9213
9653
  let styles_2;
9214
9654
  var span_13 = sibling(child(div_16), 2);
@@ -9231,68 +9671,87 @@
9231
9671
  reset(div_15);
9232
9672
  append($$anchor4, div_15);
9233
9673
  };
9234
- if_block(node_14, ($$render) => {
9674
+ if_block(node_15, ($$render) => {
9235
9675
  if (get(day).allDayEvents.length > 0) $$render(consequent_13);
9236
9676
  });
9237
9677
  }
9238
- var node_15 = sibling(node_14, 2);
9678
+ var node_16 = sibling(node_15, 2);
9239
9679
  {
9240
9680
  var consequent_14 = ($$anchor4) => {
9241
- var div_17 = root_14$1();
9681
+ var div_17 = root_15$1();
9242
9682
  var text_15 = child(div_17, true);
9243
9683
  reset(div_17);
9244
9684
  template_effect(() => set_text(text_15, get(L).noEvents));
9245
9685
  append($$anchor4, div_17);
9246
9686
  };
9247
9687
  var consequent_17 = ($$anchor4) => {
9248
- var div_18 = root_18();
9688
+ var div_18 = root_20();
9249
9689
  each(div_18, 21, () => get(day).timedEvents, (ev) => ev.id, ($$anchor5, ev) => {
9250
- var div_19 = root_17();
9690
+ var div_19 = root_19$1();
9251
9691
  let classes_5;
9252
9692
  let styles_3;
9253
- var span_14 = sibling(child(div_19), 2);
9254
- var text_16 = child(span_14, true);
9255
- reset(span_14);
9256
- var span_15 = sibling(span_14, 2);
9257
- var text_17 = child(span_15, true);
9258
- reset(span_15);
9259
- var node_16 = sibling(span_15, 2);
9260
- {
9261
- var consequent_15 = ($$anchor6) => {
9262
- var span_16 = root_15$1();
9263
- var text_18 = child(span_16, true);
9264
- reset(span_16);
9265
- template_effect(() => set_text(text_18, get(ev).subtitle));
9266
- append($$anchor6, span_16);
9267
- };
9268
- if_block(node_16, ($$render) => {
9269
- if (get(ev).subtitle) $$render(consequent_15);
9270
- });
9271
- }
9272
- var node_17 = sibling(node_16, 2);
9273
- {
9274
- var consequent_16 = ($$anchor6) => {
9275
- var fragment_3 = comment();
9276
- var node_18 = first_child(fragment_3);
9277
- each(node_18, 17, () => get(ev).tags, index, ($$anchor7, tag) => {
9278
- var span_17 = root_16$1();
9279
- var text_19 = child(span_17, true);
9280
- reset(span_17);
9281
- template_effect(() => set_text(text_19, get(tag)));
9282
- append($$anchor7, span_17);
9283
- });
9284
- append($$anchor6, fragment_3);
9285
- };
9286
- if_block(node_17, ($$render) => {
9287
- if (get(ev).tags?.length) $$render(consequent_16);
9288
- });
9289
- }
9290
- var span_18 = sibling(node_17, 2);
9291
- var text_20 = child(span_18, true);
9292
- reset(span_18);
9693
+ var node_17 = child(div_19);
9694
+ EventContent(node_17, {
9695
+ get event() {
9696
+ return get(ev);
9697
+ },
9698
+ children: ($$anchor6, $$slotProps) => {
9699
+ var fragment_4 = root_18$1();
9700
+ var span_14 = sibling(first_child(fragment_4), 2);
9701
+ var text_16 = child(span_14, true);
9702
+ reset(span_14);
9703
+ var span_15 = sibling(span_14, 2);
9704
+ var text_17 = child(span_15, true);
9705
+ reset(span_15);
9706
+ var node_18 = sibling(span_15, 2);
9707
+ {
9708
+ var consequent_15 = ($$anchor7) => {
9709
+ var span_16 = root_16$1();
9710
+ var text_18 = child(span_16, true);
9711
+ reset(span_16);
9712
+ template_effect(() => set_text(text_18, get(ev).subtitle));
9713
+ append($$anchor7, span_16);
9714
+ };
9715
+ if_block(node_18, ($$render) => {
9716
+ if (get(ev).subtitle) $$render(consequent_15);
9717
+ });
9718
+ }
9719
+ var node_19 = sibling(node_18, 2);
9720
+ {
9721
+ var consequent_16 = ($$anchor7) => {
9722
+ var fragment_5 = comment();
9723
+ var node_20 = first_child(fragment_5);
9724
+ each(node_20, 17, () => get(ev).tags, index, ($$anchor8, tag) => {
9725
+ var span_17 = root_17$1();
9726
+ var text_19 = child(span_17, true);
9727
+ reset(span_17);
9728
+ template_effect(() => set_text(text_19, get(tag)));
9729
+ append($$anchor8, span_17);
9730
+ });
9731
+ append($$anchor7, fragment_5);
9732
+ };
9733
+ if_block(node_19, ($$render) => {
9734
+ if (get(ev).tags?.length) $$render(consequent_16);
9735
+ });
9736
+ }
9737
+ var span_18 = sibling(node_19, 2);
9738
+ var text_20 = child(span_18, true);
9739
+ reset(span_18);
9740
+ template_effect(
9741
+ ($0, $1) => {
9742
+ set_text(text_16, $0);
9743
+ set_text(text_17, get(ev).title);
9744
+ set_text(text_20, $1);
9745
+ },
9746
+ [() => fmt(get(ev).start), () => duration(get(ev))]
9747
+ );
9748
+ append($$anchor6, fragment_4);
9749
+ },
9750
+ $$slots: { default: true }
9751
+ });
9293
9752
  reset(div_19);
9294
9753
  template_effect(
9295
- ($0, $1, $2, $3) => {
9754
+ ($0, $1) => {
9296
9755
  classes_5 = set_class(div_19, 1, "ag-compact svelte-uhwfyj", null, classes_5, {
9297
9756
  "ag-compact--selected": selectedEventId() === get(ev).id,
9298
9757
  "ag-compact--cancelled": get(ev).status === "cancelled",
@@ -9302,16 +9761,8 @@
9302
9761
  });
9303
9762
  set_attribute(div_19, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
9304
9763
  styles_3 = set_style(div_19, "", styles_3, { "--ev-color": get(ev).color || "var(--dt-accent)" });
9305
- set_text(text_16, $2);
9306
- set_text(text_17, get(ev).title);
9307
- set_text(text_20, $3);
9308
9764
  },
9309
- [
9310
- () => fmt(get(ev).start),
9311
- () => duration(get(ev)),
9312
- () => fmt(get(ev).start),
9313
- () => duration(get(ev))
9314
- ]
9765
+ [() => fmt(get(ev).start), () => duration(get(ev))]
9315
9766
  );
9316
9767
  delegated("click", div_19, () => handleClick(get(ev)));
9317
9768
  event("pointerenter", div_19, () => get(oneventhover)?.(get(ev)));
@@ -9322,9 +9773,9 @@
9322
9773
  append($$anchor4, div_18);
9323
9774
  };
9324
9775
  var consequent_18 = ($$anchor4) => {
9325
- var div_20 = root_20();
9776
+ var div_20 = root_22();
9326
9777
  each(div_20, 21, () => groupIntoSlots(get(day).timedEvents), (slot) => slot.startMs, ($$anchor5, slot) => {
9327
- var div_21 = root_19();
9778
+ var div_21 = root_21();
9328
9779
  var div_22 = child(div_21);
9329
9780
  let classes_6;
9330
9781
  each(div_22, 21, () => get(slot).events, (ev) => ev.id, ($$anchor6, ev) => {
@@ -9339,34 +9790,34 @@
9339
9790
  append($$anchor4, div_20);
9340
9791
  };
9341
9792
  var consequent_21 = ($$anchor4) => {
9342
- var div_23 = root_23();
9343
- var node_19 = child(div_23);
9793
+ var div_23 = root_25();
9794
+ var node_21 = child(div_23);
9344
9795
  {
9345
9796
  var consequent_19 = ($$anchor5) => {
9346
- var fragment_5 = comment();
9347
- var node_20 = first_child(fragment_5);
9348
- each(node_20, 17, () => get(day).currentEvents, (ev) => ev.id, ($$anchor6, ev) => {
9349
- var div_24 = root_21();
9797
+ var fragment_7 = comment();
9798
+ var node_22 = first_child(fragment_7);
9799
+ each(node_22, 17, () => get(day).currentEvents, (ev) => ev.id, ($$anchor6, ev) => {
9800
+ var div_24 = root_23();
9350
9801
  var div_25 = child(div_24);
9351
9802
  var span_19 = child(div_25);
9352
9803
  var text_21 = child(span_19, true);
9353
9804
  reset(span_19);
9354
9805
  reset(div_25);
9355
- var node_21 = sibling(div_25, 2);
9356
- eventCard(node_21, () => get(ev), () => true);
9806
+ var node_23 = sibling(div_25, 2);
9807
+ eventCard(node_23, () => get(ev), () => true);
9357
9808
  reset(div_24);
9358
9809
  template_effect(() => set_text(text_21, get(L).now));
9359
9810
  append($$anchor6, div_24);
9360
9811
  });
9361
- append($$anchor5, fragment_5);
9812
+ append($$anchor5, fragment_7);
9362
9813
  };
9363
- if_block(node_19, ($$render) => {
9814
+ if_block(node_21, ($$render) => {
9364
9815
  if (get(day).currentEvents.length > 0) $$render(consequent_19);
9365
9816
  });
9366
9817
  }
9367
- var node_22 = sibling(node_19, 2);
9368
- each(node_22, 17, () => groupIntoSlots(get(day).upcomingEvents), (slot) => slot.startMs, ($$anchor5, slot) => {
9369
- var div_26 = root_19();
9818
+ var node_24 = sibling(node_21, 2);
9819
+ each(node_24, 17, () => groupIntoSlots(get(day).upcomingEvents), (slot) => slot.startMs, ($$anchor5, slot) => {
9820
+ var div_26 = root_21();
9370
9821
  var div_27 = child(div_26);
9371
9822
  let classes_7;
9372
9823
  each(div_27, 21, () => get(slot).events, (ev) => ev.id, ($$anchor6, ev) => {
@@ -9380,16 +9831,16 @@
9380
9831
  template_effect(() => classes_7 = set_class(div_27, 1, "ag-wslot-cards svelte-uhwfyj", null, classes_7, { "ag-wslot-cards--multi": get(slot).events.length > 1 }));
9381
9832
  append($$anchor5, div_26);
9382
9833
  });
9383
- var node_23 = sibling(node_22, 2);
9834
+ var node_25 = sibling(node_24, 2);
9384
9835
  {
9385
9836
  var consequent_20 = ($$anchor5) => {
9386
- var div_28 = root_22();
9837
+ var div_28 = root_24();
9387
9838
  var text_22 = child(div_28);
9388
9839
  reset(div_28);
9389
9840
  template_effect(($0) => set_text(text_22, `✓ ${$0 ?? ""}`), [() => get(L).nCompleted(get(day).pastEvents.length)]);
9390
9841
  append($$anchor5, div_28);
9391
9842
  };
9392
- if_block(node_23, ($$render) => {
9843
+ if_block(node_25, ($$render) => {
9393
9844
  if (get(day).pastEvents.length > 0) $$render(consequent_20);
9394
9845
  });
9395
9846
  }
@@ -9397,68 +9848,87 @@
9397
9848
  append($$anchor4, div_23);
9398
9849
  };
9399
9850
  var alternate_1 = ($$anchor4) => {
9400
- var div_29 = root_27();
9401
- var node_24 = child(div_29);
9402
- each(node_24, 17, () => get(day).timedEvents.slice(0, 4), (ev) => ev.id, ($$anchor5, ev) => {
9403
- var div_30 = root_25();
9851
+ var div_29 = root_29();
9852
+ var node_26 = child(div_29);
9853
+ each(node_26, 17, () => get(day).timedEvents.slice(0, 4), (ev) => ev.id, ($$anchor5, ev) => {
9854
+ var div_30 = root_19$1();
9404
9855
  let classes_8;
9405
9856
  let styles_4;
9406
- var span_20 = sibling(child(div_30), 2);
9407
- var text_23 = child(span_20, true);
9408
- reset(span_20);
9409
- var span_21 = sibling(span_20, 2);
9410
- var text_24 = child(span_21, true);
9411
- reset(span_21);
9412
- var node_25 = sibling(span_21, 2);
9413
- {
9414
- var consequent_22 = ($$anchor6) => {
9415
- var span_22 = root_24();
9416
- var text_25 = child(span_22, true);
9417
- reset(span_22);
9418
- template_effect(() => set_text(text_25, get(ev).location));
9419
- append($$anchor6, span_22);
9420
- };
9421
- if_block(node_25, ($$render) => {
9422
- if (get(ev).location) $$render(consequent_22);
9423
- });
9424
- }
9425
- var node_26 = sibling(node_25, 2);
9426
- {
9427
- var consequent_23 = ($$anchor6) => {
9428
- var span_23 = root_15$1();
9429
- var text_26 = child(span_23, true);
9430
- reset(span_23);
9431
- template_effect(() => set_text(text_26, get(ev).subtitle));
9432
- append($$anchor6, span_23);
9433
- };
9434
- if_block(node_26, ($$render) => {
9435
- if (get(ev).subtitle) $$render(consequent_23);
9436
- });
9437
- }
9438
- var node_27 = sibling(node_26, 2);
9439
- {
9440
- var consequent_24 = ($$anchor6) => {
9441
- var fragment_7 = comment();
9442
- var node_28 = first_child(fragment_7);
9443
- each(node_28, 17, () => get(ev).tags, index, ($$anchor7, tag) => {
9444
- var span_24 = root_16$1();
9445
- var text_27 = child(span_24, true);
9446
- reset(span_24);
9447
- template_effect(() => set_text(text_27, get(tag)));
9448
- append($$anchor7, span_24);
9449
- });
9450
- append($$anchor6, fragment_7);
9451
- };
9452
- if_block(node_27, ($$render) => {
9453
- if (get(ev).tags?.length) $$render(consequent_24);
9454
- });
9455
- }
9456
- var span_25 = sibling(node_27, 2);
9457
- var text_28 = child(span_25, true);
9458
- reset(span_25);
9857
+ var node_27 = child(div_30);
9858
+ EventContent(node_27, {
9859
+ get event() {
9860
+ return get(ev);
9861
+ },
9862
+ children: ($$anchor6, $$slotProps) => {
9863
+ var fragment_9 = root_27();
9864
+ var span_20 = sibling(first_child(fragment_9), 2);
9865
+ var text_23 = child(span_20, true);
9866
+ reset(span_20);
9867
+ var span_21 = sibling(span_20, 2);
9868
+ var text_24 = child(span_21, true);
9869
+ reset(span_21);
9870
+ var node_28 = sibling(span_21, 2);
9871
+ {
9872
+ var consequent_22 = ($$anchor7) => {
9873
+ var span_22 = root_26();
9874
+ var text_25 = child(span_22, true);
9875
+ reset(span_22);
9876
+ template_effect(() => set_text(text_25, get(ev).location));
9877
+ append($$anchor7, span_22);
9878
+ };
9879
+ if_block(node_28, ($$render) => {
9880
+ if (get(ev).location) $$render(consequent_22);
9881
+ });
9882
+ }
9883
+ var node_29 = sibling(node_28, 2);
9884
+ {
9885
+ var consequent_23 = ($$anchor7) => {
9886
+ var span_23 = root_16$1();
9887
+ var text_26 = child(span_23, true);
9888
+ reset(span_23);
9889
+ template_effect(() => set_text(text_26, get(ev).subtitle));
9890
+ append($$anchor7, span_23);
9891
+ };
9892
+ if_block(node_29, ($$render) => {
9893
+ if (get(ev).subtitle) $$render(consequent_23);
9894
+ });
9895
+ }
9896
+ var node_30 = sibling(node_29, 2);
9897
+ {
9898
+ var consequent_24 = ($$anchor7) => {
9899
+ var fragment_10 = comment();
9900
+ var node_31 = first_child(fragment_10);
9901
+ each(node_31, 17, () => get(ev).tags, index, ($$anchor8, tag) => {
9902
+ var span_24 = root_17$1();
9903
+ var text_27 = child(span_24, true);
9904
+ reset(span_24);
9905
+ template_effect(() => set_text(text_27, get(tag)));
9906
+ append($$anchor8, span_24);
9907
+ });
9908
+ append($$anchor7, fragment_10);
9909
+ };
9910
+ if_block(node_30, ($$render) => {
9911
+ if (get(ev).tags?.length) $$render(consequent_24);
9912
+ });
9913
+ }
9914
+ var span_25 = sibling(node_30, 2);
9915
+ var text_28 = child(span_25, true);
9916
+ reset(span_25);
9917
+ template_effect(
9918
+ ($0, $1) => {
9919
+ set_text(text_23, $0);
9920
+ set_text(text_24, get(ev).title);
9921
+ set_text(text_28, $1);
9922
+ },
9923
+ [() => fmt(get(ev).start), () => duration(get(ev))]
9924
+ );
9925
+ append($$anchor6, fragment_9);
9926
+ },
9927
+ $$slots: { default: true }
9928
+ });
9459
9929
  reset(div_30);
9460
9930
  template_effect(
9461
- ($0, $1, $2, $3) => {
9931
+ ($0, $1) => {
9462
9932
  classes_8 = set_class(div_30, 1, "ag-compact svelte-uhwfyj", null, classes_8, {
9463
9933
  "ag-compact--selected": selectedEventId() === get(ev).id,
9464
9934
  "ag-compact--cancelled": get(ev).status === "cancelled",
@@ -9468,39 +9938,31 @@
9468
9938
  });
9469
9939
  set_attribute(div_30, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
9470
9940
  styles_4 = set_style(div_30, "", styles_4, { "--ev-color": get(ev).color || "var(--dt-accent)" });
9471
- set_text(text_23, $2);
9472
- set_text(text_24, get(ev).title);
9473
- set_text(text_28, $3);
9474
9941
  },
9475
- [
9476
- () => fmt(get(ev).start),
9477
- () => duration(get(ev)),
9478
- () => fmt(get(ev).start),
9479
- () => duration(get(ev))
9480
- ]
9942
+ [() => fmt(get(ev).start), () => duration(get(ev))]
9481
9943
  );
9482
9944
  delegated("click", div_30, () => handleClick(get(ev)));
9483
9945
  event("pointerenter", div_30, () => get(oneventhover)?.(get(ev)));
9484
9946
  delegated("keydown", div_30, (e) => handleKeydown(e, get(ev)));
9485
9947
  append($$anchor5, div_30);
9486
9948
  });
9487
- var node_29 = sibling(node_24, 2);
9949
+ var node_32 = sibling(node_26, 2);
9488
9950
  {
9489
9951
  var consequent_25 = ($$anchor5) => {
9490
- var div_31 = root_26();
9952
+ var div_31 = root_28();
9491
9953
  var text_29 = child(div_31, true);
9492
9954
  reset(div_31);
9493
9955
  template_effect(($0) => set_text(text_29, $0), [() => get(L).nMore(get(day).timedEvents.length - 4)]);
9494
9956
  append($$anchor5, div_31);
9495
9957
  };
9496
- if_block(node_29, ($$render) => {
9958
+ if_block(node_32, ($$render) => {
9497
9959
  if (get(day).timedEvents.length > 4) $$render(consequent_25);
9498
9960
  });
9499
9961
  }
9500
9962
  reset(div_29);
9501
9963
  append($$anchor4, div_29);
9502
9964
  };
9503
- if_block(node_15, ($$render) => {
9965
+ if_block(node_16, ($$render) => {
9504
9966
  if (get(day).events.length === 0) $$render(consequent_14);
9505
9967
  else if (get(compact)) $$render(consequent_17, 1);
9506
9968
  else if (get(equalDays)) $$render(consequent_18, 2);
@@ -9525,12 +9987,12 @@
9525
9987
  );
9526
9988
  append($$anchor3, div_11);
9527
9989
  };
9528
- if_block(node_6, ($$render) => {
9990
+ if_block(node_7, ($$render) => {
9529
9991
  if (get(day).tier === "past") $$render(consequent_8);
9530
9992
  else $$render(alternate_2, -1);
9531
9993
  });
9532
9994
  }
9533
- append($$anchor2, fragment_2);
9995
+ append($$anchor2, fragment_3);
9534
9996
  });
9535
9997
  reset(div_6);
9536
9998
  reset(div_5);
@@ -9564,22 +10026,25 @@
9564
10026
  }
9565
10027
  append($$anchor, fragment);
9566
10028
  }
9567
- var root_1$2 = /* @__PURE__ */ from_html(`<span class="mb-allday-span svelte-zbkzcp"> </span>`);
9568
- var root_2$2 = /* @__PURE__ */ from_html(`<button><span class="mb-allday-dot svelte-zbkzcp"></span> <span class="mb-allday-title svelte-zbkzcp"> </span> <!></button>`);
9569
- var root_3$2 = /* @__PURE__ */ from_html(`<span class="mb-allday-more svelte-zbkzcp"> </span>`);
9570
- var root_4$2 = /* @__PURE__ */ from_html(`<div class="mb-allday svelte-zbkzcp"><!> <!></div>`);
9571
- var root_5$2 = /* @__PURE__ */ from_html(`<span class="mb-blocked-label svelte-zbkzcp"> </span>`);
9572
- var root_6$2 = /* @__PURE__ */ from_html(`<div><div class="mb-hour-label svelte-zbkzcp"> </div> <div class="mb-hour-line svelte-zbkzcp"></div> <!></div>`);
10029
+ var root_1$3 = /* @__PURE__ */ from_html(`<span class="mb-allday-span svelte-zbkzcp"> </span>`);
10030
+ var root_2$3 = /* @__PURE__ */ from_html(`<button><span class="mb-allday-dot svelte-zbkzcp"></span> <span class="mb-allday-title svelte-zbkzcp"> </span> <!></button>`);
10031
+ var root_3$3 = /* @__PURE__ */ from_html(`<span class="mb-allday-more svelte-zbkzcp"> </span>`);
10032
+ var root_4$3 = /* @__PURE__ */ from_html(`<div class="mb-allday svelte-zbkzcp"><!> <!></div>`);
10033
+ var root_5$3 = /* @__PURE__ */ from_html(`<span class="mb-blocked-label svelte-zbkzcp"> </span>`);
10034
+ var root_6$3 = /* @__PURE__ */ from_html(`<div><div class="mb-hour-label svelte-zbkzcp"> </div> <div class="mb-hour-line svelte-zbkzcp"></div> <!></div>`);
9573
10035
  var root_7$2 = /* @__PURE__ */ from_html(`<div class="mb-now svelte-zbkzcp"><span class="mb-now-label svelte-zbkzcp"> </span> <div class="mb-now-line svelte-zbkzcp"></div></div>`);
9574
- var root_8$1 = /* @__PURE__ */ from_html(`<span class="mb-ev-time svelte-zbkzcp"> </span>`);
10036
+ var root_8$2 = /* @__PURE__ */ from_html(`<span class="mb-ev-time svelte-zbkzcp"> </span>`);
9575
10037
  var root_9$1 = /* @__PURE__ */ from_html(`<span class="mb-ev-sub svelte-zbkzcp"> </span>`);
9576
10038
  var root_10$1 = /* @__PURE__ */ from_html(`<span class="mb-ev-loc svelte-zbkzcp"> </span>`);
9577
10039
  var root_11$1 = /* @__PURE__ */ from_html(`<span class="mb-ev-tag svelte-zbkzcp"> </span>`);
9578
10040
  var root_12$1 = /* @__PURE__ */ from_html(`<div class="mb-ev-tags svelte-zbkzcp"></div>`);
9579
- var root_13 = /* @__PURE__ */ from_html(`<span class="mb-ev-live svelte-zbkzcp"></span>`);
9580
- var root_14 = /* @__PURE__ */ from_html(`<span class="mb-ev-next-badge svelte-zbkzcp"> </span>`);
9581
- var root_15 = /* @__PURE__ */ from_html(`<button><div class="mb-ev-stripe svelte-zbkzcp"></div> <div class="mb-ev-body svelte-zbkzcp"><span class="mb-ev-title svelte-zbkzcp"> </span> <!> <!> <!> <!></div> <!></button>`);
9582
- var root_16 = /* @__PURE__ */ from_html(`<div role="region"><!> <div class="mb-grid svelte-zbkzcp" role="grid" tabindex="-1"><div class="mb-grid-inner svelte-zbkzcp"><!> <!> <!></div></div></div>`);
10041
+ var root_13 = /* @__PURE__ */ from_html(`<span class="mb-ev-title svelte-zbkzcp"> </span> <!> <!> <!> <!>`, 1);
10042
+ var root_14 = /* @__PURE__ */ from_html(`<span class="mb-ev-live svelte-zbkzcp"></span>`);
10043
+ var root_15 = /* @__PURE__ */ from_html(`<span class="mb-ev-next-badge svelte-zbkzcp"> </span>`);
10044
+ var root_16 = /* @__PURE__ */ from_html(`<span class="mb-ev-handle mb-ev-handle--start svelte-zbkzcp" aria-hidden="true"></span> <span class="mb-ev-handle mb-ev-handle--end svelte-zbkzcp" aria-hidden="true"></span>`, 1);
10045
+ var root_17 = /* @__PURE__ */ from_html(`<button><div class="mb-ev-stripe svelte-zbkzcp"></div> <div class="mb-ev-body svelte-zbkzcp"><!></div> <!> <!></button>`);
10046
+ var root_18 = /* @__PURE__ */ from_html(`<div class="mb-create-ghost svelte-zbkzcp" aria-hidden="true"><span class="mb-create-ghost-time svelte-zbkzcp"> </span></div>`);
10047
+ var root_19 = /* @__PURE__ */ from_html(`<div role="region"><!> <div class="mb-grid svelte-zbkzcp" role="grid" tabindex="-1"><div class="mb-grid-inner svelte-zbkzcp"><!> <!> <!> <!></div></div></div>`);
9583
10048
  function MobileDay($$anchor, $$props) {
9584
10049
  push($$props, true);
9585
10050
  const L = /* @__PURE__ */ user_derived(getLabels);
@@ -9592,6 +10057,9 @@
9592
10057
  const loadRangeCtx = /* @__PURE__ */ user_derived(() => ctx.loadRange);
9593
10058
  const minDuration = /* @__PURE__ */ user_derived(() => ctx.minDuration);
9594
10059
  const blockedSlots = /* @__PURE__ */ user_derived(() => ctx.blockedSlots);
10060
+ const drag = /* @__PURE__ */ user_derived(() => ctx.drag);
10061
+ const commitDragCtx = /* @__PURE__ */ user_derived(() => ctx.commitDrag);
10062
+ const SNAP_MS = /* @__PURE__ */ user_derived(() => ctx.snapInterval * 6e4);
9595
10063
  const clock = createClock();
9596
10064
  const HOUR_HEIGHT = 64;
9597
10065
  const GUTTER_W = 40;
@@ -9623,6 +10091,7 @@
9623
10091
  const positionedEvents = /* @__PURE__ */ user_derived(() => {
9624
10092
  const now2 = clock.tick;
9625
10093
  const sorted = [...get(timedEvents)];
10094
+ const rsP = get(drag)?.active && (get(drag).mode === "resize-start" || get(drag).mode === "resize-end") ? get(drag).payload : null;
9626
10095
  let nextEventId = null;
9627
10096
  if (get(isToday)) {
9628
10097
  for (const ev of [...sorted].sort((a, b) => a.start.getTime() - b.start.getTime())) {
@@ -9634,8 +10103,11 @@
9634
10103
  }
9635
10104
  }
9636
10105
  const infos = sorted.map((ev) => {
9637
- const sMs = Math.max(ev.start.getTime(), get(dayMs) + get(startHour) * HOUR_MS);
9638
- const eMs = Math.min(ev.end.getTime(), get(dayMs) + get(endHour) * HOUR_MS);
10106
+ const resizing = rsP?.eventId === ev.id;
10107
+ const evStart = resizing ? rsP.start : ev.start;
10108
+ const evEnd = resizing ? rsP.end : ev.end;
10109
+ const sMs = Math.max(evStart.getTime(), get(dayMs) + get(startHour) * HOUR_MS);
10110
+ const eMs = Math.min(evEnd.getTime(), get(dayMs) + get(endHour) * HOUR_MS);
9639
10111
  const topH = (sMs - get(dayMs)) / HOUR_MS - get(startHour);
9640
10112
  const botH = (eMs - get(dayMs)) / HOUR_MS - get(startHour);
9641
10113
  return {
@@ -9644,6 +10116,7 @@
9644
10116
  height: Math.max(24, (botH - topH) * HOUR_HEIGHT),
9645
10117
  isCurrent: ev.start.getTime() <= now2 && ev.end.getTime() > now2,
9646
10118
  isNext: ev.id === nextEventId,
10119
+ isResizing: resizing,
9647
10120
  startMs: sMs,
9648
10121
  endMs: eMs,
9649
10122
  col: 0,
@@ -9695,6 +10168,7 @@
9695
10168
  width: `calc(${100 / info.totalCols}% - ${GUTTER_W / info.totalCols + 2}px)`,
9696
10169
  isCurrent: info.isCurrent,
9697
10170
  isNext: info.isNext,
10171
+ isResizing: info.isResizing,
9698
10172
  col: info.col,
9699
10173
  totalCols: info.totalCols
9700
10174
  }));
@@ -9753,6 +10227,10 @@
9753
10227
  swiping = false;
9754
10228
  }
9755
10229
  function handleGridClick(e) {
10230
+ if (suppressGridClick) {
10231
+ suppressGridClick = false;
10232
+ return;
10233
+ }
9756
10234
  if (!$$props.oneventcreate || readOnly() || get(isDisabled)) return;
9757
10235
  if (e.target.closest(".mb-event")) return;
9758
10236
  const grid = e.currentTarget;
@@ -9766,6 +10244,122 @@
9766
10244
  const end = new Date(start.getTime() + durMin * 6e4);
9767
10245
  $$props.oneventcreate({ start, end });
9768
10246
  }
10247
+ const CREATE_THRESHOLD = 4;
10248
+ let suppressGridClick = false;
10249
+ let mbCreateStartY = 0;
10250
+ let mbCreateAnchorMs = 0;
10251
+ let mbCreateStarted = false;
10252
+ function gridTimeMs(clientY) {
10253
+ const rect = gridEl.getBoundingClientRect();
10254
+ const y = clientY - rect.top + gridEl.scrollTop;
10255
+ return get(dayMs) + (get(startHour) + y / HOUR_HEIGHT) * HOUR_MS;
10256
+ }
10257
+ function clampToDay(ms) {
10258
+ return Math.max(get(dayMs) + get(startHour) * HOUR_MS, Math.min(get(dayMs) + get(endHour) * HOUR_MS, ms));
10259
+ }
10260
+ function onGridPointerDown(e) {
10261
+ if (e.button !== 0 || !get(drag) || !$$props.oneventcreate || readOnly() || get(isDisabled)) return;
10262
+ if (e.target.closest(".mb-event")) return;
10263
+ mbCreateStartY = e.clientY;
10264
+ mbCreateAnchorMs = gridTimeMs(e.clientY);
10265
+ mbCreateStarted = false;
10266
+ window.addEventListener("pointermove", onGridCreateMove);
10267
+ window.addEventListener("pointerup", onGridCreateUp, { once: true });
10268
+ window.addEventListener("pointercancel", onGridCreateCancel, { once: true });
10269
+ }
10270
+ function onGridCreateMove(e) {
10271
+ if (!get(drag)) return;
10272
+ if (!mbCreateStarted) {
10273
+ if (Math.abs(e.clientY - mbCreateStartY) < CREATE_THRESHOLD) return;
10274
+ mbCreateStarted = true;
10275
+ mbCreateAnchorMs = clampToDay(Math.floor(mbCreateAnchorMs / get(SNAP_MS)) * get(SNAP_MS));
10276
+ get(drag).beginCreate(new Date(mbCreateAnchorMs), new Date(mbCreateAnchorMs + get(SNAP_MS)));
10277
+ }
10278
+ const snapped = clampToDay(Math.round(gridTimeMs(e.clientY) / get(SNAP_MS)) * get(SNAP_MS));
10279
+ get(drag).updatePointer(new Date(Math.min(mbCreateAnchorMs, snapped)), new Date(Math.max(mbCreateAnchorMs + get(SNAP_MS), snapped)));
10280
+ }
10281
+ function cleanupGridCreate() {
10282
+ window.removeEventListener("pointermove", onGridCreateMove);
10283
+ window.removeEventListener("pointerup", onGridCreateUp);
10284
+ window.removeEventListener("pointercancel", onGridCreateCancel);
10285
+ mbCreateStarted = false;
10286
+ }
10287
+ function onGridCreateUp() {
10288
+ if (get(drag) && mbCreateStarted) {
10289
+ suppressGridClick = true;
10290
+ get(commitDragCtx)?.();
10291
+ setTimeout(
10292
+ () => {
10293
+ suppressGridClick = false;
10294
+ },
10295
+ 0
10296
+ );
10297
+ }
10298
+ cleanupGridCreate();
10299
+ }
10300
+ function onGridCreateCancel() {
10301
+ if (get(drag) && mbCreateStarted) get(drag).cancel();
10302
+ cleanupGridCreate();
10303
+ }
10304
+ let suppressEventClick = false;
10305
+ let mbRsStartY = 0;
10306
+ let mbRsStarted = false;
10307
+ let mbRsEdge = "end";
10308
+ let mbRsEvent = null;
10309
+ function onResizePointerDown(e, ev, edge) {
10310
+ if (e.button !== 0 || !get(drag) || readOnly() || ev.data?.readOnly) return;
10311
+ e.stopPropagation();
10312
+ mbRsStartY = e.clientY;
10313
+ mbRsStarted = false;
10314
+ mbRsEdge = edge;
10315
+ mbRsEvent = ev;
10316
+ window.addEventListener("pointermove", onResizeMove);
10317
+ window.addEventListener("pointerup", onResizeUp, { once: true });
10318
+ window.addEventListener("pointercancel", onResizeCancel, { once: true });
10319
+ }
10320
+ function onResizeMove(e) {
10321
+ const ev = mbRsEvent;
10322
+ if (!get(drag) || !ev) return;
10323
+ if (!mbRsStarted) {
10324
+ if (Math.abs(e.clientY - mbRsStartY) < CREATE_THRESHOLD) return;
10325
+ mbRsStarted = true;
10326
+ get(drag).beginResize(ev.id, mbRsEdge, ev.start, ev.end);
10327
+ }
10328
+ const snapped = clampToDay(Math.round(gridTimeMs(e.clientY) / get(SNAP_MS)) * get(SNAP_MS));
10329
+ if (mbRsEdge === "end") {
10330
+ const end = Math.max(snapped, ev.start.getTime() + get(SNAP_MS));
10331
+ get(drag).updatePointer(ev.start, new Date(end));
10332
+ } else {
10333
+ const start = Math.min(snapped, ev.end.getTime() - get(SNAP_MS));
10334
+ get(drag).updatePointer(new Date(start), ev.end);
10335
+ }
10336
+ }
10337
+ function cleanupResize() {
10338
+ window.removeEventListener("pointermove", onResizeMove);
10339
+ window.removeEventListener("pointerup", onResizeUp);
10340
+ window.removeEventListener("pointercancel", onResizeCancel);
10341
+ mbRsStarted = false;
10342
+ mbRsEvent = null;
10343
+ }
10344
+ function onResizeUp() {
10345
+ if (get(drag) && mbRsStarted) {
10346
+ suppressEventClick = true;
10347
+ suppressGridClick = true;
10348
+ get(commitDragCtx)?.();
10349
+ setTimeout(
10350
+ () => {
10351
+ suppressEventClick = false;
10352
+ suppressGridClick = false;
10353
+ },
10354
+ 0
10355
+ );
10356
+ }
10357
+ cleanupResize();
10358
+ }
10359
+ function onResizeCancel() {
10360
+ if (get(drag) && mbRsStarted) get(drag).cancel();
10361
+ cleanupResize();
10362
+ }
9769
10363
  let gridEl;
9770
10364
  onMount(() => {
9771
10365
  if (get(nowOffset) > 0 && gridEl) {
@@ -9773,16 +10367,16 @@
9773
10367
  gridEl.scrollTop = scrollTarget;
9774
10368
  }
9775
10369
  });
9776
- var div = root_16();
10370
+ var div = root_19();
9777
10371
  let classes;
9778
10372
  let styles;
9779
10373
  var node = child(div);
9780
10374
  {
9781
10375
  var consequent_2 = ($$anchor2) => {
9782
- var div_1 = root_4$2();
10376
+ var div_1 = root_4$3();
9783
10377
  var node_1 = child(div_1);
9784
10378
  each(node_1, 17, () => get(allDayEvents).slice(0, 3), (seg) => seg.ev.id, ($$anchor3, seg) => {
9785
- var button = root_2$2();
10379
+ var button = root_2$3();
9786
10380
  let classes_1;
9787
10381
  let styles_1;
9788
10382
  var span = sibling(child(button), 2);
@@ -9791,7 +10385,7 @@
9791
10385
  var node_2 = sibling(span, 2);
9792
10386
  {
9793
10387
  var consequent = ($$anchor4) => {
9794
- var span_1 = root_1$2();
10388
+ var span_1 = root_1$3();
9795
10389
  var text_1 = child(span_1);
9796
10390
  reset(span_1);
9797
10391
  template_effect(() => set_text(text_1, `${get(seg).dayIndex ?? ""}/${get(seg).totalDays ?? ""}`));
@@ -9815,7 +10409,7 @@
9815
10409
  var node_3 = sibling(node_1, 2);
9816
10410
  {
9817
10411
  var consequent_1 = ($$anchor3) => {
9818
- var span_2 = root_3$2();
10412
+ var span_2 = root_3$3();
9819
10413
  var text_2 = child(span_2, true);
9820
10414
  reset(span_2);
9821
10415
  template_effect(($0) => set_text(text_2, $0), [() => get(L).nMore(get(allDayEvents).length - 3)]);
@@ -9839,7 +10433,7 @@
9839
10433
  each(node_4, 17, () => ({ length: get(hourCount) }), index, ($$anchor2, _, h) => {
9840
10434
  const hour = /* @__PURE__ */ user_derived(() => get(startHour) + h);
9841
10435
  const blocked = /* @__PURE__ */ user_derived(() => isBlockedAt(get(hour)));
9842
- var div_4 = root_6$2();
10436
+ var div_4 = root_6$3();
9843
10437
  let classes_2;
9844
10438
  set_style(div_4, "", {}, { top: `${h * HOUR_HEIGHT}px`, height: "64px" });
9845
10439
  var div_5 = child(div_4);
@@ -9853,7 +10447,7 @@
9853
10447
  var node_6 = first_child(fragment);
9854
10448
  {
9855
10449
  var consequent_3 = ($$anchor4) => {
9856
- var span_3 = root_5$2();
10450
+ var span_3 = root_5$3();
9857
10451
  var text_4 = child(span_3, true);
9858
10452
  reset(span_3);
9859
10453
  template_effect(() => set_text(text_4, get(slot).label));
@@ -9901,92 +10495,118 @@
9901
10495
  }
9902
10496
  var node_8 = sibling(node_7, 2);
9903
10497
  each(node_8, 17, () => get(positionedEvents), (p) => p.ev.id, ($$anchor2, p) => {
9904
- var button_1 = root_15();
10498
+ var button_1 = root_17();
9905
10499
  let classes_3;
9906
10500
  let styles_4;
9907
10501
  var div_7 = sibling(child(button_1), 2);
9908
- var span_5 = child(div_7);
9909
- var text_6 = child(span_5, true);
9910
- reset(span_5);
9911
- var node_9 = sibling(span_5, 2);
9912
- {
9913
- var consequent_6 = ($$anchor3) => {
9914
- var span_6 = root_8$1();
9915
- var text_7 = child(span_6);
9916
- reset(span_6);
9917
- template_effect(($0, $1) => set_text(text_7, `${$0 ?? ""} – ${$1 ?? ""}`), [
9918
- () => fmtTime$1(get(p).ev.start, $$props.locale),
9919
- () => fmtTime$1(get(p).ev.end, $$props.locale)
9920
- ]);
9921
- append($$anchor3, span_6);
9922
- };
9923
- if_block(node_9, ($$render) => {
9924
- if (get(p).height > 32) $$render(consequent_6);
9925
- });
9926
- }
9927
- var node_10 = sibling(node_9, 2);
9928
- {
9929
- var consequent_7 = ($$anchor3) => {
9930
- var span_7 = root_9$1();
9931
- var text_8 = child(span_7, true);
9932
- reset(span_7);
9933
- template_effect(() => set_text(text_8, get(p).ev.subtitle));
9934
- append($$anchor3, span_7);
9935
- };
9936
- if_block(node_10, ($$render) => {
9937
- if (get(p).ev.subtitle && get(p).height > 48) $$render(consequent_7);
9938
- });
9939
- }
9940
- var node_11 = sibling(node_10, 2);
9941
- {
9942
- var consequent_8 = ($$anchor3) => {
9943
- var span_8 = root_10$1();
9944
- var text_9 = child(span_8, true);
9945
- reset(span_8);
9946
- template_effect(() => set_text(text_9, get(p).ev.location));
9947
- append($$anchor3, span_8);
9948
- };
9949
- if_block(node_11, ($$render) => {
9950
- if (get(p).ev.location && get(p).height > 56) $$render(consequent_8);
9951
- });
9952
- }
9953
- var node_12 = sibling(node_11, 2);
9954
- {
9955
- var consequent_9 = ($$anchor3) => {
9956
- var div_8 = root_12$1();
9957
- each(div_8, 21, () => get(p).ev.tags, index, ($$anchor4, tag) => {
9958
- var span_9 = root_11$1();
9959
- var text_10 = child(span_9, true);
9960
- reset(span_9);
9961
- template_effect(() => set_text(text_10, get(tag)));
9962
- append($$anchor4, span_9);
9963
- });
9964
- reset(div_8);
9965
- append($$anchor3, div_8);
9966
- };
9967
- if_block(node_12, ($$render) => {
9968
- if (get(p).ev.tags?.length && get(p).height > 56) $$render(consequent_9);
9969
- });
9970
- }
10502
+ var node_9 = child(div_7);
10503
+ EventContent(node_9, {
10504
+ get event() {
10505
+ return get(p).ev;
10506
+ },
10507
+ children: ($$anchor3, $$slotProps) => {
10508
+ var fragment_1 = root_13();
10509
+ var span_5 = first_child(fragment_1);
10510
+ var text_6 = child(span_5, true);
10511
+ reset(span_5);
10512
+ var node_10 = sibling(span_5, 2);
10513
+ {
10514
+ var consequent_6 = ($$anchor4) => {
10515
+ var span_6 = root_8$2();
10516
+ var text_7 = child(span_6);
10517
+ reset(span_6);
10518
+ template_effect(($0, $1) => set_text(text_7, `${$0 ?? ""} – ${$1 ?? ""}`), [
10519
+ () => fmtTime$1(get(p).ev.start, $$props.locale),
10520
+ () => fmtTime$1(get(p).ev.end, $$props.locale)
10521
+ ]);
10522
+ append($$anchor4, span_6);
10523
+ };
10524
+ if_block(node_10, ($$render) => {
10525
+ if (get(p).height > 32) $$render(consequent_6);
10526
+ });
10527
+ }
10528
+ var node_11 = sibling(node_10, 2);
10529
+ {
10530
+ var consequent_7 = ($$anchor4) => {
10531
+ var span_7 = root_9$1();
10532
+ var text_8 = child(span_7, true);
10533
+ reset(span_7);
10534
+ template_effect(() => set_text(text_8, get(p).ev.subtitle));
10535
+ append($$anchor4, span_7);
10536
+ };
10537
+ if_block(node_11, ($$render) => {
10538
+ if (get(p).ev.subtitle && get(p).height > 48) $$render(consequent_7);
10539
+ });
10540
+ }
10541
+ var node_12 = sibling(node_11, 2);
10542
+ {
10543
+ var consequent_8 = ($$anchor4) => {
10544
+ var span_8 = root_10$1();
10545
+ var text_9 = child(span_8, true);
10546
+ reset(span_8);
10547
+ template_effect(() => set_text(text_9, get(p).ev.location));
10548
+ append($$anchor4, span_8);
10549
+ };
10550
+ if_block(node_12, ($$render) => {
10551
+ if (get(p).ev.location && get(p).height > 56) $$render(consequent_8);
10552
+ });
10553
+ }
10554
+ var node_13 = sibling(node_12, 2);
10555
+ {
10556
+ var consequent_9 = ($$anchor4) => {
10557
+ var div_8 = root_12$1();
10558
+ each(div_8, 21, () => get(p).ev.tags, index, ($$anchor5, tag) => {
10559
+ var span_9 = root_11$1();
10560
+ var text_10 = child(span_9, true);
10561
+ reset(span_9);
10562
+ template_effect(() => set_text(text_10, get(tag)));
10563
+ append($$anchor5, span_9);
10564
+ });
10565
+ reset(div_8);
10566
+ append($$anchor4, div_8);
10567
+ };
10568
+ if_block(node_13, ($$render) => {
10569
+ if (get(p).ev.tags?.length && get(p).height > 56) $$render(consequent_9);
10570
+ });
10571
+ }
10572
+ template_effect(() => set_text(text_6, get(p).ev.title));
10573
+ append($$anchor3, fragment_1);
10574
+ },
10575
+ $$slots: { default: true }
10576
+ });
9971
10577
  reset(div_7);
9972
- var node_13 = sibling(div_7, 2);
10578
+ var node_14 = sibling(div_7, 2);
9973
10579
  {
9974
10580
  var consequent_10 = ($$anchor3) => {
9975
- var span_10 = root_13();
10581
+ var span_10 = root_14();
9976
10582
  append($$anchor3, span_10);
9977
10583
  };
9978
10584
  var consequent_11 = ($$anchor3) => {
9979
- var span_11 = root_14();
10585
+ var span_11 = root_15();
9980
10586
  var text_11 = child(span_11, true);
9981
10587
  reset(span_11);
9982
10588
  template_effect(() => set_text(text_11, get(L).upNext));
9983
10589
  append($$anchor3, span_11);
9984
10590
  };
9985
- if_block(node_13, ($$render) => {
10591
+ if_block(node_14, ($$render) => {
9986
10592
  if (get(p).isCurrent) $$render(consequent_10);
9987
10593
  else if (get(p).isNext) $$render(consequent_11, 1);
9988
10594
  });
9989
10595
  }
10596
+ var node_15 = sibling(node_14, 2);
10597
+ {
10598
+ var consequent_12 = ($$anchor3) => {
10599
+ var fragment_2 = root_16();
10600
+ var span_12 = first_child(fragment_2);
10601
+ var span_13 = sibling(span_12, 2);
10602
+ delegated("pointerdown", span_12, (e) => onResizePointerDown(e, get(p).ev, "start"));
10603
+ delegated("pointerdown", span_13, (e) => onResizePointerDown(e, get(p).ev, "end"));
10604
+ append($$anchor3, fragment_2);
10605
+ };
10606
+ if_block(node_15, ($$render) => {
10607
+ if (!readOnly() && !get(p).ev.data?.readOnly) $$render(consequent_12);
10608
+ });
10609
+ }
9990
10610
  reset(button_1);
9991
10611
  template_effect(() => {
9992
10612
  classes_3 = set_class(button_1, 1, "mb-event svelte-zbkzcp", null, classes_3, {
@@ -9996,7 +10616,8 @@
9996
10616
  "mb-event--cancelled": get(p).ev.status === "cancelled",
9997
10617
  "mb-event--tentative": get(p).ev.status === "tentative",
9998
10618
  "mb-event--full": get(p).ev.status === "full",
9999
- "mb-event--limited": get(p).ev.status === "limited"
10619
+ "mb-event--limited": get(p).ev.status === "limited",
10620
+ "mb-event--resizing": get(p).isResizing
10000
10621
  });
10001
10622
  set_attribute(button_1, "aria-label", `${get(p).ev.title ?? ""}${get(p).ev.status === "cancelled" ? " (cancelled)" : ""}${get(p).ev.status === "tentative" ? " (tentative)" : ""}${get(p).ev.status === "full" ? " (full)" : ""}${get(p).ev.status === "limited" ? " (limited)" : ""}${get(p).isCurrent ? `, ${get(L).inProgress}` : ""}${get(p).isNext ? `, ${get(L).upNext}` : ""}`);
10002
10623
  styles_4 = set_style(button_1, "", styles_4, {
@@ -10006,15 +10627,48 @@
10006
10627
  width: get(p).width,
10007
10628
  "--ev-color": get(p).ev.color ?? "var(--dt-accent)"
10008
10629
  });
10009
- set_text(text_6, get(p).ev.title);
10010
10630
  });
10011
10631
  delegated("click", button_1, (e) => {
10012
10632
  e.stopPropagation();
10633
+ if (suppressEventClick) {
10634
+ suppressEventClick = false;
10635
+ return;
10636
+ }
10013
10637
  $$props.oneventclick?.(get(p).ev);
10014
10638
  });
10015
10639
  event("pointerenter", button_1, () => get(oneventhover)?.(get(p).ev));
10016
10640
  append($$anchor2, button_1);
10017
10641
  });
10642
+ var node_16 = sibling(node_8, 2);
10643
+ {
10644
+ var consequent_13 = ($$anchor2) => {
10645
+ const gTop = /* @__PURE__ */ user_derived(() => ((get(drag).payload.start.getTime() - get(dayMs)) / HOUR_MS - get(startHour)) * HOUR_HEIGHT);
10646
+ const gH = /* @__PURE__ */ user_derived(() => Math.max(12, (get(drag).payload.end.getTime() - get(drag).payload.start.getTime()) / HOUR_MS * HOUR_HEIGHT));
10647
+ var div_9 = root_18();
10648
+ let styles_5;
10649
+ var span_14 = child(div_9);
10650
+ var text_12 = child(span_14);
10651
+ reset(span_14);
10652
+ reset(div_9);
10653
+ template_effect(
10654
+ ($0, $1) => {
10655
+ styles_5 = set_style(div_9, "", styles_5, {
10656
+ top: `${get(gTop) ?? ""}px`,
10657
+ height: `${get(gH) ?? ""}px`
10658
+ });
10659
+ set_text(text_12, `${$0 ?? ""} – ${$1 ?? ""}`);
10660
+ },
10661
+ [
10662
+ () => fmtTime$1(get(drag).payload.start, $$props.locale),
10663
+ () => fmtTime$1(get(drag).payload.end, $$props.locale)
10664
+ ]
10665
+ );
10666
+ append($$anchor2, div_9);
10667
+ };
10668
+ if_block(node_16, ($$render) => {
10669
+ if (!readOnly() && get(drag)?.active && get(drag).mode === "create" && get(drag).payload) $$render(consequent_13);
10670
+ });
10671
+ }
10018
10672
  reset(div_3);
10019
10673
  reset(div_2);
10020
10674
  bind_this(div_2, ($$value) => gridEl = $$value, () => gridEl);
@@ -10031,21 +10685,30 @@
10031
10685
  delegated("touchmove", div, onTouchMove);
10032
10686
  delegated("touchend", div, onTouchEnd);
10033
10687
  delegated("click", div_2, handleGridClick);
10688
+ delegated("pointerdown", div_2, onGridPointerDown);
10034
10689
  delegated("keydown", div_2, (e) => {
10035
10690
  if (e.key === "Enter" || e.key === " ") handleGridClick(e);
10036
10691
  });
10037
10692
  append($$anchor, div);
10038
10693
  pop();
10039
10694
  }
10040
- delegate(["touchstart", "touchmove", "touchend", "click", "keydown"]);
10041
- var root$1 = /* @__PURE__ */ from_html(`<span> </span>`);
10042
- var root_1$1 = /* @__PURE__ */ from_html(`<span class="mw-empty svelte-1d18hkf"> </span>`);
10043
- var root_2$1 = /* @__PURE__ */ from_html(`<span class="mw-ev-time svelte-1d18hkf"> </span>`);
10044
- var root_3$1 = /* @__PURE__ */ from_html(`<button type="button"><span class="mw-ev-stripe svelte-1d18hkf"></span> <div class="mw-ev-body svelte-1d18hkf"><span class="mw-ev-title svelte-1d18hkf"> </span> <!></div></button>`);
10045
- var root_4$1 = /* @__PURE__ */ from_html(`<span class="mw-ev-more svelte-1d18hkf"> </span>`);
10046
- var root_5$1 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
10047
- var root_6$1 = /* @__PURE__ */ from_html(`<div role="listitem"><button class="mw-row-target svelte-1d18hkf"></button> <div class="mw-date svelte-1d18hkf"><span> </span> <!></div> <div class="mw-events svelte-1d18hkf"><!></div> <svg class="mw-chevron svelte-1d18hkf" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="14" height="14" aria-hidden="true"><path d="M6 3l5 5-5 5"></path></svg></div>`);
10048
- var root_7$1 = /* @__PURE__ */ from_html(`<div role="region"><div class="mw-list svelte-1d18hkf" role="list"></div></div>`);
10695
+ delegate([
10696
+ "touchstart",
10697
+ "touchmove",
10698
+ "touchend",
10699
+ "click",
10700
+ "pointerdown",
10701
+ "keydown"
10702
+ ]);
10703
+ var root$2 = /* @__PURE__ */ from_html(`<span> </span>`);
10704
+ var root_1$2 = /* @__PURE__ */ from_html(`<span class="mw-empty svelte-1d18hkf"> </span>`);
10705
+ var root_2$2 = /* @__PURE__ */ from_html(`<span class="mw-ev-time svelte-1d18hkf"> </span>`);
10706
+ var root_3$2 = /* @__PURE__ */ from_html(`<span class="mw-ev-title svelte-1d18hkf"> </span> <!>`, 1);
10707
+ var root_4$2 = /* @__PURE__ */ from_html(`<button type="button"><span class="mw-ev-stripe svelte-1d18hkf"></span> <div class="mw-ev-body svelte-1d18hkf"><!></div></button>`);
10708
+ var root_5$2 = /* @__PURE__ */ from_html(`<span class="mw-ev-more svelte-1d18hkf"> </span>`);
10709
+ var root_6$2 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
10710
+ var root_7$1 = /* @__PURE__ */ from_html(`<div role="listitem"><button class="mw-row-target svelte-1d18hkf"></button> <div class="mw-date svelte-1d18hkf"><span> </span> <!></div> <div class="mw-events svelte-1d18hkf"><!></div> <svg class="mw-chevron svelte-1d18hkf" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="14" height="14" aria-hidden="true"><path d="M6 3l5 5-5 5"></path></svg></div>`);
10711
+ var root_8$1 = /* @__PURE__ */ from_html(`<div role="region"><div class="mw-list svelte-1d18hkf" role="list"></div></div>`);
10049
10712
  function MobileWeek($$anchor, $$props) {
10050
10713
  push($$props, true);
10051
10714
  const L = /* @__PURE__ */ user_derived(getLabels);
@@ -10158,12 +10821,12 @@
10158
10821
  e.preventDefault();
10159
10822
  handleDayTap(dayMs);
10160
10823
  }
10161
- var div = root_7$1();
10824
+ var div = root_8$1();
10162
10825
  let classes;
10163
10826
  let styles;
10164
10827
  var div_1 = child(div);
10165
10828
  each(div_1, 21, () => get(dayCells), (cell) => cell.ms, ($$anchor2, cell) => {
10166
- var div_2 = root_6$1();
10829
+ var div_2 = root_7$1();
10167
10830
  let classes_1;
10168
10831
  var button = child(div_2);
10169
10832
  var div_3 = sibling(button, 2);
@@ -10174,7 +10837,7 @@
10174
10837
  var node = sibling(span, 2);
10175
10838
  {
10176
10839
  var consequent = ($$anchor3) => {
10177
- var span_1 = root$1();
10840
+ var span_1 = root$2();
10178
10841
  let classes_3;
10179
10842
  var text_1 = child(span_1, true);
10180
10843
  reset(span_1);
@@ -10193,52 +10856,63 @@
10193
10856
  var node_1 = child(div_4);
10194
10857
  {
10195
10858
  var consequent_1 = ($$anchor3) => {
10196
- var span_2 = root_1$1();
10859
+ var span_2 = root_1$2();
10197
10860
  var text_2 = child(span_2, true);
10198
10861
  reset(span_2);
10199
10862
  template_effect(() => set_text(text_2, get(L).noEvents));
10200
10863
  append($$anchor3, span_2);
10201
10864
  };
10202
10865
  var alternate_1 = ($$anchor3) => {
10203
- var fragment = root_5$1();
10866
+ var fragment = root_6$2();
10204
10867
  var node_2 = first_child(fragment);
10205
10868
  each(node_2, 17, () => get(cell).events.slice(0, MAX_EVENTS), (ev) => ev.id, ($$anchor4, ev) => {
10206
- var button_1 = root_3$1();
10869
+ var button_1 = root_4$2();
10207
10870
  let classes_4;
10208
10871
  let styles_1;
10209
10872
  var div_5 = sibling(child(button_1), 2);
10210
- var span_3 = child(div_5);
10211
- var text_3 = child(span_3, true);
10212
- reset(span_3);
10213
- var node_3 = sibling(span_3, 2);
10214
- {
10215
- var consequent_2 = ($$anchor5) => {
10216
- var span_4 = root_2$1();
10217
- var text_4 = child(span_4, true);
10218
- reset(span_4);
10219
- template_effect(() => set_text(text_4, get(L).allDay));
10220
- append($$anchor5, span_4);
10221
- };
10222
- var d_1 = /* @__PURE__ */ user_derived(() => isAllDay(get(ev)) || isMultiDay(get(ev)));
10223
- var alternate = ($$anchor5) => {
10224
- var span_5 = root_2$1();
10225
- var text_5 = child(span_5, true);
10226
- reset(span_5);
10227
- template_effect(($0) => set_text(text_5, $0), [() => fmtTime2(get(ev).start)]);
10228
- append($$anchor5, span_5);
10229
- };
10230
- if_block(node_3, ($$render) => {
10231
- if (get(d_1)) $$render(consequent_2);
10232
- else $$render(alternate, -1);
10233
- });
10234
- }
10873
+ var node_3 = child(div_5);
10874
+ EventContent(node_3, {
10875
+ get event() {
10876
+ return get(ev);
10877
+ },
10878
+ children: ($$anchor5, $$slotProps) => {
10879
+ var fragment_1 = root_3$2();
10880
+ var span_3 = first_child(fragment_1);
10881
+ var text_3 = child(span_3, true);
10882
+ reset(span_3);
10883
+ var node_4 = sibling(span_3, 2);
10884
+ {
10885
+ var consequent_2 = ($$anchor6) => {
10886
+ var span_4 = root_2$2();
10887
+ var text_4 = child(span_4, true);
10888
+ reset(span_4);
10889
+ template_effect(() => set_text(text_4, get(L).allDay));
10890
+ append($$anchor6, span_4);
10891
+ };
10892
+ var d_1 = /* @__PURE__ */ user_derived(() => isAllDay(get(ev)) || isMultiDay(get(ev)));
10893
+ var alternate = ($$anchor6) => {
10894
+ var span_5 = root_2$2();
10895
+ var text_5 = child(span_5, true);
10896
+ reset(span_5);
10897
+ template_effect(($0) => set_text(text_5, $0), [() => fmtTime2(get(ev).start)]);
10898
+ append($$anchor6, span_5);
10899
+ };
10900
+ if_block(node_4, ($$render) => {
10901
+ if (get(d_1)) $$render(consequent_2);
10902
+ else $$render(alternate, -1);
10903
+ });
10904
+ }
10905
+ template_effect(() => set_text(text_3, get(ev).title));
10906
+ append($$anchor5, fragment_1);
10907
+ },
10908
+ $$slots: { default: true }
10909
+ });
10235
10910
  reset(div_5);
10236
10911
  reset(button_1);
10237
10912
  template_effect(
10238
10913
  ($0) => {
10239
10914
  classes_4 = set_class(button_1, 1, "mw-ev svelte-1d18hkf", null, classes_4, $0);
10240
10915
  styles_1 = set_style(button_1, "", styles_1, { "--ev-color": get(ev).color ?? "var(--dt-accent)" });
10241
- set_text(text_3, get(ev).title);
10242
10916
  },
10243
10917
  [
10244
10918
  () => ({
@@ -10266,16 +10940,16 @@
10266
10940
  event("pointerenter", button_1, () => get(oneventhover)?.(get(ev)));
10267
10941
  append($$anchor4, button_1);
10268
10942
  });
10269
- var node_4 = sibling(node_2, 2);
10943
+ var node_5 = sibling(node_2, 2);
10270
10944
  {
10271
10945
  var consequent_3 = ($$anchor4) => {
10272
- var span_6 = root_4$1();
10946
+ var span_6 = root_5$2();
10273
10947
  var text_6 = child(span_6, true);
10274
10948
  reset(span_6);
10275
10949
  template_effect(($0) => set_text(text_6, $0), [() => get(L).nMore(get(cell).totalCount - MAX_EVENTS)]);
10276
10950
  append($$anchor4, span_6);
10277
10951
  };
10278
- if_block(node_4, ($$render) => {
10952
+ if_block(node_5, ($$render) => {
10279
10953
  if (get(cell).totalCount > MAX_EVENTS) $$render(consequent_3);
10280
10954
  });
10281
10955
  }
@@ -10340,6 +11014,225 @@
10340
11014
  }
10341
11015
  append($$anchor, fragment);
10342
11016
  }
11017
+ var root$1 = /* @__PURE__ */ from_html(`<div class="mg-head-cell svelte-pvjuld" role="columnheader"> </div>`);
11018
+ var root_1$1 = /* @__PURE__ */ from_html(`<button><!></button>`);
11019
+ var root_2$1 = /* @__PURE__ */ from_html(`<span class="mg-chip-time svelte-pvjuld"> </span>`);
11020
+ var root_3$1 = /* @__PURE__ */ from_html(`<button><span class="mg-chip-dot svelte-pvjuld" aria-hidden="true"></span> <!> <span class="mg-chip-title svelte-pvjuld"> </span></button>`);
11021
+ var root_4$1 = /* @__PURE__ */ from_html(`<span class="mg-more svelte-pvjuld"> </span>`);
11022
+ var root_5$1 = /* @__PURE__ */ from_html(`<div role="gridcell"><span> </span> <div class="mg-chips svelte-pvjuld"><!> <!></div></div>`);
11023
+ var root_6$1 = /* @__PURE__ */ from_html(`<div role="grid"><div class="mg-head svelte-pvjuld" role="row"></div> <div class="mg-body svelte-pvjuld"></div></div>`);
11024
+ function MonthGrid($$anchor, $$props) {
11025
+ push($$props, true);
11026
+ const L = /* @__PURE__ */ user_derived(getLabels);
11027
+ let events = prop($$props, "events", 19, () => []), style = prop($$props, "style", 3, ""), height = prop($$props, "height", 3, null), selectedEventId = prop($$props, "selectedEventId", 3, null);
11028
+ const ctx = useCalendarContext();
11029
+ const viewState = /* @__PURE__ */ user_derived(() => ctx.viewState);
11030
+ const autoHeight = /* @__PURE__ */ user_derived(() => ctx.autoHeight);
11031
+ const isMobile = /* @__PURE__ */ user_derived(() => ctx.isMobile);
11032
+ const disabledSet = /* @__PURE__ */ user_derived(() => ctx.disabledSet);
11033
+ const oneventhover = /* @__PURE__ */ user_derived(() => ctx.oneventhover);
11034
+ const ondayclick = /* @__PURE__ */ user_derived(() => ctx.ondayclick);
11035
+ const eventSnippet = /* @__PURE__ */ user_derived(() => ctx.eventSnippet);
11036
+ const loadRangeCtx = /* @__PURE__ */ user_derived(() => ctx.loadRange);
11037
+ const clock = createClock();
11038
+ const todayMs = /* @__PURE__ */ user_derived(() => clock.today);
11039
+ const MAX_CHIPS = /* @__PURE__ */ user_derived(() => get(isMobile) ? 2 : 3);
11040
+ const range = /* @__PURE__ */ user_derived(() => get(viewState)?.range);
11041
+ const focusMonth = /* @__PURE__ */ user_derived(() => ($$props.focusDate ?? /* @__PURE__ */ new Date()).getMonth());
11042
+ user_effect(() => {
11043
+ if (!get(loadRangeCtx) || !get(range)) return;
11044
+ get(loadRangeCtx).set({
11045
+ start: new Date(get(range).start.getTime() - 7 * DAY_MS),
11046
+ end: new Date(get(range).end.getTime() + 7 * DAY_MS)
11047
+ });
11048
+ return () => get(loadRangeCtx).set(null);
11049
+ });
11050
+ function eventsForDay(ms) {
11051
+ const dayStart = ms;
11052
+ const dayEnd = ms + DAY_MS;
11053
+ return events().filter((e) => e.start.getTime() < dayEnd && e.end.getTime() > dayStart).sort((a, b) => {
11054
+ const aAll = isAllDay(a) ? 0 : 1;
11055
+ const bAll = isAllDay(b) ? 0 : 1;
11056
+ return aAll - bAll || a.start.getTime() - b.start.getTime();
11057
+ });
11058
+ }
11059
+ const weeks = /* @__PURE__ */ user_derived(() => {
11060
+ if (!get(range)) return [];
11061
+ const rows = [];
11062
+ for (let ms = sod(get(range).start.getTime()); ms < get(range).end.getTime(); ms += 7 * DAY_MS) {
11063
+ const row = [];
11064
+ for (let i = 0; i < 7; i++) {
11065
+ const cellMs = ms + i * DAY_MS;
11066
+ const date = new Date(cellMs);
11067
+ const jsDay = date.getDay();
11068
+ const dayEvents = eventsForDay(cellMs);
11069
+ row.push({
11070
+ ms: cellMs,
11071
+ date,
11072
+ dayNum: date.getDate(),
11073
+ inMonth: date.getMonth() === get(focusMonth),
11074
+ isToday: cellMs === get(todayMs),
11075
+ isWeekend: jsDay === 0 || jsDay === 6,
11076
+ isDisabled: get(disabledSet).has(cellMs),
11077
+ chips: dayEvents.slice(0, get(MAX_CHIPS)),
11078
+ overflow: Math.max(0, dayEvents.length - get(MAX_CHIPS))
11079
+ });
11080
+ }
11081
+ rows.push(row);
11082
+ }
11083
+ return rows;
11084
+ });
11085
+ const weekdayLabels = /* @__PURE__ */ user_derived(() => {
11086
+ const first = get(weeks)[0];
11087
+ if (!first) return [];
11088
+ return first.map((c) => weekdayShort(c.ms, $$props.locale));
11089
+ });
11090
+ function chipTime(e) {
11091
+ return isAllDay(e) ? "" : fmtTime$1(e.start, $$props.locale);
11092
+ }
11093
+ var div = root_6$1();
11094
+ let classes;
11095
+ let styles;
11096
+ var div_1 = child(div);
11097
+ each(div_1, 20, () => get(weekdayLabels), (name) => name, ($$anchor2, name) => {
11098
+ var div_2 = root$1();
11099
+ var text2 = child(div_2, true);
11100
+ reset(div_2);
11101
+ template_effect(() => set_text(text2, name));
11102
+ append($$anchor2, div_2);
11103
+ });
11104
+ reset(div_1);
11105
+ var div_3 = sibling(div_1, 2);
11106
+ let styles_1;
11107
+ each(div_3, 21, () => get(weeks), index, ($$anchor2, row) => {
11108
+ var fragment = comment();
11109
+ var node = first_child(fragment);
11110
+ each(node, 17, () => get(row), (cell) => cell.ms, ($$anchor3, cell) => {
11111
+ var div_4 = root_5$1();
11112
+ let classes_1;
11113
+ var span = child(div_4);
11114
+ let classes_2;
11115
+ var text_1 = child(span, true);
11116
+ reset(span);
11117
+ var div_5 = sibling(span, 2);
11118
+ var node_1 = child(div_5);
11119
+ each(node_1, 17, () => get(cell).chips, (ev) => ev.id + get(cell).ms, ($$anchor4, ev) => {
11120
+ var fragment_1 = comment();
11121
+ var node_2 = first_child(fragment_1);
11122
+ {
11123
+ var consequent = ($$anchor5) => {
11124
+ var button = root_1$1();
11125
+ let classes_3;
11126
+ var node_3 = child(button);
11127
+ snippet(node_3, () => get(eventSnippet), () => get(ev));
11128
+ reset(button);
11129
+ template_effect(() => classes_3 = set_class(button, 1, "mg-chip mg-chip--custom svelte-pvjuld", null, classes_3, { "mg-chip--selected": get(ev).id === selectedEventId() }));
11130
+ delegated("click", button, (e) => {
11131
+ e.stopPropagation();
11132
+ $$props.oneventclick?.(get(ev));
11133
+ });
11134
+ event("mouseenter", button, () => get(oneventhover)?.(get(ev)));
11135
+ append($$anchor5, button);
11136
+ };
11137
+ var alternate = ($$anchor5) => {
11138
+ var button_1 = root_3$1();
11139
+ let classes_4;
11140
+ let styles_2;
11141
+ var node_4 = sibling(child(button_1), 2);
11142
+ {
11143
+ var consequent_1 = ($$anchor6) => {
11144
+ var span_1 = root_2$1();
11145
+ var text_2 = child(span_1, true);
11146
+ reset(span_1);
11147
+ template_effect(($0) => set_text(text_2, $0), [() => chipTime(get(ev))]);
11148
+ append($$anchor6, span_1);
11149
+ };
11150
+ var d = /* @__PURE__ */ user_derived(() => chipTime(get(ev)));
11151
+ if_block(node_4, ($$render) => {
11152
+ if (get(d)) $$render(consequent_1);
11153
+ });
11154
+ }
11155
+ var span_2 = sibling(node_4, 2);
11156
+ var text_3 = child(span_2, true);
11157
+ reset(span_2);
11158
+ reset(button_1);
11159
+ template_effect(() => {
11160
+ classes_4 = set_class(button_1, 1, "mg-chip svelte-pvjuld", null, classes_4, {
11161
+ "mg-chip--selected": get(ev).id === selectedEventId(),
11162
+ "mg-chip--cancelled": get(ev).status === "cancelled"
11163
+ });
11164
+ set_attribute(button_1, "title", get(ev).title);
11165
+ styles_2 = set_style(button_1, "", styles_2, { "--mg-chip-color": get(ev).color ?? "var(--dt-accent)" });
11166
+ set_text(text_3, get(ev).title);
11167
+ });
11168
+ delegated("click", button_1, (e) => {
11169
+ e.stopPropagation();
11170
+ $$props.oneventclick?.(get(ev));
11171
+ });
11172
+ event("mouseenter", button_1, () => get(oneventhover)?.(get(ev)));
11173
+ append($$anchor5, button_1);
11174
+ };
11175
+ if_block(node_2, ($$render) => {
11176
+ if (get(eventSnippet)) $$render(consequent);
11177
+ else $$render(alternate, -1);
11178
+ });
11179
+ }
11180
+ append($$anchor4, fragment_1);
11181
+ });
11182
+ var node_5 = sibling(node_1, 2);
11183
+ {
11184
+ var consequent_2 = ($$anchor4) => {
11185
+ var span_3 = root_4$1();
11186
+ var text_4 = child(span_3, true);
11187
+ reset(span_3);
11188
+ template_effect(($0) => set_text(text_4, $0), [() => get(L).nMore(get(cell).overflow)]);
11189
+ append($$anchor4, span_3);
11190
+ };
11191
+ if_block(node_5, ($$render) => {
11192
+ if (get(cell).overflow > 0) $$render(consequent_2);
11193
+ });
11194
+ }
11195
+ reset(div_5);
11196
+ reset(div_4);
11197
+ template_effect(() => {
11198
+ classes_1 = set_class(div_4, 1, "mg-cell svelte-pvjuld", null, classes_1, {
11199
+ "mg-cell--out": !get(cell).inMonth,
11200
+ "mg-cell--today": get(cell).isToday,
11201
+ "mg-cell--weekend": get(cell).isWeekend,
11202
+ "mg-cell--disabled": get(cell).isDisabled,
11203
+ "mg-cell--clickable": !!get(ondayclick) && !get(cell).isDisabled
11204
+ });
11205
+ set_attribute(div_4, "tabindex", get(ondayclick) && !get(cell).isDisabled ? 0 : void 0);
11206
+ classes_2 = set_class(span, 1, "mg-daynum svelte-pvjuld", null, classes_2, { "mg-daynum--today": get(cell).isToday });
11207
+ set_text(text_1, get(cell).dayNum);
11208
+ });
11209
+ delegated("click", div_4, () => {
11210
+ if (!get(cell).isDisabled) get(ondayclick)?.(get(cell).date);
11211
+ });
11212
+ delegated("keydown", div_4, (e) => {
11213
+ if ((e.key === "Enter" || e.key === " ") && !get(cell).isDisabled) {
11214
+ e.preventDefault();
11215
+ get(ondayclick)?.(get(cell).date);
11216
+ }
11217
+ });
11218
+ append($$anchor3, div_4);
11219
+ });
11220
+ append($$anchor2, fragment);
11221
+ });
11222
+ reset(div_3);
11223
+ reset(div);
11224
+ template_effect(() => {
11225
+ classes = set_class(div, 1, "mg svelte-pvjuld", null, classes, { "mg--auto": get(autoHeight) });
11226
+ styles = set_style(div, style() || void 0, styles, {
11227
+ height: get(autoHeight) ? void 0 : height() ? `${height()}px` : "100%"
11228
+ });
11229
+ set_attribute(div, "aria-label", get(L).month);
11230
+ styles_1 = set_style(div_3, "", styles_1, { "--mg-rows": get(weeks).length });
11231
+ });
11232
+ append($$anchor, div);
11233
+ pop();
11234
+ }
11235
+ delegate(["click", "keydown"]);
10343
11236
  var root = /* @__PURE__ */ from_html(`<button class="cal-m-nav svelte-1b53e7w"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="16" height="16" aria-hidden="true" class="svelte-1b53e7w"><path d="M10 3 5 8l5 5" class="svelte-1b53e7w"></path></svg></button>`);
10344
11237
  var root_1 = /* @__PURE__ */ from_html(`<button> </button>`);
10345
11238
  var root_2 = /* @__PURE__ */ from_html(`<div class="cal-m-pills svelte-1b53e7w" role="group"></div>`);
@@ -10392,11 +11285,21 @@
10392
11285
  label: "Mobile",
10393
11286
  mode: "week",
10394
11287
  component: Mobile
11288
+ },
11289
+ {
11290
+ id: "month-grid",
11291
+ label: "Month",
11292
+ mode: "month",
11293
+ component: MonthGrid
10395
11294
  }
10396
11295
  ];
10397
11296
  let views = prop($$props, "views", 3, DEFAULT_VIEWS), theme = prop($$props, "theme", 3, auto), mondayStart = prop($$props, "mondayStart", 3, true), heightProp = prop($$props, "height", 3, 600), borderRadius = prop($$props, "borderRadius", 3, 12), readOnly = prop($$props, "readOnly", 3, false), snapInterval = prop($$props, "snapInterval", 3, 15), showModePills = prop($$props, "showModePills", 3, true), showNavigation = prop($$props, "showNavigation", 3, true), equalDays = prop($$props, "equalDays", 3, false), showDates = prop($$props, "showDates", 3, true), compact = prop($$props, "compact", 3, false), mobileProp = prop($$props, "mobile", 3, "auto");
10398
11297
  const effectiveCreate = /* @__PURE__ */ user_derived(() => readOnly() ? void 0 : $$props.oneventcreate);
10399
11298
  const effectiveMove = /* @__PURE__ */ user_derived(() => readOnly() ? void 0 : $$props.oneventmove);
11299
+ function handleEventClick(ev) {
11300
+ selection.select(ev.id);
11301
+ $$props.oneventclick?.(ev);
11302
+ }
10400
11303
  let containerWidth = /* @__PURE__ */ state(0);
10401
11304
  const isMobileContainer = /* @__PURE__ */ user_derived(() => get(containerWidth) > 0 && get(containerWidth) < MOBILE_BREAKPOINT);
10402
11305
  const useMobile = /* @__PURE__ */ user_derived(() => mobileProp() === "auto" ? get(isMobileContainer) : Boolean(mobileProp()));
@@ -10445,6 +11348,11 @@
10445
11348
  if (!payload) return;
10446
11349
  let { start, end } = payload;
10447
11350
  if (mode === "create" || mode === "resize-start" || mode === "resize-end") {
11351
+ if (end.getTime() <= start.getTime()) {
11352
+ const floorMs = Math.max(1, snapInterval()) * 6e4;
11353
+ if (mode === "resize-start") start = new Date(end.getTime() - floorMs);
11354
+ else end = new Date(start.getTime() + floorMs);
11355
+ }
10448
11356
  const durationMs = end.getTime() - start.getTime();
10449
11357
  const durationMin = durationMs / 6e4;
10450
11358
  if ($$props.minDuration && durationMin < $$props.minDuration) {
@@ -10491,8 +11399,12 @@
10491
11399
  if (ev) get(effectiveMove)?.(ev, start, end);
10492
11400
  } catch (e) {
10493
11401
  const msg = e instanceof Error ? e.message : "";
10494
- if (!msg.includes("read-only") && !msg.includes("not found")) {
10495
- console.warn("[calendar] drag commit failed:", e);
11402
+ if (msg.includes("read-only")) {
11403
+ const ev = get(store).byId(payload.eventId);
11404
+ if (ev) get(effectiveMove)?.(ev, start, end);
11405
+ } else if (!msg.includes("not found")) {
11406
+ if ($$props.onerror) $$props.onerror(e instanceof Error ? e : new Error(String(e)));
11407
+ else console.warn("[calendar] drag commit failed:", e);
10496
11408
  }
10497
11409
  }
10498
11410
  } else if (mode === "create") {
@@ -10511,7 +11423,7 @@
10511
11423
  commitDrag,
10512
11424
  // Callbacks
10513
11425
  get oneventclick() {
10514
- return $$props.oneventclick;
11426
+ return handleEventClick;
10515
11427
  },
10516
11428
  get oneventcreate() {
10517
11429
  return get(effectiveCreate);
@@ -10522,6 +11434,9 @@
10522
11434
  get oneventhover() {
10523
11435
  return $$props.oneventhover;
10524
11436
  },
11437
+ get ondayclick() {
11438
+ return $$props.ondayclick;
11439
+ },
10525
11440
  // Config (reactive via getters)
10526
11441
  get readOnly() {
10527
11442
  return readOnly();
@@ -10605,6 +11520,9 @@
10605
11520
  user_effect(() => {
10606
11521
  $$props.onviewchange?.(viewState.view);
10607
11522
  });
11523
+ user_effect(() => {
11524
+ if (get(store).error && $$props.onerror) $$props.onerror(new Error(get(store).error));
11525
+ });
10608
11526
  const resolvedView = /* @__PURE__ */ user_derived(() => {
10609
11527
  const requested = views().find((v) => v.id === viewState.view) ?? views()[0];
10610
11528
  if (!get(useMobile) || !requested) return requested;
@@ -10617,9 +11535,6 @@
10617
11535
  const desktopViews = /* @__PURE__ */ user_derived(() => views().filter((v) => !v.id.endsWith("-mobile")));
10618
11536
  const dateLabel = /* @__PURE__ */ user_derived(() => {
10619
11537
  if (!showDates()) {
10620
- if (viewState.mode === "day") {
10621
- return viewState.focusDate.toLocaleDateString($$props.locale, { weekday: "long" });
10622
- }
10623
11538
  return "";
10624
11539
  }
10625
11540
  if (viewState.mode === "day") {
@@ -10629,7 +11544,7 @@
10629
11544
  });
10630
11545
  const modes = /* @__PURE__ */ user_derived(() => {
10631
11546
  const g = new Set(get(desktopViews).map((v) => v.mode));
10632
- return ["day", "week"].filter((key) => g.has(key));
11547
+ return ["day", "week", "month"].filter((key) => g.has(key));
10633
11548
  });
10634
11549
  const L = /* @__PURE__ */ user_derived(getLabels);
10635
11550
  function switchMode(g) {
@@ -10687,7 +11602,7 @@
10687
11602
  };
10688
11603
  var consequent_2 = ($$anchor3) => {
10689
11604
  var button = root();
10690
- template_effect(() => set_attribute(button, "aria-label", viewState.mode === "day" ? get(L).previousDay : get(L).previousWeek));
11605
+ template_effect(() => set_attribute(button, "aria-label", viewState.mode === "day" ? get(L).previousDay : viewState.mode === "month" ? get(L).previousMonth : get(L).previousWeek));
10691
11606
  delegated("click", button, () => viewState.prev());
10692
11607
  append($$anchor3, button);
10693
11608
  };
@@ -10708,7 +11623,7 @@
10708
11623
  template_effect(() => {
10709
11624
  classes_1 = set_class(button_1, 1, "cal-m-pill svelte-1b53e7w", null, classes_1, { "cal-m-pill--active": viewState.mode === get(g) });
10710
11625
  set_attribute(button_1, "aria-pressed", viewState.mode === get(g));
10711
- set_text(text2, get(g) === "day" ? get(L).day : get(L).week);
11626
+ set_text(text2, get(g) === "day" ? get(L).day : get(g) === "week" ? get(L).week : get(L).month);
10712
11627
  });
10713
11628
  delegated("click", button_1, () => switchMode(get(g)));
10714
11629
  append($$anchor4, button_1);
@@ -10730,7 +11645,7 @@
10730
11645
  {
10731
11646
  var consequent_4 = ($$anchor3) => {
10732
11647
  var button_2 = root_3();
10733
- template_effect(() => set_attribute(button_2, "aria-label", viewState.mode === "day" ? get(L).nextDay : get(L).nextWeek));
11648
+ template_effect(() => set_attribute(button_2, "aria-label", viewState.mode === "day" ? get(L).nextDay : viewState.mode === "month" ? get(L).nextMonth : get(L).nextWeek));
10734
11649
  delegated("click", button_2, () => viewState.next());
10735
11650
  append($$anchor3, button_2);
10736
11651
  };
@@ -10792,8 +11707,8 @@
10792
11707
  var button_5 = sibling(node_9, 2);
10793
11708
  var button_6 = sibling(button_5, 2);
10794
11709
  template_effect(() => {
10795
- set_attribute(button_5, "aria-label", viewState.mode === "day" ? get(L).previousDay : get(L).previousWeek);
10796
- set_attribute(button_6, "aria-label", viewState.mode === "day" ? get(L).nextDay : get(L).nextWeek);
11710
+ set_attribute(button_5, "aria-label", viewState.mode === "day" ? get(L).previousDay : viewState.mode === "month" ? get(L).previousMonth : get(L).previousWeek);
11711
+ set_attribute(button_6, "aria-label", viewState.mode === "day" ? get(L).nextDay : viewState.mode === "month" ? get(L).nextMonth : get(L).nextWeek);
10797
11712
  });
10798
11713
  delegated("click", button_5, () => viewState.prev());
10799
11714
  delegated("click", button_6, () => viewState.next());
@@ -10821,7 +11736,7 @@
10821
11736
  template_effect(() => {
10822
11737
  classes_2 = set_class(button_7, 1, "cal-pill svelte-1b53e7w", null, classes_2, { "cal-pill--active": viewState.mode === get(g) });
10823
11738
  set_attribute(button_7, "aria-pressed", viewState.mode === get(g));
10824
- set_text(text_5, get(g) === "day" ? get(L).day : get(L).week);
11739
+ set_text(text_5, get(g) === "day" ? get(L).day : get(g) === "week" ? get(L).week : get(L).month);
10825
11740
  });
10826
11741
  delegated("click", button_7, () => switchMode(get(g)));
10827
11742
  append($$anchor4, button_7);
@@ -10841,7 +11756,7 @@
10841
11756
  };
10842
11757
  if_block(node, ($$render) => {
10843
11758
  if ($$props.header) $$render(consequent);
10844
- else if (get(useMobile)) $$render(consequent_6, 1);
11759
+ else if (get(useMobile) && (showNavigation() || showModePills() && get(modes).length > 1 || get(dateLabel))) $$render(consequent_6, 1);
10845
11760
  else if (showNavigation() || showModePills() && get(modes).length > 1 || get(dateLabel)) $$render(consequent_11, 2);
10846
11761
  });
10847
11762
  }
@@ -10874,9 +11789,7 @@
10874
11789
  get focusDate() {
10875
11790
  return viewState.focusDate;
10876
11791
  },
10877
- get oneventclick() {
10878
- return $$props.oneventclick;
10879
- },
11792
+ oneventclick: handleEventClick,
10880
11793
  get oneventcreate() {
10881
11794
  return get(effectiveCreate);
10882
11795
  },