@event-calendar/core 5.4.0 → 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,7 +5,7 @@ See [demo](https://vkurko.github.io/calendar/) and [changelog](CHANGELOG.md).
5
5
  Full-sized drag & drop JavaScript event calendar with resource & timeline views:
6
6
 
7
7
  * Lightweight (35kb [br](https://en.wikipedia.org/wiki/Brotli) compressed)
8
- * Feature-rich, performant, and with minimal DOM structure (thanks to [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Grid_layout))
8
+ * Minimal DOM structure (thanks to [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Grid_layout))
9
9
  * Zero-dependency (standalone bundle)
10
10
  * Used on over 70,000 websites with [Bookly](https://wordpress.org/plugins/bookly-responsive-appointment-booking-tool/)
11
11
 
@@ -253,8 +253,8 @@ This bundle contains a version of the calendar that includes all plugins and is
253
253
 
254
254
  The first step is to include the following lines of code in the `<head>` section of your page:
255
255
  ```html
256
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.4.0/dist/event-calendar.min.css">
257
- <script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.4.0/dist/event-calendar.min.js"></script>
256
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.4.1/dist/event-calendar.min.css">
257
+ <script src="https://cdn.jsdelivr.net/npm/@event-calendar/build@5.4.1/dist/event-calendar.min.js"></script>
258
258
  ```
259
259
 
260
260
  <details>
@@ -349,7 +349,7 @@ When hidden with `false`, all-day events will not be displayed in `timeGrid`/`re
349
349
  <details>
350
350
  <summary>Default</summary>
351
351
 
352
- `{close: 'Close', dayGridDay: 'day', dayGridMonth: 'month', dayGridWeek: 'week', listDay: 'list', listMonth: 'list', listWeek: 'list', listYear: 'list', resourceTimeGridDay: 'resources', resourceTimeGridWeek: 'resources', resourceTimelineDay: 'timeline', resourceTimelineMonth: 'timeline', resourceTimelineWeek: 'timeline', timeGridDay: 'day', timeGridWeek: 'week', today: 'today'}`
352
+ `{collapse: 'Collapse', close: 'Close', dayGridDay: 'day', dayGridMonth: 'month', dayGridWeek: 'week', expand: 'Expand', listDay: 'list', listMonth: 'list', listWeek: 'list', listYear: 'list', resourceTimeGridDay: 'resources', resourceTimeGridWeek: 'resources', resourceTimelineDay: 'timeline', resourceTimelineMonth: 'timeline', resourceTimelineWeek: 'timeline', timeGridDay: 'day', timeGridWeek: 'week', today: 'today'}`
353
353
  > Views override the default value as follows:
354
354
  > - dayGridDay `text => ({...text, next: 'Next day', prev: 'Previous day'})`
355
355
  > - dayGridMonth `text => ({...text, next: 'Next month', prev: 'Previous month'})`
package/dist/index.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * EventCalendar v5.4.0
2
+ * EventCalendar v5.4.1
3
3
  * https://github.com/vkurko/calendar
4
4
  */
5
5
  .ec {
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * EventCalendar v5.4.0
2
+ * EventCalendar v5.4.1
3
3
  * https://github.com/vkurko/calendar
4
4
  */
5
5
  import { untrack, tick, getAbortSignal, getContext, setContext, onMount, mount, unmount } from "svelte";
@@ -1528,11 +1528,11 @@ class State {
1528
1528
  }
1529
1529
  }
1530
1530
  var root_2$5 = $.from_html(`<h2></h2>`);
1531
+ var root_3$2 = $.from_html(`<button><i></i></button>`);
1531
1532
  var root_4$1 = $.from_html(`<button><i></i></button>`);
1532
- var root_6$1 = $.from_html(`<button><i></i></button>`);
1533
- var root_8$1 = $.from_html(`<button> </button>`);
1534
- var root_10 = $.from_html(`<button></button>`);
1535
- var root_12$1 = $.from_html(`<button> </button>`);
1533
+ var root_5 = $.from_html(`<button> </button>`);
1534
+ var root_6$1 = $.from_html(`<button></button>`);
1535
+ var root_7$1 = $.from_html(`<button> </button>`);
1536
1536
  function Buttons($$anchor, $$props) {
1537
1537
  $.push($$props, true);
1538
1538
  let mainState = getContext("state");
@@ -1598,151 +1598,81 @@ function Buttons($$anchor, $$props) {
1598
1598
  $.template_effect(() => $.set_class(h2, 1, $.get(theme).title));
1599
1599
  $.append($$anchor3, h2);
1600
1600
  };
1601
- var alternate_4 = ($$anchor3) => {
1602
- var fragment_2 = $.comment();
1603
- var node_2 = $.first_child(fragment_2);
1604
- {
1605
- var consequent_1 = ($$anchor4) => {
1606
- var button_1 = root_4$1();
1607
- button_1.__click = prev;
1608
- var i = $.child(button_1);
1609
- $.reset(button_1);
1610
- $.template_effect(() => {
1611
- $.set_class(button_1, 1, `${$.get(theme).button ?? ""} ec-${$.get(button) ?? ""}`);
1612
- $.set_attribute(button_1, "aria-label", $.get(buttonText).prev);
1613
- $.set_attribute(button_1, "title", $.get(buttonText).prev);
1614
- button_1.disabled = $.get(prevDisabled);
1615
- $.set_class(i, 1, `${$.get(theme).icon ?? ""} ec-${$.get(button) ?? ""}`);
1616
- });
1617
- $.append($$anchor4, button_1);
1618
- };
1619
- var alternate_3 = ($$anchor4) => {
1620
- var fragment_3 = $.comment();
1621
- var node_3 = $.first_child(fragment_3);
1622
- {
1623
- var consequent_2 = ($$anchor5) => {
1624
- var button_2 = root_6$1();
1625
- button_2.__click = next;
1626
- var i_1 = $.child(button_2);
1627
- $.reset(button_2);
1628
- $.template_effect(() => {
1629
- $.set_class(button_2, 1, `${$.get(theme).button ?? ""} ec-${$.get(button) ?? ""}`);
1630
- $.set_attribute(button_2, "aria-label", $.get(buttonText).next);
1631
- $.set_attribute(button_2, "title", $.get(buttonText).next);
1632
- button_2.disabled = $.get(nextDisabled);
1633
- $.set_class(i_1, 1, `${$.get(theme).icon ?? ""} ec-${$.get(button) ?? ""}`);
1634
- });
1635
- $.append($$anchor5, button_2);
1636
- };
1637
- var alternate_2 = ($$anchor5) => {
1638
- var fragment_4 = $.comment();
1639
- var node_4 = $.first_child(fragment_4);
1640
- {
1641
- var consequent_3 = ($$anchor6) => {
1642
- var button_3 = root_8$1();
1643
- button_3.__click = setToday;
1644
- var text = $.child(button_3, true);
1645
- $.reset(button_3);
1646
- $.template_effect(() => {
1647
- $.set_class(button_3, 1, `${$.get(theme).button ?? ""} ec-${$.get(button) ?? ""}`);
1648
- button_3.disabled = $.get(todayDisabled);
1649
- $.set_text(text, $.get(buttonText)[$.get(button)]);
1650
- });
1651
- $.append($$anchor6, button_3);
1652
- };
1653
- var alternate_1 = ($$anchor6) => {
1654
- var fragment_5 = $.comment();
1655
- var node_5 = $.first_child(fragment_5);
1656
- {
1657
- var consequent_4 = ($$anchor7) => {
1658
- var button_4 = root_10();
1659
- button_4.__click = function(...$$args) {
1660
- $.get(customButtons)[$.get(button)].click?.apply(this, $$args);
1661
- };
1662
- $.attach(button_4, () => contentFrom($.get(customButtons)[$.get(button)].text));
1663
- $.template_effect(() => $.set_class(button_4, 1, $.clsx([
1664
- $.get(theme).button,
1665
- `ec-${$.get(button)}`,
1666
- $.get(customButtons)[$.get(button)].active && $.get(theme).active
1667
- ])));
1668
- $.append($$anchor7, button_4);
1669
- };
1670
- var alternate = ($$anchor7) => {
1671
- var fragment_6 = $.comment();
1672
- var node_6 = $.first_child(fragment_6);
1673
- {
1674
- var consequent_5 = ($$anchor8) => {
1675
- var button_5 = root_12$1();
1676
- button_5.__click = () => mainState.setOption("view", $.get(button));
1677
- var text_1 = $.child(button_5, true);
1678
- $.reset(button_5);
1679
- $.template_effect(() => {
1680
- $.set_class(button_5, 1, $.clsx([
1681
- $.get(theme).button,
1682
- `ec-${$.get(button)}`,
1683
- $.get(view2) === $.get(button) && $.get(theme).active
1684
- ]));
1685
- $.set_text(text_1, $.get(buttonText)[$.get(button)]);
1686
- });
1687
- $.append($$anchor8, button_5);
1688
- };
1689
- $.if(
1690
- node_6,
1691
- ($$render) => {
1692
- if ($.get(button) !== "") $$render(consequent_5);
1693
- },
1694
- true
1695
- );
1696
- }
1697
- $.append($$anchor7, fragment_6);
1698
- };
1699
- $.if(
1700
- node_5,
1701
- ($$render) => {
1702
- if ($.get(customButtons)[$.get(button)]) $$render(consequent_4);
1703
- else $$render(alternate, false);
1704
- },
1705
- true
1706
- );
1707
- }
1708
- $.append($$anchor6, fragment_5);
1709
- };
1710
- $.if(
1711
- node_4,
1712
- ($$render) => {
1713
- if ($.get(button) === "today") $$render(consequent_3);
1714
- else $$render(alternate_1, false);
1715
- },
1716
- true
1717
- );
1718
- }
1719
- $.append($$anchor5, fragment_4);
1720
- };
1721
- $.if(
1722
- node_3,
1723
- ($$render) => {
1724
- if ($.get(button) === "next") $$render(consequent_2);
1725
- else $$render(alternate_2, false);
1726
- },
1727
- true
1728
- );
1729
- }
1730
- $.append($$anchor4, fragment_3);
1731
- };
1732
- $.if(
1733
- node_2,
1734
- ($$render) => {
1735
- if ($.get(button) === "prev") $$render(consequent_1);
1736
- else $$render(alternate_3, false);
1737
- },
1738
- true
1739
- );
1740
- }
1741
- $.append($$anchor3, fragment_2);
1601
+ var consequent_1 = ($$anchor3) => {
1602
+ var button_1 = root_3$2();
1603
+ var i = $.child(button_1);
1604
+ $.reset(button_1);
1605
+ $.template_effect(() => {
1606
+ $.set_class(button_1, 1, `${$.get(theme).button ?? ""} ec-${$.get(button) ?? ""}`);
1607
+ $.set_attribute(button_1, "aria-label", $.get(buttonText).prev);
1608
+ $.set_attribute(button_1, "title", $.get(buttonText).prev);
1609
+ button_1.disabled = $.get(prevDisabled);
1610
+ $.set_class(i, 1, `${$.get(theme).icon ?? ""} ec-${$.get(button) ?? ""}`);
1611
+ });
1612
+ $.delegated("click", button_1, prev);
1613
+ $.append($$anchor3, button_1);
1614
+ };
1615
+ var consequent_2 = ($$anchor3) => {
1616
+ var button_2 = root_4$1();
1617
+ var i_1 = $.child(button_2);
1618
+ $.reset(button_2);
1619
+ $.template_effect(() => {
1620
+ $.set_class(button_2, 1, `${$.get(theme).button ?? ""} ec-${$.get(button) ?? ""}`);
1621
+ $.set_attribute(button_2, "aria-label", $.get(buttonText).next);
1622
+ $.set_attribute(button_2, "title", $.get(buttonText).next);
1623
+ button_2.disabled = $.get(nextDisabled);
1624
+ $.set_class(i_1, 1, `${$.get(theme).icon ?? ""} ec-${$.get(button) ?? ""}`);
1625
+ });
1626
+ $.delegated("click", button_2, next);
1627
+ $.append($$anchor3, button_2);
1628
+ };
1629
+ var consequent_3 = ($$anchor3) => {
1630
+ var button_3 = root_5();
1631
+ var text = $.child(button_3, true);
1632
+ $.reset(button_3);
1633
+ $.template_effect(() => {
1634
+ $.set_class(button_3, 1, `${$.get(theme).button ?? ""} ec-${$.get(button) ?? ""}`);
1635
+ button_3.disabled = $.get(todayDisabled);
1636
+ $.set_text(text, $.get(buttonText)[$.get(button)]);
1637
+ });
1638
+ $.delegated("click", button_3, setToday);
1639
+ $.append($$anchor3, button_3);
1640
+ };
1641
+ var consequent_4 = ($$anchor3) => {
1642
+ var button_4 = root_6$1();
1643
+ $.attach(button_4, () => contentFrom($.get(customButtons)[$.get(button)].text));
1644
+ $.template_effect(() => $.set_class(button_4, 1, $.clsx([
1645
+ $.get(theme).button,
1646
+ `ec-${$.get(button)}`,
1647
+ $.get(customButtons)[$.get(button)].active && $.get(theme).active
1648
+ ])));
1649
+ $.delegated("click", button_4, function(...$$args) {
1650
+ $.get(customButtons)[$.get(button)].click?.apply(this, $$args);
1651
+ });
1652
+ $.append($$anchor3, button_4);
1653
+ };
1654
+ var consequent_5 = ($$anchor3) => {
1655
+ var button_5 = root_7$1();
1656
+ var text_1 = $.child(button_5, true);
1657
+ $.reset(button_5);
1658
+ $.template_effect(() => {
1659
+ $.set_class(button_5, 1, $.clsx([
1660
+ $.get(theme).button,
1661
+ `ec-${$.get(button)}`,
1662
+ $.get(view2) === $.get(button) && $.get(theme).active
1663
+ ]));
1664
+ $.set_text(text_1, $.get(buttonText)[$.get(button)]);
1665
+ });
1666
+ $.delegated("click", button_5, () => mainState.setOption("view", $.get(button)));
1667
+ $.append($$anchor3, button_5);
1742
1668
  };
1743
1669
  $.if(node_1, ($$render) => {
1744
1670
  if ($.get(button) === "title") $$render(consequent);
1745
- else $$render(alternate_4, false);
1671
+ else if ($.get(button) === "prev") $$render(consequent_1, 1);
1672
+ else if ($.get(button) === "next") $$render(consequent_2, 2);
1673
+ else if ($.get(button) === "today") $$render(consequent_3, 3);
1674
+ else if ($.get(customButtons)[$.get(button)]) $$render(consequent_4, 4);
1675
+ else if ($.get(button) !== "") $$render(consequent_5, 5);
1746
1676
  });
1747
1677
  }
1748
1678
  $.append($$anchor2, fragment_1);
@@ -2134,9 +2064,6 @@ function BaseDay($$anchor, $$props) {
2134
2064
  });
2135
2065
  let onpointerdown = $.derived(() => !disabled() && $.get(action) ? (jsEvent) => $.get(action).select(jsEvent, $.get(snap2)) : void 0);
2136
2066
  var div = root$9();
2137
- div.__pointerdown = function(...$$args) {
2138
- $.get(onpointerdown)?.apply(this, $$args);
2139
- };
2140
2067
  var node = $.child(div);
2141
2068
  $.snippet(node, () => $$props.children ?? $.noop);
2142
2069
  $.reset(div);
@@ -2145,6 +2072,9 @@ function BaseDay($$anchor, $$props) {
2145
2072
  $.set_class(div, 1, $.clsx($.get(classNames)));
2146
2073
  $.set_attribute(div, "role", role());
2147
2074
  });
2075
+ $.delegated("pointerdown", div, function(...$$args) {
2076
+ $.get(onpointerdown)?.apply(this, $$args);
2077
+ });
2148
2078
  $.append($$anchor, div);
2149
2079
  $.pop();
2150
2080
  }
@@ -2188,15 +2118,6 @@ function BaseEvent($$anchor, $$props) {
2188
2118
  let onmouseenter = $.derived(() => createHandler($.get(eventMouseEnter), $.get(display)));
2189
2119
  let onmouseleave = $.derived(() => createHandler($.get(eventMouseLeave), $.get(display)));
2190
2120
  var article = root$8();
2191
- article.__click = function(...$$args) {
2192
- $.get(onclick)?.apply(this, $$args);
2193
- };
2194
- article.__keydown = function(...$$args) {
2195
- $.get(onkeydown)?.apply(this, $$args);
2196
- };
2197
- article.__pointerdown = function(...$$args) {
2198
- $$props.onpointerdown?.apply(this, $$args);
2199
- };
2200
2121
  {
2201
2122
  const defaultBody = ($$anchor2) => {
2202
2123
  var div = root_1$b();
@@ -2229,12 +2150,21 @@ function BaseEvent($$anchor, $$props) {
2229
2150
  $.set_attribute(article, "role", $.get(onclick) ? "button" : void 0);
2230
2151
  $.set_attribute(article, "tabindex", $.get(onclick) ? 0 : void 0);
2231
2152
  });
2153
+ $.delegated("click", article, function(...$$args) {
2154
+ $.get(onclick)?.apply(this, $$args);
2155
+ });
2156
+ $.delegated("keydown", article, function(...$$args) {
2157
+ $.get(onkeydown)?.apply(this, $$args);
2158
+ });
2232
2159
  $.event("mouseenter", article, function(...$$args) {
2233
2160
  $.get(onmouseenter)?.apply(this, $$args);
2234
2161
  });
2235
2162
  $.event("mouseleave", article, function(...$$args) {
2236
2163
  $.get(onmouseleave)?.apply(this, $$args);
2237
2164
  });
2165
+ $.delegated("pointerdown", article, function(...$$args) {
2166
+ $$props.onpointerdown?.apply(this, $$args);
2167
+ });
2238
2168
  $.append($$anchor, article);
2239
2169
  $.pop();
2240
2170
  }
@@ -2447,8 +2377,9 @@ function Day$3($$anchor, $$props) {
2447
2377
  $.template_effect(($0) => $.set_attribute(time, "datetime", $0), [() => toISOString($.get(dayStart), 10)]);
2448
2378
  $.append($$anchor3, time);
2449
2379
  };
2380
+ var d = $.derived(() => $.get(features).includes("dayNumber"));
2450
2381
  $.if(node, ($$render) => {
2451
- if ($.get(features).includes("dayNumber")) $$render(consequent);
2382
+ if ($.get(d)) $$render(consequent);
2452
2383
  });
2453
2384
  }
2454
2385
  var node_1 = $.sibling(node, 2);
@@ -2470,18 +2401,18 @@ function Day$3($$anchor, $$props) {
2470
2401
  var consequent_2 = ($$anchor3) => {
2471
2402
  var a = root_4();
2472
2403
  var event_handler = $.derived(() => stopPropagation(showMore));
2473
- a.__click = function(...$$args) {
2474
- $.get(event_handler)?.apply(this, $$args);
2475
- };
2476
2404
  var event_handler_1 = $.derived(() => keyEnter(showMore));
2477
- a.__keydown = function(...$$args) {
2478
- $.get(event_handler_1)?.apply(this, $$args);
2479
- };
2480
2405
  var event_handler_2 = $.derived(stopPropagation);
2481
- a.__pointerdown = function(...$$args) {
2482
- $.get(event_handler_2)?.apply(this, $$args);
2483
- };
2484
2406
  $.attach(a, () => contentFrom($.get(moreLink)));
2407
+ $.delegated("click", a, function(...$$args) {
2408
+ $.get(event_handler)?.apply(this, $$args);
2409
+ });
2410
+ $.delegated("keydown", a, function(...$$args) {
2411
+ $.get(event_handler_1)?.apply(this, $$args);
2412
+ });
2413
+ $.delegated("pointerdown", a, function(...$$args) {
2414
+ $.get(event_handler_2)?.apply(this, $$args);
2415
+ });
2485
2416
  $.append($$anchor3, a);
2486
2417
  };
2487
2418
  $.if(node_2, ($$render) => {
@@ -2679,13 +2610,7 @@ function Popup($$anchor, $$props) {
2679
2610
  var a_1 = $.sibling(time, 2);
2680
2611
  $.autofocus(a_1, true);
2681
2612
  var event_handler = $.derived(() => stopPropagation(close));
2682
- a_1.__click = function(...$$args) {
2683
- $.get(event_handler)?.apply(this, $$args);
2684
- };
2685
2613
  var event_handler_1 = $.derived(() => keyEnter(close));
2686
- a_1.__keydown = function(...$$args) {
2687
- $.get(event_handler_1)?.apply(this, $$args);
2688
- };
2689
2614
  $.reset(header);
2690
2615
  var div = $.sibling(header, 2);
2691
2616
  $.each(div, 21, () => $.get(popupChunks), $.index, ($$anchor2, chunk) => {
@@ -2713,6 +2638,12 @@ function Popup($$anchor, $$props) {
2713
2638
  );
2714
2639
  $.event("pointerdownoutside", dialog, handlePointerDownOutside);
2715
2640
  $.event("close", dialog, close);
2641
+ $.delegated("click", a_1, function(...$$args) {
2642
+ $.get(event_handler)?.apply(this, $$args);
2643
+ });
2644
+ $.delegated("keydown", a_1, function(...$$args) {
2645
+ $.get(event_handler_1)?.apply(this, $$args);
2646
+ });
2716
2647
  $.append($$anchor, dialog);
2717
2648
  $.pop();
2718
2649
  }
@@ -2862,8 +2793,9 @@ function View$3($$anchor, $$props) {
2862
2793
  );
2863
2794
  $.append($$anchor2, section);
2864
2795
  };
2796
+ var d = $.derived(() => !empty($.get(grid2)) && !empty($.get(grid2)[0]));
2865
2797
  $.if(node, ($$render) => {
2866
- if (!empty($.get(grid2)) && !empty($.get(grid2)[0])) $$render(consequent_1);
2798
+ if ($.get(d)) $$render(consequent_1);
2867
2799
  });
2868
2800
  }
2869
2801
  $.append($$anchor, fragment);
@@ -3596,10 +3528,10 @@ function Resizer($$anchor, $$props) {
3596
3528
  var consequent = ($$anchor2) => {
3597
3529
  var div = root_1$8();
3598
3530
  var event_handler = $.derived(() => createResizeHandler(true));
3599
- div.__pointerdown = function(...$$args) {
3600
- $.get(event_handler)?.apply(this, $$args);
3601
- };
3602
3531
  $.template_effect(() => $.set_class(div, 1, `${$.get(theme).resizer ?? ""} ${$.get(theme).start ?? ""}`));
3532
+ $.delegated("pointerdown", div, function(...$$args) {
3533
+ $.get(event_handler)?.apply(this, $$args);
3534
+ });
3603
3535
  $.append($$anchor2, div);
3604
3536
  };
3605
3537
  $.if(node, ($$render) => {
@@ -3613,10 +3545,10 @@ function Resizer($$anchor, $$props) {
3613
3545
  var consequent_1 = ($$anchor2) => {
3614
3546
  var div_1 = root_2$2();
3615
3547
  var event_handler_1 = $.derived(() => createResizeHandler(false));
3616
- div_1.__pointerdown = function(...$$args) {
3617
- $.get(event_handler_1)?.apply(this, $$args);
3618
- };
3619
3548
  $.template_effect(() => $.set_class(div_1, 1, $.get(theme).resizer));
3549
+ $.delegated("pointerdown", div_1, function(...$$args) {
3550
+ $.get(event_handler_1)?.apply(this, $$args);
3551
+ });
3620
3552
  $.append($$anchor2, div_1);
3621
3553
  };
3622
3554
  $.if(node_2, ($$render) => {
@@ -3862,9 +3794,9 @@ function View$2($$anchor, $$props) {
3862
3794
  {
3863
3795
  var consequent = ($$anchor2) => {
3864
3796
  var div = root_1$6();
3865
- div.__click = onclick;
3866
3797
  $.attach(div, () => contentFrom($.get(content)));
3867
3798
  $.template_effect(() => $.set_class(div, 1, $.get(theme).noEvents));
3799
+ $.delegated("click", div, onclick);
3868
3800
  $.append($$anchor2, div);
3869
3801
  };
3870
3802
  var alternate = ($$anchor2) => {
@@ -4907,8 +4839,9 @@ function View$1($$anchor, $$props) {
4907
4839
  $.bind_element_size(header_1, "offsetHeight", ($$value) => $.set(headerHeight, $$value));
4908
4840
  $.append($$anchor2, section);
4909
4841
  };
4842
+ var d = $.derived(() => !empty($.get(grid2)) && !empty($.get(grid2)[0]));
4910
4843
  $.if(node, ($$render) => {
4911
- if (!empty($.get(grid2)) && !empty($.get(grid2)[0])) $$render(consequent_4);
4844
+ if ($.get(d)) $$render(consequent_4);
4912
4845
  });
4913
4846
  }
4914
4847
  $.append($$anchor, fragment);
@@ -5074,8 +5007,9 @@ function View_1($$anchor, $$props) {
5074
5007
  });
5075
5008
  $.append($$anchor3, fragment_6);
5076
5009
  };
5010
+ var d = $.derived(() => length($.get(grid2)[0]) > 1);
5077
5011
  $.if(node_2, ($$render) => {
5078
- if (length($.get(grid2)[0]) > 1) $$render(consequent_2);
5012
+ if ($.get(d)) $$render(consequent_2);
5079
5013
  });
5080
5014
  }
5081
5015
  $.append($$anchor2, fragment_1);
@@ -5114,6 +5048,7 @@ function View_1($$anchor, $$props) {
5114
5048
  });
5115
5049
  $.append($$anchor4, fragment_15);
5116
5050
  };
5051
+ var d_1 = $.derived(() => length($.get(grid2)[0]) > 1);
5117
5052
  var alternate_2 = ($$anchor4) => {
5118
5053
  {
5119
5054
  let $0 = $.derived(() => $.get(grid2).flat());
@@ -5129,7 +5064,7 @@ function View_1($$anchor, $$props) {
5129
5064
  }
5130
5065
  };
5131
5066
  $.if(node_7, ($$render) => {
5132
- if (length($.get(grid2)[0]) > 1) $$render(consequent_4);
5067
+ if ($.get(d_1)) $$render(consequent_4);
5133
5068
  else $$render(alternate_2, false);
5134
5069
  });
5135
5070
  }
@@ -5622,13 +5557,13 @@ function Expander($$anchor, $$props) {
5622
5557
  {
5623
5558
  var consequent = ($$anchor2) => {
5624
5559
  var button = root_2();
5625
- button.__click = onclick;
5626
5560
  $.attach(button, () => contentFrom($.get(icons)[$.get(expanded) ? "collapse" : "expand"]));
5627
5561
  $.template_effect(() => {
5628
5562
  $.set_class(button, 1, $.get(theme).button);
5629
5563
  $.set_attribute(button, "aria-label", $.get(title));
5630
5564
  $.set_attribute(button, "title", $.get(title));
5631
5565
  });
5566
+ $.delegated("click", button, onclick);
5632
5567
  $.append($$anchor2, button);
5633
5568
  };
5634
5569
  $.if(node_1, ($$render) => {
@@ -5953,8 +5888,9 @@ function View($$anchor, $$props) {
5953
5888
  $.bind_element_size(header, "offsetHeight", ($$value) => $.set(headerHeight, $$value));
5954
5889
  $.append($$anchor2, section);
5955
5890
  };
5891
+ var d = $.derived(() => !empty($.get(grid2)) && !empty($.get(grid2)[0]));
5956
5892
  $.if(node, ($$render) => {
5957
- if (!empty($.get(grid2)) && !empty($.get(grid2)[0])) $$render(consequent_3);
5893
+ if ($.get(d)) $$render(consequent_3);
5958
5894
  });
5959
5895
  }
5960
5896
  $.append($$anchor, fragment);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@event-calendar/core",
3
- "version": "5.4.0",
3
+ "version": "5.4.1",
4
4
  "title": "Event Calendar Core package",
5
5
  "description": "Full-sized drag & drop event calendar with resource & timeline views",
6
6
  "keywords": [
@@ -32,6 +32,6 @@
32
32
  "#components": "./src/lib/components/index.js"
33
33
  },
34
34
  "dependencies": {
35
- "svelte": "^5.50.1"
35
+ "svelte": "^5.53.2"
36
36
  }
37
37
  }
@@ -43,7 +43,7 @@
43
43
  <button
44
44
  class="{theme.button}"
45
45
  aria-label="{title}"
46
- title="{title}"
46
+ {title}
47
47
  {onclick}
48
48
  {@attach contentFrom(icons[expanded ? 'collapse' : 'expand'])}
49
49
  >