@nomideusz/svelte-calendar 0.7.4 → 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 +645 -549
  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 +329 -13
  36. package/widget/widget.js +1945 -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,12 +7434,14 @@
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",
7238
7441
  "fs-event--full": get(p).ev.status === "full",
7239
7442
  "fs-event--limited": get(p).ev.status === "limited"
7240
7443
  });
7444
+ set_attribute(div_9, "title", get(p).ev.title);
7241
7445
  set_attribute(div_9, "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})` : ""}`);
7242
7446
  styles_7 = set_style(div_9, "", styles_7, {
7243
7447
  left: `${get(p).x ?? ""}px`,
@@ -7246,7 +7450,6 @@
7246
7450
  height: `${get(p).heightPx ?? ""}px`,
7247
7451
  "--ev-color": get(p).ev.color ?? "var(--dt-accent)"
7248
7452
  });
7249
- set_text(text_6, get(p).ev.title);
7250
7453
  });
7251
7454
  delegated("pointerdown", div_9, (e) => onEventPointerDown(e, get(p).ev));
7252
7455
  event("pointerenter", div_9, () => get(oneventhover)?.(get(p).ev));
@@ -7258,71 +7461,104 @@
7258
7461
  });
7259
7462
  append($$anchor2, div_9);
7260
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
+ }
7261
7497
  reset(div_2);
7262
7498
  reset(div_1);
7263
7499
  bind_this(div_1, ($$value) => el = $$value, () => el);
7264
- var node_15 = sibling(div_1, 2);
7500
+ var node_18 = sibling(div_1, 2);
7265
7501
  {
7266
- var consequent_12 = ($$anchor2) => {
7267
- var div_11 = root_16$4();
7268
- set_style(div_11, "", {}, { top: "56px" });
7269
- each(div_11, 21, () => get(allDayEvents), (seg) => seg.ev.id, ($$anchor3, seg) => {
7270
- 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();
7271
7507
  let classes_4;
7272
- let styles_8;
7273
- var span_12 = sibling(child(div_12), 2);
7274
- var text_10 = child(span_12, true);
7275
- reset(span_12);
7276
- 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);
7277
7513
  {
7278
- var consequent_11 = ($$anchor4) => {
7279
- var span_13 = root_14$4();
7280
- var text_11 = child(span_13);
7281
- reset(span_13);
7282
- template_effect(() => set_text(text_11, `${get(L).day ?? ""} ${get(seg).dayIndex ?? ""}/${get(seg).totalDays ?? ""}`));
7283
- append($$anchor4, span_13);
7284
- };
7285
- var alternate = ($$anchor4) => {
7286
- var span_14 = root_14$4();
7287
- 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);
7288
7517
  reset(span_14);
7289
- 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 ?? ""}`));
7290
7519
  append($$anchor4, span_14);
7291
7520
  };
7292
- if_block(node_16, ($$render) => {
7293
- 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);
7294
7530
  else $$render(alternate, -1);
7295
7531
  });
7296
7532
  }
7297
- reset(div_12);
7533
+ reset(div_15);
7298
7534
  template_effect(
7299
7535
  ($0) => {
7300
- 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, {
7301
7537
  "fs-ad--start": get(seg).isStart,
7302
7538
  "fs-ad--selected": selectedEventId() === get(seg).ev.id
7303
7539
  });
7304
- set_attribute(div_12, "aria-label", `${get(seg).ev.title ?? ""}${$0 ?? ""}`);
7305
- styles_8 = set_style(div_12, "", styles_8, { "--ev-color": get(seg).ev.color ?? "var(--dt-accent)" });
7306
- 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);
7307
7543
  },
7308
7544
  [
7309
7545
  () => get(seg).totalDays > 1 ? `, ${get(L).dayNOfTotal(get(seg).dayIndex, get(seg).totalDays)}` : `, ${get(L).allDay}`
7310
7546
  ]
7311
7547
  );
7312
- delegated("click", div_12, () => $$props.oneventclick?.(get(seg).ev));
7313
- delegated("keydown", div_12, (e) => {
7548
+ delegated("click", div_15, () => $$props.oneventclick?.(get(seg).ev));
7549
+ delegated("keydown", div_15, (e) => {
7314
7550
  if (e.key === "Enter" || e.key === " ") {
7315
7551
  e.preventDefault();
7316
7552
  $$props.oneventclick?.(get(seg).ev);
7317
7553
  }
7318
7554
  });
7319
- append($$anchor3, div_12);
7555
+ append($$anchor3, div_15);
7320
7556
  });
7321
- reset(div_11);
7322
- append($$anchor2, div_11);
7557
+ reset(div_14);
7558
+ append($$anchor2, div_14);
7323
7559
  };
7324
- if_block(node_15, ($$render) => {
7325
- if (get(allDayEvents).length > 0) $$render(consequent_12);
7560
+ if_block(node_18, ($$render) => {
7561
+ if (get(allDayEvents).length > 0) $$render(consequent_14);
7326
7562
  });
7327
7563
  }
7328
7564
  reset(div);
@@ -7408,18 +7644,18 @@
7408
7644
  "(prefers-reduced-motion: reduce)"
7409
7645
  );
7410
7646
  const allDaySegmentContent = ($$anchor, seg = noop) => {
7411
- var fragment = root_3$5();
7647
+ var fragment = root_3$6();
7412
7648
  var node = first_child(fragment);
7413
7649
  {
7414
7650
  var consequent = ($$anchor2) => {
7415
- var span = root$4();
7651
+ var span = root$5();
7416
7652
  var text2 = child(span, true);
7417
7653
  reset(span);
7418
7654
  template_effect(() => set_text(text2, seg().ev.title));
7419
7655
  append($$anchor2, span);
7420
7656
  };
7421
7657
  var alternate = ($$anchor2) => {
7422
- var fragment_1 = root_1$5();
7658
+ var fragment_1 = root_1$6();
7423
7659
  var span_1 = sibling(first_child(fragment_1), 2);
7424
7660
  var text_1 = child(span_1, true);
7425
7661
  reset(span_1);
@@ -7434,7 +7670,7 @@
7434
7670
  var node_1 = sibling(node, 2);
7435
7671
  {
7436
7672
  var consequent_1 = ($$anchor2) => {
7437
- var span_2 = root_2$5();
7673
+ var span_2 = root_2$6();
7438
7674
  append($$anchor2, span_2);
7439
7675
  };
7440
7676
  if_block(node_1, ($$render) => {
@@ -7443,15 +7679,15 @@
7443
7679
  }
7444
7680
  append($$anchor, fragment);
7445
7681
  };
7446
- var root$4 = /* @__PURE__ */ from_html(`<span class="wg-ad-title svelte-j4rvbp"> </span>`);
7447
- 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);
7448
- var root_2$5 = /* @__PURE__ */ from_html(`<span class="wg-ad-arrow svelte-j4rvbp" aria-hidden="true">▸</span>`);
7449
- var root_3$5 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
7450
- var root_4$5 = /* @__PURE__ */ from_html(`<span class="wg-ev-loc svelte-j4rvbp"> </span>`);
7451
- var root_5$5 = /* @__PURE__ */ from_html(`<span class="wg-ev-time svelte-j4rvbp"> </span> <span class="wg-ev-title svelte-j4rvbp"> </span> <!>`, 1);
7452
- 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>`);
7453
7689
  var root_7$5 = /* @__PURE__ */ from_html(`<span class="wg-cell-month svelte-j4rvbp"> </span>`);
7454
- 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>`);
7455
7691
  var root_9$4 = /* @__PURE__ */ from_html(`<span class="wg-blocked-label svelte-j4rvbp"> </span>`);
7456
7692
  var root_10$4 = /* @__PURE__ */ from_html(`<div class="wg-blocked svelte-j4rvbp"><!></div>`);
7457
7693
  var root_11$4 = /* @__PURE__ */ from_html(`<div role="button" tabindex="0"><!></div>`);
@@ -7460,39 +7696,47 @@
7460
7696
  var root_14$3 = /* @__PURE__ */ from_html(`<div class="wg-ev wg-ev--drag-preview svelte-j4rvbp" aria-hidden="true"><!></div>`);
7461
7697
  var root_15$3 = /* @__PURE__ */ from_html(`<div class="wg-ev-more svelte-j4rvbp"> </div>`);
7462
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>`);
7463
- var root_17$2 = /* @__PURE__ */ from_html(`<div><div class="wg-week-body svelte-j4rvbp"><div class="wg-days svelte-j4rvbp"></div></div></div>`);
7464
- 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>`);
7465
7701
  function PlannerWeek($$anchor, $$props) {
7466
7702
  push($$props, true);
7467
7703
  const timedEventContent = ($$anchor2, ev = noop) => {
7468
- var fragment_2 = root_5$5();
7469
- var span_3 = first_child(fragment_2);
7470
- var text_2 = child(span_3, true);
7471
- reset(span_3);
7472
- var span_4 = sibling(span_3, 2);
7473
- var text_3 = child(span_4, true);
7474
- reset(span_4);
7475
- var node_2 = sibling(span_4, 2);
7476
- {
7477
- var consequent_2 = ($$anchor3) => {
7478
- var span_5 = root_4$5();
7479
- var text_4 = child(span_5, true);
7480
- reset(span_5);
7481
- template_effect(() => set_text(text_4, ev().location));
7482
- append($$anchor3, span_5);
7483
- };
7484
- if_block(node_2, ($$render) => {
7485
- if (ev().location) $$render(consequent_2);
7486
- });
7487
- }
7488
- template_effect(
7489
- ($0) => {
7490
- set_text(text_2, $0);
7491
- set_text(text_3, ev().title);
7704
+ EventContent($$anchor2, {
7705
+ get event() {
7706
+ return ev();
7492
7707
  },
7493
- [() => fmtAmPm(ev().start)]
7494
- );
7495
- 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
+ });
7496
7740
  };
7497
7741
  const L = /* @__PURE__ */ user_derived(getLabels);
7498
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);
@@ -7766,12 +8010,12 @@
7766
8010
  if (get(drag) && evDragStarted) get(drag).cancel();
7767
8011
  cleanupEvDrag();
7768
8012
  }
7769
- var div = root_18$2();
8013
+ var div = root_18$3();
7770
8014
  let classes;
7771
8015
  let styles;
7772
8016
  var div_1 = child(div);
7773
8017
  each(div_1, 21, () => get(weeks), (week) => week.weekStart, ($$anchor2, week) => {
7774
- var div_2 = root_17$2();
8018
+ var div_2 = root_17$3();
7775
8019
  let classes_1;
7776
8020
  var div_3 = child(div_2);
7777
8021
  var div_4 = child(div_3);
@@ -7787,7 +8031,7 @@
7787
8031
  var node_3 = child(div_6);
7788
8032
  {
7789
8033
  var consequent_3 = ($$anchor4) => {
7790
- var span_6 = root_6$5();
8034
+ var span_6 = root_6$6();
7791
8035
  let classes_4;
7792
8036
  var text_5 = child(span_6, true);
7793
8037
  reset(span_6);
@@ -7821,7 +8065,7 @@
7821
8065
  var node_5 = sibling(node_4, 2);
7822
8066
  {
7823
8067
  var consequent_5 = ($$anchor4) => {
7824
- var div_7 = root_8$4();
8068
+ var div_7 = root_8$5();
7825
8069
  var node_6 = child(div_7);
7826
8070
  {
7827
8071
  let $0 = /* @__PURE__ */ user_derived(() => ({
@@ -7843,11 +8087,11 @@
7843
8087
  var consequent_8 = ($$anchor4) => {
7844
8088
  const jsDay = /* @__PURE__ */ user_derived(() => new Date(get(day).ms).getDay());
7845
8089
  const isoDay = /* @__PURE__ */ user_derived(() => get(jsDay) === 0 ? 7 : get(jsDay));
7846
- var fragment_3 = comment();
7847
- var node_8 = first_child(fragment_3);
8090
+ var fragment_4 = comment();
8091
+ var node_8 = first_child(fragment_4);
7848
8092
  each(node_8, 17, () => get(blockedSlots), index, ($$anchor5, slot) => {
7849
- var fragment_4 = comment();
7850
- var node_9 = first_child(fragment_4);
8093
+ var fragment_5 = comment();
8094
+ var node_9 = first_child(fragment_5);
7851
8095
  {
7852
8096
  var consequent_7 = ($$anchor6) => {
7853
8097
  var div_8 = root_10$4();
@@ -7872,9 +8116,9 @@
7872
8116
  if (!get(slot).day || get(slot).day === get(isoDay)) $$render(consequent_7);
7873
8117
  });
7874
8118
  }
7875
- append($$anchor5, fragment_4);
8119
+ append($$anchor5, fragment_5);
7876
8120
  });
7877
- append($$anchor4, fragment_3);
8121
+ append($$anchor4, fragment_4);
7878
8122
  };
7879
8123
  if_block(node_7, ($$render) => {
7880
8124
  if (get(blockedSlots)?.length) $$render(consequent_8);
@@ -8146,32 +8390,39 @@
8146
8390
  }
8147
8391
  return slots;
8148
8392
  }
8149
- 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>`);
8150
- 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>`);
8151
- var root_2$4 = /* @__PURE__ */ from_html(`<div class="ag-q-empty svelte-n8lbn1"> </div>`);
8152
- var root_3$4 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-sub svelte-n8lbn1"> </span>`);
8153
- var root_4$4 = /* @__PURE__ */ from_html(`<span class="ag-compact-row-tag svelte-n8lbn1"> </span>`);
8154
- 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>`);
8155
- var root_6$4 = /* @__PURE__ */ from_html(`<div class="ag-compact-list svelte-n8lbn1"><!></div>`);
8156
- 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>`);
8157
- var root_8$3 = /* @__PURE__ */ from_html(`<div class="ag-q-done-section svelte-n8lbn1"><div class="ag-q-label svelte-n8lbn1"> </div> <!></div>`);
8158
- 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>`);
8159
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>`);
8160
- var root_11$3 = /* @__PURE__ */ from_html(`<span class="ag-card-sub svelte-n8lbn1"> </span>`);
8161
- var root_12$3 = /* @__PURE__ */ from_html(`<span class="ag-card-tag svelte-n8lbn1"> </span>`);
8162
- var root_13$2 = /* @__PURE__ */ from_html(`<div class="ag-card-tags svelte-n8lbn1"></div>`);
8163
- 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>`);
8164
- 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>`);
8165
- 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>`);
8166
- var root_17$1 = /* @__PURE__ */ from_html(`<div class="ag-log svelte-n8lbn1"><!></div>`);
8167
- var root_18$1 = /* @__PURE__ */ from_html(`<span class="ag-card-loc svelte-n8lbn1"> </span>`);
8168
- 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>`);
8169
- var root_20$1 = /* @__PURE__ */ from_html(`<div class="ag-plan svelte-n8lbn1"><!></div>`);
8170
- 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>`);
8171
8421
  function AgendaDay($$anchor, $$props) {
8172
8422
  push($$props, true);
8173
8423
  const L = /* @__PURE__ */ user_derived(getLabels);
8174
8424
  const ctx = useCalendarContext();
8425
+ const emptySnippet = /* @__PURE__ */ user_derived(() => ctx.emptySnippet);
8175
8426
  let events = prop($$props, "events", 19, () => []), style = prop($$props, "style", 3, ""), selectedEventId = prop($$props, "selectedEventId", 3, null);
8176
8427
  const clock = createClock();
8177
8428
  const viewState = /* @__PURE__ */ user_derived(() => ctx.viewState);
@@ -8241,27 +8492,29 @@
8241
8492
  const upcomingNext = /* @__PURE__ */ user_derived(() => {
8242
8493
  const all = [];
8243
8494
  for (const slot of get(dayCat).upcomingSlots) {
8244
- for (const ev of slot.events) {
8245
- all.push(ev);
8246
- if (all.length >= 5) return all;
8247
- }
8495
+ for (const ev of slot.events) all.push(ev);
8248
8496
  }
8249
8497
  return all;
8250
8498
  });
8251
- 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();
8252
8505
  let classes;
8253
8506
  let styles;
8254
8507
  var div_1 = child(div);
8255
8508
  var node = child(div_1);
8256
8509
  {
8257
8510
  var consequent = ($$anchor2) => {
8258
- var div_2 = root_1$4();
8511
+ var div_2 = root_1$5();
8259
8512
  var div_3 = child(div_2);
8260
8513
  var text2 = child(div_3, true);
8261
8514
  reset(div_3);
8262
8515
  var div_4 = sibling(div_3, 2);
8263
8516
  each(div_4, 21, () => get(allDayBanner), (ev) => ev.id, ($$anchor3, ev) => {
8264
- var div_5 = root$3();
8517
+ var div_5 = root$4();
8265
8518
  let classes_1;
8266
8519
  let styles_1;
8267
8520
  var span = sibling(child(div_5), 2);
@@ -8292,67 +8545,102 @@
8292
8545
  }
8293
8546
  var node_1 = sibling(node, 2);
8294
8547
  {
8295
- var consequent_4 = ($$anchor2) => {
8296
- var div_6 = root_6$4();
8548
+ var consequent_5 = ($$anchor2) => {
8549
+ var div_6 = root_7$4();
8297
8550
  var node_2 = child(div_6);
8298
8551
  {
8299
- var consequent_1 = ($$anchor3) => {
8300
- var div_7 = root_2$4();
8301
- 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
+ }
8302
8572
  reset(div_7);
8303
- template_effect(() => set_text(text_2, get(L).nothingScheduledYet));
8304
8573
  append($$anchor3, div_7);
8305
8574
  };
8306
- var alternate = ($$anchor3) => {
8307
- var fragment = comment();
8308
- var node_3 = first_child(fragment);
8309
- each(node_3, 17, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev) => {
8310
- 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();
8311
8580
  let classes_2;
8312
8581
  let styles_2;
8313
- var span_1 = sibling(child(div_8), 2);
8314
- var text_3 = child(span_1, true);
8315
- reset(span_1);
8316
- var span_2 = sibling(span_1, 2);
8317
- var text_4 = child(span_2, true);
8318
- reset(span_2);
8319
- var node_4 = sibling(span_2, 2);
8320
- {
8321
- var consequent_2 = ($$anchor5) => {
8322
- var span_3 = root_3$4();
8323
- var text_5 = child(span_3, true);
8324
- reset(span_3);
8325
- template_effect(() => set_text(text_5, get(ev).subtitle));
8326
- append($$anchor5, span_3);
8327
- };
8328
- if_block(node_4, ($$render) => {
8329
- if (get(ev).subtitle) $$render(consequent_2);
8330
- });
8331
- }
8332
- var node_5 = sibling(node_4, 2);
8333
- {
8334
- var consequent_3 = ($$anchor5) => {
8335
- var fragment_1 = comment();
8336
- var node_6 = first_child(fragment_1);
8337
- each(node_6, 17, () => get(ev).tags, index, ($$anchor6, tag) => {
8338
- var span_4 = root_4$4();
8339
- var text_6 = child(span_4, true);
8340
- reset(span_4);
8341
- template_effect(() => set_text(text_6, get(tag)));
8342
- append($$anchor6, span_4);
8343
- });
8344
- append($$anchor5, fragment_1);
8345
- };
8346
- if_block(node_5, ($$render) => {
8347
- if (get(ev).tags?.length) $$render(consequent_3);
8348
- });
8349
- }
8350
- var span_5 = sibling(node_5, 2);
8351
- var text_7 = child(span_5, true);
8352
- 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
+ });
8353
8641
  reset(div_8);
8354
8642
  template_effect(
8355
- ($0, $1, $2, $3) => {
8643
+ ($0, $1) => {
8356
8644
  classes_2 = set_class(div_8, 1, "ag-compact-row svelte-n8lbn1", null, classes_2, {
8357
8645
  "ag-compact-row--selected": selectedEventId() === get(ev).id,
8358
8646
  "ag-compact-row--cancelled": get(ev).status === "cancelled",
@@ -8360,106 +8648,74 @@
8360
8648
  });
8361
8649
  set_attribute(div_8, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
8362
8650
  styles_2 = set_style(div_8, "", styles_2, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8363
- set_text(text_3, $2);
8364
- set_text(text_4, get(ev).title);
8365
- set_text(text_7, $3);
8366
8651
  },
8367
- [
8368
- () => fmt(get(ev).start),
8369
- () => duration(get(ev)),
8370
- () => fmt(get(ev).start),
8371
- () => duration(get(ev))
8372
- ]
8652
+ [() => fmt(get(ev).start), () => duration(get(ev))]
8373
8653
  );
8374
8654
  delegated("click", div_8, () => handleClick(get(ev)));
8375
8655
  event("pointerenter", div_8, () => get(oneventhover)?.(get(ev)));
8376
8656
  delegated("keydown", div_8, (e) => handleKeydown(e, get(ev)));
8377
8657
  append($$anchor4, div_8);
8378
8658
  });
8379
- append($$anchor3, fragment);
8659
+ append($$anchor3, fragment_2);
8380
8660
  };
8381
8661
  if_block(node_2, ($$render) => {
8382
- if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_1);
8383
- else $$render(alternate, -1);
8662
+ if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_2);
8663
+ else $$render(alternate_1, -1);
8384
8664
  });
8385
8665
  }
8386
8666
  reset(div_6);
8387
8667
  append($$anchor2, div_6);
8388
8668
  };
8389
- var consequent_10 = ($$anchor2) => {
8390
- var div_9 = root_15$2();
8669
+ var consequent_15 = ($$anchor2) => {
8670
+ var div_9 = root_21$1();
8391
8671
  var div_10 = child(div_9);
8392
- 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);
8393
8679
  {
8394
- var consequent_5 = ($$anchor3) => {
8395
- var div_11 = root_8$3();
8396
- var div_12 = child(div_11);
8397
- var text_8 = child(div_12, true);
8398
- reset(div_12);
8399
- var node_8 = sibling(div_12, 2);
8400
- each(node_8, 17, () => get(dayCat).past, (ev) => ev.id, ($$anchor4, ev) => {
8401
- 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();
8402
8685
  let classes_3;
8403
- var span_6 = sibling(child(div_13), 2);
8404
- var text_9 = child(span_6, true);
8405
- reset(span_6);
8406
- reset(div_13);
8407
- template_effect(
8408
- ($0) => {
8409
- classes_3 = set_class(div_13, 1, "ag-q-done-item svelte-n8lbn1", null, classes_3, {
8410
- "ag-q-done-item--selected": selectedEventId() === get(ev).id
8411
- });
8412
- set_attribute(div_13, "aria-label", `${get(ev).title ?? ""}, ${get(L).completed ?? ""}, ${$0 ?? ""}`);
8413
- set_text(text_9, get(ev).title);
8414
- },
8415
- [() => fmt(get(ev).start)]
8416
- );
8417
- delegated("click", div_13, () => handleClick(get(ev)));
8418
- delegated("keydown", div_13, (e) => handleKeydown(e, get(ev)));
8419
- append($$anchor4, div_13);
8420
- });
8421
- reset(div_11);
8422
- template_effect(() => set_text(text_8, get(L).done));
8423
- append($$anchor3, div_11);
8424
- };
8425
- if_block(node_7, ($$render) => {
8426
- if (get(dayCat).past.length > 0) $$render(consequent_5);
8427
- });
8428
- }
8429
- var div_14 = sibling(node_7, 2);
8430
- var text_10 = child(div_14);
8431
- var span_7 = sibling(text_10);
8432
- var text_11 = child(span_7, true);
8433
- reset(span_7);
8434
- reset(div_14);
8435
- var node_9 = sibling(div_14, 2);
8436
- {
8437
- var consequent_6 = ($$anchor3) => {
8438
- var fragment_2 = comment();
8439
- var node_10 = first_child(fragment_2);
8440
- each(node_10, 17, () => get(dayCat).current, (ev) => ev.id, ($$anchor4, ev) => {
8441
- var div_15 = root_9$3();
8442
- let classes_4;
8443
8686
  let styles_3;
8444
- var div_16 = sibling(child(div_15), 2);
8445
- var text_12 = child(div_16, true);
8446
- reset(div_16);
8447
- var div_17 = sibling(div_16, 2);
8448
- var text_13 = child(div_17);
8449
- reset(div_17);
8450
- var div_18 = sibling(div_17, 2);
8451
- var div_19 = child(div_18);
8452
- let styles_4;
8453
- 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);
8454
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);
8455
8711
  template_effect(
8456
8712
  ($0, $1, $2) => {
8457
- classes_4 = set_class(div_15, 1, "ag-q-now svelte-n8lbn1", null, classes_4, { "ag-q-now--selected": selectedEventId() === get(ev).id });
8458
- set_attribute(div_15, "aria-label", `${get(ev).title ?? ""}, ${get(L).happeningNow ?? ""}, ${$0 ?? ""}`);
8459
- styles_3 = set_style(div_15, "", styles_3, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8460
- set_text(text_12, get(ev).title);
8461
- set_text(text_13, `${get(L).until ?? ""} ${$1 ?? ""}`);
8462
- 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);
8463
8719
  },
8464
8720
  [
8465
8721
  () => get(L).percentComplete(Math.round(prog(get(ev)) * 100)),
@@ -8467,178 +8723,313 @@
8467
8723
  () => ({ width: `${prog(get(ev)) * 100}%` })
8468
8724
  ]
8469
8725
  );
8470
- delegated("click", div_15, () => handleClick(get(ev)));
8471
- event("pointerenter", div_15, () => get(oneventhover)?.(get(ev)));
8472
- delegated("keydown", div_15, (e) => handleKeydown(e, get(ev)));
8473
- 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);
8474
8730
  });
8475
- append($$anchor3, fragment_2);
8731
+ append($$anchor3, fragment_5);
8476
8732
  };
8477
- var alternate_1 = ($$anchor3) => {
8478
- 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();
8479
8751
  var div_21 = child(div_20);
8480
8752
  var text_14 = child(div_21, true);
8481
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
+ }
8482
8792
  reset(div_20);
8483
- template_effect(() => set_text(text_14, get(L).free));
8793
+ template_effect(() => set_text(text_14, get(L).done));
8484
8794
  append($$anchor3, div_20);
8485
8795
  };
8486
- if_block(node_9, ($$render) => {
8487
- if (get(dayCat).current.length > 0) $$render(consequent_6);
8488
- else $$render(alternate_1, -1);
8796
+ if_block(node_13, ($$render) => {
8797
+ if (get(dayCat).past.length > 0) $$render(consequent_9);
8489
8798
  });
8490
8799
  }
8491
8800
  reset(div_10);
8492
- var div_22 = sibling(div_10, 2);
8493
- var div_23 = child(div_22);
8494
- var text_15 = child(div_23, true);
8495
- reset(div_23);
8496
- 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);
8497
8806
  {
8498
- var consequent_7 = ($$anchor3) => {
8499
- var div_24 = root_2$4();
8500
- var text_16 = child(div_24, true);
8501
- reset(div_24);
8502
- template_effect(() => set_text(text_16, get(dayCat).past.length > 0 ? get(L).allDoneForToday : get(L).nothingScheduled));
8503
- 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);
8504
8813
  };
8505
- var alternate_2 = ($$anchor3) => {
8506
- var fragment_3 = comment();
8507
- var node_12 = first_child(fragment_3);
8508
- each(node_12, 19, () => get(upcomingNext), (ev) => ev.id, ($$anchor4, ev, i) => {
8509
- var div_25 = root_14$2();
8510
- let classes_5;
8511
- let styles_5;
8512
- var div_26 = child(div_25);
8513
- var div_27 = child(div_26);
8514
- var span_8 = child(div_27);
8515
- var text_17 = child(span_8, true);
8516
- reset(span_8);
8517
- var span_9 = sibling(span_8, 2);
8518
- var text_18 = child(span_9, true);
8519
- reset(span_9);
8520
- reset(div_27);
8521
- 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);
8522
8820
  {
8523
- var consequent_8 = ($$anchor5) => {
8524
- var span_10 = root_11$3();
8525
- var text_19 = child(span_10, true);
8526
- reset(span_10);
8527
- template_effect(() => set_text(text_19, get(ev).subtitle));
8528
- 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);
8529
8877
  };
8530
- if_block(node_13, ($$render) => {
8531
- if (get(ev).subtitle) $$render(consequent_8);
8532
- });
8533
- }
8534
- var div_28 = sibling(node_13, 2);
8535
- var text_20 = child(div_28);
8536
- var span_11 = sibling(text_20);
8537
- var text_21 = child(span_11, true);
8538
- reset(span_11);
8539
- reset(div_28);
8540
- var node_14 = sibling(div_28, 2);
8541
- {
8542
- var consequent_9 = ($$anchor5) => {
8543
- var div_29 = root_13$2();
8544
- each(div_29, 21, () => get(ev).tags, index, ($$anchor6, tag) => {
8545
- var span_12 = root_12$3();
8546
- var text_22 = child(span_12, true);
8547
- reset(span_12);
8548
- template_effect(() => set_text(text_22, get(tag)));
8549
- 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 }
8550
8952
  });
8551
- reset(div_29);
8552
- 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);
8553
8970
  };
8554
- if_block(node_14, ($$render) => {
8555
- 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);
8556
8974
  });
8557
8975
  }
8558
- reset(div_26);
8559
- reset(div_25);
8560
- template_effect(
8561
- ($0, $1, $2, $3, $4, $5) => {
8562
- classes_5 = set_class(div_25, 1, "ag-card ag-card--q svelte-n8lbn1", null, classes_5, {
8563
- "ag-card--hero": get(i) === 0,
8564
- "ag-card--selected": selectedEventId() === get(ev).id
8565
- });
8566
- set_attribute(div_25, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
8567
- styles_5 = set_style(div_25, "", styles_5, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8568
- set_text(text_17, get(ev).title);
8569
- set_text(text_18, $2);
8570
- set_text(text_20, `${$3 ?? ""} – ${$4 ?? ""} `);
8571
- set_text(text_21, $5);
8572
- },
8573
- [
8574
- () => fmt(get(ev).start),
8575
- () => duration(get(ev)),
8576
- () => eta(get(ev).start.getTime()),
8577
- () => fmt(get(ev).start),
8578
- () => fmt(get(ev).end),
8579
- () => duration(get(ev))
8580
- ]
8581
- );
8582
- delegated("click", div_25, () => handleClick(get(ev)));
8583
- event("pointerenter", div_25, () => get(oneventhover)?.(get(ev)));
8584
- delegated("keydown", div_25, (e) => handleKeydown(e, get(ev)));
8585
- append($$anchor4, div_25);
8976
+ append($$anchor4, fragment_7);
8586
8977
  });
8587
- append($$anchor3, fragment_3);
8978
+ append($$anchor3, fragment_6);
8588
8979
  };
8589
- if_block(node_11, ($$render) => {
8590
- if (get(upcomingNext).length === 0) $$render(consequent_7);
8591
- 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);
8592
8983
  });
8593
8984
  }
8594
- reset(div_22);
8985
+ reset(div_23);
8595
8986
  reset(div_9);
8596
8987
  template_effect(() => {
8597
- set_text(text_10, `${get(L).now ?? ""} `);
8598
- set_text(text_11, clock.hm);
8599
- 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);
8600
8991
  });
8601
8992
  append($$anchor2, div_9);
8602
8993
  };
8603
- var consequent_12 = ($$anchor2) => {
8604
- var div_30 = root_17$1();
8605
- 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);
8606
8997
  {
8607
- var consequent_11 = ($$anchor3) => {
8608
- var div_31 = root_2$4();
8609
- var text_23 = child(div_31, true);
8610
- reset(div_31);
8611
- template_effect(() => set_text(text_23, get(L).nothingWasScheduled));
8612
- 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);
8613
9004
  };
8614
- var alternate_3 = ($$anchor3) => {
8615
- var fragment_4 = comment();
8616
- var node_16 = first_child(fragment_4);
8617
- each(node_16, 17, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev) => {
8618
- var div_32 = root_16$2();
8619
- let classes_6;
8620
- let styles_6;
8621
- var span_13 = sibling(child(div_32), 2);
8622
- var text_24 = child(span_13, true);
8623
- reset(span_13);
8624
- 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;
8625
9011
  let styles_7;
8626
- var span_15 = sibling(span_14, 2);
8627
- var text_25 = child(span_15, true);
8628
- reset(span_15);
8629
- var span_16 = sibling(span_15, 2);
8630
- var text_26 = child(span_16, true);
9012
+ var span_16 = sibling(child(div_34), 2);
9013
+ var text_29 = child(span_16, true);
8631
9014
  reset(span_16);
8632
- 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);
8633
9024
  template_effect(
8634
9025
  ($0, $1, $2, $3) => {
8635
- classes_6 = set_class(div_32, 1, "ag-log-row svelte-n8lbn1", null, classes_6, { "ag-log-row--selected": selectedEventId() === get(ev).id });
8636
- set_attribute(div_32, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""} to ${$1 ?? ""}`);
8637
- styles_6 = set_style(div_32, "", styles_6, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8638
- set_text(text_24, $2);
8639
- styles_7 = set_style(span_14, "", styles_7, { background: get(ev).color || "var(--dt-accent)" });
8640
- set_text(text_25, get(ev).title);
8641
- 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);
8642
9033
  },
8643
9034
  [
8644
9035
  () => fmt(get(ev).start),
@@ -8647,103 +9038,143 @@
8647
9038
  () => duration(get(ev))
8648
9039
  ]
8649
9040
  );
8650
- delegated("click", div_32, () => handleClick(get(ev)));
8651
- event("pointerenter", div_32, () => get(oneventhover)?.(get(ev)));
8652
- delegated("keydown", div_32, (e) => handleKeydown(e, get(ev)));
8653
- 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);
8654
9045
  });
8655
- append($$anchor3, fragment_4);
9046
+ append($$anchor3, fragment_10);
8656
9047
  };
8657
- if_block(node_15, ($$render) => {
8658
- if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_11);
8659
- 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);
8660
9051
  });
8661
9052
  }
8662
- reset(div_30);
8663
- append($$anchor2, div_30);
9053
+ reset(div_32);
9054
+ append($$anchor2, div_32);
8664
9055
  };
8665
- var alternate_5 = ($$anchor2) => {
8666
- var div_33 = root_20$1();
8667
- 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);
8668
9059
  {
8669
- var consequent_13 = ($$anchor3) => {
8670
- var div_34 = root_2$4();
8671
- var text_27 = child(div_34, true);
8672
- reset(div_34);
8673
- template_effect(() => set_text(text_27, get(L).nothingScheduledYet));
8674
- 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);
8675
9082
  };
8676
- var alternate_4 = ($$anchor3) => {
8677
- var fragment_5 = comment();
8678
- var node_18 = first_child(fragment_5);
8679
- each(node_18, 19, () => get(timedDayEvents), (ev) => ev.id, ($$anchor4, ev, i) => {
8680
- var div_35 = root_19$1();
8681
- let classes_7;
8682
- let styles_8;
8683
- var div_36 = child(div_35);
8684
- var div_37 = child(div_36);
8685
- var span_17 = child(div_37);
8686
- var text_28 = child(span_17, true);
8687
- reset(span_17);
8688
- var span_18 = sibling(span_17, 2);
8689
- var text_29 = child(span_18, true);
8690
- reset(span_18);
8691
- reset(div_37);
8692
- var node_19 = sibling(div_37, 2);
8693
- {
8694
- var consequent_14 = ($$anchor5) => {
8695
- var span_19 = root_11$3();
8696
- var text_30 = child(span_19, true);
8697
- reset(span_19);
8698
- template_effect(() => set_text(text_30, get(ev).subtitle));
8699
- append($$anchor5, span_19);
8700
- };
8701
- if_block(node_19, ($$render) => {
8702
- if (get(ev).subtitle) $$render(consequent_14);
8703
- });
8704
- }
8705
- var node_20 = sibling(node_19, 2);
8706
- {
8707
- var consequent_15 = ($$anchor5) => {
8708
- var span_20 = root_18$1();
8709
- 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);
8710
9101
  reset(span_20);
8711
- template_effect(() => set_text(text_31, get(ev).location));
8712
- append($$anchor5, span_20);
8713
- };
8714
- if_block(node_20, ($$render) => {
8715
- if (get(ev).location) $$render(consequent_15);
8716
- });
8717
- }
8718
- var div_38 = sibling(node_20, 2);
8719
- var text_32 = child(div_38);
8720
- var span_21 = sibling(text_32);
8721
- var text_33 = child(span_21, true);
8722
- reset(span_21);
8723
- reset(div_38);
8724
- var node_21 = sibling(div_38, 2);
8725
- {
8726
- var consequent_16 = ($$anchor5) => {
8727
- var div_39 = root_13$2();
8728
- each(div_39, 21, () => get(ev).tags, index, ($$anchor6, tag) => {
8729
- var span_22 = root_12$3();
8730
- var text_34 = child(span_22, true);
8731
- reset(span_22);
8732
- template_effect(() => set_text(text_34, get(tag)));
8733
- append($$anchor6, span_22);
8734
- });
9102
+ var span_21 = sibling(span_20, 2);
9103
+ var text_34 = child(span_21, true);
9104
+ reset(span_21);
8735
9105
  reset(div_39);
8736
- append($$anchor5, div_39);
8737
- };
8738
- if_block(node_21, ($$render) => {
8739
- if (get(ev).tags?.length) $$render(consequent_16);
8740
- });
8741
- }
8742
- reset(div_36);
8743
- 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);
8744
9175
  template_effect(
8745
- ($0, $1, $2, $3, $4, $5) => {
8746
- 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, {
8747
9178
  "ag-card--first": get(i) === 0,
8748
9179
  "ag-card--selected": selectedEventId() === get(ev).id,
8749
9180
  "ag-card--cancelled": get(ev).status === "cancelled",
@@ -8751,42 +9182,35 @@
8751
9182
  "ag-card--full": get(ev).status === "full",
8752
9183
  "ag-card--limited": get(ev).status === "limited"
8753
9184
  });
8754
- 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 ?? ""}`);
8755
- styles_8 = set_style(div_35, "", styles_8, { "--ev-color": get(ev).color || "var(--dt-accent)" });
8756
- set_text(text_28, get(i) + 1);
8757
- set_text(text_29, get(ev).title);
8758
- set_text(text_32, `${$3 ?? ""} – ${$4 ?? ""} `);
8759
- 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)" });
8760
9187
  },
8761
9188
  [
8762
- () => fmt(get(ev).start),
8763
- () => fmt(get(ev).end),
8764
- () => duration(get(ev)),
8765
9189
  () => fmt(get(ev).start),
8766
9190
  () => fmt(get(ev).end),
8767
9191
  () => duration(get(ev))
8768
9192
  ]
8769
9193
  );
8770
- delegated("click", div_35, () => handleClick(get(ev)));
8771
- event("pointerenter", div_35, () => get(oneventhover)?.(get(ev)));
8772
- delegated("keydown", div_35, (e) => handleKeydown(e, get(ev)));
8773
- 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);
8774
9198
  });
8775
- append($$anchor3, fragment_5);
9199
+ append($$anchor3, fragment_13);
8776
9200
  };
8777
- if_block(node_17, ($$render) => {
8778
- if (get(timedDayEvents).length === 0 && get(allDayBanner).length === 0) $$render(consequent_13);
8779
- 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);
8780
9204
  });
8781
9205
  }
8782
- reset(div_33);
8783
- append($$anchor2, div_33);
9206
+ reset(div_35);
9207
+ append($$anchor2, div_35);
8784
9208
  };
8785
9209
  if_block(node_1, ($$render) => {
8786
- if (get(compact)) $$render(consequent_4);
8787
- else if (get(isToday)) $$render(consequent_10, 1);
8788
- else if (get(isPastDay)) $$render(consequent_12, 2);
8789
- 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);
8790
9214
  });
8791
9215
  }
8792
9216
  reset(div_1);
@@ -8811,143 +9235,163 @@
8811
9235
  pop();
8812
9236
  }
8813
9237
  delegate(["pointerdown", "pointerup", "click", "keydown"]);
8814
- var root$2 = /* @__PURE__ */ from_html(`<span class="ag-card-sub svelte-uhwfyj"> </span>`);
8815
- var root_1$3 = /* @__PURE__ */ from_html(`<span class="ag-card-loc svelte-uhwfyj"> </span>`);
8816
- var root_2$3 = /* @__PURE__ */ from_html(`<span class="ag-card-eta svelte-uhwfyj"> </span>`);
8817
- var root_3$3 = /* @__PURE__ */ from_html(`<span class="ag-card-tag svelte-uhwfyj"> </span>`);
8818
- var root_4$3 = /* @__PURE__ */ from_html(`<div class="ag-card-tags svelte-uhwfyj"></div>`);
8819
- var root_5$3 = /* @__PURE__ */ from_html(`<div class="ag-card-progress svelte-uhwfyj"><div class="ag-card-progress-fill svelte-uhwfyj"></div></div>`);
8820
- 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>`);
8821
- var root_7$3 = /* @__PURE__ */ from_html(`<span class="ag-wday-date svelte-uhwfyj"> </span>`);
8822
- var root_8$2 = /* @__PURE__ */ from_html(`<div class="ag-wday-custom-header svelte-uhwfyj"><!></div>`);
8823
- 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>`);
8824
- var root_10$2 = /* @__PURE__ */ from_html(`<span class="ag-wday-badge svelte-uhwfyj"> </span>`);
8825
- var root_11$2 = /* @__PURE__ */ from_html(`<span class="ag-wday-badge ag-wday-badge--muted svelte-uhwfyj"> </span>`);
8826
- 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>`);
8827
- var root_13$1 = /* @__PURE__ */ from_html(`<div class="ag-allday svelte-uhwfyj"></div>`);
8828
- var root_14$1 = /* @__PURE__ */ from_html(`<div class="ag-wday-empty svelte-uhwfyj"> </div>`);
8829
- var root_15$1 = /* @__PURE__ */ from_html(`<span class="ag-compact-sub svelte-uhwfyj"> </span>`);
8830
- var root_16$1 = /* @__PURE__ */ from_html(`<span class="ag-compact-tag svelte-uhwfyj"> </span>`);
8831
- 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>`);
8832
- var root_18 = /* @__PURE__ */ from_html(`<div class="ag-wday-compact svelte-uhwfyj"></div>`);
8833
- var root_19 = /* @__PURE__ */ from_html(`<div class="ag-wslot svelte-uhwfyj"><div></div></div>`);
8834
- var root_20 = /* @__PURE__ */ from_html(`<div class="ag-wday-expanded svelte-uhwfyj"></div>`);
8835
- 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>`);
8836
- var root_22 = /* @__PURE__ */ from_html(`<div class="ag-wday-past-line svelte-uhwfyj"> </div>`);
8837
- var root_23 = /* @__PURE__ */ from_html(`<div class="ag-wday-expanded svelte-uhwfyj"><!> <!> <!></div>`);
8838
- var root_24 = /* @__PURE__ */ from_html(`<span class="ag-compact-loc svelte-uhwfyj"> </span>`);
8839
- 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>`);
8840
- var root_26 = /* @__PURE__ */ from_html(`<div class="ag-compact-more svelte-uhwfyj"> </div>`);
8841
- var root_27 = /* @__PURE__ */ from_html(`<div class="ag-wday-compact svelte-uhwfyj"><!> <!></div>`);
8842
- 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>`);
8843
- 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>`);
8844
9270
  function AgendaWeek($$anchor, $$props) {
8845
9271
  push($$props, true);
8846
9272
  const eventCard = ($$anchor2, ev = noop, isNow = noop, eta2 = noop) => {
8847
- var div = root_6$3();
9273
+ var div = root_7$3();
8848
9274
  let classes;
8849
9275
  let styles;
8850
9276
  var div_1 = child(div);
8851
- var span = child(div_1);
8852
- var text$1 = child(span, true);
8853
- reset(span);
8854
- var node = sibling(span, 2);
8855
- {
8856
- var consequent = ($$anchor3) => {
8857
- var span_1 = root$2();
8858
- var text_1 = child(span_1, true);
8859
- reset(span_1);
8860
- template_effect(() => set_text(text_1, ev().subtitle));
8861
- append($$anchor3, span_1);
8862
- };
8863
- if_block(node, ($$render) => {
8864
- if (ev().subtitle) $$render(consequent);
8865
- });
8866
- }
8867
- var node_1 = sibling(node, 2);
8868
- {
8869
- var consequent_1 = ($$anchor3) => {
8870
- var span_2 = root_1$3();
8871
- var text_2 = child(span_2, true);
8872
- reset(span_2);
8873
- template_effect(() => set_text(text_2, ev().location));
8874
- append($$anchor3, span_2);
8875
- };
8876
- if_block(node_1, ($$render) => {
8877
- if (ev().location) $$render(consequent_1);
8878
- });
8879
- }
8880
- var span_3 = sibling(node_1, 2);
8881
- var node_2 = child(span_3);
8882
- {
8883
- var consequent_2 = ($$anchor3) => {
8884
- var text_3 = text();
8885
- template_effect(($0) => set_text(text_3, `${get(L).until ?? ""} ${$0 ?? ""}`), [() => fmt(ev().end)]);
8886
- append($$anchor3, text_3);
8887
- };
8888
- var alternate = ($$anchor3) => {
8889
- var text_4 = text();
8890
- template_effect(($0, $1) => set_text(text_4, `${$0 ?? ""} – ${$1 ?? ""}`), [() => fmt(ev().start), () => fmt(ev().end)]);
8891
- append($$anchor3, text_4);
8892
- };
8893
- if_block(node_2, ($$render) => {
8894
- if (isNow()) $$render(consequent_2);
8895
- else $$render(alternate, -1);
8896
- });
8897
- }
8898
- var span_4 = sibling(node_2, 2);
8899
- var text_5 = child(span_4, true);
8900
- reset(span_4);
8901
- var node_3 = sibling(span_4, 2);
8902
- {
8903
- var consequent_3 = ($$anchor3) => {
8904
- var span_5 = root_2$3();
8905
- var text_6 = child(span_5, true);
8906
- reset(span_5);
8907
- template_effect(() => set_text(text_6, eta2()));
8908
- append($$anchor3, span_5);
8909
- };
8910
- if_block(node_3, ($$render) => {
8911
- if (eta2()) $$render(consequent_3);
8912
- });
8913
- }
8914
- reset(span_3);
8915
- var node_4 = sibling(span_3, 2);
8916
- {
8917
- var consequent_4 = ($$anchor3) => {
8918
- var div_2 = root_4$3();
8919
- each(div_2, 21, () => ev().tags, index, ($$anchor4, tag) => {
8920
- var span_6 = root_3$3();
8921
- var text_7 = child(span_6, true);
8922
- reset(span_6);
8923
- template_effect(() => set_text(text_7, get(tag)));
8924
- append($$anchor4, span_6);
8925
- });
8926
- reset(div_2);
8927
- append($$anchor3, div_2);
8928
- };
8929
- if_block(node_4, ($$render) => {
8930
- if (ev().tags?.length) $$render(consequent_4);
8931
- });
8932
- }
8933
- 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);
8934
9378
  {
8935
9379
  var consequent_5 = ($$anchor3) => {
8936
- var div_3 = root_5$3();
9380
+ var div_3 = root_6$4();
8937
9381
  var div_4 = child(div_3);
8938
9382
  let styles_1;
8939
9383
  reset(div_3);
8940
9384
  template_effect(($0) => styles_1 = set_style(div_4, "", styles_1, $0), [() => ({ width: `${prog(ev()) * 100}%` })]);
8941
9385
  append($$anchor3, div_3);
8942
9386
  };
8943
- if_block(node_5, ($$render) => {
9387
+ if_block(node_6, ($$render) => {
8944
9388
  if (isNow()) $$render(consequent_5);
8945
9389
  });
8946
9390
  }
8947
9391
  reset(div_1);
8948
9392
  reset(div);
8949
9393
  template_effect(
8950
- ($0, $1, $2, $3) => {
9394
+ ($0, $1, $2) => {
8951
9395
  classes = set_class(div, 1, "ag-card svelte-uhwfyj", null, classes, {
8952
9396
  "ag-card--selected": selectedEventId() === ev().id,
8953
9397
  "ag-card--cancelled": ev().status === "cancelled",
@@ -8957,13 +9401,10 @@
8957
9401
  });
8958
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 ?? ""}`);
8959
9403
  styles = set_style(div, "", styles, { "--ev-color": ev().color || "var(--dt-accent)" });
8960
- set_text(text$1, ev().title);
8961
- set_text(text_5, $3);
8962
9404
  },
8963
9405
  [
8964
9406
  () => fmt(ev().start),
8965
9407
  () => fmt(ev().end),
8966
- () => duration(ev()),
8967
9408
  () => duration(ev())
8968
9409
  ]
8969
9410
  );
@@ -9081,42 +9522,42 @@
9081
9522
  }
9082
9523
  return out;
9083
9524
  });
9084
- var div_5 = root_29();
9525
+ var div_5 = root_31();
9085
9526
  let classes_1;
9086
9527
  var div_6 = child(div_5);
9087
9528
  each(div_6, 21, () => get(weekDays), (day) => day.ms, ($$anchor2, day) => {
9088
9529
  const expanded = /* @__PURE__ */ user_derived(() => get(day).tier === "today" || get(day).tier === "tomorrow");
9089
- var fragment_2 = comment();
9090
- var node_6 = first_child(fragment_2);
9530
+ var fragment_3 = comment();
9531
+ var node_7 = first_child(fragment_3);
9091
9532
  {
9092
9533
  var consequent_8 = ($$anchor3) => {
9093
- var div_7 = root_9$2();
9534
+ var div_7 = root_10$2();
9094
9535
  let classes_2;
9095
9536
  var div_8 = child(div_7);
9096
9537
  var div_9 = child(div_8);
9097
9538
  var span_7 = child(div_9);
9098
9539
  var text_8 = child(span_7, true);
9099
9540
  reset(span_7);
9100
- var node_7 = sibling(span_7, 2);
9541
+ var node_8 = sibling(span_7, 2);
9101
9542
  {
9102
9543
  var consequent_6 = ($$anchor4) => {
9103
- var span_8 = root_7$3();
9544
+ var span_8 = root_8$3();
9104
9545
  var text_9 = child(span_8, true);
9105
9546
  reset(span_8);
9106
9547
  template_effect(() => set_text(text_9, get(day).dateLabel));
9107
9548
  append($$anchor4, span_8);
9108
9549
  };
9109
- if_block(node_7, ($$render) => {
9550
+ if_block(node_8, ($$render) => {
9110
9551
  if (get(showDates)) $$render(consequent_6);
9111
9552
  });
9112
9553
  }
9113
9554
  reset(div_9);
9114
- var node_8 = sibling(div_9, 2);
9555
+ var node_9 = sibling(div_9, 2);
9115
9556
  {
9116
9557
  var consequent_7 = ($$anchor4) => {
9117
- var div_10 = root_8$2();
9118
- var node_9 = child(div_10);
9119
- 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), () => ({
9120
9561
  date: new Date(get(day).ms),
9121
9562
  isToday: false,
9122
9563
  dayName: get(day).dayName
@@ -9124,7 +9565,7 @@
9124
9565
  reset(div_10);
9125
9566
  append($$anchor4, div_10);
9126
9567
  };
9127
- if_block(node_8, ($$render) => {
9568
+ if_block(node_9, ($$render) => {
9128
9569
  if (get(dayHeaderSnippet)) $$render(consequent_7);
9129
9570
  });
9130
9571
  }
@@ -9142,54 +9583,54 @@
9142
9583
  append($$anchor3, div_7);
9143
9584
  };
9144
9585
  var alternate_2 = ($$anchor3) => {
9145
- var div_11 = root_28();
9586
+ var div_11 = root_30();
9146
9587
  let classes_3;
9147
9588
  var div_12 = child(div_11);
9148
9589
  var div_13 = child(div_12);
9149
- var node_10 = child(div_13);
9590
+ var node_11 = child(div_13);
9150
9591
  {
9151
9592
  var consequent_9 = ($$anchor4) => {
9152
- var span_9 = root_10$2();
9593
+ var span_9 = root_11$2();
9153
9594
  var text_10 = child(span_9, true);
9154
9595
  reset(span_9);
9155
9596
  template_effect(() => set_text(text_10, get(L).today));
9156
9597
  append($$anchor4, span_9);
9157
9598
  };
9158
9599
  var consequent_10 = ($$anchor4) => {
9159
- var span_10 = root_11$2();
9600
+ var span_10 = root_12$2();
9160
9601
  var text_11 = child(span_10, true);
9161
9602
  reset(span_10);
9162
9603
  template_effect(() => set_text(text_11, get(L).tomorrow));
9163
9604
  append($$anchor4, span_10);
9164
9605
  };
9165
- if_block(node_10, ($$render) => {
9606
+ if_block(node_11, ($$render) => {
9166
9607
  if (get(day).tier === "today") $$render(consequent_9);
9167
9608
  else if (get(day).tier === "tomorrow") $$render(consequent_10, 1);
9168
9609
  });
9169
9610
  }
9170
- var span_11 = sibling(node_10, 2);
9611
+ var span_11 = sibling(node_11, 2);
9171
9612
  var text_12 = child(span_11, true);
9172
9613
  reset(span_11);
9173
- var node_11 = sibling(span_11, 2);
9614
+ var node_12 = sibling(span_11, 2);
9174
9615
  {
9175
9616
  var consequent_11 = ($$anchor4) => {
9176
- var span_12 = root_7$3();
9617
+ var span_12 = root_8$3();
9177
9618
  var text_13 = child(span_12, true);
9178
9619
  reset(span_12);
9179
9620
  template_effect(() => set_text(text_13, get(day).dateLabel));
9180
9621
  append($$anchor4, span_12);
9181
9622
  };
9182
- if_block(node_11, ($$render) => {
9623
+ if_block(node_12, ($$render) => {
9183
9624
  if (get(showDates)) $$render(consequent_11);
9184
9625
  });
9185
9626
  }
9186
9627
  reset(div_13);
9187
- var node_12 = sibling(div_13, 2);
9628
+ var node_13 = sibling(div_13, 2);
9188
9629
  {
9189
9630
  var consequent_12 = ($$anchor4) => {
9190
- var div_14 = root_8$2();
9191
- var node_13 = child(div_14);
9192
- 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), () => ({
9193
9634
  date: new Date(get(day).ms),
9194
9635
  isToday: get(day).tier === "today",
9195
9636
  dayName: get(day).dayName
@@ -9197,17 +9638,17 @@
9197
9638
  reset(div_14);
9198
9639
  append($$anchor4, div_14);
9199
9640
  };
9200
- if_block(node_12, ($$render) => {
9641
+ if_block(node_13, ($$render) => {
9201
9642
  if (get(dayHeaderSnippet)) $$render(consequent_12);
9202
9643
  });
9203
9644
  }
9204
9645
  reset(div_12);
9205
- var node_14 = sibling(div_12, 2);
9646
+ var node_15 = sibling(div_12, 2);
9206
9647
  {
9207
9648
  var consequent_13 = ($$anchor4) => {
9208
- var div_15 = root_13$1();
9649
+ var div_15 = root_14$1();
9209
9650
  each(div_15, 21, () => get(day).allDayEvents, (ev) => ev.id, ($$anchor5, ev) => {
9210
- var div_16 = root_12$2();
9651
+ var div_16 = root_13$1();
9211
9652
  let classes_4;
9212
9653
  let styles_2;
9213
9654
  var span_13 = sibling(child(div_16), 2);
@@ -9230,68 +9671,87 @@
9230
9671
  reset(div_15);
9231
9672
  append($$anchor4, div_15);
9232
9673
  };
9233
- if_block(node_14, ($$render) => {
9674
+ if_block(node_15, ($$render) => {
9234
9675
  if (get(day).allDayEvents.length > 0) $$render(consequent_13);
9235
9676
  });
9236
9677
  }
9237
- var node_15 = sibling(node_14, 2);
9678
+ var node_16 = sibling(node_15, 2);
9238
9679
  {
9239
9680
  var consequent_14 = ($$anchor4) => {
9240
- var div_17 = root_14$1();
9681
+ var div_17 = root_15$1();
9241
9682
  var text_15 = child(div_17, true);
9242
9683
  reset(div_17);
9243
9684
  template_effect(() => set_text(text_15, get(L).noEvents));
9244
9685
  append($$anchor4, div_17);
9245
9686
  };
9246
9687
  var consequent_17 = ($$anchor4) => {
9247
- var div_18 = root_18();
9688
+ var div_18 = root_20();
9248
9689
  each(div_18, 21, () => get(day).timedEvents, (ev) => ev.id, ($$anchor5, ev) => {
9249
- var div_19 = root_17();
9690
+ var div_19 = root_19$1();
9250
9691
  let classes_5;
9251
9692
  let styles_3;
9252
- var span_14 = sibling(child(div_19), 2);
9253
- var text_16 = child(span_14, true);
9254
- reset(span_14);
9255
- var span_15 = sibling(span_14, 2);
9256
- var text_17 = child(span_15, true);
9257
- reset(span_15);
9258
- var node_16 = sibling(span_15, 2);
9259
- {
9260
- var consequent_15 = ($$anchor6) => {
9261
- var span_16 = root_15$1();
9262
- var text_18 = child(span_16, true);
9263
- reset(span_16);
9264
- template_effect(() => set_text(text_18, get(ev).subtitle));
9265
- append($$anchor6, span_16);
9266
- };
9267
- if_block(node_16, ($$render) => {
9268
- if (get(ev).subtitle) $$render(consequent_15);
9269
- });
9270
- }
9271
- var node_17 = sibling(node_16, 2);
9272
- {
9273
- var consequent_16 = ($$anchor6) => {
9274
- var fragment_3 = comment();
9275
- var node_18 = first_child(fragment_3);
9276
- each(node_18, 17, () => get(ev).tags, index, ($$anchor7, tag) => {
9277
- var span_17 = root_16$1();
9278
- var text_19 = child(span_17, true);
9279
- reset(span_17);
9280
- template_effect(() => set_text(text_19, get(tag)));
9281
- append($$anchor7, span_17);
9282
- });
9283
- append($$anchor6, fragment_3);
9284
- };
9285
- if_block(node_17, ($$render) => {
9286
- if (get(ev).tags?.length) $$render(consequent_16);
9287
- });
9288
- }
9289
- var span_18 = sibling(node_17, 2);
9290
- var text_20 = child(span_18, true);
9291
- 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
+ });
9292
9752
  reset(div_19);
9293
9753
  template_effect(
9294
- ($0, $1, $2, $3) => {
9754
+ ($0, $1) => {
9295
9755
  classes_5 = set_class(div_19, 1, "ag-compact svelte-uhwfyj", null, classes_5, {
9296
9756
  "ag-compact--selected": selectedEventId() === get(ev).id,
9297
9757
  "ag-compact--cancelled": get(ev).status === "cancelled",
@@ -9301,16 +9761,8 @@
9301
9761
  });
9302
9762
  set_attribute(div_19, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
9303
9763
  styles_3 = set_style(div_19, "", styles_3, { "--ev-color": get(ev).color || "var(--dt-accent)" });
9304
- set_text(text_16, $2);
9305
- set_text(text_17, get(ev).title);
9306
- set_text(text_20, $3);
9307
9764
  },
9308
- [
9309
- () => fmt(get(ev).start),
9310
- () => duration(get(ev)),
9311
- () => fmt(get(ev).start),
9312
- () => duration(get(ev))
9313
- ]
9765
+ [() => fmt(get(ev).start), () => duration(get(ev))]
9314
9766
  );
9315
9767
  delegated("click", div_19, () => handleClick(get(ev)));
9316
9768
  event("pointerenter", div_19, () => get(oneventhover)?.(get(ev)));
@@ -9321,9 +9773,9 @@
9321
9773
  append($$anchor4, div_18);
9322
9774
  };
9323
9775
  var consequent_18 = ($$anchor4) => {
9324
- var div_20 = root_20();
9776
+ var div_20 = root_22();
9325
9777
  each(div_20, 21, () => groupIntoSlots(get(day).timedEvents), (slot) => slot.startMs, ($$anchor5, slot) => {
9326
- var div_21 = root_19();
9778
+ var div_21 = root_21();
9327
9779
  var div_22 = child(div_21);
9328
9780
  let classes_6;
9329
9781
  each(div_22, 21, () => get(slot).events, (ev) => ev.id, ($$anchor6, ev) => {
@@ -9338,34 +9790,34 @@
9338
9790
  append($$anchor4, div_20);
9339
9791
  };
9340
9792
  var consequent_21 = ($$anchor4) => {
9341
- var div_23 = root_23();
9342
- var node_19 = child(div_23);
9793
+ var div_23 = root_25();
9794
+ var node_21 = child(div_23);
9343
9795
  {
9344
9796
  var consequent_19 = ($$anchor5) => {
9345
- var fragment_5 = comment();
9346
- var node_20 = first_child(fragment_5);
9347
- each(node_20, 17, () => get(day).currentEvents, (ev) => ev.id, ($$anchor6, ev) => {
9348
- 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();
9349
9801
  var div_25 = child(div_24);
9350
9802
  var span_19 = child(div_25);
9351
9803
  var text_21 = child(span_19, true);
9352
9804
  reset(span_19);
9353
9805
  reset(div_25);
9354
- var node_21 = sibling(div_25, 2);
9355
- eventCard(node_21, () => get(ev), () => true);
9806
+ var node_23 = sibling(div_25, 2);
9807
+ eventCard(node_23, () => get(ev), () => true);
9356
9808
  reset(div_24);
9357
9809
  template_effect(() => set_text(text_21, get(L).now));
9358
9810
  append($$anchor6, div_24);
9359
9811
  });
9360
- append($$anchor5, fragment_5);
9812
+ append($$anchor5, fragment_7);
9361
9813
  };
9362
- if_block(node_19, ($$render) => {
9814
+ if_block(node_21, ($$render) => {
9363
9815
  if (get(day).currentEvents.length > 0) $$render(consequent_19);
9364
9816
  });
9365
9817
  }
9366
- var node_22 = sibling(node_19, 2);
9367
- each(node_22, 17, () => groupIntoSlots(get(day).upcomingEvents), (slot) => slot.startMs, ($$anchor5, slot) => {
9368
- 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();
9369
9821
  var div_27 = child(div_26);
9370
9822
  let classes_7;
9371
9823
  each(div_27, 21, () => get(slot).events, (ev) => ev.id, ($$anchor6, ev) => {
@@ -9379,16 +9831,16 @@
9379
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 }));
9380
9832
  append($$anchor5, div_26);
9381
9833
  });
9382
- var node_23 = sibling(node_22, 2);
9834
+ var node_25 = sibling(node_24, 2);
9383
9835
  {
9384
9836
  var consequent_20 = ($$anchor5) => {
9385
- var div_28 = root_22();
9837
+ var div_28 = root_24();
9386
9838
  var text_22 = child(div_28);
9387
9839
  reset(div_28);
9388
9840
  template_effect(($0) => set_text(text_22, `✓ ${$0 ?? ""}`), [() => get(L).nCompleted(get(day).pastEvents.length)]);
9389
9841
  append($$anchor5, div_28);
9390
9842
  };
9391
- if_block(node_23, ($$render) => {
9843
+ if_block(node_25, ($$render) => {
9392
9844
  if (get(day).pastEvents.length > 0) $$render(consequent_20);
9393
9845
  });
9394
9846
  }
@@ -9396,68 +9848,87 @@
9396
9848
  append($$anchor4, div_23);
9397
9849
  };
9398
9850
  var alternate_1 = ($$anchor4) => {
9399
- var div_29 = root_27();
9400
- var node_24 = child(div_29);
9401
- each(node_24, 17, () => get(day).timedEvents.slice(0, 4), (ev) => ev.id, ($$anchor5, ev) => {
9402
- 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();
9403
9855
  let classes_8;
9404
9856
  let styles_4;
9405
- var span_20 = sibling(child(div_30), 2);
9406
- var text_23 = child(span_20, true);
9407
- reset(span_20);
9408
- var span_21 = sibling(span_20, 2);
9409
- var text_24 = child(span_21, true);
9410
- reset(span_21);
9411
- var node_25 = sibling(span_21, 2);
9412
- {
9413
- var consequent_22 = ($$anchor6) => {
9414
- var span_22 = root_24();
9415
- var text_25 = child(span_22, true);
9416
- reset(span_22);
9417
- template_effect(() => set_text(text_25, get(ev).location));
9418
- append($$anchor6, span_22);
9419
- };
9420
- if_block(node_25, ($$render) => {
9421
- if (get(ev).location) $$render(consequent_22);
9422
- });
9423
- }
9424
- var node_26 = sibling(node_25, 2);
9425
- {
9426
- var consequent_23 = ($$anchor6) => {
9427
- var span_23 = root_15$1();
9428
- var text_26 = child(span_23, true);
9429
- reset(span_23);
9430
- template_effect(() => set_text(text_26, get(ev).subtitle));
9431
- append($$anchor6, span_23);
9432
- };
9433
- if_block(node_26, ($$render) => {
9434
- if (get(ev).subtitle) $$render(consequent_23);
9435
- });
9436
- }
9437
- var node_27 = sibling(node_26, 2);
9438
- {
9439
- var consequent_24 = ($$anchor6) => {
9440
- var fragment_7 = comment();
9441
- var node_28 = first_child(fragment_7);
9442
- each(node_28, 17, () => get(ev).tags, index, ($$anchor7, tag) => {
9443
- var span_24 = root_16$1();
9444
- var text_27 = child(span_24, true);
9445
- reset(span_24);
9446
- template_effect(() => set_text(text_27, get(tag)));
9447
- append($$anchor7, span_24);
9448
- });
9449
- append($$anchor6, fragment_7);
9450
- };
9451
- if_block(node_27, ($$render) => {
9452
- if (get(ev).tags?.length) $$render(consequent_24);
9453
- });
9454
- }
9455
- var span_25 = sibling(node_27, 2);
9456
- var text_28 = child(span_25, true);
9457
- 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
+ });
9458
9929
  reset(div_30);
9459
9930
  template_effect(
9460
- ($0, $1, $2, $3) => {
9931
+ ($0, $1) => {
9461
9932
  classes_8 = set_class(div_30, 1, "ag-compact svelte-uhwfyj", null, classes_8, {
9462
9933
  "ag-compact--selected": selectedEventId() === get(ev).id,
9463
9934
  "ag-compact--cancelled": get(ev).status === "cancelled",
@@ -9467,39 +9938,31 @@
9467
9938
  });
9468
9939
  set_attribute(div_30, "aria-label", `${get(ev).title ?? ""}, ${$0 ?? ""}, ${$1 ?? ""}`);
9469
9940
  styles_4 = set_style(div_30, "", styles_4, { "--ev-color": get(ev).color || "var(--dt-accent)" });
9470
- set_text(text_23, $2);
9471
- set_text(text_24, get(ev).title);
9472
- set_text(text_28, $3);
9473
9941
  },
9474
- [
9475
- () => fmt(get(ev).start),
9476
- () => duration(get(ev)),
9477
- () => fmt(get(ev).start),
9478
- () => duration(get(ev))
9479
- ]
9942
+ [() => fmt(get(ev).start), () => duration(get(ev))]
9480
9943
  );
9481
9944
  delegated("click", div_30, () => handleClick(get(ev)));
9482
9945
  event("pointerenter", div_30, () => get(oneventhover)?.(get(ev)));
9483
9946
  delegated("keydown", div_30, (e) => handleKeydown(e, get(ev)));
9484
9947
  append($$anchor5, div_30);
9485
9948
  });
9486
- var node_29 = sibling(node_24, 2);
9949
+ var node_32 = sibling(node_26, 2);
9487
9950
  {
9488
9951
  var consequent_25 = ($$anchor5) => {
9489
- var div_31 = root_26();
9952
+ var div_31 = root_28();
9490
9953
  var text_29 = child(div_31, true);
9491
9954
  reset(div_31);
9492
9955
  template_effect(($0) => set_text(text_29, $0), [() => get(L).nMore(get(day).timedEvents.length - 4)]);
9493
9956
  append($$anchor5, div_31);
9494
9957
  };
9495
- if_block(node_29, ($$render) => {
9958
+ if_block(node_32, ($$render) => {
9496
9959
  if (get(day).timedEvents.length > 4) $$render(consequent_25);
9497
9960
  });
9498
9961
  }
9499
9962
  reset(div_29);
9500
9963
  append($$anchor4, div_29);
9501
9964
  };
9502
- if_block(node_15, ($$render) => {
9965
+ if_block(node_16, ($$render) => {
9503
9966
  if (get(day).events.length === 0) $$render(consequent_14);
9504
9967
  else if (get(compact)) $$render(consequent_17, 1);
9505
9968
  else if (get(equalDays)) $$render(consequent_18, 2);
@@ -9524,12 +9987,12 @@
9524
9987
  );
9525
9988
  append($$anchor3, div_11);
9526
9989
  };
9527
- if_block(node_6, ($$render) => {
9990
+ if_block(node_7, ($$render) => {
9528
9991
  if (get(day).tier === "past") $$render(consequent_8);
9529
9992
  else $$render(alternate_2, -1);
9530
9993
  });
9531
9994
  }
9532
- append($$anchor2, fragment_2);
9995
+ append($$anchor2, fragment_3);
9533
9996
  });
9534
9997
  reset(div_6);
9535
9998
  reset(div_5);
@@ -9563,22 +10026,25 @@
9563
10026
  }
9564
10027
  append($$anchor, fragment);
9565
10028
  }
9566
- var root_1$2 = /* @__PURE__ */ from_html(`<span class="mb-allday-span svelte-zbkzcp"> </span>`);
9567
- 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>`);
9568
- var root_3$2 = /* @__PURE__ */ from_html(`<span class="mb-allday-more svelte-zbkzcp"> </span>`);
9569
- var root_4$2 = /* @__PURE__ */ from_html(`<div class="mb-allday svelte-zbkzcp"><!> <!></div>`);
9570
- var root_5$2 = /* @__PURE__ */ from_html(`<span class="mb-blocked-label svelte-zbkzcp"> </span>`);
9571
- 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>`);
9572
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>`);
9573
- 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>`);
9574
10037
  var root_9$1 = /* @__PURE__ */ from_html(`<span class="mb-ev-sub svelte-zbkzcp"> </span>`);
9575
10038
  var root_10$1 = /* @__PURE__ */ from_html(`<span class="mb-ev-loc svelte-zbkzcp"> </span>`);
9576
10039
  var root_11$1 = /* @__PURE__ */ from_html(`<span class="mb-ev-tag svelte-zbkzcp"> </span>`);
9577
10040
  var root_12$1 = /* @__PURE__ */ from_html(`<div class="mb-ev-tags svelte-zbkzcp"></div>`);
9578
- var root_13 = /* @__PURE__ */ from_html(`<span class="mb-ev-live svelte-zbkzcp"></span>`);
9579
- var root_14 = /* @__PURE__ */ from_html(`<span class="mb-ev-next-badge svelte-zbkzcp"> </span>`);
9580
- 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>`);
9581
- 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>`);
9582
10048
  function MobileDay($$anchor, $$props) {
9583
10049
  push($$props, true);
9584
10050
  const L = /* @__PURE__ */ user_derived(getLabels);
@@ -9591,6 +10057,9 @@
9591
10057
  const loadRangeCtx = /* @__PURE__ */ user_derived(() => ctx.loadRange);
9592
10058
  const minDuration = /* @__PURE__ */ user_derived(() => ctx.minDuration);
9593
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);
9594
10063
  const clock = createClock();
9595
10064
  const HOUR_HEIGHT = 64;
9596
10065
  const GUTTER_W = 40;
@@ -9622,6 +10091,7 @@
9622
10091
  const positionedEvents = /* @__PURE__ */ user_derived(() => {
9623
10092
  const now2 = clock.tick;
9624
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;
9625
10095
  let nextEventId = null;
9626
10096
  if (get(isToday)) {
9627
10097
  for (const ev of [...sorted].sort((a, b) => a.start.getTime() - b.start.getTime())) {
@@ -9633,8 +10103,11 @@
9633
10103
  }
9634
10104
  }
9635
10105
  const infos = sorted.map((ev) => {
9636
- const sMs = Math.max(ev.start.getTime(), get(dayMs) + get(startHour) * HOUR_MS);
9637
- 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);
9638
10111
  const topH = (sMs - get(dayMs)) / HOUR_MS - get(startHour);
9639
10112
  const botH = (eMs - get(dayMs)) / HOUR_MS - get(startHour);
9640
10113
  return {
@@ -9643,6 +10116,7 @@
9643
10116
  height: Math.max(24, (botH - topH) * HOUR_HEIGHT),
9644
10117
  isCurrent: ev.start.getTime() <= now2 && ev.end.getTime() > now2,
9645
10118
  isNext: ev.id === nextEventId,
10119
+ isResizing: resizing,
9646
10120
  startMs: sMs,
9647
10121
  endMs: eMs,
9648
10122
  col: 0,
@@ -9694,6 +10168,7 @@
9694
10168
  width: `calc(${100 / info.totalCols}% - ${GUTTER_W / info.totalCols + 2}px)`,
9695
10169
  isCurrent: info.isCurrent,
9696
10170
  isNext: info.isNext,
10171
+ isResizing: info.isResizing,
9697
10172
  col: info.col,
9698
10173
  totalCols: info.totalCols
9699
10174
  }));
@@ -9752,6 +10227,10 @@
9752
10227
  swiping = false;
9753
10228
  }
9754
10229
  function handleGridClick(e) {
10230
+ if (suppressGridClick) {
10231
+ suppressGridClick = false;
10232
+ return;
10233
+ }
9755
10234
  if (!$$props.oneventcreate || readOnly() || get(isDisabled)) return;
9756
10235
  if (e.target.closest(".mb-event")) return;
9757
10236
  const grid = e.currentTarget;
@@ -9765,6 +10244,122 @@
9765
10244
  const end = new Date(start.getTime() + durMin * 6e4);
9766
10245
  $$props.oneventcreate({ start, end });
9767
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
+ }
9768
10363
  let gridEl;
9769
10364
  onMount(() => {
9770
10365
  if (get(nowOffset) > 0 && gridEl) {
@@ -9772,16 +10367,16 @@
9772
10367
  gridEl.scrollTop = scrollTarget;
9773
10368
  }
9774
10369
  });
9775
- var div = root_16();
10370
+ var div = root_19();
9776
10371
  let classes;
9777
10372
  let styles;
9778
10373
  var node = child(div);
9779
10374
  {
9780
10375
  var consequent_2 = ($$anchor2) => {
9781
- var div_1 = root_4$2();
10376
+ var div_1 = root_4$3();
9782
10377
  var node_1 = child(div_1);
9783
10378
  each(node_1, 17, () => get(allDayEvents).slice(0, 3), (seg) => seg.ev.id, ($$anchor3, seg) => {
9784
- var button = root_2$2();
10379
+ var button = root_2$3();
9785
10380
  let classes_1;
9786
10381
  let styles_1;
9787
10382
  var span = sibling(child(button), 2);
@@ -9790,7 +10385,7 @@
9790
10385
  var node_2 = sibling(span, 2);
9791
10386
  {
9792
10387
  var consequent = ($$anchor4) => {
9793
- var span_1 = root_1$2();
10388
+ var span_1 = root_1$3();
9794
10389
  var text_1 = child(span_1);
9795
10390
  reset(span_1);
9796
10391
  template_effect(() => set_text(text_1, `${get(seg).dayIndex ?? ""}/${get(seg).totalDays ?? ""}`));
@@ -9814,7 +10409,7 @@
9814
10409
  var node_3 = sibling(node_1, 2);
9815
10410
  {
9816
10411
  var consequent_1 = ($$anchor3) => {
9817
- var span_2 = root_3$2();
10412
+ var span_2 = root_3$3();
9818
10413
  var text_2 = child(span_2, true);
9819
10414
  reset(span_2);
9820
10415
  template_effect(($0) => set_text(text_2, $0), [() => get(L).nMore(get(allDayEvents).length - 3)]);
@@ -9838,7 +10433,7 @@
9838
10433
  each(node_4, 17, () => ({ length: get(hourCount) }), index, ($$anchor2, _, h) => {
9839
10434
  const hour = /* @__PURE__ */ user_derived(() => get(startHour) + h);
9840
10435
  const blocked = /* @__PURE__ */ user_derived(() => isBlockedAt(get(hour)));
9841
- var div_4 = root_6$2();
10436
+ var div_4 = root_6$3();
9842
10437
  let classes_2;
9843
10438
  set_style(div_4, "", {}, { top: `${h * HOUR_HEIGHT}px`, height: "64px" });
9844
10439
  var div_5 = child(div_4);
@@ -9852,7 +10447,7 @@
9852
10447
  var node_6 = first_child(fragment);
9853
10448
  {
9854
10449
  var consequent_3 = ($$anchor4) => {
9855
- var span_3 = root_5$2();
10450
+ var span_3 = root_5$3();
9856
10451
  var text_4 = child(span_3, true);
9857
10452
  reset(span_3);
9858
10453
  template_effect(() => set_text(text_4, get(slot).label));
@@ -9900,92 +10495,118 @@
9900
10495
  }
9901
10496
  var node_8 = sibling(node_7, 2);
9902
10497
  each(node_8, 17, () => get(positionedEvents), (p) => p.ev.id, ($$anchor2, p) => {
9903
- var button_1 = root_15();
10498
+ var button_1 = root_17();
9904
10499
  let classes_3;
9905
10500
  let styles_4;
9906
10501
  var div_7 = sibling(child(button_1), 2);
9907
- var span_5 = child(div_7);
9908
- var text_6 = child(span_5, true);
9909
- reset(span_5);
9910
- var node_9 = sibling(span_5, 2);
9911
- {
9912
- var consequent_6 = ($$anchor3) => {
9913
- var span_6 = root_8$1();
9914
- var text_7 = child(span_6);
9915
- reset(span_6);
9916
- template_effect(($0, $1) => set_text(text_7, `${$0 ?? ""} – ${$1 ?? ""}`), [
9917
- () => fmtTime$1(get(p).ev.start, $$props.locale),
9918
- () => fmtTime$1(get(p).ev.end, $$props.locale)
9919
- ]);
9920
- append($$anchor3, span_6);
9921
- };
9922
- if_block(node_9, ($$render) => {
9923
- if (get(p).height > 32) $$render(consequent_6);
9924
- });
9925
- }
9926
- var node_10 = sibling(node_9, 2);
9927
- {
9928
- var consequent_7 = ($$anchor3) => {
9929
- var span_7 = root_9$1();
9930
- var text_8 = child(span_7, true);
9931
- reset(span_7);
9932
- template_effect(() => set_text(text_8, get(p).ev.subtitle));
9933
- append($$anchor3, span_7);
9934
- };
9935
- if_block(node_10, ($$render) => {
9936
- if (get(p).ev.subtitle && get(p).height > 48) $$render(consequent_7);
9937
- });
9938
- }
9939
- var node_11 = sibling(node_10, 2);
9940
- {
9941
- var consequent_8 = ($$anchor3) => {
9942
- var span_8 = root_10$1();
9943
- var text_9 = child(span_8, true);
9944
- reset(span_8);
9945
- template_effect(() => set_text(text_9, get(p).ev.location));
9946
- append($$anchor3, span_8);
9947
- };
9948
- if_block(node_11, ($$render) => {
9949
- if (get(p).ev.location && get(p).height > 56) $$render(consequent_8);
9950
- });
9951
- }
9952
- var node_12 = sibling(node_11, 2);
9953
- {
9954
- var consequent_9 = ($$anchor3) => {
9955
- var div_8 = root_12$1();
9956
- each(div_8, 21, () => get(p).ev.tags, index, ($$anchor4, tag) => {
9957
- var span_9 = root_11$1();
9958
- var text_10 = child(span_9, true);
9959
- reset(span_9);
9960
- template_effect(() => set_text(text_10, get(tag)));
9961
- append($$anchor4, span_9);
9962
- });
9963
- reset(div_8);
9964
- append($$anchor3, div_8);
9965
- };
9966
- if_block(node_12, ($$render) => {
9967
- if (get(p).ev.tags?.length && get(p).height > 56) $$render(consequent_9);
9968
- });
9969
- }
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
+ });
9970
10577
  reset(div_7);
9971
- var node_13 = sibling(div_7, 2);
10578
+ var node_14 = sibling(div_7, 2);
9972
10579
  {
9973
10580
  var consequent_10 = ($$anchor3) => {
9974
- var span_10 = root_13();
10581
+ var span_10 = root_14();
9975
10582
  append($$anchor3, span_10);
9976
10583
  };
9977
10584
  var consequent_11 = ($$anchor3) => {
9978
- var span_11 = root_14();
10585
+ var span_11 = root_15();
9979
10586
  var text_11 = child(span_11, true);
9980
10587
  reset(span_11);
9981
10588
  template_effect(() => set_text(text_11, get(L).upNext));
9982
10589
  append($$anchor3, span_11);
9983
10590
  };
9984
- if_block(node_13, ($$render) => {
10591
+ if_block(node_14, ($$render) => {
9985
10592
  if (get(p).isCurrent) $$render(consequent_10);
9986
10593
  else if (get(p).isNext) $$render(consequent_11, 1);
9987
10594
  });
9988
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
+ }
9989
10610
  reset(button_1);
9990
10611
  template_effect(() => {
9991
10612
  classes_3 = set_class(button_1, 1, "mb-event svelte-zbkzcp", null, classes_3, {
@@ -9995,7 +10616,8 @@
9995
10616
  "mb-event--cancelled": get(p).ev.status === "cancelled",
9996
10617
  "mb-event--tentative": get(p).ev.status === "tentative",
9997
10618
  "mb-event--full": get(p).ev.status === "full",
9998
- "mb-event--limited": get(p).ev.status === "limited"
10619
+ "mb-event--limited": get(p).ev.status === "limited",
10620
+ "mb-event--resizing": get(p).isResizing
9999
10621
  });
10000
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}` : ""}`);
10001
10623
  styles_4 = set_style(button_1, "", styles_4, {
@@ -10005,15 +10627,48 @@
10005
10627
  width: get(p).width,
10006
10628
  "--ev-color": get(p).ev.color ?? "var(--dt-accent)"
10007
10629
  });
10008
- set_text(text_6, get(p).ev.title);
10009
10630
  });
10010
10631
  delegated("click", button_1, (e) => {
10011
10632
  e.stopPropagation();
10633
+ if (suppressEventClick) {
10634
+ suppressEventClick = false;
10635
+ return;
10636
+ }
10012
10637
  $$props.oneventclick?.(get(p).ev);
10013
10638
  });
10014
10639
  event("pointerenter", button_1, () => get(oneventhover)?.(get(p).ev));
10015
10640
  append($$anchor2, button_1);
10016
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
+ }
10017
10672
  reset(div_3);
10018
10673
  reset(div_2);
10019
10674
  bind_this(div_2, ($$value) => gridEl = $$value, () => gridEl);
@@ -10030,21 +10685,30 @@
10030
10685
  delegated("touchmove", div, onTouchMove);
10031
10686
  delegated("touchend", div, onTouchEnd);
10032
10687
  delegated("click", div_2, handleGridClick);
10688
+ delegated("pointerdown", div_2, onGridPointerDown);
10033
10689
  delegated("keydown", div_2, (e) => {
10034
10690
  if (e.key === "Enter" || e.key === " ") handleGridClick(e);
10035
10691
  });
10036
10692
  append($$anchor, div);
10037
10693
  pop();
10038
10694
  }
10039
- delegate(["touchstart", "touchmove", "touchend", "click", "keydown"]);
10040
- var root$1 = /* @__PURE__ */ from_html(`<span> </span>`);
10041
- var root_1$1 = /* @__PURE__ */ from_html(`<span class="mw-empty svelte-1d18hkf"> </span>`);
10042
- var root_2$1 = /* @__PURE__ */ from_html(`<span class="mw-ev-time svelte-1d18hkf"> </span>`);
10043
- 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>`);
10044
- var root_4$1 = /* @__PURE__ */ from_html(`<span class="mw-ev-more svelte-1d18hkf"> </span>`);
10045
- var root_5$1 = /* @__PURE__ */ from_html(`<!> <!>`, 1);
10046
- 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>`);
10047
- 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>`);
10048
10712
  function MobileWeek($$anchor, $$props) {
10049
10713
  push($$props, true);
10050
10714
  const L = /* @__PURE__ */ user_derived(getLabels);
@@ -10157,12 +10821,12 @@
10157
10821
  e.preventDefault();
10158
10822
  handleDayTap(dayMs);
10159
10823
  }
10160
- var div = root_7$1();
10824
+ var div = root_8$1();
10161
10825
  let classes;
10162
10826
  let styles;
10163
10827
  var div_1 = child(div);
10164
10828
  each(div_1, 21, () => get(dayCells), (cell) => cell.ms, ($$anchor2, cell) => {
10165
- var div_2 = root_6$1();
10829
+ var div_2 = root_7$1();
10166
10830
  let classes_1;
10167
10831
  var button = child(div_2);
10168
10832
  var div_3 = sibling(button, 2);
@@ -10173,7 +10837,7 @@
10173
10837
  var node = sibling(span, 2);
10174
10838
  {
10175
10839
  var consequent = ($$anchor3) => {
10176
- var span_1 = root$1();
10840
+ var span_1 = root$2();
10177
10841
  let classes_3;
10178
10842
  var text_1 = child(span_1, true);
10179
10843
  reset(span_1);
@@ -10192,52 +10856,63 @@
10192
10856
  var node_1 = child(div_4);
10193
10857
  {
10194
10858
  var consequent_1 = ($$anchor3) => {
10195
- var span_2 = root_1$1();
10859
+ var span_2 = root_1$2();
10196
10860
  var text_2 = child(span_2, true);
10197
10861
  reset(span_2);
10198
10862
  template_effect(() => set_text(text_2, get(L).noEvents));
10199
10863
  append($$anchor3, span_2);
10200
10864
  };
10201
10865
  var alternate_1 = ($$anchor3) => {
10202
- var fragment = root_5$1();
10866
+ var fragment = root_6$2();
10203
10867
  var node_2 = first_child(fragment);
10204
10868
  each(node_2, 17, () => get(cell).events.slice(0, MAX_EVENTS), (ev) => ev.id, ($$anchor4, ev) => {
10205
- var button_1 = root_3$1();
10869
+ var button_1 = root_4$2();
10206
10870
  let classes_4;
10207
10871
  let styles_1;
10208
10872
  var div_5 = sibling(child(button_1), 2);
10209
- var span_3 = child(div_5);
10210
- var text_3 = child(span_3, true);
10211
- reset(span_3);
10212
- var node_3 = sibling(span_3, 2);
10213
- {
10214
- var consequent_2 = ($$anchor5) => {
10215
- var span_4 = root_2$1();
10216
- var text_4 = child(span_4, true);
10217
- reset(span_4);
10218
- template_effect(() => set_text(text_4, get(L).allDay));
10219
- append($$anchor5, span_4);
10220
- };
10221
- var d_1 = /* @__PURE__ */ user_derived(() => isAllDay(get(ev)) || isMultiDay(get(ev)));
10222
- var alternate = ($$anchor5) => {
10223
- var span_5 = root_2$1();
10224
- var text_5 = child(span_5, true);
10225
- reset(span_5);
10226
- template_effect(($0) => set_text(text_5, $0), [() => fmtTime2(get(ev).start)]);
10227
- append($$anchor5, span_5);
10228
- };
10229
- if_block(node_3, ($$render) => {
10230
- if (get(d_1)) $$render(consequent_2);
10231
- else $$render(alternate, -1);
10232
- });
10233
- }
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
+ });
10234
10910
  reset(div_5);
10235
10911
  reset(button_1);
10236
10912
  template_effect(
10237
10913
  ($0) => {
10238
10914
  classes_4 = set_class(button_1, 1, "mw-ev svelte-1d18hkf", null, classes_4, $0);
10239
10915
  styles_1 = set_style(button_1, "", styles_1, { "--ev-color": get(ev).color ?? "var(--dt-accent)" });
10240
- set_text(text_3, get(ev).title);
10241
10916
  },
10242
10917
  [
10243
10918
  () => ({
@@ -10265,16 +10940,16 @@
10265
10940
  event("pointerenter", button_1, () => get(oneventhover)?.(get(ev)));
10266
10941
  append($$anchor4, button_1);
10267
10942
  });
10268
- var node_4 = sibling(node_2, 2);
10943
+ var node_5 = sibling(node_2, 2);
10269
10944
  {
10270
10945
  var consequent_3 = ($$anchor4) => {
10271
- var span_6 = root_4$1();
10946
+ var span_6 = root_5$2();
10272
10947
  var text_6 = child(span_6, true);
10273
10948
  reset(span_6);
10274
10949
  template_effect(($0) => set_text(text_6, $0), [() => get(L).nMore(get(cell).totalCount - MAX_EVENTS)]);
10275
10950
  append($$anchor4, span_6);
10276
10951
  };
10277
- if_block(node_4, ($$render) => {
10952
+ if_block(node_5, ($$render) => {
10278
10953
  if (get(cell).totalCount > MAX_EVENTS) $$render(consequent_3);
10279
10954
  });
10280
10955
  }
@@ -10339,6 +11014,225 @@
10339
11014
  }
10340
11015
  append($$anchor, fragment);
10341
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"]);
10342
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>`);
10343
11237
  var root_1 = /* @__PURE__ */ from_html(`<button> </button>`);
10344
11238
  var root_2 = /* @__PURE__ */ from_html(`<div class="cal-m-pills svelte-1b53e7w" role="group"></div>`);
@@ -10391,11 +11285,21 @@
10391
11285
  label: "Mobile",
10392
11286
  mode: "week",
10393
11287
  component: Mobile
11288
+ },
11289
+ {
11290
+ id: "month-grid",
11291
+ label: "Month",
11292
+ mode: "month",
11293
+ component: MonthGrid
10394
11294
  }
10395
11295
  ];
10396
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");
10397
11297
  const effectiveCreate = /* @__PURE__ */ user_derived(() => readOnly() ? void 0 : $$props.oneventcreate);
10398
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
+ }
10399
11303
  let containerWidth = /* @__PURE__ */ state(0);
10400
11304
  const isMobileContainer = /* @__PURE__ */ user_derived(() => get(containerWidth) > 0 && get(containerWidth) < MOBILE_BREAKPOINT);
10401
11305
  const useMobile = /* @__PURE__ */ user_derived(() => mobileProp() === "auto" ? get(isMobileContainer) : Boolean(mobileProp()));
@@ -10444,6 +11348,11 @@
10444
11348
  if (!payload) return;
10445
11349
  let { start, end } = payload;
10446
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
+ }
10447
11356
  const durationMs = end.getTime() - start.getTime();
10448
11357
  const durationMin = durationMs / 6e4;
10449
11358
  if ($$props.minDuration && durationMin < $$props.minDuration) {
@@ -10490,8 +11399,12 @@
10490
11399
  if (ev) get(effectiveMove)?.(ev, start, end);
10491
11400
  } catch (e) {
10492
11401
  const msg = e instanceof Error ? e.message : "";
10493
- if (!msg.includes("read-only") && !msg.includes("not found")) {
10494
- 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);
10495
11408
  }
10496
11409
  }
10497
11410
  } else if (mode === "create") {
@@ -10510,7 +11423,7 @@
10510
11423
  commitDrag,
10511
11424
  // Callbacks
10512
11425
  get oneventclick() {
10513
- return $$props.oneventclick;
11426
+ return handleEventClick;
10514
11427
  },
10515
11428
  get oneventcreate() {
10516
11429
  return get(effectiveCreate);
@@ -10521,6 +11434,9 @@
10521
11434
  get oneventhover() {
10522
11435
  return $$props.oneventhover;
10523
11436
  },
11437
+ get ondayclick() {
11438
+ return $$props.ondayclick;
11439
+ },
10524
11440
  // Config (reactive via getters)
10525
11441
  get readOnly() {
10526
11442
  return readOnly();
@@ -10604,6 +11520,9 @@
10604
11520
  user_effect(() => {
10605
11521
  $$props.onviewchange?.(viewState.view);
10606
11522
  });
11523
+ user_effect(() => {
11524
+ if (get(store).error && $$props.onerror) $$props.onerror(new Error(get(store).error));
11525
+ });
10607
11526
  const resolvedView = /* @__PURE__ */ user_derived(() => {
10608
11527
  const requested = views().find((v) => v.id === viewState.view) ?? views()[0];
10609
11528
  if (!get(useMobile) || !requested) return requested;
@@ -10616,9 +11535,6 @@
10616
11535
  const desktopViews = /* @__PURE__ */ user_derived(() => views().filter((v) => !v.id.endsWith("-mobile")));
10617
11536
  const dateLabel = /* @__PURE__ */ user_derived(() => {
10618
11537
  if (!showDates()) {
10619
- if (viewState.mode === "day") {
10620
- return viewState.focusDate.toLocaleDateString($$props.locale, { weekday: "long" });
10621
- }
10622
11538
  return "";
10623
11539
  }
10624
11540
  if (viewState.mode === "day") {
@@ -10628,7 +11544,7 @@
10628
11544
  });
10629
11545
  const modes = /* @__PURE__ */ user_derived(() => {
10630
11546
  const g = new Set(get(desktopViews).map((v) => v.mode));
10631
- return ["day", "week"].filter((key) => g.has(key));
11547
+ return ["day", "week", "month"].filter((key) => g.has(key));
10632
11548
  });
10633
11549
  const L = /* @__PURE__ */ user_derived(getLabels);
10634
11550
  function switchMode(g) {
@@ -10686,7 +11602,7 @@
10686
11602
  };
10687
11603
  var consequent_2 = ($$anchor3) => {
10688
11604
  var button = root();
10689
- 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));
10690
11606
  delegated("click", button, () => viewState.prev());
10691
11607
  append($$anchor3, button);
10692
11608
  };
@@ -10707,7 +11623,7 @@
10707
11623
  template_effect(() => {
10708
11624
  classes_1 = set_class(button_1, 1, "cal-m-pill svelte-1b53e7w", null, classes_1, { "cal-m-pill--active": viewState.mode === get(g) });
10709
11625
  set_attribute(button_1, "aria-pressed", viewState.mode === get(g));
10710
- 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);
10711
11627
  });
10712
11628
  delegated("click", button_1, () => switchMode(get(g)));
10713
11629
  append($$anchor4, button_1);
@@ -10729,7 +11645,7 @@
10729
11645
  {
10730
11646
  var consequent_4 = ($$anchor3) => {
10731
11647
  var button_2 = root_3();
10732
- 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));
10733
11649
  delegated("click", button_2, () => viewState.next());
10734
11650
  append($$anchor3, button_2);
10735
11651
  };
@@ -10791,8 +11707,8 @@
10791
11707
  var button_5 = sibling(node_9, 2);
10792
11708
  var button_6 = sibling(button_5, 2);
10793
11709
  template_effect(() => {
10794
- set_attribute(button_5, "aria-label", viewState.mode === "day" ? get(L).previousDay : get(L).previousWeek);
10795
- 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);
10796
11712
  });
10797
11713
  delegated("click", button_5, () => viewState.prev());
10798
11714
  delegated("click", button_6, () => viewState.next());
@@ -10820,7 +11736,7 @@
10820
11736
  template_effect(() => {
10821
11737
  classes_2 = set_class(button_7, 1, "cal-pill svelte-1b53e7w", null, classes_2, { "cal-pill--active": viewState.mode === get(g) });
10822
11738
  set_attribute(button_7, "aria-pressed", viewState.mode === get(g));
10823
- 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);
10824
11740
  });
10825
11741
  delegated("click", button_7, () => switchMode(get(g)));
10826
11742
  append($$anchor4, button_7);
@@ -10840,7 +11756,7 @@
10840
11756
  };
10841
11757
  if_block(node, ($$render) => {
10842
11758
  if ($$props.header) $$render(consequent);
10843
- 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);
10844
11760
  else if (showNavigation() || showModePills() && get(modes).length > 1 || get(dateLabel)) $$render(consequent_11, 2);
10845
11761
  });
10846
11762
  }
@@ -10873,9 +11789,7 @@
10873
11789
  get focusDate() {
10874
11790
  return viewState.focusDate;
10875
11791
  },
10876
- get oneventclick() {
10877
- return $$props.oneventclick;
10878
- },
11792
+ oneventclick: handleEventClick,
10879
11793
  get oneventcreate() {
10880
11794
  return get(effectiveCreate);
10881
11795
  },