calendarkit-prov2 2.0.9 → 2.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var React17 = require('react');
3
+ var React18 = require('react');
4
4
  var reactDom = require('react-dom');
5
5
  var core = require('@dnd-kit/core');
6
6
  var modifiers = require('@dnd-kit/modifiers');
@@ -33,7 +33,7 @@ function _interopNamespace(e) {
33
33
  return Object.freeze(n);
34
34
  }
35
35
 
36
- var React17__namespace = /*#__PURE__*/_interopNamespace(React17);
36
+ var React18__namespace = /*#__PURE__*/_interopNamespace(React18);
37
37
 
38
38
  function cn(...inputs) {
39
39
  return tailwindMerge.twMerge(clsx.clsx(inputs));
@@ -65,10 +65,10 @@ var buttonVariants = classVarianceAuthority.cva(
65
65
  }
66
66
  }
67
67
  );
68
- var Button = React17__namespace.forwardRef(
68
+ var Button = React18__namespace.forwardRef(
69
69
  ({ className, variant, size, asChild = false, ...props }, ref) => {
70
70
  const Comp = "button";
71
- return /* @__PURE__ */ React17__namespace.createElement(
71
+ return /* @__PURE__ */ React18__namespace.createElement(
72
72
  Comp,
73
73
  {
74
74
  className: cn(buttonVariants({ variant, size, className })),
@@ -1565,33 +1565,33 @@ var CalendarHeader = ({
1565
1565
  eventCount,
1566
1566
  hideLanguageSwitcher = false
1567
1567
  }) => {
1568
- const [isLangOpen, setIsLangOpen] = React17.useState(false);
1569
- const [isCustomViewOpen, setIsCustomViewOpen] = React17.useState(false);
1570
- const langButtonRef = React17.useRef(null);
1571
- const langDropdownRef = React17.useRef(null);
1572
- const customViewDropdownRef = React17.useRef(null);
1573
- const customViewButtonRef = React17.useRef(null);
1574
- const [langPos, setLangPos] = React17.useState(null);
1575
- const [customViewPos, setCustomViewPos] = React17.useState(null);
1576
- const updateLangPos = React17.useCallback(() => {
1568
+ const [isLangOpen, setIsLangOpen] = React18.useState(false);
1569
+ const [isCustomViewOpen, setIsCustomViewOpen] = React18.useState(false);
1570
+ const langButtonRef = React18.useRef(null);
1571
+ const langDropdownRef = React18.useRef(null);
1572
+ const customViewDropdownRef = React18.useRef(null);
1573
+ const customViewButtonRef = React18.useRef(null);
1574
+ const [langPos, setLangPos] = React18.useState(null);
1575
+ const [customViewPos, setCustomViewPos] = React18.useState(null);
1576
+ const updateLangPos = React18.useCallback(() => {
1577
1577
  const el = langButtonRef.current;
1578
1578
  if (!el) return;
1579
1579
  setLangPos(getDropdownPosition(el.getBoundingClientRect(), LANG_DROPDOWN_WIDTH));
1580
1580
  }, []);
1581
- const updateCustomViewPos = React17.useCallback(() => {
1581
+ const updateCustomViewPos = React18.useCallback(() => {
1582
1582
  const el = customViewButtonRef.current;
1583
1583
  if (!el) return;
1584
1584
  setCustomViewPos(getDropdownPosition(el.getBoundingClientRect(), CUSTOM_VIEW_DROPDOWN_WIDTH));
1585
1585
  }, []);
1586
- React17.useLayoutEffect(() => {
1586
+ React18.useLayoutEffect(() => {
1587
1587
  if (!isLangOpen) return;
1588
1588
  updateLangPos();
1589
1589
  }, [isLangOpen, updateLangPos]);
1590
- React17.useLayoutEffect(() => {
1590
+ React18.useLayoutEffect(() => {
1591
1591
  if (!isCustomViewOpen) return;
1592
1592
  updateCustomViewPos();
1593
1593
  }, [isCustomViewOpen, updateCustomViewPos]);
1594
- React17.useEffect(() => {
1594
+ React18.useEffect(() => {
1595
1595
  if (!isLangOpen) return;
1596
1596
  const handle = () => updateLangPos();
1597
1597
  window.addEventListener("resize", handle);
@@ -1601,7 +1601,7 @@ var CalendarHeader = ({
1601
1601
  window.removeEventListener("scroll", handle, true);
1602
1602
  };
1603
1603
  }, [isLangOpen, updateLangPos]);
1604
- React17.useEffect(() => {
1604
+ React18.useEffect(() => {
1605
1605
  if (!isCustomViewOpen) return;
1606
1606
  const handle = () => updateCustomViewPos();
1607
1607
  window.addEventListener("resize", handle);
@@ -1611,7 +1611,7 @@ var CalendarHeader = ({
1611
1611
  window.removeEventListener("scroll", handle, true);
1612
1612
  };
1613
1613
  }, [isCustomViewOpen, updateCustomViewPos]);
1614
- React17.useEffect(() => {
1614
+ React18.useEffect(() => {
1615
1615
  const handleClickOutside = (e) => {
1616
1616
  const target = e.target;
1617
1617
  const insideButton = langButtonRef.current?.contains(target);
@@ -1621,7 +1621,7 @@ var CalendarHeader = ({
1621
1621
  if (isLangOpen) document.addEventListener("mousedown", handleClickOutside);
1622
1622
  return () => document.removeEventListener("mousedown", handleClickOutside);
1623
1623
  }, [isLangOpen]);
1624
- React17.useEffect(() => {
1624
+ React18.useEffect(() => {
1625
1625
  const handleClickOutside = (e) => {
1626
1626
  const target = e.target;
1627
1627
  const insideButton = customViewButtonRef.current?.contains(target);
@@ -1638,7 +1638,7 @@ var CalendarHeader = ({
1638
1638
  { key: "agenda", icon: lucideReact.ListTodo }
1639
1639
  ];
1640
1640
  const currentLang = LANGUAGE_META[language] ?? LANGUAGE_META["tr"];
1641
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col md:flex-row items-center justify-between px-3 md:px-5 py-3 border-b-[0px] border-border/50 bg-gradient-to-r from-background via-background to-muted/20 gap-3 md:gap-0 min-h-[64px]" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2 w-full md:w-auto justify-between md:justify-start" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2 md:gap-3" }, /* @__PURE__ */ React17__namespace.default.createElement(
1641
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col md:flex-row items-center justify-between px-3 md:px-5 py-3 border-b-[0px] border-border/50 bg-gradient-to-r from-background via-background to-muted/20 gap-3 md:gap-0 min-h-[64px]" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2 w-full md:w-auto justify-between md:justify-start" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2 md:gap-3" }, /* @__PURE__ */ React18__namespace.default.createElement(
1642
1642
  Button,
1643
1643
  {
1644
1644
  variant: "ghost",
@@ -1646,8 +1646,8 @@ var CalendarHeader = ({
1646
1646
  className: "text-muted-foreground hover:text-foreground hover:bg-accent/80 rounded-xl h-10 w-10 transition-all duration-200",
1647
1647
  onClick: onMenuClick
1648
1648
  },
1649
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Menu, { className: "h-5 w-5" })
1650
- ), /* @__PURE__ */ React17__namespace.default.createElement(
1649
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Menu, { className: "h-5 w-5" })
1650
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
1651
1651
  Button,
1652
1652
  {
1653
1653
  variant: "outline",
@@ -1655,15 +1655,15 @@ var CalendarHeader = ({
1655
1655
  className: "h-9 px-5 rounded-xl text-sm font-medium hidden sm:inline-flex border-[0.5px] border-border/60 hover:border-primary/40 hover:bg-primary/5 hover:text-primary transition-all duration-200"
1656
1656
  },
1657
1657
  translations.today
1658
- ), onCreateEvent && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative group hidden sm:block" }, /* @__PURE__ */ React17__namespace.default.createElement(
1658
+ ), onCreateEvent && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative group hidden sm:block" }, /* @__PURE__ */ React18__namespace.default.createElement(
1659
1659
  Button,
1660
1660
  {
1661
1661
  onClick: onCreateEvent,
1662
1662
  size: "icon",
1663
1663
  className: "h-9 w-9 rounded-xl shadow-sm shadow-primary/20 transition-all duration-200"
1664
1664
  },
1665
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Plus, { className: "h-4 w-4" })
1666
- ), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "pointer-events-none absolute left-1/2 -translate-x-1/2 top-full mt-2 z-50 opacity-0 group-hover:opacity-100 transition-opacity duration-150" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "bg-popover text-popover-foreground text-xs font-medium px-2.5 py-1.5 rounded-lg shadow-md border border-border/60 whitespace-nowrap" }, translations.createEvent ?? translations.create), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute -top-1 left-1/2 -translate-x-1/2 w-2 h-2 bg-popover border-l border-t border-border/60 rotate-45" }))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center bg-muted/40 rounded-xl p-0.5" }, /* @__PURE__ */ React17__namespace.default.createElement(
1665
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Plus, { className: "h-4 w-4" })
1666
+ ), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "pointer-events-none absolute left-1/2 -translate-x-1/2 top-full mt-2 z-50 opacity-0 group-hover:opacity-100 transition-opacity duration-150" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "bg-popover text-popover-foreground text-xs font-medium px-2.5 py-1.5 rounded-lg shadow-md border border-border/60 whitespace-nowrap" }, translations.createEvent ?? translations.create), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute -top-1 left-1/2 -translate-x-1/2 w-2 h-2 bg-popover border-l border-t border-border/60 rotate-45" }))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center bg-muted/40 rounded-xl p-0.5" }, /* @__PURE__ */ React18__namespace.default.createElement(
1667
1667
  Button,
1668
1668
  {
1669
1669
  variant: "ghost",
@@ -1671,8 +1671,8 @@ var CalendarHeader = ({
1671
1671
  onClick: onPrev,
1672
1672
  className: "rounded-lg h-8 w-8 hover:bg-background/80 transition-all duration-200"
1673
1673
  },
1674
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronLeft, { className: "h-4 w-4 text-muted-foreground" })
1675
- ), /* @__PURE__ */ React17__namespace.default.createElement(
1674
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronLeft, { className: "h-4 w-4 text-muted-foreground" })
1675
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
1676
1676
  Button,
1677
1677
  {
1678
1678
  variant: "ghost",
@@ -1680,8 +1680,8 @@ var CalendarHeader = ({
1680
1680
  onClick: onNext,
1681
1681
  className: "rounded-lg h-8 w-8 hover:bg-background/80 transition-all duration-200"
1682
1682
  },
1683
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronRight, { className: "h-4 w-4 text-muted-foreground" })
1684
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "ml-2 md:ml-4 hidden sm:block" }, /* @__PURE__ */ React17__namespace.default.createElement("h2", { className: "text-lg md:text-xl font-semibold text-foreground whitespace-nowrap capitalize tracking-tight" }, dateFns.format(currentDate, "MMMM yyyy", { locale })))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "sm:hidden" }, /* @__PURE__ */ React17__namespace.default.createElement("h2", { className: "text-lg font-semibold text-foreground whitespace-nowrap capitalize tracking-tight" }, dateFns.format(currentDate, "MMMM yyyy", { locale })))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2 md:gap-3 w-full md:w-auto justify-end" }, onLanguageChange && !hideLanguageSwitcher && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React17__namespace.default.createElement(
1683
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronRight, { className: "h-4 w-4 text-muted-foreground" })
1684
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "ml-2 md:ml-4 hidden sm:block" }, /* @__PURE__ */ React18__namespace.default.createElement("h2", { className: "text-lg md:text-xl font-semibold text-foreground whitespace-nowrap capitalize tracking-tight" }, dateFns.format(currentDate, "MMMM yyyy", { locale })))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "sm:hidden" }, /* @__PURE__ */ React18__namespace.default.createElement("h2", { className: "text-lg font-semibold text-foreground whitespace-nowrap capitalize tracking-tight" }, dateFns.format(currentDate, "MMMM yyyy", { locale })))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2 md:gap-3 w-full md:w-auto justify-end" }, onLanguageChange && !hideLanguageSwitcher && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React18__namespace.default.createElement(
1685
1685
  "button",
1686
1686
  {
1687
1687
  ref: langButtonRef,
@@ -1693,20 +1693,20 @@ var CalendarHeader = ({
1693
1693
  ),
1694
1694
  title: currentLang.english
1695
1695
  },
1696
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Globe, { className: "h-3.5 w-3.5" }),
1697
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-base leading-none" }, currentLang.flag),
1698
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "hidden sm:inline text-xs font-semibold uppercase tracking-wider" }, language),
1699
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("h-3.5 w-3.5 transition-transform duration-200", isLangOpen && "rotate-180") })
1696
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Globe, { className: "h-3.5 w-3.5" }),
1697
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-base leading-none" }, currentLang.flag),
1698
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "hidden sm:inline text-xs font-semibold uppercase tracking-wider" }, language),
1699
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("h-3.5 w-3.5 transition-transform duration-200", isLangOpen && "rotate-180") })
1700
1700
  ), isLangOpen && langPos && reactDom.createPortal(
1701
- /* @__PURE__ */ React17__namespace.default.createElement(
1701
+ /* @__PURE__ */ React18__namespace.default.createElement(
1702
1702
  "div",
1703
1703
  {
1704
1704
  ref: langDropdownRef,
1705
1705
  className: "fixed w-52 bg-background border border-border/60 rounded-2xl shadow-2xl z-[9999] overflow-hidden py-1.5",
1706
1706
  style: { top: langPos.top, left: langPos.left, width: LANG_DROPDOWN_WIDTH }
1707
1707
  },
1708
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-3 py-2 border-b border-border/40 mb-1" }, /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider" }, "Language / Dil")),
1709
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "max-h-72 overflow-y-auto" }, Object.entries(LANGUAGE_META).map(([code, meta]) => /* @__PURE__ */ React17__namespace.default.createElement(
1708
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-3 py-2 border-b border-border/40 mb-1" }, /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider" }, "Language / Dil")),
1709
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "max-h-72 overflow-y-auto" }, Object.entries(LANGUAGE_META).map(([code, meta]) => /* @__PURE__ */ React18__namespace.default.createElement(
1710
1710
  "button",
1711
1711
  {
1712
1712
  key: code,
@@ -1720,13 +1720,13 @@ var CalendarHeader = ({
1720
1720
  language === code ? "bg-primary/10 text-primary font-semibold" : "text-foreground"
1721
1721
  )
1722
1722
  },
1723
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-lg leading-none w-6 text-center" }, meta.flag),
1724
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 text-left" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn("font-medium", meta.rtl && "text-right") }, meta.native), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-xs text-muted-foreground" }, meta.english)),
1725
- language === code && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-2 h-2 rounded-full bg-primary shrink-0" })
1723
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-lg leading-none w-6 text-center" }, meta.flag),
1724
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 text-left" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn("font-medium", meta.rtl && "text-right") }, meta.native), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-xs text-muted-foreground" }, meta.english)),
1725
+ language === code && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-2 h-2 rounded-full bg-primary shrink-0" })
1726
1726
  )))
1727
1727
  ),
1728
1728
  document.body
1729
- )), onThemeToggle && /* @__PURE__ */ React17__namespace.default.createElement(
1729
+ )), onThemeToggle && /* @__PURE__ */ React18__namespace.default.createElement(
1730
1730
  Button,
1731
1731
  {
1732
1732
  variant: "ghost",
@@ -1734,16 +1734,16 @@ var CalendarHeader = ({
1734
1734
  className: "rounded-xl h-9 w-9 hover:bg-accent/80 transition-all duration-200",
1735
1735
  onClick: onThemeToggle
1736
1736
  },
1737
- isDarkMode ? /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Sun, { className: "h-4 w-4 text-amber-500" }) : /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Moon, { className: "h-4 w-4 text-muted-foreground" })
1738
- ), typeof eventCount === "number" && !hideViewSwitcher && /* @__PURE__ */ React17__namespace.default.createElement(
1737
+ isDarkMode ? /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Sun, { className: "h-4 w-4 text-amber-500" }) : /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Moon, { className: "h-4 w-4 text-muted-foreground" })
1738
+ ), typeof eventCount === "number" && !hideViewSwitcher && /* @__PURE__ */ React18__namespace.default.createElement(
1739
1739
  "div",
1740
1740
  {
1741
1741
  className: "flex items-center gap-1.5 h-8 px-3 rounded-xl bg-primary/10 text-primary text-xs font-semibold tabular-nums select-none border border-primary/20 shadow-sm shadow-primary/10",
1742
1742
  title: `${eventCount} event${eventCount !== 1 ? "s" : ""}`
1743
1743
  },
1744
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.CalendarCheck2, { className: "w-3.5 h-3.5 shrink-0" }),
1745
- /* @__PURE__ */ React17__namespace.default.createElement("span", null, eventCount)
1746
- ), !hideViewSwitcher && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center bg-muted/50 backdrop-blur-sm rounded-xl p-1 gap-0.5" }, viewConfig.map(({ key, icon: Icon }) => /* @__PURE__ */ React17__namespace.default.createElement(
1744
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.CalendarCheck2, { className: "w-3.5 h-3.5 shrink-0" }),
1745
+ /* @__PURE__ */ React18__namespace.default.createElement("span", null, eventCount)
1746
+ ), !hideViewSwitcher && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center bg-muted/50 backdrop-blur-sm rounded-xl p-1 gap-0.5" }, viewConfig.map(({ key, icon: Icon }) => /* @__PURE__ */ React18__namespace.default.createElement(
1747
1747
  Button,
1748
1748
  {
1749
1749
  key,
@@ -1758,9 +1758,9 @@ var CalendarHeader = ({
1758
1758
  view === key && !activeCustomViewId ? "bg-background shadow-sm text-foreground font-medium border-[0.5px] border-border/50" : "text-muted-foreground hover:text-foreground hover:bg-background/50"
1759
1759
  )
1760
1760
  },
1761
- /* @__PURE__ */ React17__namespace.default.createElement(Icon, { className: "h-3.5 w-3.5" }),
1762
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "hidden sm:inline" }, translations[key])
1763
- )), customViews && customViews.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-px h-5 bg-border/60 mx-0.5 shrink-0" }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React17__namespace.default.createElement(
1761
+ /* @__PURE__ */ React18__namespace.default.createElement(Icon, { className: "h-3.5 w-3.5" }),
1762
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "hidden sm:inline" }, translations[key])
1763
+ )), customViews && customViews.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-px h-5 bg-border/60 mx-0.5 shrink-0" }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React18__namespace.default.createElement(
1764
1764
  Button,
1765
1765
  {
1766
1766
  ref: customViewButtonRef,
@@ -1773,17 +1773,17 @@ var CalendarHeader = ({
1773
1773
  ),
1774
1774
  title: "Daha fazla g\xF6r\xFCn\xFCm"
1775
1775
  },
1776
- activeCustomViewId ? customViews.find((cv) => cv.id === activeCustomViewId)?.label : /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.MoreHorizontal, { className: "h-3.5 w-3.5" }),
1777
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("h-3 w-3 transition-transform duration-150", isCustomViewOpen && "rotate-180") })
1776
+ activeCustomViewId ? customViews.find((cv) => cv.id === activeCustomViewId)?.label : /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.MoreHorizontal, { className: "h-3.5 w-3.5" }),
1777
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("h-3 w-3 transition-transform duration-150", isCustomViewOpen && "rotate-180") })
1778
1778
  ), isCustomViewOpen && customViewPos && reactDom.createPortal(
1779
- /* @__PURE__ */ React17__namespace.default.createElement(
1779
+ /* @__PURE__ */ React18__namespace.default.createElement(
1780
1780
  "div",
1781
1781
  {
1782
1782
  ref: customViewDropdownRef,
1783
1783
  className: "fixed min-w-[160px] bg-background border border-border/60 rounded-2xl shadow-2xl z-[9999] overflow-hidden py-1.5",
1784
1784
  style: { top: customViewPos.top, left: customViewPos.left, minWidth: CUSTOM_VIEW_DROPDOWN_WIDTH }
1785
1785
  },
1786
- customViews.map((cv) => /* @__PURE__ */ React17__namespace.default.createElement(
1786
+ customViews.map((cv) => /* @__PURE__ */ React18__namespace.default.createElement(
1787
1787
  "button",
1788
1788
  {
1789
1789
  key: cv.id,
@@ -1797,9 +1797,9 @@ var CalendarHeader = ({
1797
1797
  activeCustomViewId === cv.id ? "bg-primary/10 text-primary font-semibold" : "text-foreground"
1798
1798
  )
1799
1799
  },
1800
- cv.icon && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "w-4 h-4 flex items-center justify-center shrink-0" }, cv.icon),
1801
- /* @__PURE__ */ React17__namespace.default.createElement("span", null, cv.label),
1802
- activeCustomViewId === cv.id && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "ml-auto w-1.5 h-1.5 rounded-full bg-primary shrink-0" })
1800
+ cv.icon && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "w-4 h-4 flex items-center justify-center shrink-0" }, cv.icon),
1801
+ /* @__PURE__ */ React18__namespace.default.createElement("span", null, cv.label),
1802
+ activeCustomViewId === cv.id && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "ml-auto w-1.5 h-1.5 rounded-full bg-primary shrink-0" })
1803
1803
  ))
1804
1804
  ),
1805
1805
  document.body
@@ -1826,12 +1826,12 @@ var MiniCalendar = ({
1826
1826
  className,
1827
1827
  locale
1828
1828
  }) => {
1829
- const [viewDate, setViewDate] = React17__namespace.default.useState(currentDate);
1830
- React17__namespace.default.useEffect(() => {
1829
+ const [viewDate, setViewDate] = React18__namespace.default.useState(currentDate);
1830
+ React18__namespace.default.useEffect(() => {
1831
1831
  setViewDate(currentDate);
1832
1832
  }, [currentDate]);
1833
- const days = React17__namespace.default.useMemo(() => getMonthGrid(viewDate), [viewDate]);
1834
- const weekDays = React17__namespace.default.useMemo(() => {
1833
+ const days = React18__namespace.default.useMemo(() => getMonthGrid(viewDate), [viewDate]);
1834
+ const weekDays = React18__namespace.default.useMemo(() => {
1835
1835
  const base = new Date(2024, 0, 7);
1836
1836
  return Array.from({ length: 7 }, (_, i) => {
1837
1837
  const d = new Date(base);
@@ -1855,7 +1855,7 @@ var MiniCalendar = ({
1855
1855
  onDateChange(day);
1856
1856
  if (onViewChange) onViewChange("day");
1857
1857
  };
1858
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn("px-4 w-[260px]", className) }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between mb-4" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-semibold text-foreground capitalize" }, dateFns.format(viewDate, "MMMM yyyy", { locale })), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center bg-muted/40 rounded-lg p-0.5" }, /* @__PURE__ */ React17__namespace.default.createElement(
1858
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn("px-4 w-[260px]", className) }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between mb-4" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-semibold text-foreground capitalize" }, dateFns.format(viewDate, "MMMM yyyy", { locale })), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center bg-muted/40 rounded-lg p-0.5" }, /* @__PURE__ */ React18__namespace.default.createElement(
1859
1859
  Button,
1860
1860
  {
1861
1861
  variant: "ghost",
@@ -1864,8 +1864,8 @@ var MiniCalendar = ({
1864
1864
  onClick: handlePrev,
1865
1865
  "aria-label": "Previous month"
1866
1866
  },
1867
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronLeft, { className: "h-4 w-4" })
1868
- ), /* @__PURE__ */ React17__namespace.default.createElement(
1867
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronLeft, { className: "h-4 w-4" })
1868
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
1869
1869
  Button,
1870
1870
  {
1871
1871
  variant: "ghost",
@@ -1874,12 +1874,12 @@ var MiniCalendar = ({
1874
1874
  onClick: handleNext,
1875
1875
  "aria-label": "Next month"
1876
1876
  },
1877
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronRight, { className: "h-4 w-4" })
1878
- ))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "grid grid-cols-7 gap-y-2 text-center mb-2" }, weekDays.map((day, i) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: `${day}-${i}`, className: "text-[10px] text-muted-foreground/70 font-semibold uppercase" }, day))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "grid grid-cols-7 gap-y-1 text-center" }, days.map((day) => {
1877
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronRight, { className: "h-4 w-4" })
1878
+ ))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "grid grid-cols-7 gap-y-2 text-center mb-2" }, weekDays.map((day, i) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: `${day}-${i}`, className: "text-[10px] text-muted-foreground/70 font-semibold uppercase" }, day))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "grid grid-cols-7 gap-y-1 text-center" }, days.map((day) => {
1879
1879
  const isSelected = dateFns.isSameDay(day, currentDate);
1880
1880
  const isCurrentMonth = dateFns.isSameMonth(day, viewDate);
1881
1881
  const isTodayDate = dateFns.isToday(day);
1882
- return /* @__PURE__ */ React17__namespace.default.createElement(
1882
+ return /* @__PURE__ */ React18__namespace.default.createElement(
1883
1883
  "button",
1884
1884
  {
1885
1885
  key: day.toISOString(),
@@ -1919,12 +1919,12 @@ var Sidebar = ({
1919
1919
  onCustomViewChange,
1920
1920
  locale
1921
1921
  }) => {
1922
- const [calendarsOpen, setCalendarsOpen] = React17.useState(true);
1923
- const [timezoneOpen, setTimezoneOpen] = React17.useState(false);
1924
- const [now, setNow] = React17.useState(null);
1925
- const [hasMounted, setHasMounted] = React17.useState(false);
1926
- const [menusExpanded, setMenusExpanded] = React17.useState(false);
1927
- React17.useEffect(() => {
1922
+ const [calendarsOpen, setCalendarsOpen] = React18.useState(true);
1923
+ const [timezoneOpen, setTimezoneOpen] = React18.useState(false);
1924
+ const [now, setNow] = React18.useState(null);
1925
+ const [hasMounted, setHasMounted] = React18.useState(false);
1926
+ const [menusExpanded, setMenusExpanded] = React18.useState(false);
1927
+ React18.useEffect(() => {
1928
1928
  setHasMounted(true);
1929
1929
  setNow(/* @__PURE__ */ new Date());
1930
1930
  const timer = setInterval(() => setNow(/* @__PURE__ */ new Date()), 6e4);
@@ -1961,7 +1961,7 @@ var Sidebar = ({
1961
1961
  ];
1962
1962
  const formatTzLabel = (tz, showTime = true) => {
1963
1963
  if (!hasMounted || !now || !showTime) {
1964
- return /* @__PURE__ */ React17__namespace.default.createElement("span", null, tz.label);
1964
+ return /* @__PURE__ */ React18__namespace.default.createElement("span", null, tz.label);
1965
1965
  }
1966
1966
  let time = "";
1967
1967
  let acronym = tz.acronym;
@@ -1981,29 +1981,29 @@ var Sidebar = ({
1981
1981
  }
1982
1982
  }
1983
1983
  } catch (e) {
1984
- return /* @__PURE__ */ React17__namespace.default.createElement("span", null, tz.label);
1984
+ return /* @__PURE__ */ React18__namespace.default.createElement("span", null, tz.label);
1985
1985
  }
1986
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex justify-between w-full" }, /* @__PURE__ */ React17__namespace.default.createElement("span", null, tz.label), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-muted-foreground ml-2 tabular-nums" }, time, " ", /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs opacity-75" }, "(", acronym, ")")));
1986
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex justify-between w-full" }, /* @__PURE__ */ React18__namespace.default.createElement("span", null, tz.label), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-muted-foreground ml-2 tabular-nums" }, time, " ", /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs opacity-75" }, "(", acronym, ")")));
1987
1987
  };
1988
1988
  const selectedTzObj = timezones.find((t) => t.value === (timezone || ""));
1989
1989
  const selectedTimezoneLabel = selectedTzObj ? formatTzLabel(selectedTzObj) : translations?.localTime ?? "Local Time";
1990
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn("flex flex-col w-[260px] overflow-x-hidden h-full bg-gradient-to-b scrollbar-hide from-background via-background to-muted/10 pt-4 pb-4 overflow-y-auto", className) }, sidebarMenus && sidebarMenus.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-4 mb-4" }, !menusExpanded && /* @__PURE__ */ React17__namespace.default.createElement(
1990
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn("flex flex-col w-[260px] overflow-x-hidden h-full bg-gradient-to-b scrollbar-hide from-background via-background to-muted/10 pt-4 pb-4 overflow-y-auto", className) }, sidebarMenus && sidebarMenus.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-4 mb-4" }, !menusExpanded && /* @__PURE__ */ React18__namespace.default.createElement(
1991
1991
  Button,
1992
1992
  {
1993
1993
  variant: "outline",
1994
1994
  className: "w-full rounded-2xl h-11 gap-2.5 justify-start border-[0.5px] border-border/60 hover:border-primary/40 hover:bg-primary/5 hover:text-primary transition-all duration-200 font-medium text-sm",
1995
1995
  onClick: () => setMenusExpanded(true)
1996
1996
  },
1997
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.LayoutGrid, { className: "w-4 h-4" }),
1998
- /* @__PURE__ */ React17__namespace.default.createElement("span", null, translations?.operations ?? "\u0130\u015Flemler")
1999
- ), menusExpanded && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "animate-in fade-in slide-in-from-top-2 duration-200" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between mb-2 px-1" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider" }, translations?.operations ?? "\u0130\u015Flemler"), /* @__PURE__ */ React17__namespace.default.createElement(
1997
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.LayoutGrid, { className: "w-4 h-4" }),
1998
+ /* @__PURE__ */ React18__namespace.default.createElement("span", null, translations?.operations ?? "\u0130\u015Flemler")
1999
+ ), menusExpanded && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "animate-in fade-in slide-in-from-top-2 duration-200" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between mb-2 px-1" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider" }, translations?.operations ?? "\u0130\u015Flemler"), /* @__PURE__ */ React18__namespace.default.createElement(
2000
2000
  "button",
2001
2001
  {
2002
2002
  onClick: () => setMenusExpanded(false),
2003
2003
  className: "w-6 h-6 rounded-lg flex items-center justify-center text-muted-foreground hover:text-foreground hover:bg-accent/60 transition-all duration-150"
2004
2004
  },
2005
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.X, { className: "w-3.5 h-3.5" })
2006
- )), /* @__PURE__ */ React17__namespace.default.createElement("nav", { className: "space-y-0.5" }, /* @__PURE__ */ React17__namespace.default.createElement(
2005
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.X, { className: "w-3.5 h-3.5" })
2006
+ )), /* @__PURE__ */ React18__namespace.default.createElement("nav", { className: "space-y-0.5" }, /* @__PURE__ */ React18__namespace.default.createElement(
2007
2007
  "button",
2008
2008
  {
2009
2009
  onClick: () => {
@@ -2015,10 +2015,10 @@ var Sidebar = ({
2015
2015
  activeCustomMenu === null ? "bg-primary/10 text-primary" : "text-muted-foreground hover:bg-accent/60 hover:text-foreground"
2016
2016
  )
2017
2017
  },
2018
- /* @__PURE__ */ React17__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-4 h-4 shrink-0", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React17__namespace.default.createElement("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), /* @__PURE__ */ React17__namespace.default.createElement("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), /* @__PURE__ */ React17__namespace.default.createElement("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), /* @__PURE__ */ React17__namespace.default.createElement("line", { x1: "3", y1: "10", x2: "21", y2: "10" })),
2019
- /* @__PURE__ */ React17__namespace.default.createElement("span", null, translations?.calendar ?? "Takvim"),
2020
- activeCustomMenu === null && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "ml-auto w-1.5 h-1.5 rounded-full bg-primary" })
2021
- ), sidebarMenus?.map((item) => /* @__PURE__ */ React17__namespace.default.createElement(
2018
+ /* @__PURE__ */ React18__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-4 h-4 shrink-0", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React18__namespace.default.createElement("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), /* @__PURE__ */ React18__namespace.default.createElement("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), /* @__PURE__ */ React18__namespace.default.createElement("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), /* @__PURE__ */ React18__namespace.default.createElement("line", { x1: "3", y1: "10", x2: "21", y2: "10" })),
2019
+ /* @__PURE__ */ React18__namespace.default.createElement("span", null, translations?.calendar ?? "Takvim"),
2020
+ activeCustomMenu === null && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "ml-auto w-1.5 h-1.5 rounded-full bg-primary" })
2021
+ ), sidebarMenus?.map((item) => /* @__PURE__ */ React18__namespace.default.createElement(
2022
2022
  "button",
2023
2023
  {
2024
2024
  key: item.id,
@@ -2031,10 +2031,10 @@ var Sidebar = ({
2031
2031
  activeCustomMenu === item.id ? "bg-primary/10 text-primary" : "text-muted-foreground hover:bg-accent/60 hover:text-foreground"
2032
2032
  )
2033
2033
  },
2034
- item.icon && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "w-4 h-4 shrink-0 flex items-center justify-center" }, item.icon),
2035
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "truncate" }, item.label),
2036
- activeCustomMenu === item.id && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "ml-auto w-1.5 h-1.5 rounded-full bg-primary" })
2037
- ))))), onEventCreate && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "md:hidden px-4 mb-4" }, /* @__PURE__ */ React17__namespace.default.createElement(
2034
+ item.icon && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "w-4 h-4 shrink-0 flex items-center justify-center" }, item.icon),
2035
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "truncate" }, item.label),
2036
+ activeCustomMenu === item.id && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "ml-auto w-1.5 h-1.5 rounded-full bg-primary" })
2037
+ ))))), onEventCreate && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "md:hidden px-4 mb-4" }, /* @__PURE__ */ React18__namespace.default.createElement(
2038
2038
  Button,
2039
2039
  {
2040
2040
  onClick: () => {
@@ -2042,9 +2042,9 @@ var Sidebar = ({
2042
2042
  },
2043
2043
  className: "w-full rounded-2xl h-11 gap-2.5 justify-center shadow-sm shadow-primary/20 transition-all duration-200 font-medium text-sm"
2044
2044
  },
2045
- /* @__PURE__ */ React17__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-4 h-4 shrink-0", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React17__namespace.default.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ React17__namespace.default.createElement("path", { d: "M12 5v14" })),
2046
- /* @__PURE__ */ React17__namespace.default.createElement("span", null, translations?.createEvent ?? "Etkinlik Olu\u015Ftur")
2047
- )), onReverseTimeChange && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-4 mb-4" }, /* @__PURE__ */ React17__namespace.default.createElement(
2045
+ /* @__PURE__ */ React18__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-4 h-4 shrink-0", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React18__namespace.default.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ React18__namespace.default.createElement("path", { d: "M12 5v14" })),
2046
+ /* @__PURE__ */ React18__namespace.default.createElement("span", null, translations?.createEvent ?? "Etkinlik Olu\u015Ftur")
2047
+ )), onReverseTimeChange && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-4 mb-4" }, /* @__PURE__ */ React18__namespace.default.createElement(
2048
2048
  "button",
2049
2049
  {
2050
2050
  onClick: () => onReverseTimeChange(!reverseTime),
@@ -2053,33 +2053,33 @@ var Sidebar = ({
2053
2053
  reverseTime ? "bg-primary/10 border-primary/30 text-primary" : "bg-muted/30 border-border/50 text-muted-foreground hover:border-primary/30 hover:text-foreground"
2054
2054
  )
2055
2055
  },
2056
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2.5" }, /* @__PURE__ */ React17__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-4 h-4 shrink-0", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React17__namespace.default.createElement("line", { x1: "12", y1: "19", x2: "12", y2: "5" }), /* @__PURE__ */ React17__namespace.default.createElement("polyline", { points: "5 12 12 5 19 12" }), /* @__PURE__ */ React17__namespace.default.createElement("line", { x1: "12", y1: "5", x2: "12", y2: "19", className: "opacity-40" }), /* @__PURE__ */ React17__namespace.default.createElement("polyline", { points: "5 12 12 19 19 12", className: "opacity-40" })), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-left" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-xs font-semibold leading-tight" }, translations?.reverseTimeLabel ?? "Saat Y\xF6n\xFC"), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-[10px] leading-tight opacity-70 mt-0.5" }, reverseTime ? "23:00 \u2192 00:00" : "00:00 \u2192 23:00"))),
2057
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
2056
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2.5" }, /* @__PURE__ */ React18__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "w-4 h-4 shrink-0", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React18__namespace.default.createElement("line", { x1: "12", y1: "19", x2: "12", y2: "5" }), /* @__PURE__ */ React18__namespace.default.createElement("polyline", { points: "5 12 12 5 19 12" }), /* @__PURE__ */ React18__namespace.default.createElement("line", { x1: "12", y1: "5", x2: "12", y2: "19", className: "opacity-40" }), /* @__PURE__ */ React18__namespace.default.createElement("polyline", { points: "5 12 12 19 19 12", className: "opacity-40" })), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-left" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-xs font-semibold leading-tight" }, translations?.reverseTimeLabel ?? "Saat Y\xF6n\xFC"), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-[10px] leading-tight opacity-70 mt-0.5" }, reverseTime ? "23:00 \u2192 00:00" : "00:00 \u2192 23:00"))),
2057
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
2058
2058
  "relative w-9 h-5 rounded-full transition-colors duration-200 shrink-0",
2059
2059
  reverseTime ? "bg-primary" : "bg-border"
2060
- ) }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: cn(
2060
+ ) }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: cn(
2061
2061
  "absolute top-0.5 w-4 h-4 bg-white rounded-full shadow-sm transition-all duration-200",
2062
2062
  reverseTime ? "left-4" : "left-0.5"
2063
2063
  ) }))
2064
2064
  )), renderMiniCalendar ? (
2065
2065
  // Custom mini-calendar: receives the same props as the built-in one
2066
2066
  renderMiniCalendar({ currentDate, onDateChange, onViewChange })
2067
- ) : /* @__PURE__ */ React17__namespace.default.createElement(MiniCalendar, { currentDate, onDateChange, onViewChange, locale }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 px-4 space-y-5 mt-5" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "bg-muted/20 rounded-2xl p-3 border-[0px] border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement(
2067
+ ) : /* @__PURE__ */ React18__namespace.default.createElement(MiniCalendar, { currentDate, onDateChange, onViewChange, locale }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 px-4 space-y-5 mt-5" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "bg-muted/20 rounded-2xl p-3 border-[0px] border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement(
2068
2068
  "div",
2069
2069
  {
2070
2070
  className: "flex items-center justify-between cursor-pointer hover:bg-accent/50 p-2 -m-1 rounded-xl mb-2 transition-all duration-200",
2071
2071
  onClick: () => setCalendarsOpen(!calendarsOpen)
2072
2072
  },
2073
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-semibold text-foreground" }, translations?.calendars),
2074
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("w-4 h-4 text-muted-foreground transition-transform duration-200", calendarsOpen && "rotate-180") })
2075
- ), calendarsOpen && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "space-y-1" }, displayCalendars.map((cal) => /* @__PURE__ */ React17__namespace.default.createElement(
2073
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-semibold text-foreground" }, translations?.calendars),
2074
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("w-4 h-4 text-muted-foreground transition-transform duration-200", calendarsOpen && "rotate-180") })
2075
+ ), calendarsOpen && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "space-y-1" }, displayCalendars.map((cal) => /* @__PURE__ */ React18__namespace.default.createElement(
2076
2076
  "div",
2077
2077
  {
2078
2078
  key: cal.id,
2079
2079
  className: "flex items-center gap-3 py-2 px-2 hover:bg-accent/60 rounded-xl cursor-pointer group transition-all duration-200",
2080
2080
  onClick: () => onCalendarToggle?.(cal.id, !(cal.active ?? true))
2081
2081
  },
2082
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative flex items-center justify-center" }, /* @__PURE__ */ React17__namespace.default.createElement(
2082
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative flex items-center justify-center" }, /* @__PURE__ */ React18__namespace.default.createElement(
2083
2083
  "input",
2084
2084
  {
2085
2085
  type: "checkbox",
@@ -2092,7 +2092,7 @@ var Sidebar = ({
2092
2092
  style: { "--primary-color": cal.color },
2093
2093
  "data-cal-id": cal.id
2094
2094
  }
2095
- ), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none opacity-0 peer-checked:opacity-100 transition-opacity" }, /* @__PURE__ */ React17__namespace.default.createElement("svg", { className: "w-3.5 h-3.5 text-white", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 3 }, /* @__PURE__ */ React17__namespace.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M5 13l4 4L19 7" }))), /* @__PURE__ */ React17__namespace.default.createElement("style", null, `
2095
+ ), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none opacity-0 peer-checked:opacity-100 transition-opacity" }, /* @__PURE__ */ React18__namespace.default.createElement("svg", { className: "w-3.5 h-3.5 text-white", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 3 }, /* @__PURE__ */ React18__namespace.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M5 13l4 4L19 7" }))), /* @__PURE__ */ React18__namespace.default.createElement("style", null, `
2096
2096
  input[type="checkbox"][data-cal-id="${cal.id}"]:checked {
2097
2097
  background-color: ${cal.color} !important;
2098
2098
  border-color: ${cal.color} !important;
@@ -2101,23 +2101,23 @@ var Sidebar = ({
2101
2101
  --tw-ring-color: ${cal.color}40 !important;
2102
2102
  }
2103
2103
  `)),
2104
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2 flex-1 min-w-0" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm text-foreground/90 truncate font-medium" }, cal.label)),
2105
- /* @__PURE__ */ React17__namespace.default.createElement(
2104
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2 flex-1 min-w-0" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm text-foreground/90 truncate font-medium" }, cal.label)),
2105
+ /* @__PURE__ */ React18__namespace.default.createElement(
2106
2106
  "div",
2107
2107
  {
2108
2108
  className: "w-2 h-2 rounded-full opacity-60 group-hover:opacity-100 transition-opacity",
2109
2109
  style: { backgroundColor: cal.color }
2110
2110
  }
2111
2111
  )
2112
- ))))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "mt-auto px-4 pt-5" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "bg-muted/20 rounded-2xl p-3" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2 mb-3" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "p-1.5 bg-primary/10 rounded-lg" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Globe, { className: "w-4 h-4 text-primary" })), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-semibold text-foreground" }, translations?.timezone)), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React17__namespace.default.createElement(
2112
+ ))))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "mt-auto px-4 pt-5" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "bg-muted/20 rounded-2xl p-3" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2 mb-3" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-1.5 bg-primary/10 rounded-lg" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Globe, { className: "w-4 h-4 text-primary" })), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-semibold text-foreground" }, translations?.timezone)), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React18__namespace.default.createElement(
2113
2113
  "button",
2114
2114
  {
2115
2115
  onClick: () => setTimezoneOpen(!timezoneOpen),
2116
2116
  className: "w-full flex items-center justify-between bg-blue-200/40 hover:bg-blue-200/80 rounded-xl py-2.5 pl-4 pr-3 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary/50 transition-all duration-200 text-left"
2117
2117
  },
2118
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 truncate mr-2 font-medium" }, selectedTimezoneLabel),
2119
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("w-4 h-4 text-muted-foreground transition-transform duration-200", timezoneOpen && "rotate-180") })
2120
- ), timezoneOpen && /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setTimezoneOpen(false) }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute bottom-full left-0 w-full mb-2 bg-background rounded-xl shadow-2xl z-50 max-h-[260px] overflow-y-auto p-1.5 animate-in fade-in zoom-in-95 duration-200 backdrop-blur-none" }, timezones.map((tz) => /* @__PURE__ */ React17__namespace.default.createElement(
2118
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 truncate mr-2 font-medium" }, selectedTimezoneLabel),
2119
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("w-4 h-4 text-muted-foreground transition-transform duration-200", timezoneOpen && "rotate-180") })
2120
+ ), timezoneOpen && /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setTimezoneOpen(false) }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute bottom-full left-0 w-full mb-2 bg-background rounded-xl shadow-2xl z-50 max-h-[260px] overflow-y-auto p-1.5 animate-in fade-in zoom-in-95 duration-200 backdrop-blur-none" }, timezones.map((tz) => /* @__PURE__ */ React18__namespace.default.createElement(
2121
2121
  "div",
2122
2122
  {
2123
2123
  key: tz.value,
@@ -2150,7 +2150,7 @@ var DraggableEvent = ({ event, children, className, style: propStyle, ...props }
2150
2150
  opacity: isDragging ? 0 : propStyle?.opacity
2151
2151
  // Hiding original element completely
2152
2152
  };
2153
- return /* @__PURE__ */ React17__namespace.default.createElement(
2153
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2154
2154
  "div",
2155
2155
  {
2156
2156
  ref: setNodeRef,
@@ -2171,7 +2171,7 @@ var DroppableCell = ({ id, date, resourceId, children, className, style, onClick
2171
2171
  const minutes = date.getMinutes();
2172
2172
  const quarterClass = minutes === 0 ? "hover:bg-blue-50/50 dark:hover:bg-blue-900/10" : minutes === 15 ? "hover:bg-blue-50/80 dark:hover:bg-blue-900/20" : minutes === 30 ? "hover:bg-blue-100/50 dark:hover:bg-blue-900/30" : "hover:bg-blue-100/80 dark:hover:bg-blue-900/40";
2173
2173
  const activeQuarterClass = minutes === 0 ? "bg-blue-50/50 dark:bg-blue-900/10 ring-2 ring-primary ring-inset" : minutes === 15 ? "bg-blue-50/80 dark:bg-blue-900/20 ring-2 ring-primary ring-inset" : minutes === 30 ? "bg-blue-100/50 dark:bg-blue-900/30 ring-2 ring-primary ring-inset" : "bg-blue-100/80 dark:bg-blue-900/40 ring-2 ring-primary ring-inset";
2174
- return /* @__PURE__ */ React17__namespace.default.createElement(
2174
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2175
2175
  "div",
2176
2176
  {
2177
2177
  ref: setNodeRef,
@@ -2188,7 +2188,7 @@ var DroppableCell = ({ id, date, resourceId, children, className, style, onClick
2188
2188
  };
2189
2189
 
2190
2190
  // src/views/MonthView.tsx
2191
- var EventItem = React17__namespace.default.memo(({ event, onEventClick }) => /* @__PURE__ */ React17__namespace.default.createElement(DraggableEvent, { event }, /* @__PURE__ */ React17__namespace.default.createElement(
2191
+ var EventItem = React18__namespace.default.memo(({ event, onEventClick }) => /* @__PURE__ */ React18__namespace.default.createElement(DraggableEvent, { event }, /* @__PURE__ */ React18__namespace.default.createElement(
2192
2192
  "div",
2193
2193
  {
2194
2194
  className: cn(
@@ -2206,7 +2206,7 @@ var EventItem = React17__namespace.default.memo(({ event, onEventClick }) => /*
2206
2206
  onEventClick?.(event);
2207
2207
  }
2208
2208
  },
2209
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "font-medium" }, event.title)
2209
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "font-medium" }, event.title)
2210
2210
  )));
2211
2211
  EventItem.displayName = "EventItem";
2212
2212
  var MonthView = ({
@@ -2217,16 +2217,16 @@ var MonthView = ({
2217
2217
  timezone,
2218
2218
  locale
2219
2219
  }) => {
2220
- const days = React17.useMemo(() => getMonthGrid(currentDate), [currentDate]);
2221
- const weekDays = React17.useMemo(() => {
2220
+ const days = React18.useMemo(() => getMonthGrid(currentDate), [currentDate]);
2221
+ const weekDays = React18.useMemo(() => {
2222
2222
  const start = dateFns.startOfWeek(currentDate, { weekStartsOn: 1 });
2223
2223
  const end = dateFns.endOfWeek(currentDate, { weekStartsOn: 1 });
2224
2224
  return dateFns.eachDayOfInterval({ start, end });
2225
2225
  }, [currentDate]);
2226
- const getZonedDate = React17.useCallback((date) => {
2226
+ const getZonedDate = React18.useCallback((date) => {
2227
2227
  return timezone ? dateFnsTz.toZonedTime(date, timezone) : date;
2228
2228
  }, [timezone]);
2229
- const eventsByDay = React17.useMemo(() => {
2229
+ const eventsByDay = React18.useMemo(() => {
2230
2230
  const map = /* @__PURE__ */ new Map();
2231
2231
  events.forEach((event) => {
2232
2232
  const zonedStart = getZonedDate(event.start);
@@ -2238,19 +2238,19 @@ var MonthView = ({
2238
2238
  });
2239
2239
  return map;
2240
2240
  }, [events, getZonedDate]);
2241
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background border-[0.5px] scrollbar-hide border-border/50 rounded-2xl overflow-hidden min-w-[800px] md:min-w-0 shadow-sm" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "overflow-y-auto flex-1 min-h-0 relative" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "grid grid-cols-7 border-b-[0.5px] border-border/50 bg-gradient-to-r from-muted/30 via-muted/40 to-muted/30 sticky top-0 z-20 backdrop-blur-sm" }, weekDays.map((day) => /* @__PURE__ */ React17__namespace.default.createElement(
2241
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background border-[0.5px] scrollbar-hide border-border/50 rounded-2xl overflow-hidden min-w-[800px] md:min-w-0 shadow-sm" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "overflow-y-auto flex-1 min-h-0 relative" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "grid grid-cols-7 border-b-[0.5px] border-border/50 bg-gradient-to-r from-muted/30 via-muted/40 to-muted/30 sticky top-0 z-20 backdrop-blur-sm" }, weekDays.map((day) => /* @__PURE__ */ React18__namespace.default.createElement(
2242
2242
  "div",
2243
2243
  {
2244
2244
  key: day.toISOString(),
2245
2245
  className: "py-3 text-center text-xs font-semibold text-muted-foreground border-r-[0.5px] border-border/30 last:border-r-0 uppercase tracking-wider"
2246
2246
  },
2247
2247
  dateFns.format(day, "EEE", { locale })
2248
- ))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "grid grid-cols-7", style: { gridAutoRows: "130px" } }, days.map((day) => {
2248
+ ))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "grid grid-cols-7", style: { gridAutoRows: "130px" } }, days.map((day) => {
2249
2249
  const dayKey = dateFns.format(day, "yyyy-MM-dd");
2250
2250
  const dayEvents = eventsByDay.get(dayKey) || [];
2251
2251
  const isCurrentMonth = dateFns.isSameMonth(day, currentDate);
2252
2252
  const cellId = day.toISOString();
2253
- return /* @__PURE__ */ React17__namespace.default.createElement(
2253
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2254
2254
  DroppableCell,
2255
2255
  {
2256
2256
  key: cellId,
@@ -2263,11 +2263,11 @@ var MonthView = ({
2263
2263
  ),
2264
2264
  onClick: () => onDateClick?.(day)
2265
2265
  },
2266
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex justify-between items-start" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
2266
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex justify-between items-start" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
2267
2267
  "text-sm font-semibold w-7 h-7 flex items-center justify-center rounded-full transition-all duration-200",
2268
2268
  dateFns.isToday(day) ? "bg-primary text-primary-foreground shadow-md shadow-primary/30" : "group-hover:bg-accent"
2269
- ) }, dateFns.format(day, "d", { locale })), dayEvents.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-[10px] font-medium text-muted-foreground/60 bg-muted/50 px-1.5 py-0.5 rounded-full" }, dayEvents.length)),
2270
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 flex flex-col gap-1 scrollbar-hide overflow-y-auto overflow-x-hidden" }, dayEvents.slice(0, 4).map((event) => /* @__PURE__ */ React17__namespace.default.createElement(EventItem, { key: `${event.id}-${dayKey}`, event, onEventClick })), dayEvents.length > 4 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-[10px] text-primary font-semibold text-center py-1 px-2 rounded-md bg-primary/5 hover:bg-primary/10 cursor-pointer transition-colors" }, "+", dayEvents.length - 4, " more"))
2269
+ ) }, dateFns.format(day, "d", { locale })), dayEvents.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-[10px] font-medium text-muted-foreground/60 bg-muted/50 px-1.5 py-0.5 rounded-full" }, dayEvents.length)),
2270
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 flex flex-col gap-1 scrollbar-hide overflow-y-auto overflow-x-hidden" }, dayEvents.slice(0, 4).map((event) => /* @__PURE__ */ React18__namespace.default.createElement(EventItem, { key: `${event.id}-${dayKey}`, event, onEventClick })), dayEvents.length > 4 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-[10px] text-primary font-semibold text-center py-1 px-2 rounded-md bg-primary/5 hover:bg-primary/10 cursor-pointer transition-colors" }, "+", dayEvents.length - 4, " more"))
2271
2271
  );
2272
2272
  }))));
2273
2273
  };
@@ -2281,12 +2281,12 @@ var ResizableEvent = ({
2281
2281
  style,
2282
2282
  readonly
2283
2283
  }) => {
2284
- const [isResizing, setIsResizing] = React17.useState(false);
2285
- const [resizeHeight, setResizeHeight] = React17.useState(null);
2286
- const containerRef = React17.useRef(null);
2287
- const startYRef = React17.useRef(0);
2288
- const startHeightRef = React17.useRef(0);
2289
- const handleResizeStart = React17.useCallback((e) => {
2284
+ const [isResizing, setIsResizing] = React18.useState(false);
2285
+ const [resizeHeight, setResizeHeight] = React18.useState(null);
2286
+ const containerRef = React18.useRef(null);
2287
+ const startYRef = React18.useRef(0);
2288
+ const startHeightRef = React18.useRef(0);
2289
+ const handleResizeStart = React18.useCallback((e) => {
2290
2290
  e.preventDefault();
2291
2291
  e.stopPropagation();
2292
2292
  const clientY = "touches" in e ? e.touches[0].clientY : e.clientY;
@@ -2328,7 +2328,7 @@ var ResizableEvent = ({
2328
2328
  document.addEventListener("touchmove", handleMove, { passive: false });
2329
2329
  document.addEventListener("touchend", handleEnd);
2330
2330
  }, [event, hourHeight, minDuration, onResize, resizeHeight]);
2331
- return /* @__PURE__ */ React17__namespace.default.createElement(
2331
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2332
2332
  "div",
2333
2333
  {
2334
2334
  ref: containerRef,
@@ -2339,7 +2339,7 @@ var ResizableEvent = ({
2339
2339
  }
2340
2340
  },
2341
2341
  children,
2342
- /* @__PURE__ */ React17__namespace.default.createElement(
2342
+ /* @__PURE__ */ React18__namespace.default.createElement(
2343
2343
  "div",
2344
2344
  {
2345
2345
  className: cn(
@@ -2351,12 +2351,12 @@ var ResizableEvent = ({
2351
2351
  onMouseDown: readonly ? void 0 : handleResizeStart,
2352
2352
  onTouchStart: readonly ? void 0 : handleResizeStart
2353
2353
  },
2354
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
2354
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
2355
2355
  "w-8 h-1 rounded-full transition-all",
2356
2356
  isResizing ? "bg-primary" : "bg-muted-foreground/30 group-hover:bg-primary/50"
2357
2357
  ) })
2358
2358
  ),
2359
- isResizing && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute inset-0 border-2 border-primary border-dashed rounded-md pointer-events-none bg-primary/5" })
2359
+ isResizing && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute inset-0 border-2 border-primary border-dashed rounded-md pointer-events-none bg-primary/5" })
2360
2360
  );
2361
2361
  };
2362
2362
  var EventCardBadge = ({
@@ -2365,7 +2365,7 @@ var EventCardBadge = ({
2365
2365
  className
2366
2366
  }) => {
2367
2367
  if (!badge?.icon || !badge?.name) return null;
2368
- return /* @__PURE__ */ React17__namespace.default.createElement(
2368
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2369
2369
  "div",
2370
2370
  {
2371
2371
  className: cn(
@@ -2378,26 +2378,121 @@ var EventCardBadge = ({
2378
2378
  ),
2379
2379
  title: badge.name
2380
2380
  },
2381
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "shrink-0 flex items-center justify-center [&>svg]:w-2.5 [&>svg]:h-2.5" }, badge.icon),
2382
- !compact && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "truncate max-w-[72px]" }, badge.name)
2381
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "shrink-0 flex items-center justify-center [&>svg]:w-2.5 [&>svg]:h-2.5" }, badge.icon),
2382
+ !compact && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "truncate max-w-[72px]" }, badge.name)
2383
2383
  );
2384
2384
  };
2385
+ var EventHoverPopover = ({
2386
+ enabled,
2387
+ event,
2388
+ timeRange,
2389
+ children,
2390
+ className
2391
+ }) => {
2392
+ const triggerRef = React18.useRef(null);
2393
+ const [open, setOpen] = React18.useState(false);
2394
+ const [coords, setCoords] = React18.useState({ top: 0, left: 0, placeAbove: true });
2395
+ const hideTimerRef = React18.useRef(null);
2396
+ const updatePosition = React18.useCallback(() => {
2397
+ const el = triggerRef.current;
2398
+ if (!el) return;
2399
+ const rect = el.getBoundingClientRect();
2400
+ const placeAbove = rect.top > 160;
2401
+ setCoords({
2402
+ top: placeAbove ? rect.top - 8 : rect.bottom + 8,
2403
+ left: Math.min(
2404
+ Math.max(rect.left + rect.width / 2, 120),
2405
+ window.innerWidth - 120
2406
+ ),
2407
+ placeAbove
2408
+ });
2409
+ }, []);
2410
+ const show = React18.useCallback(() => {
2411
+ if (!enabled) return;
2412
+ if (hideTimerRef.current) {
2413
+ clearTimeout(hideTimerRef.current);
2414
+ hideTimerRef.current = null;
2415
+ }
2416
+ updatePosition();
2417
+ setOpen(true);
2418
+ }, [enabled, updatePosition]);
2419
+ const scheduleHide = React18.useCallback(() => {
2420
+ if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
2421
+ hideTimerRef.current = setTimeout(() => setOpen(false), 80);
2422
+ }, []);
2423
+ React18.useEffect(() => {
2424
+ if (!open) return;
2425
+ const onMove = () => updatePosition();
2426
+ window.addEventListener("scroll", onMove, true);
2427
+ window.addEventListener("resize", onMove);
2428
+ return () => {
2429
+ window.removeEventListener("scroll", onMove, true);
2430
+ window.removeEventListener("resize", onMove);
2431
+ };
2432
+ }, [open, updatePosition]);
2433
+ React18.useEffect(() => () => {
2434
+ if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
2435
+ }, []);
2436
+ if (!enabled) {
2437
+ return /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, children);
2438
+ }
2439
+ const accent = event.color || "hsl(var(--primary))";
2440
+ return /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement(
2441
+ "div",
2442
+ {
2443
+ ref: triggerRef,
2444
+ className: cn("h-full w-full", className),
2445
+ onMouseEnter: show,
2446
+ onMouseLeave: scheduleHide
2447
+ },
2448
+ children
2449
+ ), open && typeof document !== "undefined" && reactDom.createPortal(
2450
+ /* @__PURE__ */ React18__namespace.default.createElement(
2451
+ "div",
2452
+ {
2453
+ role: "tooltip",
2454
+ className: cn(
2455
+ "fixed z-[10000] w-64 max-w-[min(16rem,calc(100vw-1.5rem))]",
2456
+ "rounded-xl border border-border/60 bg-popover text-popover-foreground",
2457
+ "shadow-xl shadow-black/10 backdrop-blur-md",
2458
+ "pointer-events-none transition-opacity duration-150"
2459
+ ),
2460
+ style: {
2461
+ top: coords.top,
2462
+ left: coords.left,
2463
+ transform: coords.placeAbove ? "translate(-50%, -100%)" : "translate(-50%, 0)"
2464
+ },
2465
+ onMouseEnter: show,
2466
+ onMouseLeave: scheduleHide
2467
+ },
2468
+ /* @__PURE__ */ React18__namespace.default.createElement(
2469
+ "div",
2470
+ {
2471
+ className: "h-1 rounded-t-xl",
2472
+ style: { backgroundColor: accent }
2473
+ }
2474
+ ),
2475
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-3 space-y-2" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-sm font-semibold leading-snug text-foreground" }, event.title), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-xs font-medium text-muted-foreground tabular-nums" }, timeRange), event.description && /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-xs text-muted-foreground/90 leading-relaxed line-clamp-4" }, event.description), event.guests?.length || event.attachments?.length || event.reminders?.length ? /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-wrap gap-1.5 pt-0.5" }, event.guests && event.guests.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "rounded-md bg-muted/60 px-1.5 py-0.5 text-[10px] text-muted-foreground" }, event.guests.length, " guest", event.guests.length !== 1 ? "s" : ""), event.attachments && event.attachments.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "rounded-md bg-muted/60 px-1.5 py-0.5 text-[10px] text-muted-foreground" }, event.attachments.length, " file", event.attachments.length !== 1 ? "s" : ""), event.reminders && event.reminders.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "rounded-md bg-muted/60 px-1.5 py-0.5 text-[10px] text-muted-foreground" }, event.reminders.length, " reminder", event.reminders.length !== 1 ? "s" : "")) : null)
2476
+ ),
2477
+ document.body
2478
+ ));
2479
+ };
2385
2480
  var ICON_CLASS = "w-2.5 h-2.5";
2386
2481
  var EVENT_BADGE_ICONS = {
2387
- privateLesson: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.User, { className: ICON_CLASS }),
2388
- groupLesson: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Users, { className: ICON_CLASS }),
2389
- packageLesson: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Package, { className: ICON_CLASS }),
2390
- online: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Video, { className: ICON_CLASS }),
2391
- inPerson: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.MapPin, { className: ICON_CLASS }),
2392
- homeVisit: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Home, { className: ICON_CLASS }),
2393
- trial: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Sparkles, { className: ICON_CLASS }),
2394
- makeup: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.RefreshCw, { className: ICON_CLASS }),
2395
- exam: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ClipboardCheck, { className: ICON_CLASS }),
2396
- workshop: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Presentation, { className: ICON_CLASS }),
2397
- priority: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Star, { className: ICON_CLASS }),
2398
- holiday: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.PartyPopper, { className: ICON_CLASS }),
2399
- cancelled: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Ban, { className: ICON_CLASS }),
2400
- listening: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Headphones, { className: ICON_CLASS })
2482
+ privateLesson: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.User, { className: ICON_CLASS }),
2483
+ groupLesson: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Users, { className: ICON_CLASS }),
2484
+ packageLesson: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Package, { className: ICON_CLASS }),
2485
+ online: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Video, { className: ICON_CLASS }),
2486
+ inPerson: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.MapPin, { className: ICON_CLASS }),
2487
+ homeVisit: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Home, { className: ICON_CLASS }),
2488
+ trial: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Sparkles, { className: ICON_CLASS }),
2489
+ makeup: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.RefreshCw, { className: ICON_CLASS }),
2490
+ exam: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ClipboardCheck, { className: ICON_CLASS }),
2491
+ workshop: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Presentation, { className: ICON_CLASS }),
2492
+ priority: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Star, { className: ICON_CLASS }),
2493
+ holiday: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.PartyPopper, { className: ICON_CLASS }),
2494
+ cancelled: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Ban, { className: ICON_CLASS }),
2495
+ listening: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Headphones, { className: ICON_CLASS })
2401
2496
  };
2402
2497
  var EVENT_BADGE_LABELS = {
2403
2498
  tr: {
@@ -2488,13 +2583,13 @@ var WeekView = ({
2488
2583
  const weekDays = dateFns.eachDayOfInterval({ start, end });
2489
2584
  const hours = reverseTime ? Array.from({ length: 24 }, (_, i) => 23 - i) : Array.from({ length: 24 }, (_, i) => i);
2490
2585
  const hourHeight = 60;
2491
- const scrollContainerRef = React17__namespace.default.useRef(null);
2492
- const [now, setNow] = React17__namespace.default.useState(/* @__PURE__ */ new Date());
2493
- React17__namespace.default.useEffect(() => {
2586
+ const scrollContainerRef = React18__namespace.default.useRef(null);
2587
+ const [now, setNow] = React18__namespace.default.useState(/* @__PURE__ */ new Date());
2588
+ React18__namespace.default.useEffect(() => {
2494
2589
  const interval = setInterval(() => setNow(/* @__PURE__ */ new Date()), 6e4);
2495
2590
  return () => clearInterval(interval);
2496
2591
  }, []);
2497
- React17__namespace.default.useEffect(() => {
2592
+ React18__namespace.default.useEffect(() => {
2498
2593
  if (scrollContainerRef.current) {
2499
2594
  scrollContainerRef.current.scrollTop = reverseTime ? (23 - initialScrollHour) * hourHeight : initialScrollHour * hourHeight;
2500
2595
  }
@@ -2524,44 +2619,44 @@ var WeekView = ({
2524
2619
  acronym = tz;
2525
2620
  }
2526
2621
  }
2527
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col items-center justify-center leading-tight" }, /* @__PURE__ */ React17__namespace.default.createElement("span", null, displayTime), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-[10px] opacity-75" }, "(", acronym, ")"));
2622
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col items-center justify-center leading-tight" }, /* @__PURE__ */ React18__namespace.default.createElement("span", null, displayTime), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-[10px] opacity-75" }, "(", acronym, ")"));
2528
2623
  };
2529
2624
  const timeFormat = getTimeFormat(language);
2530
2625
  const eventTimeFormat = getTimeFormatFull(language);
2531
2626
  const nowFormat = getTimeFormatFull(language);
2532
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background border-[0.5px] border-border/50 rounded-2xl overflow-hidden min-w-[800px] md:min-w-0 shadow-sm" }, /* @__PURE__ */ React17__namespace.default.createElement(
2627
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background border-[0.5px] border-border/50 rounded-2xl overflow-hidden min-w-[800px] md:min-w-0 shadow-sm" }, /* @__PURE__ */ React18__namespace.default.createElement(
2533
2628
  "div",
2534
2629
  {
2535
2630
  ref: scrollContainerRef,
2536
2631
  className: "flex-1 min-h-0 overflow-y-auto scrollbar-hide relative bg-background scroll-smooth",
2537
2632
  style: { scrollbarGutter: "stable" }
2538
2633
  },
2539
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex border-b-[0.5px] border-border/50 bg-gradient-to-r from-muted/20 via-background to-muted/20 z-20 sticky top-0 backdrop-blur-sm" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-none p-3 text-center text-xs font-semibold text-muted-foreground w-16 flex items-center justify-center border-r-[0.5px] border-border/30 bg-muted/10" }, getTimezoneDisplay(timezone)), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7" }, weekDays.map((day, index) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: day.toISOString(), className: cn("py-3 px-2 text-center", index > 0 && "border-l-[0.5px] border-border/30") }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-1.5" }, dateFns.format(day, "EEE", { locale })), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
2634
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex border-b-[0.5px] border-border/50 bg-gradient-to-r from-muted/20 via-background to-muted/20 z-20 sticky top-0 backdrop-blur-sm" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-none p-3 text-center text-xs font-semibold text-muted-foreground w-16 flex items-center justify-center border-r-[0.5px] border-border/30 bg-muted/10" }, getTimezoneDisplay(timezone)), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7" }, weekDays.map((day, index) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: day.toISOString(), className: cn("py-3 px-2 text-center", index > 0 && "border-l-[0.5px] border-border/30") }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-1.5" }, dateFns.format(day, "EEE", { locale })), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
2540
2635
  "w-9 h-9 flex items-center justify-center rounded-xl mx-auto text-sm font-semibold transition-all duration-200",
2541
2636
  dateFns.isToday(day) ? "bg-primary text-primary-foreground shadow-lg shadow-primary/30 scale-110" : "text-foreground hover:bg-accent/80"
2542
2637
  ) }, dateFns.format(day, "d", { locale })))))),
2543
- /* @__PURE__ */ React17__namespace.default.createElement(
2638
+ /* @__PURE__ */ React18__namespace.default.createElement(
2544
2639
  "div",
2545
2640
  {
2546
2641
  className: "flex min-w-full relative",
2547
2642
  style: { height: hours.length * hourHeight }
2548
2643
  },
2549
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-none w-16 border-r-[0.5px] border-border/30 relative bg-muted/5" }, hours.map((hour) => /* @__PURE__ */ React17__namespace.default.createElement(
2644
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-none w-16 border-r-[0.5px] border-border/30 relative bg-muted/5" }, hours.map((hour) => /* @__PURE__ */ React18__namespace.default.createElement(
2550
2645
  "div",
2551
2646
  {
2552
2647
  key: hour,
2553
2648
  className: "relative w-full text-[11px] text-muted-foreground/80 text-right pr-3 font-medium tabular-nums box-border",
2554
2649
  style: { height: hourHeight }
2555
2650
  },
2556
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "block -translate-y-1/2" }, hour !== 0 && dateFns.format((/* @__PURE__ */ new Date()).setHours(hour, 0, 0, 0), timeFormat, { locale }))
2651
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "block -translate-y-1/2" }, hour !== 0 && dateFns.format((/* @__PURE__ */ new Date()).setHours(hour, 0, 0, 0), timeFormat, { locale }))
2557
2652
  ))),
2558
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7 relative" }, weekDays.map((day, dayIndex) => {
2653
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7 relative" }, weekDays.map((day, dayIndex) => {
2559
2654
  const dayEvents = events.filter((e) => {
2560
2655
  const zonedStart = getZonedDate(e.start);
2561
2656
  return dateFns.isSameDay(zonedStart, day);
2562
2657
  });
2563
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { key: day.toISOString(), className: cn("relative h-full", dayIndex > 0 && "border-l-[0.5px] border-border/30") }, hours.map((hour) => {
2564
- return /* @__PURE__ */ React17__namespace.default.createElement(
2658
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { key: day.toISOString(), className: cn("relative h-full", dayIndex > 0 && "border-l-[0.5px] border-border/30") }, hours.map((hour) => {
2659
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2565
2660
  "div",
2566
2661
  {
2567
2662
  key: hour,
@@ -2572,7 +2667,7 @@ var WeekView = ({
2572
2667
  const cellDate = new Date(day);
2573
2668
  cellDate.setHours(hour, minute, 0, 0);
2574
2669
  const cellId = cellDate.toISOString();
2575
- return /* @__PURE__ */ React17__namespace.default.createElement(
2670
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2576
2671
  DroppableCell,
2577
2672
  {
2578
2673
  key: minute,
@@ -2584,7 +2679,7 @@ var WeekView = ({
2584
2679
  top: `${minute / 60 * 100}%`
2585
2680
  }
2586
2681
  },
2587
- /* @__PURE__ */ React17__namespace.default.createElement(
2682
+ /* @__PURE__ */ React18__namespace.default.createElement(
2588
2683
  "div",
2589
2684
  {
2590
2685
  className: "w-full h-full bg-transparent cursor-pointer",
@@ -2618,9 +2713,9 @@ var WeekView = ({
2618
2713
  const height = durationMinutes / 60 * hourHeight;
2619
2714
  const top = reverseTime ? (1440 - startMinutes - durationMinutes) / 60 * hourHeight : startMinutes / 60 * hourHeight;
2620
2715
  const isShortEvent = compactShortEvents && durationMinutes < 60;
2621
- const resolvedBadge = resolveEventBadge(event, language);
2716
+ const resolvedBadge = !isShortEvent ? resolveEventBadge(event, language) : void 0;
2622
2717
  const hasBadge = Boolean(resolvedBadge);
2623
- return /* @__PURE__ */ React17__namespace.default.createElement(
2718
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2624
2719
  DraggableEvent,
2625
2720
  {
2626
2721
  key: `${event.id}-${day.toISOString()}`,
@@ -2635,7 +2730,7 @@ var WeekView = ({
2635
2730
  paddingRight: count > 1 ? "2px" : "0"
2636
2731
  }
2637
2732
  },
2638
- /* @__PURE__ */ React17__namespace.default.createElement(
2733
+ /* @__PURE__ */ React18__namespace.default.createElement(
2639
2734
  ResizableEvent,
2640
2735
  {
2641
2736
  readonly,
@@ -2645,48 +2740,56 @@ var WeekView = ({
2645
2740
  className: "h-full",
2646
2741
  style: { height: "100%" }
2647
2742
  },
2648
- /* @__PURE__ */ React17__namespace.default.createElement(
2649
- "div",
2743
+ /* @__PURE__ */ React18__namespace.default.createElement(
2744
+ EventHoverPopover,
2650
2745
  {
2651
- className: cn(
2652
- "rounded-md border shadow-sm transition-all hover:shadow-md group overflow-hidden relative",
2653
- "glass",
2654
- readonly ? "cursor-default" : "cursor-grab active:cursor-grabbing",
2655
- !event.color && "border-primary/20 bg-primary/10",
2656
- isShortEvent ? "px-1 flex items-center justify-center" : "p-2",
2657
- // Reserve space under the badge so title/time do not overlap
2658
- hasBadge && !isShortEvent && "pt-4",
2659
- // Add active border for overlapped events to distinguish them
2660
- count > 1 && "border-l-4 border-l-primary/50"
2661
- ),
2662
- style: {
2663
- height: "100%",
2664
- backgroundColor: event.color ? `${event.color}15` : void 0,
2665
- borderColor: event.color ? `${event.color}40` : void 0,
2666
- borderLeftWidth: "3px",
2667
- borderLeftColor: event.color || "var(--primary)"
2668
- },
2669
- onClick: (e) => {
2670
- e.stopPropagation();
2671
- onEventClick?.(event);
2672
- },
2673
- title: count > 1 ? `${event.title} (${index + 1}/${count})` : void 0
2746
+ enabled: isShortEvent,
2747
+ event,
2748
+ timeRange: `${dateFns.format(zonedEventStart, eventTimeFormat, { locale })} - ${dateFns.format(zonedEventEnd, eventTimeFormat, { locale })}`
2674
2749
  },
2675
- resolvedBadge && /* @__PURE__ */ React17__namespace.default.createElement(
2676
- EventCardBadge,
2750
+ /* @__PURE__ */ React18__namespace.default.createElement(
2751
+ "div",
2677
2752
  {
2678
- badge: resolvedBadge,
2679
- compact: isShortEvent
2680
- }
2681
- ),
2682
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full overflow-hidden w-full" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
2683
- "font-semibold truncate text-foreground/90 leading-tight",
2684
- isShortEvent ? "text-xs text-center" : "text-xs"
2685
- ) }, event.title), !isShortEvent && /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-[10px] text-muted-foreground truncate mt-0.5 font-medium leading-tight" }, dateFns.format(zonedEventStart, eventTimeFormat, { locale }), " - ", dateFns.format(zonedEventEnd, eventTimeFormat, { locale })), event.description && height > 50 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-[10px] text-muted-foreground/80 truncate mt-1 leading-tight opacity-80" }, event.description)), count > 1 && !isShortEvent && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute top-1 right-1 bg-background/80 backdrop-blur-sm rounded-full w-4 h-4 flex items-center justify-center text-[9px] font-bold text-muted-foreground border border-border shadow-sm" }, count))
2753
+ className: cn(
2754
+ "rounded-md border shadow-sm transition-all hover:shadow-md group overflow-hidden relative",
2755
+ "glass",
2756
+ readonly ? "cursor-default" : "cursor-grab active:cursor-grabbing",
2757
+ !event.color && "border-primary/20 bg-primary/10",
2758
+ isShortEvent ? "px-1 flex items-center justify-center" : "p-2",
2759
+ // Reserve space under the badge so title/time do not overlap
2760
+ hasBadge && !isShortEvent && "pt-4",
2761
+ // Add active border for overlapped events to distinguish them
2762
+ count > 1 && "border-l-4 border-l-primary/50"
2763
+ ),
2764
+ style: {
2765
+ height: "100%",
2766
+ backgroundColor: event.color ? `${event.color}15` : void 0,
2767
+ borderColor: event.color ? `${event.color}40` : void 0,
2768
+ borderLeftWidth: "3px",
2769
+ borderLeftColor: event.color || "var(--primary)"
2770
+ },
2771
+ onClick: (e) => {
2772
+ e.stopPropagation();
2773
+ onEventClick?.(event);
2774
+ },
2775
+ title: !isShortEvent && count > 1 ? `${event.title} (${index + 1}/${count})` : void 0
2776
+ },
2777
+ hasBadge && /* @__PURE__ */ React18__namespace.default.createElement(
2778
+ EventCardBadge,
2779
+ {
2780
+ badge: resolvedBadge,
2781
+ compact: false
2782
+ }
2783
+ ),
2784
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full overflow-hidden w-full" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
2785
+ "font-semibold truncate text-foreground/90 leading-tight",
2786
+ isShortEvent ? "text-xs text-center" : "text-xs"
2787
+ ) }, event.title), !isShortEvent && /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-[10px] text-muted-foreground truncate mt-0.5 font-medium leading-tight" }, dateFns.format(zonedEventStart, eventTimeFormat, { locale }), " - ", dateFns.format(zonedEventEnd, eventTimeFormat, { locale })), event.description && height > 50 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-[10px] text-muted-foreground/80 truncate mt-1 leading-tight opacity-80" }, event.description)), count > 1 && !isShortEvent && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute top-1 right-1 bg-background/80 backdrop-blur-sm rounded-full w-4 h-4 flex items-center justify-center text-[9px] font-bold text-muted-foreground border border-border shadow-sm" }, count))
2788
+ )
2686
2789
  )
2687
2790
  )
2688
2791
  );
2689
- }), dateFns.isToday(day) && /* @__PURE__ */ React17__namespace.default.createElement(
2792
+ }), dateFns.isToday(day) && /* @__PURE__ */ React18__namespace.default.createElement(
2690
2793
  "div",
2691
2794
  {
2692
2795
  className: "absolute left-0 right-0 z-20 pointer-events-none flex items-center",
@@ -2694,12 +2797,12 @@ var WeekView = ({
2694
2797
  top: reverseTime ? `${(1440 - (zonedNow.getHours() * 60 + zonedNow.getMinutes())) / 60 * hourHeight}px` : `${(zonedNow.getHours() * 60 + zonedNow.getMinutes()) / 60 * hourHeight}px`
2695
2798
  }
2696
2799
  },
2697
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-[2px] w-full bg-gradient-to-r from-primary via-primary to-primary/50" }),
2698
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute -left-1.5 w-3 h-3 bg-primary rounded-full shadow-lg shadow-primary/40 ring-2 ring-background animate-pulse" })
2800
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-[2px] w-full bg-gradient-to-r from-primary via-primary to-primary/50" }),
2801
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute -left-1.5 w-3 h-3 bg-primary rounded-full shadow-lg shadow-primary/40 ring-2 ring-background animate-pulse" })
2699
2802
  ));
2700
2803
  }))
2701
2804
  ),
2702
- /* @__PURE__ */ React17__namespace.default.createElement(
2805
+ /* @__PURE__ */ React18__namespace.default.createElement(
2703
2806
  "div",
2704
2807
  {
2705
2808
  className: "absolute left-0 w-16 pointer-events-none z-30 flex justify-end pr-2",
@@ -2707,7 +2810,7 @@ var WeekView = ({
2707
2810
  top: reverseTime ? `${(1440 - (zonedNow.getHours() * 60 + zonedNow.getMinutes())) / 60 * hourHeight + 80}px` : `${(zonedNow.getHours() * 60 + zonedNow.getMinutes()) / 60 * hourHeight + 80}px`
2708
2811
  }
2709
2812
  },
2710
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-[10px] font-bold text-primary-foreground bg-primary px-1.5 py-0.5 rounded-md shadow-md -translate-y-1/2 backdrop-blur-none" }, dateFns.format(zonedNow, nowFormat, { locale }))
2813
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-[10px] font-bold text-primary-foreground bg-primary px-1.5 py-0.5 rounded-md shadow-md -translate-y-1/2 backdrop-blur-none" }, dateFns.format(zonedNow, nowFormat, { locale }))
2711
2814
  )
2712
2815
  ));
2713
2816
  };
@@ -2727,13 +2830,13 @@ var DayView = ({
2727
2830
  }) => {
2728
2831
  const hours = reverseTime ? Array.from({ length: 24 }, (_, i) => 23 - i) : Array.from({ length: 24 }, (_, i) => i);
2729
2832
  const hourHeight = 80;
2730
- const scrollContainerRef = React17__namespace.default.useRef(null);
2731
- const [now, setNow] = React17__namespace.default.useState(/* @__PURE__ */ new Date());
2732
- React17__namespace.default.useEffect(() => {
2833
+ const scrollContainerRef = React18__namespace.default.useRef(null);
2834
+ const [now, setNow] = React18__namespace.default.useState(/* @__PURE__ */ new Date());
2835
+ React18__namespace.default.useEffect(() => {
2733
2836
  const interval = setInterval(() => setNow(/* @__PURE__ */ new Date()), 6e4);
2734
2837
  return () => clearInterval(interval);
2735
2838
  }, []);
2736
- React17__namespace.default.useEffect(() => {
2839
+ React18__namespace.default.useEffect(() => {
2737
2840
  if (scrollContainerRef.current) {
2738
2841
  scrollContainerRef.current.scrollTop = reverseTime ? (23 - initialScrollHour) * hourHeight : initialScrollHour * hourHeight;
2739
2842
  }
@@ -2749,15 +2852,15 @@ var DayView = ({
2749
2852
  const timeFormat = getTimeFormat(language);
2750
2853
  const eventTimeFormat = getTimeFormatFull(language);
2751
2854
  const nowFormat = getTimeFormatFull(language);
2752
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background border-[0.5px] border-border/50 rounded-2xl overflow-hidden shadow-sm" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-6 py-4 border-b-[0.5px] border-border/50 bg-gradient-to-r from-muted/20 via-background to-muted/20 text-center shrink-0" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-center gap-3" }, /* @__PURE__ */ React17__namespace.default.createElement("h2", { className: "text-xl font-semibold capitalize text-foreground" }, dateFns.format(currentDate, "EEEE, MMMM d, yyyy", { locale })), dateFns.isToday(currentDate) && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-semibold bg-primary text-primary-foreground px-3 py-1 rounded-full shadow-md shadow-primary/20" }, "Today"))), /* @__PURE__ */ React17__namespace.default.createElement("div", { ref: scrollContainerRef, className: "flex-1 min-h-0 overflow-y-auto relative" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex relative", style: { height: hours.length * hourHeight } }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-20 bg-muted/5 border-r-[0.5px] border-border/30 relative" }, hours.map((hour) => /* @__PURE__ */ React17__namespace.default.createElement(
2855
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background border-[0.5px] border-border/50 rounded-2xl overflow-hidden shadow-sm" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-6 py-4 border-b-[0.5px] border-border/50 bg-gradient-to-r from-muted/20 via-background to-muted/20 text-center shrink-0" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-center gap-3" }, /* @__PURE__ */ React18__namespace.default.createElement("h2", { className: "text-xl font-semibold capitalize text-foreground" }, dateFns.format(currentDate, "EEEE, MMMM d, yyyy", { locale })), dateFns.isToday(currentDate) && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-semibold bg-primary text-primary-foreground px-3 py-1 rounded-full shadow-md shadow-primary/20" }, "Today"))), /* @__PURE__ */ React18__namespace.default.createElement("div", { ref: scrollContainerRef, className: "flex-1 min-h-0 overflow-y-auto relative" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex relative", style: { height: hours.length * hourHeight } }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-20 bg-muted/5 border-r-[0.5px] border-border/30 relative" }, hours.map((hour) => /* @__PURE__ */ React18__namespace.default.createElement(
2753
2856
  "div",
2754
2857
  {
2755
2858
  key: hour,
2756
2859
  className: "relative w-full",
2757
2860
  style: { height: hourHeight }
2758
2861
  },
2759
- hour !== 0 && /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "absolute w-full text-center -top-3 left-1/2 -translate-x-1/2 text-[11px] text-muted-foreground/80 font-medium tabular-nums bg-background px-1.5 py-0.5 rounded-md" }, dateFns.format((/* @__PURE__ */ new Date()).setHours(hour, 0, 0, 0), timeFormat, { locale }))
2760
- )), dateFns.isToday(currentDate) && /* @__PURE__ */ React17__namespace.default.createElement(
2862
+ hour !== 0 && /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "absolute w-full text-center -top-3 left-1/2 -translate-x-1/2 text-[11px] text-muted-foreground/80 font-medium tabular-nums bg-background px-1.5 py-0.5 rounded-md" }, dateFns.format((/* @__PURE__ */ new Date()).setHours(hour, 0, 0, 0), timeFormat, { locale }))
2863
+ )), dateFns.isToday(currentDate) && /* @__PURE__ */ React18__namespace.default.createElement(
2761
2864
  "div",
2762
2865
  {
2763
2866
  className: "absolute left-0 w-full pointer-events-none z-30 flex justify-end pr-2",
@@ -2765,9 +2868,9 @@ var DayView = ({
2765
2868
  top: reverseTime ? `${(1440 - (zonedNow.getHours() * 60 + zonedNow.getMinutes())) / 60 * hourHeight}px` : `${(zonedNow.getHours() * 60 + zonedNow.getMinutes()) / 60 * hourHeight}px`
2766
2869
  }
2767
2870
  },
2768
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-[10px] font-bold text-white bg-primary px-2 py-1 rounded-lg shadow-md shadow-primary/30 -translate-y-1/2" }, dateFns.format(zonedNow, nowFormat, { locale }))
2769
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 relative" }, hours.map((hour) => {
2770
- return /* @__PURE__ */ React17__namespace.default.createElement(
2871
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-[10px] font-bold text-white bg-primary px-2 py-1 rounded-lg shadow-md shadow-primary/30 -translate-y-1/2" }, dateFns.format(zonedNow, nowFormat, { locale }))
2872
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 relative" }, hours.map((hour) => {
2873
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2771
2874
  "div",
2772
2875
  {
2773
2876
  key: hour,
@@ -2778,7 +2881,7 @@ var DayView = ({
2778
2881
  const cellDate = new Date(currentDate);
2779
2882
  cellDate.setHours(hour, minute, 0, 0);
2780
2883
  const cellId = cellDate.toISOString();
2781
- return /* @__PURE__ */ React17__namespace.default.createElement(
2884
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2782
2885
  DroppableCell,
2783
2886
  {
2784
2887
  key: minute,
@@ -2790,7 +2893,7 @@ var DayView = ({
2790
2893
  top: `${minute / 60 * 100}%`
2791
2894
  }
2792
2895
  },
2793
- /* @__PURE__ */ React17__namespace.default.createElement(
2896
+ /* @__PURE__ */ React18__namespace.default.createElement(
2794
2897
  "div",
2795
2898
  {
2796
2899
  className: "h-full w-full bg-transparent cursor-pointer",
@@ -2823,7 +2926,8 @@ var DayView = ({
2823
2926
  const height = durationMinutes / 60 * hourHeight;
2824
2927
  const top = reverseTime ? (1440 - startMinutes - durationMinutes) / 60 * hourHeight : startMinutes / 60 * hourHeight;
2825
2928
  const isShortEvent = compactShortEvents && durationMinutes < 45;
2826
- return /* @__PURE__ */ React17__namespace.default.createElement(
2929
+ const timeRange = `${dateFns.format(zonedStart, eventTimeFormat, { locale })} - ${dateFns.format(zonedEnd, eventTimeFormat, { locale })}`;
2930
+ return /* @__PURE__ */ React18__namespace.default.createElement(
2827
2931
  DraggableEvent,
2828
2932
  {
2829
2933
  key: `${event.id}-${currentDate.toISOString()}`,
@@ -2837,7 +2941,7 @@ var DayView = ({
2837
2941
  paddingRight: count > 1 ? "2px" : "0"
2838
2942
  }
2839
2943
  },
2840
- /* @__PURE__ */ React17__namespace.default.createElement(
2944
+ /* @__PURE__ */ React18__namespace.default.createElement(
2841
2945
  ResizableEvent,
2842
2946
  {
2843
2947
  readonly,
@@ -2847,38 +2951,46 @@ var DayView = ({
2847
2951
  className: "h-full",
2848
2952
  style: { height: "100%" }
2849
2953
  },
2850
- /* @__PURE__ */ React17__namespace.default.createElement(
2851
- "div",
2954
+ /* @__PURE__ */ React18__namespace.default.createElement(
2955
+ EventHoverPopover,
2852
2956
  {
2853
- className: cn(
2854
- "h-full rounded-lg border-[0.5px] shadow-sm overflow-hidden transition-all hover:shadow-lg hover:z-20 group",
2855
- "glass backdrop-blur-sm",
2856
- readonly ? "cursor-default" : "cursor-grab active:cursor-grabbing",
2857
- !event.color && "bg-primary/10 border-primary/20",
2858
- isShortEvent ? "px-2 flex items-center" : "px-3 py-2",
2859
- count > 1 && "border-l-4"
2860
- ),
2861
- style: {
2862
- backgroundColor: event.color ? `${event.color}15` : void 0,
2863
- borderColor: event.color ? `${event.color}30` : void 0,
2864
- borderLeftColor: event.color || "var(--primary)",
2865
- borderLeftWidth: count > 1 ? "4px" : "3px"
2866
- },
2867
- onClick: (e) => {
2868
- e.stopPropagation();
2869
- onEventClick?.(event);
2870
- },
2871
- title: count > 1 ? `${event.title} (${index + 1}/${count})` : void 0
2957
+ enabled: isShortEvent,
2958
+ event,
2959
+ timeRange
2872
2960
  },
2873
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full overflow-hidden w-full" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
2874
- "font-semibold truncate leading-tight",
2875
- isShortEvent ? "text-xs" : "text-sm",
2876
- event.color ? "text-foreground" : "text-foreground/90"
2877
- ) }, event.title), !isShortEvent && /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-xs text-muted-foreground mt-0.5 font-medium" }, dateFns.format(zonedStart, eventTimeFormat, { locale }), " - ", dateFns.format(zonedEnd, eventTimeFormat, { locale })), event.description && height > 60 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-xs text-muted-foreground/80 mt-1 line-clamp-2" }, event.description)), count > 1 && !isShortEvent && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute top-1.5 right-1.5 bg-background/90 backdrop-blur-sm rounded-full w-5 h-5 flex items-center justify-center text-[10px] font-bold text-muted-foreground border border-border shadow-sm" }, count))
2961
+ /* @__PURE__ */ React18__namespace.default.createElement(
2962
+ "div",
2963
+ {
2964
+ className: cn(
2965
+ "h-full rounded-lg border-[0.5px] shadow-sm overflow-hidden transition-all hover:shadow-lg hover:z-20 group",
2966
+ "glass backdrop-blur-sm",
2967
+ readonly ? "cursor-default" : "cursor-grab active:cursor-grabbing",
2968
+ !event.color && "bg-primary/10 border-primary/20",
2969
+ isShortEvent ? "px-2 flex items-center" : "px-3 py-2",
2970
+ count > 1 && "border-l-4"
2971
+ ),
2972
+ style: {
2973
+ backgroundColor: event.color ? `${event.color}15` : void 0,
2974
+ borderColor: event.color ? `${event.color}30` : void 0,
2975
+ borderLeftColor: event.color || "var(--primary)",
2976
+ borderLeftWidth: count > 1 ? "4px" : "3px"
2977
+ },
2978
+ onClick: (e) => {
2979
+ e.stopPropagation();
2980
+ onEventClick?.(event);
2981
+ },
2982
+ title: !isShortEvent && count > 1 ? `${event.title} (${index + 1}/${count})` : void 0
2983
+ },
2984
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full overflow-hidden w-full" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
2985
+ "font-semibold truncate leading-tight",
2986
+ isShortEvent ? "text-xs" : "text-sm",
2987
+ event.color ? "text-foreground" : "text-foreground/90"
2988
+ ) }, event.title), !isShortEvent && /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-xs text-muted-foreground mt-0.5 font-medium" }, timeRange), event.description && height > 60 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-xs text-muted-foreground/80 mt-1 line-clamp-2" }, event.description)), count > 1 && !isShortEvent && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute top-1.5 right-1.5 bg-background/90 backdrop-blur-sm rounded-full w-5 h-5 flex items-center justify-center text-[10px] font-bold text-muted-foreground border border-border shadow-sm" }, count))
2989
+ )
2878
2990
  )
2879
2991
  )
2880
2992
  );
2881
- }), dateFns.isToday(currentDate) && /* @__PURE__ */ React17__namespace.default.createElement(
2993
+ }), dateFns.isToday(currentDate) && /* @__PURE__ */ React18__namespace.default.createElement(
2882
2994
  "div",
2883
2995
  {
2884
2996
  className: "absolute left-0 right-0 z-20 pointer-events-none flex items-center",
@@ -2886,17 +2998,17 @@ var DayView = ({
2886
2998
  top: reverseTime ? `${(1440 - (zonedNow.getHours() * 60 + zonedNow.getMinutes())) / 60 * hourHeight}px` : `${(zonedNow.getHours() * 60 + zonedNow.getMinutes()) / 60 * hourHeight}px`
2887
2999
  }
2888
3000
  },
2889
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-[2px] w-full bg-gradient-to-r from-primary via-primary to-primary/50" }),
2890
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute -left-1.5 w-3 h-3 bg-primary rounded-full shadow-lg shadow-primary/40 ring-2 ring-background animate-pulse" })
3001
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-[2px] w-full bg-gradient-to-r from-primary via-primary to-primary/50" }),
3002
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute -left-1.5 w-3 h-3 bg-primary rounded-full shadow-lg shadow-primary/40 ring-2 ring-background animate-pulse" })
2891
3003
  )))));
2892
3004
  };
2893
- var AgendaEmptyState = ({ onCreateEvent, translations }) => /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col items-center justify-center h-full min-h-[400px] py-12" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative mb-8" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "p-8 bg-gradient-to-br from-green-50 to-blue-50 dark:from-green-900/10 dark:to-blue-900/10 rounded-3xl border border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-12 h-12 rounded-2xl bg-green-100 dark:bg-green-900/30 flex items-center justify-center" }, /* @__PURE__ */ React17__namespace.default.createElement("svg", { className: "w-6 h-6 text-green-600 dark:text-green-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 }, /* @__PURE__ */ React17__namespace.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M5 13l4 4L19 7" }))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-left" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "font-medium text-foreground" }, "All caught up!"), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-sm text-muted-foreground" }, "No events scheduled"))))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-center max-w-sm" }, /* @__PURE__ */ React17__namespace.default.createElement("h3", { className: "text-lg font-semibold text-foreground mb-2" }, translations?.noUpcoming || "Your schedule is clear"), /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-sm text-muted-foreground mb-6" }, "No upcoming events to show. Create a new event to start planning."), onCreateEvent && /* @__PURE__ */ React17__namespace.default.createElement(
3005
+ var AgendaEmptyState = ({ onCreateEvent, translations }) => /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col items-center justify-center h-full min-h-[400px] py-12" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative mb-8" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-8 bg-gradient-to-br from-green-50 to-blue-50 dark:from-green-900/10 dark:to-blue-900/10 rounded-3xl border border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-12 h-12 rounded-2xl bg-green-100 dark:bg-green-900/30 flex items-center justify-center" }, /* @__PURE__ */ React18__namespace.default.createElement("svg", { className: "w-6 h-6 text-green-600 dark:text-green-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 }, /* @__PURE__ */ React18__namespace.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M5 13l4 4L19 7" }))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-left" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "font-medium text-foreground" }, "All caught up!"), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-sm text-muted-foreground" }, "No events scheduled"))))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-center max-w-sm" }, /* @__PURE__ */ React18__namespace.default.createElement("h3", { className: "text-lg font-semibold text-foreground mb-2" }, translations?.noUpcoming || "Your schedule is clear"), /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-sm text-muted-foreground mb-6" }, "No upcoming events to show. Create a new event to start planning."), onCreateEvent && /* @__PURE__ */ React18__namespace.default.createElement(
2894
3006
  "button",
2895
3007
  {
2896
3008
  onClick: onCreateEvent,
2897
3009
  className: "inline-flex items-center gap-2 px-5 py-2.5 bg-primary text-primary-foreground rounded-xl font-medium text-sm shadow-lg shadow-primary/20 hover:shadow-xl hover:shadow-primary/30 hover:scale-105 active:scale-95 transition-all duration-200"
2898
3010
  },
2899
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Plus, { className: "w-4 h-4" }),
3011
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Plus, { className: "w-4 h-4" }),
2900
3012
  translations?.createEvent || "Create Event"
2901
3013
  )));
2902
3014
  var formatDuration = (start, end) => {
@@ -2922,7 +3034,7 @@ var AgendaView = ({
2922
3034
  renderEmptyState
2923
3035
  }) => {
2924
3036
  const timeFmt = getTimeFormatFull(language);
2925
- const groupedEvents = React17.useMemo(() => {
3037
+ const groupedEvents = React18.useMemo(() => {
2926
3038
  const startDate = dateFns.startOfDay(currentDate);
2927
3039
  const groups = [];
2928
3040
  const sortedEvents = [...events].sort((a, b) => a.start.getTime() - b.start.getTime());
@@ -2948,7 +3060,7 @@ var AgendaView = ({
2948
3060
  hidden: { opacity: 0, x: -20 },
2949
3061
  show: { opacity: 1, x: 0 }
2950
3062
  };
2951
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background overflow-y-auto" }, groupedEvents.length === 0 ? renderEmptyState ? renderEmptyState({ view: "agenda", onCreateEvent }) : /* @__PURE__ */ React17__namespace.default.createElement(AgendaEmptyState, { onCreateEvent }) : /* @__PURE__ */ React17__namespace.default.createElement(
3063
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background overflow-y-auto" }, groupedEvents.length === 0 ? renderEmptyState ? renderEmptyState({ view: "agenda", onCreateEvent }) : /* @__PURE__ */ React18__namespace.default.createElement(AgendaEmptyState, { onCreateEvent }) : /* @__PURE__ */ React18__namespace.default.createElement(
2952
3064
  framerMotion.motion.div,
2953
3065
  {
2954
3066
  className: "max-w-3xl mx-auto w-full pb-10 px-4 md:px-6",
@@ -2956,21 +3068,21 @@ var AgendaView = ({
2956
3068
  initial: "hidden",
2957
3069
  animate: "show"
2958
3070
  },
2959
- groupedEvents.map((group, groupIndex) => /* @__PURE__ */ React17__namespace.default.createElement(
3071
+ groupedEvents.map((group, groupIndex) => /* @__PURE__ */ React18__namespace.default.createElement(
2960
3072
  framerMotion.motion.div,
2961
3073
  {
2962
3074
  key: group.date.toISOString(),
2963
3075
  className: "relative",
2964
3076
  variants: item
2965
3077
  },
2966
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "sticky top-0 bg-background/95 backdrop-blur-md py-4 z-10 border-b border-border/50" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
3078
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "sticky top-0 bg-background/95 backdrop-blur-md py-4 z-10 border-b border-border/50" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
2967
3079
  "flex flex-col items-center justify-center w-16 h-16 rounded-2xl transition-all",
2968
3080
  dateFns.isToday(group.date) ? "bg-primary text-primary-foreground shadow-lg shadow-primary/30" : "bg-muted/50 text-foreground"
2969
- ) }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-2xl font-bold leading-none" }, dateFns.format(group.date, "d")), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-medium uppercase tracking-wide opacity-80" }, dateFns.format(group.date, "MMM"))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: cn(
3081
+ ) }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-2xl font-bold leading-none" }, dateFns.format(group.date, "d")), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-medium uppercase tracking-wide opacity-80" }, dateFns.format(group.date, "MMM"))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: cn(
2970
3082
  "text-lg font-semibold",
2971
3083
  dateFns.isToday(group.date) && "text-primary"
2972
- ) }, getDateLabel(group.date, translations?.today ?? "Today", translations?.tomorrow ?? "Tomorrow")), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm text-muted-foreground" }, group.events.length, " ", group.events.length !== 1 ? translations?.eventsCount ?? "events" : translations?.eventCount ?? "event")))),
2973
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "py-4 space-y-3" }, group.events.map((event, eventIndex) => /* @__PURE__ */ React17__namespace.default.createElement(
3084
+ ) }, getDateLabel(group.date, translations?.today ?? "Today", translations?.tomorrow ?? "Tomorrow")), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm text-muted-foreground" }, group.events.length, " ", group.events.length !== 1 ? translations?.eventsCount ?? "events" : translations?.eventCount ?? "event")))),
3085
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "py-4 space-y-3" }, group.events.map((event, eventIndex) => /* @__PURE__ */ React18__namespace.default.createElement(
2974
3086
  framerMotion.motion.div,
2975
3087
  {
2976
3088
  key: event.id,
@@ -2984,22 +3096,22 @@ var AgendaView = ({
2984
3096
  whileHover: { scale: 1.01, y: -2 },
2985
3097
  transition: { duration: 0.2 }
2986
3098
  },
2987
- /* @__PURE__ */ React17__namespace.default.createElement(
3099
+ /* @__PURE__ */ React18__namespace.default.createElement(
2988
3100
  "div",
2989
3101
  {
2990
3102
  className: "absolute left-0 top-3 bottom-3 w-1 rounded-full",
2991
3103
  style: { backgroundColor: event.color || "var(--primary)" }
2992
3104
  }
2993
3105
  ),
2994
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col items-center min-w-[70px] pl-2" }, event.allDay ? /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-semibold text-muted-foreground bg-muted/80 px-2.5 py-1 rounded-full" }, translations?.allDay ?? "All Day")) : /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-base font-semibold text-foreground" }, dateFns.format(event.start, timeFmt)), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-px h-3 bg-border my-1" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs text-muted-foreground/70 font-medium" }, formatDuration(event.start, event.end)))),
2995
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 min-w-0 space-y-2" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-start justify-between gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement("h4", { className: "text-base font-semibold text-foreground group-hover:text-primary transition-colors line-clamp-1" }, event.title), /* @__PURE__ */ React17__namespace.default.createElement(
3106
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col items-center min-w-[70px] pl-2" }, event.allDay ? /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-semibold text-muted-foreground bg-muted/80 px-2.5 py-1 rounded-full" }, translations?.allDay ?? "All Day")) : /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-base font-semibold text-foreground" }, dateFns.format(event.start, timeFmt)), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-px h-3 bg-border my-1" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs text-muted-foreground/70 font-medium" }, formatDuration(event.start, event.end)))),
3107
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 min-w-0 space-y-2" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-start justify-between gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement("h4", { className: "text-base font-semibold text-foreground group-hover:text-primary transition-colors line-clamp-1" }, event.title), /* @__PURE__ */ React18__namespace.default.createElement(
2996
3108
  "div",
2997
3109
  {
2998
3110
  className: "w-3 h-3 rounded-full shrink-0 mt-1.5",
2999
3111
  style: { backgroundColor: event.color || "var(--primary)" }
3000
3112
  }
3001
- )), event.description && /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-sm text-muted-foreground line-clamp-2 leading-relaxed" }, event.description), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-wrap items-center gap-3 pt-1" }, !event.allDay && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Clock, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React17__namespace.default.createElement("span", null, dateFns.format(event.start, timeFmt), " - ", dateFns.format(event.end, timeFmt))), event.guests && event.guests.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Users, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React17__namespace.default.createElement("span", null, event.guests.length, " ", event.guests.length !== 1 ? translations?.guestsCount ?? "guests" : translations?.guestCount ?? "guest")), event.attachments && event.attachments.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Paperclip, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React17__namespace.default.createElement("span", null, event.attachments.length)), event.reminders && event.reminders.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Bell, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React17__namespace.default.createElement("span", null, event.reminders.length)))),
3002
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity" }, /* @__PURE__ */ React17__namespace.default.createElement("svg", { className: "w-5 h-5 text-muted-foreground", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2" }, /* @__PURE__ */ React17__namespace.default.createElement("path", { d: "M9 18l6-6-6-6" })))
3113
+ )), event.description && /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-sm text-muted-foreground line-clamp-2 leading-relaxed" }, event.description), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-wrap items-center gap-3 pt-1" }, !event.allDay && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Clock, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React18__namespace.default.createElement("span", null, dateFns.format(event.start, timeFmt), " - ", dateFns.format(event.end, timeFmt))), event.guests && event.guests.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Users, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React18__namespace.default.createElement("span", null, event.guests.length, " ", event.guests.length !== 1 ? translations?.guestsCount ?? "guests" : translations?.guestCount ?? "guest")), event.attachments && event.attachments.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Paperclip, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React18__namespace.default.createElement("span", null, event.attachments.length)), event.reminders && event.reminders.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Bell, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ React18__namespace.default.createElement("span", null, event.reminders.length)))),
3114
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity" }, /* @__PURE__ */ React18__namespace.default.createElement("svg", { className: "w-5 h-5 text-muted-foreground", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2" }, /* @__PURE__ */ React18__namespace.default.createElement("path", { d: "M9 18l6-6-6-6" })))
3003
3115
  )))
3004
3116
  ))
3005
3117
  ));
@@ -3013,7 +3125,7 @@ var ResourceView = ({
3013
3125
  locale,
3014
3126
  language = "tr"
3015
3127
  }) => {
3016
- const containerRef = React17.useRef(null);
3128
+ const containerRef = React18.useRef(null);
3017
3129
  const hours = Array.from({ length: 24 }, (_, i) => i);
3018
3130
  const hourWidth = 100;
3019
3131
  const timeFormat = getTimeFormat(language);
@@ -3031,7 +3143,7 @@ var ResourceView = ({
3031
3143
  // Min width for visibility
3032
3144
  };
3033
3145
  };
3034
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background overflow-hidden" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex border-b border-border bg-muted/20" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-48 shrink-0 border-r border-border p-4 font-semibold text-sm bg-background sticky left-0 z-20" }, "Resources"), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex overflow-hidden" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex relative", style: { width: hours.length * hourWidth } }, hours.map((hour) => /* @__PURE__ */ React17__namespace.default.createElement(
3146
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full min-h-0 bg-background overflow-hidden" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex border-b border-border bg-muted/20" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-48 shrink-0 border-r border-border p-4 font-semibold text-sm bg-background sticky left-0 z-20" }, "Resources"), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex overflow-hidden" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex relative", style: { width: hours.length * hourWidth } }, hours.map((hour) => /* @__PURE__ */ React18__namespace.default.createElement(
3035
3147
  "div",
3036
3148
  {
3037
3149
  key: hour,
@@ -3039,11 +3151,11 @@ var ResourceView = ({
3039
3151
  style: { width: hourWidth }
3040
3152
  },
3041
3153
  dateFns.format((/* @__PURE__ */ new Date()).setHours(hour, 0, 0, 0), timeFormat, { locale })
3042
- ))))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 min-h-0 overflow-auto relative", ref: containerRef }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "min-w-fit" }, resources.map((resource) => {
3154
+ ))))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 min-h-0 overflow-auto relative", ref: containerRef }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "min-w-fit" }, resources.map((resource) => {
3043
3155
  const resourceEvents = events.filter(
3044
3156
  (e) => e.resourceId === resource.id && dateFns.isSameDay(new Date(e.start), currentDate)
3045
3157
  );
3046
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { key: resource.id, className: "flex border-b border-border min-h-[100px]" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-48 shrink-0 border-r border-border p-4 bg-background sticky left-0 z-10 flex items-center gap-3" }, resource.avatar ? /* @__PURE__ */ React17__namespace.default.createElement("img", { src: resource.avatar, alt: resource.label, className: "w-8 h-8 rounded-full object-cover" }) : /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center text-xs font-bold text-primary" }, resource.label.substring(0, 2).toUpperCase()), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium" }, resource.label), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs text-muted-foreground" }, "ID: ", resource.id))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative flex", style: { width: hours.length * hourWidth } }, hours.map((hour) => /* @__PURE__ */ React17__namespace.default.createElement(
3158
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { key: resource.id, className: "flex border-b border-border min-h-[100px]" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-48 shrink-0 border-r border-border p-4 bg-background sticky left-0 z-10 flex items-center gap-3" }, resource.avatar ? /* @__PURE__ */ React18__namespace.default.createElement("img", { src: resource.avatar, alt: resource.label, className: "w-8 h-8 rounded-full object-cover" }) : /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center text-xs font-bold text-primary" }, resource.label.substring(0, 2).toUpperCase()), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium" }, resource.label), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs text-muted-foreground" }, "ID: ", resource.id))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative flex", style: { width: hours.length * hourWidth } }, hours.map((hour) => /* @__PURE__ */ React18__namespace.default.createElement(
3047
3159
  "div",
3048
3160
  {
3049
3161
  key: hour,
@@ -3054,7 +3166,7 @@ var ResourceView = ({
3054
3166
  const slotDate = new Date(currentDate);
3055
3167
  slotDate.setHours(hour, minute, 0, 0);
3056
3168
  const slotId = `${resource.id}-${slotDate.toISOString()}`;
3057
- return /* @__PURE__ */ React17__namespace.default.createElement(
3169
+ return /* @__PURE__ */ React18__namespace.default.createElement(
3058
3170
  DroppableCell,
3059
3171
  {
3060
3172
  key: minute,
@@ -3068,7 +3180,7 @@ var ResourceView = ({
3068
3180
  }
3069
3181
  );
3070
3182
  })
3071
- )), resourceEvents.map((event) => /* @__PURE__ */ React17__namespace.default.createElement(
3183
+ )), resourceEvents.map((event) => /* @__PURE__ */ React18__namespace.default.createElement(
3072
3184
  DraggableEvent,
3073
3185
  {
3074
3186
  key: event.id,
@@ -3085,7 +3197,7 @@ var ResourceView = ({
3085
3197
  color: "#fff"
3086
3198
  }
3087
3199
  },
3088
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "truncate" }, event.title)
3200
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "truncate" }, event.title)
3089
3201
  ))));
3090
3202
  }))));
3091
3203
  };
@@ -3097,8 +3209,8 @@ var Modal = ({
3097
3209
  className,
3098
3210
  hideHeader = false
3099
3211
  }) => {
3100
- const overlayRef = React17.useRef(null);
3101
- React17.useEffect(() => {
3212
+ const overlayRef = React18.useRef(null);
3213
+ React18.useEffect(() => {
3102
3214
  const handleEscape = (e) => {
3103
3215
  if (e.key === "Escape") {
3104
3216
  onClose();
@@ -3112,14 +3224,14 @@ var Modal = ({
3112
3224
  };
3113
3225
  }, [isOpen, onClose]);
3114
3226
  if (!isOpen) return null;
3115
- return /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center p-4 bg-black/40 backdrop-blur-md animate-in fade-in duration-300" }, /* @__PURE__ */ React17__namespace.default.createElement(
3227
+ return /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute inset-0 z-50 flex items-center justify-center p-4 bg-black/40 backdrop-blur-md animate-in fade-in duration-300" }, /* @__PURE__ */ React18__namespace.default.createElement(
3116
3228
  "div",
3117
3229
  {
3118
3230
  ref: overlayRef,
3119
3231
  className: "absolute inset-0",
3120
3232
  onClick: onClose
3121
3233
  }
3122
- ), /* @__PURE__ */ React17__namespace.default.createElement(
3234
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
3123
3235
  "div",
3124
3236
  {
3125
3237
  className: cn(
@@ -3127,7 +3239,7 @@ var Modal = ({
3127
3239
  className
3128
3240
  )
3129
3241
  },
3130
- !hideHeader && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between px-6 py-4 border-b border-border/50 shrink-0 bg-gradient-to-r from-muted/20 to-background" }, /* @__PURE__ */ React17__namespace.default.createElement("h3", { className: "text-lg font-semibold text-foreground" }, title), /* @__PURE__ */ React17__namespace.default.createElement(
3242
+ !hideHeader && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between px-6 py-4 border-b border-border/50 shrink-0 bg-gradient-to-r from-muted/20 to-background" }, /* @__PURE__ */ React18__namespace.default.createElement("h3", { className: "text-lg font-semibold text-foreground" }, title), /* @__PURE__ */ React18__namespace.default.createElement(
3131
3243
  Button,
3132
3244
  {
3133
3245
  variant: "ghost",
@@ -3135,10 +3247,10 @@ var Modal = ({
3135
3247
  onClick: onClose,
3136
3248
  className: "h-9 w-9 p-0 rounded-xl hover:bg-accent/80 transition-all duration-200"
3137
3249
  },
3138
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.X, { className: "h-4 w-4" }),
3139
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "sr-only" }, "Close")
3250
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.X, { className: "h-4 w-4" }),
3251
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "sr-only" }, "Close")
3140
3252
  )),
3141
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn("overflow-y-auto flex-1", !hideHeader && "p-6") }, children)
3253
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn("overflow-y-auto flex-1", !hideHeader && "p-6") }, children)
3142
3254
  ));
3143
3255
  };
3144
3256
  var COLOR_PALETTE = [
@@ -3188,9 +3300,9 @@ var EventModal = ({
3188
3300
  language = "tr"
3189
3301
  }) => {
3190
3302
  const timeFmt = getTimeFormatFull(language);
3191
- const [mode, setMode] = React17.useState("create");
3192
- const [activeTab, setActiveTab] = React17.useState("details");
3193
- const [formData, setFormData] = React17.useState({
3303
+ const [mode, setMode] = React18.useState("create");
3304
+ const [activeTab, setActiveTab] = React18.useState("details");
3305
+ const [formData, setFormData] = React18.useState({
3194
3306
  title: "",
3195
3307
  description: "",
3196
3308
  location: "",
@@ -3204,10 +3316,10 @@ var EventModal = ({
3204
3316
  attachments: [],
3205
3317
  reminders: [{ id: "1", type: "notification", time: 30, label: "30 minutes before" }]
3206
3318
  });
3207
- const [isCalendarDropdownOpen, setIsCalendarDropdownOpen] = React17.useState(false);
3208
- const [isColorPickerOpen, setIsColorPickerOpen] = React17.useState(false);
3209
- const [isReminderDropdownOpen, setIsReminderDropdownOpen] = React17.useState(false);
3210
- const [isGuestsDropdownOpen, setIsGuestsDropdownOpen] = React17.useState(false);
3319
+ const [isCalendarDropdownOpen, setIsCalendarDropdownOpen] = React18.useState(false);
3320
+ const [isColorPickerOpen, setIsColorPickerOpen] = React18.useState(false);
3321
+ const [isReminderDropdownOpen, setIsReminderDropdownOpen] = React18.useState(false);
3322
+ const [isGuestsDropdownOpen, setIsGuestsDropdownOpen] = React18.useState(false);
3211
3323
  const fakeGuests = [
3212
3324
  "alice@example.com",
3213
3325
  "bob@example.com",
@@ -3215,9 +3327,9 @@ var EventModal = ({
3215
3327
  "diana@example.com",
3216
3328
  "evan@example.com"
3217
3329
  ];
3218
- React17.useRef(null);
3219
- const [selectedGuests, setSelectedGuests] = React17.useState([]);
3220
- React17.useEffect(() => {
3330
+ React18.useRef(null);
3331
+ const [selectedGuests, setSelectedGuests] = React18.useState([]);
3332
+ React18.useEffect(() => {
3221
3333
  if (isOpen) {
3222
3334
  if (event) {
3223
3335
  setMode("view");
@@ -3339,7 +3451,7 @@ var EventModal = ({
3339
3451
  if (remainingMins === 0) return `${hours} hr`;
3340
3452
  return `${hours} hr ${remainingMins} min`;
3341
3453
  };
3342
- const renderViewMode = () => /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col bg-background overflow-hidden w-full max-h-[90vh]" }, /* @__PURE__ */ React17__namespace.default.createElement(
3454
+ const renderViewMode = () => /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col bg-background overflow-hidden w-full max-h-[90vh]" }, /* @__PURE__ */ React18__namespace.default.createElement(
3343
3455
  "div",
3344
3456
  {
3345
3457
  className: "relative px-6 pt-6 pb-8",
@@ -3347,50 +3459,50 @@ var EventModal = ({
3347
3459
  background: `linear-gradient(135deg, ${event?.color || "#3b82f6"}15 0%, transparent 100%)`
3348
3460
  }
3349
3461
  },
3350
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between mb-6" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(
3462
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between mb-6" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(
3351
3463
  "div",
3352
3464
  {
3353
3465
  className: "w-3 h-3 rounded-full",
3354
3466
  style: { backgroundColor: event?.color || "#3b82f6" }
3355
3467
  }
3356
- ), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider" }, calendars?.find((c) => c.id === event?.calendarId)?.label || "Event")), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React17__namespace.default.createElement(
3468
+ ), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider" }, calendars?.find((c) => c.id === event?.calendarId)?.label || "Event")), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React18__namespace.default.createElement(
3357
3469
  "button",
3358
3470
  {
3359
3471
  onClick: () => setMode("edit"),
3360
3472
  className: "p-2 hover:bg-background/80 rounded-lg transition-all text-muted-foreground hover:text-foreground",
3361
3473
  title: "Edit"
3362
3474
  },
3363
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Edit2, { className: "w-4 h-4" })
3364
- ), /* @__PURE__ */ React17__namespace.default.createElement(
3475
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Edit2, { className: "w-4 h-4" })
3476
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
3365
3477
  "button",
3366
3478
  {
3367
3479
  onClick: handleDelete,
3368
3480
  className: "p-2 hover:bg-destructive/10 rounded-lg transition-all text-muted-foreground hover:text-destructive",
3369
3481
  title: "Delete"
3370
3482
  },
3371
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" })
3372
- ), /* @__PURE__ */ React17__namespace.default.createElement(
3483
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" })
3484
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
3373
3485
  "button",
3374
3486
  {
3375
3487
  onClick: onClose,
3376
3488
  className: "p-2 hover:bg-background/80 rounded-lg transition-all text-muted-foreground hover:text-foreground",
3377
3489
  title: "Close"
3378
3490
  },
3379
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.X, { className: "w-4 h-4" })
3491
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.X, { className: "w-4 h-4" })
3380
3492
  ))),
3381
- /* @__PURE__ */ React17__namespace.default.createElement("h1", { className: "text-2xl font-bold text-foreground mb-3 leading-tight" }, event?.title || translations.noTitle),
3382
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-3 text-sm" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2 px-3 py-1.5 bg-background/60 backdrop-blur-sm rounded-lg border border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Calendar, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "font-medium" }, event?.start && dateFns.format(new Date(event.start), "EEE, MMM d"))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2 px-3 py-1.5 bg-background/60 backdrop-blur-sm rounded-lg border border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Clock, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "font-medium" }, event?.start && dateFns.format(new Date(event.start), timeFmt), " \u2013 ", event?.end && dateFns.format(new Date(event.end), timeFmt))))
3383
- ), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-6 pb-6 space-y-4 overflow-y-auto flex-1" }, event?.location && /* @__PURE__ */ React17__namespace.default.createElement(
3493
+ /* @__PURE__ */ React18__namespace.default.createElement("h1", { className: "text-2xl font-bold text-foreground mb-3 leading-tight" }, event?.title || translations.noTitle),
3494
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-3 text-sm" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2 px-3 py-1.5 bg-background/60 backdrop-blur-sm rounded-lg border border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Calendar, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "font-medium" }, event?.start && dateFns.format(new Date(event.start), "EEE, MMM d"))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2 px-3 py-1.5 bg-background/60 backdrop-blur-sm rounded-lg border border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Clock, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "font-medium" }, event?.start && dateFns.format(new Date(event.start), timeFmt), " \u2013 ", event?.end && dateFns.format(new Date(event.end), timeFmt))))
3495
+ ), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-6 pb-6 space-y-4 overflow-y-auto flex-1" }, event?.location && /* @__PURE__ */ React18__namespace.default.createElement(
3384
3496
  framerMotion.motion.div,
3385
3497
  {
3386
3498
  initial: { opacity: 0, y: 10 },
3387
3499
  animate: { opacity: 1, y: 0 },
3388
3500
  className: "flex items-start gap-3 p-4 rounded-2xl bg-muted/30 border border-border/30 group hover:bg-muted/50 transition-all cursor-pointer"
3389
3501
  },
3390
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "p-2 bg-primary/10 rounded-xl" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.MapPin, { className: "w-5 h-5 text-primary" })),
3391
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-sm font-medium text-foreground" }, event.location), /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-xs text-muted-foreground mt-0.5" }, translations.clickToOpenInMaps)),
3392
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ExternalLink, { className: "w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity" })
3393
- ), event?.guests && event.guests.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement(
3502
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-2 bg-primary/10 rounded-xl" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.MapPin, { className: "w-5 h-5 text-primary" })),
3503
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-sm font-medium text-foreground" }, event.location), /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-xs text-muted-foreground mt-0.5" }, translations.clickToOpenInMaps)),
3504
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ExternalLink, { className: "w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity" })
3505
+ ), event?.guests && event.guests.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement(
3394
3506
  framerMotion.motion.div,
3395
3507
  {
3396
3508
  initial: { opacity: 0, y: 10 },
@@ -3398,14 +3510,14 @@ var EventModal = ({
3398
3510
  transition: { delay: 0.05 },
3399
3511
  className: "space-y-3"
3400
3512
  },
3401
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Users, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, event.guests.length, " ", event.guests.length > 1 ? translations.guestsCount : translations.guestCount))),
3402
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-wrap gap-2" }, event.guests.map((email, index) => /* @__PURE__ */ React17__namespace.default.createElement(
3513
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Users, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, event.guests.length, " ", event.guests.length > 1 ? translations.guestsCount : translations.guestCount))),
3514
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-wrap gap-2" }, event.guests.map((email, index) => /* @__PURE__ */ React18__namespace.default.createElement(
3403
3515
  "div",
3404
3516
  {
3405
3517
  key: index,
3406
3518
  className: "flex items-center gap-2 px-3 py-2 rounded-xl bg-muted/30 border border-border/30 hover:bg-muted/50 transition-all cursor-pointer group"
3407
3519
  },
3408
- /* @__PURE__ */ React17__namespace.default.createElement(
3520
+ /* @__PURE__ */ React18__namespace.default.createElement(
3409
3521
  "div",
3410
3522
  {
3411
3523
  className: "w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold text-white",
@@ -3413,9 +3525,9 @@ var EventModal = ({
3413
3525
  },
3414
3526
  email[0].toUpperCase()
3415
3527
  ),
3416
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-sm font-medium text-foreground" }, email.split("@")[0]), /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-xs text-muted-foreground truncate" }, email))
3528
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-sm font-medium text-foreground" }, email.split("@")[0]), /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-xs text-muted-foreground truncate" }, email))
3417
3529
  )))
3418
- ), event?.reminders && event.reminders.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement(
3530
+ ), event?.reminders && event.reminders.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement(
3419
3531
  framerMotion.motion.div,
3420
3532
  {
3421
3533
  initial: { opacity: 0, y: 10 },
@@ -3423,8 +3535,8 @@ var EventModal = ({
3423
3535
  transition: { delay: 0.1 },
3424
3536
  className: "flex items-center gap-3"
3425
3537
  },
3426
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "p-2 bg-amber-500/10 rounded-xl" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Bell, { className: "w-4 h-4 text-amber-500" })),
3427
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-wrap gap-2" }, event.reminders.map((reminder) => /* @__PURE__ */ React17__namespace.default.createElement(
3538
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-2 bg-amber-500/10 rounded-xl" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Bell, { className: "w-4 h-4 text-amber-500" })),
3539
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-wrap gap-2" }, event.reminders.map((reminder) => /* @__PURE__ */ React18__namespace.default.createElement(
3428
3540
  "span",
3429
3541
  {
3430
3542
  key: reminder.id,
@@ -3432,7 +3544,7 @@ var EventModal = ({
3432
3544
  },
3433
3545
  reminder.label || `${reminder.time} min before`
3434
3546
  )))
3435
- ), event?.description && /* @__PURE__ */ React17__namespace.default.createElement(
3547
+ ), event?.description && /* @__PURE__ */ React18__namespace.default.createElement(
3436
3548
  framerMotion.motion.div,
3437
3549
  {
3438
3550
  initial: { opacity: 0, y: 10 },
@@ -3440,9 +3552,9 @@ var EventModal = ({
3440
3552
  transition: { delay: 0.15 },
3441
3553
  className: "space-y-2"
3442
3554
  },
3443
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.AlignLeft, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.notes)),
3444
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-sm text-foreground/80 whitespace-pre-wrap leading-relaxed pl-6 p-3 rounded-xl bg-muted/20 border border-border/30" }, event.description)
3445
- ), event?.attachments && event.attachments.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement(
3555
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.AlignLeft, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.notes)),
3556
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-sm text-foreground/80 whitespace-pre-wrap leading-relaxed pl-6 p-3 rounded-xl bg-muted/20 border border-border/30" }, event.description)
3557
+ ), event?.attachments && event.attachments.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement(
3446
3558
  framerMotion.motion.div,
3447
3559
  {
3448
3560
  initial: { opacity: 0, y: 10 },
@@ -3450,27 +3562,27 @@ var EventModal = ({
3450
3562
  transition: { delay: 0.2 },
3451
3563
  className: "space-y-2"
3452
3564
  },
3453
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Paperclip, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.attachments)),
3454
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "grid gap-2" }, event.attachments.map((att) => /* @__PURE__ */ React17__namespace.default.createElement(
3565
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Paperclip, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.attachments)),
3566
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "grid gap-2" }, event.attachments.map((att) => /* @__PURE__ */ React18__namespace.default.createElement(
3455
3567
  "div",
3456
3568
  {
3457
3569
  key: att.id,
3458
3570
  onClick: () => handleDownload(att),
3459
3571
  className: "flex items-center gap-3 p-3 rounded-xl border border-border/30 bg-muted/20 hover:bg-muted/40 transition-all cursor-pointer group"
3460
3572
  },
3461
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "p-2 bg-primary/10 rounded-lg" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.File, { className: "w-4 h-4 text-primary" })),
3462
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-sm font-medium text-foreground truncate" }, att.name), /* @__PURE__ */ React17__namespace.default.createElement("p", { className: "text-xs text-muted-foreground" }, att.size)),
3463
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Download, { className: "w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity" })
3573
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-2 bg-primary/10 rounded-lg" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.File, { className: "w-4 h-4 text-primary" })),
3574
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-sm font-medium text-foreground truncate" }, att.name), /* @__PURE__ */ React18__namespace.default.createElement("p", { className: "text-xs text-muted-foreground" }, att.size)),
3575
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Download, { className: "w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity" })
3464
3576
  )))
3465
3577
  )));
3466
- const renderEditMode = () => /* @__PURE__ */ React17__namespace.default.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col bg-background overflow-hidden w-full max-h-[85vh]" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between px-5 py-4 border-b border-border/50 shrink-0" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React17__namespace.default.createElement(
3578
+ const renderEditMode = () => /* @__PURE__ */ React18__namespace.default.createElement("form", { onSubmit: handleSubmit, className: "flex flex-col bg-background overflow-hidden w-full max-h-[85vh]" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between px-5 py-4 border-b border-border/50 shrink-0" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React18__namespace.default.createElement(
3467
3579
  "button",
3468
3580
  {
3469
3581
  type: "button",
3470
3582
  onClick: () => setIsColorPickerOpen(!isColorPickerOpen),
3471
3583
  className: "relative p-1"
3472
3584
  },
3473
- /* @__PURE__ */ React17__namespace.default.createElement(
3585
+ /* @__PURE__ */ React18__namespace.default.createElement(
3474
3586
  "div",
3475
3587
  {
3476
3588
  className: "w-5 h-5 rounded-full cursor-pointer hover:scale-110 transition-transform",
@@ -3480,7 +3592,7 @@ var EventModal = ({
3480
3592
  }
3481
3593
  }
3482
3594
  ),
3483
- isColorPickerOpen && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute top-full left-0 mt-2 p-2 bg-background border border-border rounded-xl shadow-xl z-50 flex flex-wrap gap-1.5 w-[180px]" }, COLOR_PALETTE.map((color) => /* @__PURE__ */ React17__namespace.default.createElement(
3595
+ isColorPickerOpen && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute top-full left-0 mt-2 p-2 bg-background border border-border rounded-xl shadow-xl z-50 flex flex-wrap gap-1.5 w-[180px]" }, COLOR_PALETTE.map((color) => /* @__PURE__ */ React18__namespace.default.createElement(
3484
3596
  "button",
3485
3597
  {
3486
3598
  key: color,
@@ -3496,15 +3608,15 @@ var EventModal = ({
3496
3608
  style: { backgroundColor: color, color }
3497
3609
  }
3498
3610
  )))
3499
- ), /* @__PURE__ */ React17__namespace.default.createElement("h2", { className: "text-lg font-semibold text-foreground" }, mode === "edit" ? translations.editEvent : translations.newEvent)), /* @__PURE__ */ React17__namespace.default.createElement(
3611
+ ), /* @__PURE__ */ React18__namespace.default.createElement("h2", { className: "text-lg font-semibold text-foreground" }, mode === "edit" ? translations.editEvent : translations.newEvent)), /* @__PURE__ */ React18__namespace.default.createElement(
3500
3612
  "button",
3501
3613
  {
3502
3614
  type: "button",
3503
3615
  onClick: onClose,
3504
3616
  className: "p-2 hover:bg-accent rounded-xl transition-all text-muted-foreground hover:text-foreground"
3505
3617
  },
3506
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.X, { className: "w-4 h-4" })
3507
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 overflow-y-auto" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-5 py-4 space-y-5" }, /* @__PURE__ */ React17__namespace.default.createElement("div", null, /* @__PURE__ */ React17__namespace.default.createElement(
3618
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.X, { className: "w-4 h-4" })
3619
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 overflow-y-auto" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-5 py-4 space-y-5" }, /* @__PURE__ */ React18__namespace.default.createElement("div", null, /* @__PURE__ */ React18__namespace.default.createElement(
3508
3620
  "input",
3509
3621
  {
3510
3622
  type: "text",
@@ -3515,7 +3627,7 @@ var EventModal = ({
3515
3627
  onChange: (e) => setFormData({ ...formData, title: e.target.value }),
3516
3628
  placeholder: translations.addTitle
3517
3629
  }
3518
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-3 p-4 rounded-2xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "p-2 bg-primary/10 rounded-xl shrink-0" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Clock, { className: "w-5 h-5 text-primary" })), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-2 gap-3" }, /* @__PURE__ */ React17__namespace.default.createElement("div", null, /* @__PURE__ */ React17__namespace.default.createElement("label", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-1 block" }, translations.start), /* @__PURE__ */ React17__namespace.default.createElement(
3630
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-3 p-4 rounded-2xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-2 bg-primary/10 rounded-xl shrink-0" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Clock, { className: "w-5 h-5 text-primary" })), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-2 gap-3" }, /* @__PURE__ */ React18__namespace.default.createElement("div", null, /* @__PURE__ */ React18__namespace.default.createElement("label", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-1 block" }, translations.start), /* @__PURE__ */ React18__namespace.default.createElement(
3519
3631
  "input",
3520
3632
  {
3521
3633
  type: "datetime-local",
@@ -3523,7 +3635,7 @@ var EventModal = ({
3523
3635
  value: formatDateForInput(formData.start),
3524
3636
  onChange: (e) => handleDateChange("start", e.target.value)
3525
3637
  }
3526
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", null, /* @__PURE__ */ React17__namespace.default.createElement("label", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-1 block" }, translations.end), /* @__PURE__ */ React17__namespace.default.createElement(
3638
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", null, /* @__PURE__ */ React18__namespace.default.createElement("label", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-1 block" }, translations.end), /* @__PURE__ */ React18__namespace.default.createElement(
3527
3639
  "input",
3528
3640
  {
3529
3641
  type: "datetime-local",
@@ -3531,16 +3643,16 @@ var EventModal = ({
3531
3643
  value: formatDateForInput(formData.end),
3532
3644
  onChange: (e) => handleDateChange("end", e.target.value)
3533
3645
  }
3534
- )))), getDurationText() && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-medium px-3 py-1 rounded-full bg-primary/10 text-primary" }, getDurationText())), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Bell, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.reminders)), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React17__namespace.default.createElement(
3646
+ )))), getDurationText() && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-medium px-3 py-1 rounded-full bg-primary/10 text-primary" }, getDurationText())), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Bell, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.reminders)), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React18__namespace.default.createElement(
3535
3647
  "button",
3536
3648
  {
3537
3649
  type: "button",
3538
3650
  onClick: () => setIsReminderDropdownOpen(!isReminderDropdownOpen),
3539
3651
  className: "flex items-center gap-1 text-xs font-medium text-primary hover:text-primary/80 transition-colors"
3540
3652
  },
3541
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Plus, { className: "w-3.5 h-3.5" }),
3653
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Plus, { className: "w-3.5 h-3.5" }),
3542
3654
  translations.addReminder
3543
- ), isReminderDropdownOpen && /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setIsReminderDropdownOpen(false) }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute right-0 top-full mt-1 w-48 bg-background border border-border rounded-xl shadow-xl z-50 py-1 max-h-60 overflow-y-auto" }, getReminderOptions(translations).map((option) => /* @__PURE__ */ React17__namespace.default.createElement(
3655
+ ), isReminderDropdownOpen && /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setIsReminderDropdownOpen(false) }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute right-0 top-full mt-1 w-48 bg-background border border-border rounded-xl shadow-xl z-50 py-1 max-h-60 overflow-y-auto" }, getReminderOptions(translations).map((option) => /* @__PURE__ */ React18__namespace.default.createElement(
3544
3656
  "button",
3545
3657
  {
3546
3658
  key: option.value,
@@ -3549,58 +3661,58 @@ var EventModal = ({
3549
3661
  className: "w-full px-3 py-2 text-left text-sm hover:bg-accent transition-colors"
3550
3662
  },
3551
3663
  option.label
3552
- )))))), formData.reminders && formData.reminders.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-wrap gap-2" }, formData.reminders.map((reminder) => /* @__PURE__ */ React17__namespace.default.createElement(
3664
+ )))))), formData.reminders && formData.reminders.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-wrap gap-2" }, formData.reminders.map((reminder) => /* @__PURE__ */ React18__namespace.default.createElement(
3553
3665
  "div",
3554
3666
  {
3555
3667
  key: reminder.id,
3556
3668
  className: "flex items-center gap-2 px-3 py-1.5 rounded-full bg-amber-500/10 border border-amber-500/20"
3557
3669
  },
3558
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.BellRing, { className: "w-3.5 h-3.5 text-amber-500" }),
3559
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-medium text-amber-600 dark:text-amber-400" }, reminder.label),
3560
- /* @__PURE__ */ React17__namespace.default.createElement(
3670
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.BellRing, { className: "w-3.5 h-3.5 text-amber-500" }),
3671
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-medium text-amber-600 dark:text-amber-400" }, reminder.label),
3672
+ /* @__PURE__ */ React18__namespace.default.createElement(
3561
3673
  "button",
3562
3674
  {
3563
3675
  type: "button",
3564
3676
  onClick: () => removeReminder(reminder.id),
3565
3677
  className: "p-0.5 hover:bg-amber-500/20 rounded-full transition-colors"
3566
3678
  },
3567
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.X, { className: "w-3 h-3 text-amber-500" })
3679
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.X, { className: "w-3 h-3 text-amber-500" })
3568
3680
  )
3569
- )))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Users, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.guests)), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React17__namespace.default.createElement(
3681
+ )))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Users, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.guests)), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React18__namespace.default.createElement(
3570
3682
  "button",
3571
3683
  {
3572
3684
  type: "button",
3573
3685
  onClick: () => setIsGuestsDropdownOpen(!isGuestsDropdownOpen),
3574
3686
  className: "w-full flex items-center justify-between px-4 py-3 bg-muted/20 border border-border/30 rounded-xl text-sm text-left hover:bg-muted/30 transition-all"
3575
3687
  },
3576
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: selectedGuests.length > 0 ? "text-foreground font-medium" : "text-muted-foreground" }, selectedGuests.length > 0 ? `${selectedGuests.length} ${selectedGuests.length > 1 ? translations.guestsAdded : translations.guestAdded}` : translations.addGuests),
3577
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("w-4 h-4 text-muted-foreground transition-transform", isGuestsDropdownOpen && "rotate-180") })
3578
- ), isGuestsDropdownOpen && /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setIsGuestsDropdownOpen(false) }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute z-50 w-full mt-2 bg-background border border-border rounded-xl shadow-xl max-h-48 overflow-y-auto" }, fakeGuests.map((email) => /* @__PURE__ */ React17__namespace.default.createElement(
3688
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: selectedGuests.length > 0 ? "text-foreground font-medium" : "text-muted-foreground" }, selectedGuests.length > 0 ? `${selectedGuests.length} ${selectedGuests.length > 1 ? translations.guestsAdded : translations.guestAdded}` : translations.addGuests),
3689
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronDown, { className: cn("w-4 h-4 text-muted-foreground transition-transform", isGuestsDropdownOpen && "rotate-180") })
3690
+ ), isGuestsDropdownOpen && /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setIsGuestsDropdownOpen(false) }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute z-50 w-full mt-2 bg-background border border-border rounded-xl shadow-xl max-h-48 overflow-y-auto" }, fakeGuests.map((email) => /* @__PURE__ */ React18__namespace.default.createElement(
3579
3691
  "div",
3580
3692
  {
3581
3693
  key: email,
3582
3694
  className: "px-4 py-3 hover:bg-accent cursor-pointer flex items-center gap-3 transition-colors",
3583
3695
  onClick: () => toggleGuest(email)
3584
3696
  },
3585
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn(
3697
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn(
3586
3698
  "w-5 h-5 rounded-md border-2 flex items-center justify-center transition-all",
3587
3699
  selectedGuests.includes(email) ? "bg-primary border-primary" : "border-border"
3588
- ) }, selectedGuests.includes(email) && /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Check, { className: "w-3 h-3 text-primary-foreground" })),
3589
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(
3700
+ ) }, selectedGuests.includes(email) && /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Check, { className: "w-3 h-3 text-primary-foreground" })),
3701
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(
3590
3702
  "div",
3591
3703
  {
3592
3704
  className: "w-7 h-7 rounded-full flex items-center justify-center text-xs font-semibold text-white",
3593
3705
  style: { backgroundColor: `hsl(${fakeGuests.indexOf(email) * 60}, 70%, 50%)` }
3594
3706
  },
3595
3707
  email[0].toUpperCase()
3596
- ), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm" }, email))
3597
- ))))), selectedGuests.length > 0 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-wrap gap-2 mt-2" }, selectedGuests.map((email) => /* @__PURE__ */ React17__namespace.default.createElement(
3708
+ ), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm" }, email))
3709
+ ))))), selectedGuests.length > 0 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-wrap gap-2 mt-2" }, selectedGuests.map((email) => /* @__PURE__ */ React18__namespace.default.createElement(
3598
3710
  "div",
3599
3711
  {
3600
3712
  key: email,
3601
3713
  className: "flex items-center gap-2 pl-1 pr-2 py-1 bg-muted/30 border border-border/30 rounded-full"
3602
3714
  },
3603
- /* @__PURE__ */ React17__namespace.default.createElement(
3715
+ /* @__PURE__ */ React18__namespace.default.createElement(
3604
3716
  "div",
3605
3717
  {
3606
3718
  className: "w-6 h-6 rounded-full flex items-center justify-center text-xs font-semibold text-white",
@@ -3608,17 +3720,17 @@ var EventModal = ({
3608
3720
  },
3609
3721
  email[0].toUpperCase()
3610
3722
  ),
3611
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-xs font-medium text-foreground" }, email.split("@")[0]),
3612
- /* @__PURE__ */ React17__namespace.default.createElement(
3723
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-xs font-medium text-foreground" }, email.split("@")[0]),
3724
+ /* @__PURE__ */ React18__namespace.default.createElement(
3613
3725
  "button",
3614
3726
  {
3615
3727
  type: "button",
3616
3728
  onClick: () => toggleGuest(email),
3617
3729
  className: "p-0.5 hover:bg-destructive/10 rounded-full transition-colors"
3618
3730
  },
3619
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.X, { className: "w-3 h-3 text-muted-foreground" })
3731
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.X, { className: "w-3 h-3 text-muted-foreground" })
3620
3732
  )
3621
- )))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-3 p-3 rounded-xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.MapPin, { className: "w-5 h-5 text-muted-foreground shrink-0" }), /* @__PURE__ */ React17__namespace.default.createElement(
3733
+ )))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-3 p-3 rounded-xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.MapPin, { className: "w-5 h-5 text-muted-foreground shrink-0" }), /* @__PURE__ */ React18__namespace.default.createElement(
3622
3734
  "input",
3623
3735
  {
3624
3736
  type: "text",
@@ -3627,7 +3739,7 @@ var EventModal = ({
3627
3739
  value: formData.location || "",
3628
3740
  onChange: (e) => setFormData({ ...formData, location: e.target.value })
3629
3741
  }
3630
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.AlignLeft, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.notes)), /* @__PURE__ */ React17__namespace.default.createElement(
3742
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.AlignLeft, { className: "w-4 h-4 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium text-foreground" }, translations.notes)), /* @__PURE__ */ React18__namespace.default.createElement(
3631
3743
  "textarea",
3632
3744
  {
3633
3745
  className: "w-full bg-muted/20 border border-border/30 rounded-xl px-4 py-3 text-sm min-h-[100px] resize-none text-foreground placeholder-muted-foreground focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all",
@@ -3635,7 +3747,7 @@ var EventModal = ({
3635
3747
  value: formData.description || "",
3636
3748
  onChange: (e) => setFormData({ ...formData, description: e.target.value })
3637
3749
  }
3638
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-3 p-3 rounded-xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Repeat, { className: "w-5 h-5 text-muted-foreground shrink-0" }), /* @__PURE__ */ React17__namespace.default.createElement(
3750
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-3 p-3 rounded-xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Repeat, { className: "w-5 h-5 text-muted-foreground shrink-0" }), /* @__PURE__ */ React18__namespace.default.createElement(
3639
3751
  "select",
3640
3752
  {
3641
3753
  className: "flex-1 bg-transparent text-sm text-foreground focus:outline-none cursor-pointer",
@@ -3654,28 +3766,28 @@ var EventModal = ({
3654
3766
  }
3655
3767
  }
3656
3768
  },
3657
- /* @__PURE__ */ React17__namespace.default.createElement("option", { value: "" }, translations.doesNotRepeat),
3658
- /* @__PURE__ */ React17__namespace.default.createElement("option", { value: "DAILY" }, translations.daily),
3659
- /* @__PURE__ */ React17__namespace.default.createElement("option", { value: "WEEKLY" }, translations.weekly),
3660
- /* @__PURE__ */ React17__namespace.default.createElement("option", { value: "MONTHLY" }, translations.monthly),
3661
- /* @__PURE__ */ React17__namespace.default.createElement("option", { value: "YEARLY" }, translations.yearly)
3662
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center justify-between p-3 rounded-xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Tag, { className: "w-5 h-5 text-muted-foreground" }), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm text-foreground" }, translations.calendar)), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React17__namespace.default.createElement(
3769
+ /* @__PURE__ */ React18__namespace.default.createElement("option", { value: "" }, translations.doesNotRepeat),
3770
+ /* @__PURE__ */ React18__namespace.default.createElement("option", { value: "DAILY" }, translations.daily),
3771
+ /* @__PURE__ */ React18__namespace.default.createElement("option", { value: "WEEKLY" }, translations.weekly),
3772
+ /* @__PURE__ */ React18__namespace.default.createElement("option", { value: "MONTHLY" }, translations.monthly),
3773
+ /* @__PURE__ */ React18__namespace.default.createElement("option", { value: "YEARLY" }, translations.yearly)
3774
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center justify-between p-3 rounded-xl bg-muted/20 border border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Tag, { className: "w-5 h-5 text-muted-foreground" }), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm text-foreground" }, translations.calendar)), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React18__namespace.default.createElement(
3663
3775
  "button",
3664
3776
  {
3665
3777
  type: "button",
3666
3778
  onClick: () => setIsCalendarDropdownOpen(!isCalendarDropdownOpen),
3667
3779
  className: "flex items-center gap-2 px-3 py-1.5 bg-background border border-border/50 rounded-lg text-sm hover:bg-accent/50 transition-all"
3668
3780
  },
3669
- /* @__PURE__ */ React17__namespace.default.createElement(
3781
+ /* @__PURE__ */ React18__namespace.default.createElement(
3670
3782
  "div",
3671
3783
  {
3672
3784
  className: "w-3 h-3 rounded-full",
3673
3785
  style: { backgroundColor: calendars?.find((c) => c.id === formData.calendarId)?.color || "#3b82f6" }
3674
3786
  }
3675
3787
  ),
3676
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "font-medium" }, calendars?.find((c) => c.id === formData.calendarId)?.label || "Select"),
3677
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.ChevronDown, { className: "w-3.5 h-3.5 text-muted-foreground" })
3678
- ), isCalendarDropdownOpen && /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setIsCalendarDropdownOpen(false) }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute right-0 bottom-full mb-2 w-48 bg-background border border-border rounded-xl shadow-xl z-50 py-1" }, calendars?.map((cal) => /* @__PURE__ */ React17__namespace.default.createElement(
3788
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "font-medium" }, calendars?.find((c) => c.id === formData.calendarId)?.label || "Select"),
3789
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.ChevronDown, { className: "w-3.5 h-3.5 text-muted-foreground" })
3790
+ ), isCalendarDropdownOpen && /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "fixed inset-0 z-40", onClick: () => setIsCalendarDropdownOpen(false) }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute right-0 bottom-full mb-2 w-48 bg-background border border-border rounded-xl shadow-xl z-50 py-1" }, calendars?.map((cal) => /* @__PURE__ */ React18__namespace.default.createElement(
3679
3791
  "button",
3680
3792
  {
3681
3793
  key: cal.id,
@@ -3690,19 +3802,19 @@ var EventModal = ({
3690
3802
  setIsCalendarDropdownOpen(false);
3691
3803
  }
3692
3804
  },
3693
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-3 h-3 rounded-full", style: { backgroundColor: cal.color } }),
3694
- /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "flex-1 text-sm" }, cal.label),
3695
- formData.calendarId === cal.id && /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Check, { className: "w-4 h-4 text-primary" })
3696
- )))))))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-5 py-4 border-t border-border/50 flex items-center justify-between bg-muted/10 shrink-0" }, mode === "edit" && /* @__PURE__ */ React17__namespace.default.createElement(
3805
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-3 h-3 rounded-full", style: { backgroundColor: cal.color } }),
3806
+ /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "flex-1 text-sm" }, cal.label),
3807
+ formData.calendarId === cal.id && /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Check, { className: "w-4 h-4 text-primary" })
3808
+ )))))))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-5 py-4 border-t border-border/50 flex items-center justify-between bg-muted/10 shrink-0" }, mode === "edit" && /* @__PURE__ */ React18__namespace.default.createElement(
3697
3809
  "button",
3698
3810
  {
3699
3811
  type: "button",
3700
3812
  onClick: handleDelete,
3701
3813
  className: "flex items-center gap-2 px-4 py-2 text-destructive hover:bg-destructive/10 rounded-xl transition-all text-sm font-medium"
3702
3814
  },
3703
- /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" }),
3815
+ /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" }),
3704
3816
  translations.delete
3705
- ), mode === "create" && /* @__PURE__ */ React17__namespace.default.createElement("div", null), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(
3817
+ ), mode === "create" && /* @__PURE__ */ React18__namespace.default.createElement("div", null), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(
3706
3818
  "button",
3707
3819
  {
3708
3820
  type: "button",
@@ -3710,7 +3822,7 @@ var EventModal = ({
3710
3822
  className: "px-4 py-2.5 text-muted-foreground hover:text-foreground font-medium text-sm rounded-xl transition-all hover:bg-accent"
3711
3823
  },
3712
3824
  translations.cancel
3713
- ), /* @__PURE__ */ React17__namespace.default.createElement(
3825
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
3714
3826
  "button",
3715
3827
  {
3716
3828
  type: "submit",
@@ -3718,7 +3830,7 @@ var EventModal = ({
3718
3830
  },
3719
3831
  mode === "edit" ? translations.saveChanges : translations.createEvent
3720
3832
  ))));
3721
- return /* @__PURE__ */ React17__namespace.default.createElement(Modal, { isOpen, onClose, hideHeader: true, className: "p-0 overflow-hidden max-w-lg rounded-2xl shadow-2xl" }, /* @__PURE__ */ React17__namespace.default.createElement(framerMotion.AnimatePresence, { mode: "wait" }, mode === "view" && event ? /* @__PURE__ */ React17__namespace.default.createElement(
3833
+ return /* @__PURE__ */ React18__namespace.default.createElement(Modal, { isOpen, onClose, hideHeader: true, className: "p-0 overflow-hidden max-w-lg rounded-2xl shadow-2xl" }, /* @__PURE__ */ React18__namespace.default.createElement(framerMotion.AnimatePresence, { mode: "wait" }, mode === "view" && event ? /* @__PURE__ */ React18__namespace.default.createElement(
3722
3834
  framerMotion.motion.div,
3723
3835
  {
3724
3836
  key: "view",
@@ -3728,7 +3840,7 @@ var EventModal = ({
3728
3840
  transition: { duration: 0.15 }
3729
3841
  },
3730
3842
  renderViewMode()
3731
- ) : /* @__PURE__ */ React17__namespace.default.createElement(
3843
+ ) : /* @__PURE__ */ React18__namespace.default.createElement(
3732
3844
  framerMotion.motion.div,
3733
3845
  {
3734
3846
  key: "edit",
@@ -3740,9 +3852,9 @@ var EventModal = ({
3740
3852
  renderEditMode()
3741
3853
  )));
3742
3854
  };
3743
- var Skeleton = ({ className, style }) => /* @__PURE__ */ React17__namespace.default.createElement("div", { className: cn("animate-pulse bg-muted/40 rounded", className), style });
3744
- var MonthViewSkeleton = () => /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "grid grid-cols-7 border-b border-border/50 bg-muted/10" }, Array.from({ length: 7 }).map((_, i) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: i, className: "py-3 px-2 text-center border-r border-border/30 last:border-r-0" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-4 w-8 mx-auto" })))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "grid grid-cols-7 flex-1" }, Array.from({ length: 35 }).map((_, i) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: i, className: "min-h-[120px] border-r border-b border-border/30 p-2" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-4 w-6 mb-2" }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "space-y-1" }, Math.random() > 0.5 && /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-5 w-full rounded-md" }), Math.random() > 0.7 && /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-5 w-3/4 rounded-md" }))))));
3745
- var WeekViewSkeleton = () => /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex border-b border-border/50 bg-muted/10" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-16 p-3 border-r border-border/30" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-8 w-10 mx-auto" })), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7" }, Array.from({ length: 7 }).map((_, i) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: i, className: "py-3 px-2 text-center border-r border-border/30 last:border-r-0" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-3 w-8 mx-auto mb-1" }), /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-8 w-8 mx-auto rounded-xl" }))))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-1", style: { height: "600px" } }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-16 border-r border-border/30" }, Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: i, className: "h-[60px] relative" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-4 w-10 absolute right-2 -translate-y-1/2" })))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7 relative" }, Array.from({ length: 7 }).map((_, colIdx) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: colIdx, className: "relative border-r border-border/30 last:border-r-0" }, Array.from({ length: 10 }).map((_2, rowIdx) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: rowIdx, className: "h-[60px] border-b border-dashed border-border/20" })), Math.random() > 0.3 && /* @__PURE__ */ React17__namespace.default.createElement(
3855
+ var Skeleton = ({ className, style }) => /* @__PURE__ */ React18__namespace.default.createElement("div", { className: cn("animate-pulse bg-muted/40 rounded", className), style });
3856
+ var MonthViewSkeleton = () => /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "grid grid-cols-7 border-b border-border/50 bg-muted/10" }, Array.from({ length: 7 }).map((_, i) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: i, className: "py-3 px-2 text-center border-r border-border/30 last:border-r-0" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-4 w-8 mx-auto" })))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "grid grid-cols-7 flex-1" }, Array.from({ length: 35 }).map((_, i) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: i, className: "min-h-[120px] border-r border-b border-border/30 p-2" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-4 w-6 mb-2" }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "space-y-1" }, Math.random() > 0.5 && /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-5 w-full rounded-md" }), Math.random() > 0.7 && /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-5 w-3/4 rounded-md" }))))));
3857
+ var WeekViewSkeleton = () => /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex border-b border-border/50 bg-muted/10" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-16 p-3 border-r border-border/30" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-8 w-10 mx-auto" })), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7" }, Array.from({ length: 7 }).map((_, i) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: i, className: "py-3 px-2 text-center border-r border-border/30 last:border-r-0" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-3 w-8 mx-auto mb-1" }), /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-8 w-8 mx-auto rounded-xl" }))))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-1", style: { height: "600px" } }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-16 border-r border-border/30" }, Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: i, className: "h-[60px] relative" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-4 w-10 absolute right-2 -translate-y-1/2" })))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 grid grid-cols-7 relative" }, Array.from({ length: 7 }).map((_, colIdx) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: colIdx, className: "relative border-r border-border/30 last:border-r-0" }, Array.from({ length: 10 }).map((_2, rowIdx) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: rowIdx, className: "h-[60px] border-b border-dashed border-border/20" })), Math.random() > 0.3 && /* @__PURE__ */ React18__namespace.default.createElement(
3746
3858
  Skeleton,
3747
3859
  {
3748
3860
  className: "absolute rounded-md",
@@ -3754,20 +3866,20 @@ var WeekViewSkeleton = () => /* @__PURE__ */ React17__namespace.default.createEl
3754
3866
  }
3755
3867
  }
3756
3868
  ))))));
3757
- var DayViewSkeleton = () => /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-6 py-4 border-b border-border/50 bg-muted/10 text-center" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-7 w-64 mx-auto" })), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-1", style: { height: "600px" } }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "w-20 border-r border-border/30 bg-muted/5" }, Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: i, className: "h-[80px] relative" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-4 w-12 absolute left-1/2 -translate-x-1/2 -translate-y-1/2" })))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 relative" }, Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: i, className: "h-[80px] border-b border-dashed border-border/20" })), /* @__PURE__ */ React17__namespace.default.createElement(
3869
+ var DayViewSkeleton = () => /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-6 py-4 border-b border-border/50 bg-muted/10 text-center" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-7 w-64 mx-auto" })), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-1", style: { height: "600px" } }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "w-20 border-r border-border/30 bg-muted/5" }, Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: i, className: "h-[80px] relative" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-4 w-12 absolute left-1/2 -translate-x-1/2 -translate-y-1/2" })))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 relative" }, Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: i, className: "h-[80px] border-b border-dashed border-border/20" })), /* @__PURE__ */ React18__namespace.default.createElement(
3758
3870
  Skeleton,
3759
3871
  {
3760
3872
  className: "absolute rounded-lg left-4 right-4",
3761
3873
  style: { top: "160px", height: "120px" }
3762
3874
  }
3763
- ), /* @__PURE__ */ React17__namespace.default.createElement(
3875
+ ), /* @__PURE__ */ React18__namespace.default.createElement(
3764
3876
  Skeleton,
3765
3877
  {
3766
3878
  className: "absolute rounded-lg left-4 right-4",
3767
3879
  style: { top: "400px", height: "80px" }
3768
3880
  }
3769
3881
  ))));
3770
- var AgendaViewSkeleton = () => /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden p-6" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "space-y-6" }, Array.from({ length: 4 }).map((_, dayIdx) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: dayIdx }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-5 w-40 mb-4" }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "space-y-3" }, Array.from({ length: 2 + Math.floor(Math.random() * 3) }).map((_2, eventIdx) => /* @__PURE__ */ React17__namespace.default.createElement("div", { key: eventIdx, className: "flex items-center gap-4 p-3 rounded-xl bg-muted/10" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-10 w-10 rounded-lg" }), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 space-y-2" }, /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-4 w-3/4" }), /* @__PURE__ */ React17__namespace.default.createElement(Skeleton, { className: "h-3 w-1/2" })))))))));
3882
+ var AgendaViewSkeleton = () => /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-full bg-background border border-border/50 rounded-2xl overflow-hidden p-6" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "space-y-6" }, Array.from({ length: 4 }).map((_, dayIdx) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: dayIdx }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-5 w-40 mb-4" }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "space-y-3" }, Array.from({ length: 2 + Math.floor(Math.random() * 3) }).map((_2, eventIdx) => /* @__PURE__ */ React18__namespace.default.createElement("div", { key: eventIdx, className: "flex items-center gap-4 p-3 rounded-xl bg-muted/10" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-10 w-10 rounded-lg" }), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 space-y-2" }, /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-4 w-3/4" }), /* @__PURE__ */ React18__namespace.default.createElement(Skeleton, { className: "h-3 w-1/2" })))))))));
3771
3883
  var EventContextMenu = ({
3772
3884
  event,
3773
3885
  position,
@@ -3778,8 +3890,8 @@ var EventContextMenu = ({
3778
3890
  customActions = [],
3779
3891
  translations
3780
3892
  }) => {
3781
- const menuRef = React17.useRef(null);
3782
- React17.useEffect(() => {
3893
+ const menuRef = React18.useRef(null);
3894
+ React18.useEffect(() => {
3783
3895
  const handleKeyDown = (e) => {
3784
3896
  if (e.key === "Escape") {
3785
3897
  onClose();
@@ -3790,7 +3902,7 @@ var EventContextMenu = ({
3790
3902
  return () => document.removeEventListener("keydown", handleKeyDown);
3791
3903
  }
3792
3904
  }, [position, onClose]);
3793
- React17.useEffect(() => {
3905
+ React18.useEffect(() => {
3794
3906
  const handleClickOutside = (e) => {
3795
3907
  if (menuRef.current && !menuRef.current.contains(e.target)) {
3796
3908
  onClose();
@@ -3808,7 +3920,7 @@ var EventContextMenu = ({
3808
3920
  ...onEdit ? [{
3809
3921
  id: "edit",
3810
3922
  label: translations?.edit || "Edit",
3811
- icon: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Edit3, { className: "w-4 h-4" }),
3923
+ icon: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Edit3, { className: "w-4 h-4" }),
3812
3924
  onClick: () => {
3813
3925
  onEdit(event);
3814
3926
  onClose();
@@ -3817,7 +3929,7 @@ var EventContextMenu = ({
3817
3929
  ...onDuplicate ? [{
3818
3930
  id: "duplicate",
3819
3931
  label: translations?.duplicate || "Duplicate",
3820
- icon: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Copy, { className: "w-4 h-4" }),
3932
+ icon: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Copy, { className: "w-4 h-4" }),
3821
3933
  onClick: () => {
3822
3934
  onDuplicate(event);
3823
3935
  onClose();
@@ -3827,7 +3939,7 @@ var EventContextMenu = ({
3827
3939
  ...onDelete ? [{
3828
3940
  id: "delete",
3829
3941
  label: translations?.delete || "Delete",
3830
- icon: /* @__PURE__ */ React17__namespace.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" }),
3942
+ icon: /* @__PURE__ */ React18__namespace.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" }),
3831
3943
  onClick: () => {
3832
3944
  onDelete(event.id);
3833
3945
  onClose();
@@ -3839,7 +3951,7 @@ var EventContextMenu = ({
3839
3951
  x: Math.min(position.x, window.innerWidth - 200),
3840
3952
  y: Math.min(position.y, window.innerHeight - (actions.length * 44 + 80))
3841
3953
  };
3842
- return /* @__PURE__ */ React17__namespace.default.createElement(framerMotion.AnimatePresence, null, /* @__PURE__ */ React17__namespace.default.createElement(
3954
+ return /* @__PURE__ */ React18__namespace.default.createElement(framerMotion.AnimatePresence, null, /* @__PURE__ */ React18__namespace.default.createElement(
3843
3955
  framerMotion.motion.div,
3844
3956
  {
3845
3957
  ref: menuRef,
@@ -3853,14 +3965,14 @@ var EventContextMenu = ({
3853
3965
  top: adjustedPosition.y
3854
3966
  }
3855
3967
  },
3856
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "px-3 py-2 border-b-[0.5px] border-border bg-muted/30" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React17__namespace.default.createElement(
3968
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "px-3 py-2 border-b-[0.5px] border-border bg-muted/30" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React18__namespace.default.createElement(
3857
3969
  "div",
3858
3970
  {
3859
3971
  className: "w-2.5 h-2.5 rounded-full shrink-0",
3860
3972
  style: { backgroundColor: event.color || "var(--primary)" }
3861
3973
  }
3862
- ), /* @__PURE__ */ React17__namespace.default.createElement("span", { className: "text-sm font-medium truncate text-foreground" }, event.title))),
3863
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "py-1" }, actions.map((action, index) => /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, { key: action.id }, index > 0 && action.variant === "danger" && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-px bg-border my-1" }), /* @__PURE__ */ React17__namespace.default.createElement(
3974
+ ), /* @__PURE__ */ React18__namespace.default.createElement("span", { className: "text-sm font-medium truncate text-foreground" }, event.title))),
3975
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "py-1" }, actions.map((action, index) => /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, { key: action.id }, index > 0 && action.variant === "danger" && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-px bg-border my-1" }), /* @__PURE__ */ React18__namespace.default.createElement(
3864
3976
  "button",
3865
3977
  {
3866
3978
  onClick: action.onClick,
@@ -3872,13 +3984,13 @@ var EventContextMenu = ({
3872
3984
  )
3873
3985
  },
3874
3986
  action.icon,
3875
- /* @__PURE__ */ React17__namespace.default.createElement("span", null, action.label)
3987
+ /* @__PURE__ */ React18__namespace.default.createElement("span", null, action.label)
3876
3988
  ))))
3877
3989
  ));
3878
3990
  };
3879
3991
  var useEventContextMenu = () => {
3880
- const [contextMenu, setContextMenu] = React17.useState({ event: null, position: null });
3881
- const openContextMenu = React17.useCallback((event, e) => {
3992
+ const [contextMenu, setContextMenu] = React18.useState({ event: null, position: null });
3993
+ const openContextMenu = React18.useCallback((event, e) => {
3882
3994
  e.preventDefault();
3883
3995
  e.stopPropagation();
3884
3996
  setContextMenu({
@@ -3886,7 +3998,7 @@ var useEventContextMenu = () => {
3886
3998
  position: { x: e.clientX, y: e.clientY }
3887
3999
  });
3888
4000
  }, []);
3889
- const closeContextMenu = React17.useCallback(() => {
4001
+ const closeContextMenu = React18.useCallback(() => {
3890
4002
  setContextMenu({ event: null, position: null });
3891
4003
  }, []);
3892
4004
  return {
@@ -3989,20 +4101,20 @@ var useCalendarLogic = ({
3989
4101
  readOnly,
3990
4102
  timezone
3991
4103
  }) => {
3992
- const [internalView, setInternalView] = React17.useState("week");
3993
- const [internalDate, setInternalDate] = React17.useState(/* @__PURE__ */ new Date());
3994
- const [isSidebarOpen, setIsSidebarOpen] = React17.useState(false);
3995
- React17.useEffect(() => {
4104
+ const [internalView, setInternalView] = React18.useState("week");
4105
+ const [internalDate, setInternalDate] = React18.useState(/* @__PURE__ */ new Date());
4106
+ const [isSidebarOpen, setIsSidebarOpen] = React18.useState(false);
4107
+ React18.useEffect(() => {
3996
4108
  if (window.innerWidth >= 768) {
3997
4109
  setIsSidebarOpen(true);
3998
4110
  }
3999
4111
  }, []);
4000
- const [isModalOpen, setIsModalOpen] = React17.useState(false);
4001
- const [selectedEvent, setSelectedEvent] = React17.useState(null);
4002
- const [modalInitialDate, setModalInitialDate] = React17.useState(void 0);
4112
+ const [isModalOpen, setIsModalOpen] = React18.useState(false);
4113
+ const [selectedEvent, setSelectedEvent] = React18.useState(null);
4114
+ const [modalInitialDate, setModalInitialDate] = React18.useState(void 0);
4003
4115
  const view = controlledView ?? internalView;
4004
4116
  const currentDate = controlledDate ?? internalDate;
4005
- const expandedEvents = React17.useMemo(() => {
4117
+ const expandedEvents = React18.useMemo(() => {
4006
4118
  const allEvents = [];
4007
4119
  const rangeStart = dateFns.subDays(currentDate, 365);
4008
4120
  const rangeEnd = dateFns.addDays(currentDate, 365);
@@ -4237,9 +4349,9 @@ var useSwipeGesture = (options) => {
4237
4349
  allowedTime = 500,
4238
4350
  enabled = true
4239
4351
  } = options;
4240
- const touchInfoRef = React17.useRef(null);
4241
- const elementRef = React17.useRef(null);
4242
- const handleTouchStart = React17.useCallback((e) => {
4352
+ const touchInfoRef = React18.useRef(null);
4353
+ const elementRef = React18.useRef(null);
4354
+ const handleTouchStart = React18.useCallback((e) => {
4243
4355
  if (!enabled) return;
4244
4356
  const touch = e.touches[0];
4245
4357
  touchInfoRef.current = {
@@ -4248,7 +4360,7 @@ var useSwipeGesture = (options) => {
4248
4360
  startTime: Date.now()
4249
4361
  };
4250
4362
  }, [enabled]);
4251
- const handleTouchEnd = React17.useCallback((e) => {
4363
+ const handleTouchEnd = React18.useCallback((e) => {
4252
4364
  if (!enabled || !touchInfoRef.current) return;
4253
4365
  const touch = e.changedTouches[0];
4254
4366
  const { startX, startY, startTime } = touchInfoRef.current;
@@ -4272,7 +4384,7 @@ var useSwipeGesture = (options) => {
4272
4384
  }
4273
4385
  touchInfoRef.current = null;
4274
4386
  }, [enabled, threshold, restraint, allowedTime, onSwipeLeft, onSwipeRight, onSwipeUp, onSwipeDown]);
4275
- React17.useEffect(() => {
4387
+ React18.useEffect(() => {
4276
4388
  const element = elementRef.current;
4277
4389
  if (!element) return;
4278
4390
  element.addEventListener("touchstart", handleTouchStart, { passive: true });
@@ -4338,10 +4450,10 @@ var Scheduler = ({
4338
4450
  sidebarMenus,
4339
4451
  customViews
4340
4452
  }) => {
4341
- const [activeCustomMenu, setActiveCustomMenu] = React17.useState(null);
4342
- const [activeCustomViewId, setActiveCustomViewId] = React17.useState(null);
4453
+ const [activeCustomMenu, setActiveCustomMenu] = React18.useState(null);
4454
+ const [activeCustomViewId, setActiveCustomViewId] = React18.useState(null);
4343
4455
  const REVERSE_TIME_KEY = "calendarkit:reverseTime";
4344
- const [reverseTime, setReverseTime] = React17.useState(() => {
4456
+ const [reverseTime, setReverseTime] = React18.useState(() => {
4345
4457
  try {
4346
4458
  const stored = localStorage.getItem(REVERSE_TIME_KEY);
4347
4459
  return stored !== null ? stored === "true" : reverseTimeProp;
@@ -4349,21 +4461,21 @@ var Scheduler = ({
4349
4461
  return reverseTimeProp;
4350
4462
  }
4351
4463
  });
4352
- React17.useEffect(() => {
4464
+ React18.useEffect(() => {
4353
4465
  try {
4354
4466
  localStorage.setItem(REVERSE_TIME_KEY, String(reverseTime));
4355
4467
  } catch {
4356
4468
  }
4357
4469
  }, [reverseTime]);
4358
- const [activeDragEvent, setActiveDragEvent] = React17.useState(null);
4359
- const schedulerRef = React17.useRef(null);
4360
- const [fabCssVars, setFabCssVars] = React17.useState({});
4361
- const [isMounted, setIsMounted] = React17.useState(false);
4362
- const [isMobile, setIsMobile] = React17.useState(false);
4363
- React17.useEffect(() => {
4470
+ const [activeDragEvent, setActiveDragEvent] = React18.useState(null);
4471
+ const schedulerRef = React18.useRef(null);
4472
+ const [fabCssVars, setFabCssVars] = React18.useState({});
4473
+ const [isMounted, setIsMounted] = React18.useState(false);
4474
+ const [isMobile, setIsMobile] = React18.useState(false);
4475
+ React18.useEffect(() => {
4364
4476
  setIsMounted(true);
4365
4477
  }, []);
4366
- React17.useEffect(() => {
4478
+ React18.useEffect(() => {
4367
4479
  if (!isMounted) return;
4368
4480
  const mq = window.matchMedia("(max-width: 767px)");
4369
4481
  const update = () => setIsMobile(mq.matches);
@@ -4371,7 +4483,7 @@ var Scheduler = ({
4371
4483
  mq.addEventListener("change", update);
4372
4484
  return () => mq.removeEventListener("change", update);
4373
4485
  }, [isMounted]);
4374
- const syncFabTheme = React17.useCallback(() => {
4486
+ const syncFabTheme = React18.useCallback(() => {
4375
4487
  const root = schedulerRef.current;
4376
4488
  if (!root) return;
4377
4489
  const cs = getComputedStyle(root);
@@ -4383,7 +4495,7 @@ var Scheduler = ({
4383
4495
  });
4384
4496
  setFabCssVars(next);
4385
4497
  }, []);
4386
- React17.useEffect(() => {
4498
+ React18.useEffect(() => {
4387
4499
  if (!isMounted) return;
4388
4500
  syncFabTheme();
4389
4501
  }, [isMounted, theme, isDarkMode, syncFabTheme]);
@@ -4452,7 +4564,7 @@ var Scheduler = ({
4452
4564
  });
4453
4565
  }
4454
4566
  };
4455
- const id = React17.useId();
4567
+ const id = React18.useId();
4456
4568
  const swipeRef = useViewSwipe(handlePrev, handleNext, true);
4457
4569
  const t = getTranslations(language, translations ?? {});
4458
4570
  const handleDragStart = (event) => {
@@ -4485,7 +4597,7 @@ var Scheduler = ({
4485
4597
  }
4486
4598
  return "150px";
4487
4599
  };
4488
- const filteredEvents = React17.useMemo(() => {
4600
+ const filteredEvents = React18.useMemo(() => {
4489
4601
  if (!calendars) return expandedEvents;
4490
4602
  const activeCalendarIds = calendars.filter((c) => c.active !== false).map((c) => c.id);
4491
4603
  return expandedEvents.filter((e) => {
@@ -4493,7 +4605,7 @@ var Scheduler = ({
4493
4605
  return activeCalendarIds.includes(e.calendarId);
4494
4606
  });
4495
4607
  }, [expandedEvents, calendars]);
4496
- const viewEventCount = React17.useMemo(() => {
4608
+ const viewEventCount = React18.useMemo(() => {
4497
4609
  let rangeStart;
4498
4610
  let rangeEnd;
4499
4611
  switch (view) {
@@ -4521,7 +4633,7 @@ var Scheduler = ({
4521
4633
  (e) => e.start >= rangeStart && e.start <= rangeEnd
4522
4634
  ).length;
4523
4635
  }, [filteredEvents, view, currentDate]);
4524
- return /* @__PURE__ */ React17__namespace.default.createElement(React17__namespace.default.Fragment, null, /* @__PURE__ */ React17__namespace.default.createElement(
4636
+ return /* @__PURE__ */ React18__namespace.default.createElement(React18__namespace.default.Fragment, null, /* @__PURE__ */ React18__namespace.default.createElement(
4525
4637
  core.DndContext,
4526
4638
  {
4527
4639
  id,
@@ -4530,7 +4642,7 @@ var Scheduler = ({
4530
4642
  onDragEnd: onDragEndWrapper,
4531
4643
  modifiers: modifiers$1
4532
4644
  },
4533
- /* @__PURE__ */ React17__namespace.default.createElement(
4645
+ /* @__PURE__ */ React18__namespace.default.createElement(
4534
4646
  "div",
4535
4647
  {
4536
4648
  ref: schedulerRef,
@@ -4552,7 +4664,7 @@ var Scheduler = ({
4552
4664
  isDarkMode,
4553
4665
  onThemeToggle
4554
4666
  })
4555
- ) : /* @__PURE__ */ React17__namespace.default.createElement(
4667
+ ) : /* @__PURE__ */ React18__namespace.default.createElement(
4556
4668
  CalendarHeader,
4557
4669
  {
4558
4670
  currentDate,
@@ -4580,7 +4692,7 @@ var Scheduler = ({
4580
4692
  hideLanguageSwitcher
4581
4693
  }
4582
4694
  ),
4583
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-1 overflow-hidden" }, /* @__PURE__ */ React17__namespace.default.createElement(
4695
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-1 overflow-hidden" }, /* @__PURE__ */ React18__namespace.default.createElement(
4584
4696
  framerMotion.motion.div,
4585
4697
  {
4586
4698
  className: "hidden md:block overflow-hidden shrink-0",
@@ -4594,7 +4706,7 @@ var Scheduler = ({
4594
4706
  ease: [0.4, 0, 0.2, 1]
4595
4707
  }
4596
4708
  },
4597
- /* @__PURE__ */ React17__namespace.default.createElement(
4709
+ /* @__PURE__ */ React18__namespace.default.createElement(
4598
4710
  Sidebar,
4599
4711
  {
4600
4712
  currentDate,
@@ -4626,7 +4738,7 @@ var Scheduler = ({
4626
4738
  }
4627
4739
  }
4628
4740
  )
4629
- ), /* @__PURE__ */ React17__namespace.default.createElement(framerMotion.AnimatePresence, null, isSidebarOpen && /* @__PURE__ */ React17__namespace.default.createElement(
4741
+ ), /* @__PURE__ */ React18__namespace.default.createElement(framerMotion.AnimatePresence, null, isSidebarOpen && /* @__PURE__ */ React18__namespace.default.createElement(
4630
4742
  framerMotion.motion.div,
4631
4743
  {
4632
4744
  key: "mobile-sidebar-overlay",
@@ -4636,7 +4748,7 @@ var Scheduler = ({
4636
4748
  exit: { opacity: 0 },
4637
4749
  transition: { duration: 0.2 }
4638
4750
  },
4639
- /* @__PURE__ */ React17__namespace.default.createElement(
4751
+ /* @__PURE__ */ React18__namespace.default.createElement(
4640
4752
  framerMotion.motion.div,
4641
4753
  {
4642
4754
  className: "w-[280px] h-full bg-background shadow-2xl overflow-hidden",
@@ -4645,7 +4757,7 @@ var Scheduler = ({
4645
4757
  exit: { x: -280 },
4646
4758
  transition: { duration: 0.25, ease: [0.4, 0, 0.2, 1] }
4647
4759
  },
4648
- /* @__PURE__ */ React17__namespace.default.createElement(
4760
+ /* @__PURE__ */ React18__namespace.default.createElement(
4649
4761
  Sidebar,
4650
4762
  {
4651
4763
  currentDate,
@@ -4683,16 +4795,16 @@ var Scheduler = ({
4683
4795
  }
4684
4796
  )
4685
4797
  ),
4686
- /* @__PURE__ */ React17__namespace.default.createElement(
4798
+ /* @__PURE__ */ React18__namespace.default.createElement(
4687
4799
  framerMotion.motion.div,
4688
4800
  {
4689
4801
  className: "flex-1 bg-black/50 backdrop-blur-sm",
4690
4802
  onClick: () => setIsSidebarOpen(false)
4691
4803
  }
4692
4804
  )
4693
- )), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 flex flex-col overflow-hidden relative min-h-0" }, activeCustomMenu !== null && sidebarMenus && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 overflow-y-auto p-4 md:p-6" }, sidebarMenus.find((m) => m.id === activeCustomMenu)?.component), activeCustomViewId !== null && activeCustomMenu === null && customViews && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 overflow-y-auto p-4 md:p-6" }, customViews.find((v) => v.id === activeCustomViewId)?.component), activeCustomMenu === null && activeCustomViewId === null && (isLoading ? /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex-1 overflow-auto p-0 md:p-4 min-h-0" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "h-full min-w-full" }, view === "month" && /* @__PURE__ */ React17__namespace.default.createElement(MonthViewSkeleton, null), view === "week" && /* @__PURE__ */ React17__namespace.default.createElement(WeekViewSkeleton, null), view === "day" && /* @__PURE__ */ React17__namespace.default.createElement(DayViewSkeleton, null), view === "agenda" && /* @__PURE__ */ React17__namespace.default.createElement(AgendaViewSkeleton, null), view === "resource" && /* @__PURE__ */ React17__namespace.default.createElement(WeekViewSkeleton, null))) : (
4805
+ )), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 flex flex-col overflow-hidden relative min-h-0" }, activeCustomMenu !== null && sidebarMenus && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 overflow-y-auto p-4 md:p-6" }, sidebarMenus.find((m) => m.id === activeCustomMenu)?.component), activeCustomViewId !== null && activeCustomMenu === null && customViews && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 overflow-y-auto p-4 md:p-6" }, customViews.find((v) => v.id === activeCustomViewId)?.component), activeCustomMenu === null && activeCustomViewId === null && (isLoading ? /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex-1 overflow-auto p-0 md:p-4 min-h-0" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "h-full min-w-full" }, view === "month" && /* @__PURE__ */ React18__namespace.default.createElement(MonthViewSkeleton, null), view === "week" && /* @__PURE__ */ React18__namespace.default.createElement(WeekViewSkeleton, null), view === "day" && /* @__PURE__ */ React18__namespace.default.createElement(DayViewSkeleton, null), view === "agenda" && /* @__PURE__ */ React18__namespace.default.createElement(AgendaViewSkeleton, null), view === "resource" && /* @__PURE__ */ React18__namespace.default.createElement(WeekViewSkeleton, null))) : (
4694
4806
  /* overflow-hidden here: each view owns its own scroll container */
4695
- /* @__PURE__ */ React17__namespace.default.createElement("div", { ref: swipeRef, className: "flex-1 overflow-hidden p-0 md:p-4 touch-pan-y min-h-0" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "flex flex-col h-full min-w-full min-h-0" }, /* @__PURE__ */ React17__namespace.default.createElement(framerMotion.AnimatePresence, { mode: "wait", initial: false }, /* @__PURE__ */ React17__namespace.default.createElement(
4807
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { ref: swipeRef, className: "flex-1 overflow-hidden p-0 md:p-4 touch-pan-y min-h-0" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "flex flex-col h-full min-w-full min-h-0" }, /* @__PURE__ */ React18__namespace.default.createElement(framerMotion.AnimatePresence, { mode: "wait", initial: false }, /* @__PURE__ */ React18__namespace.default.createElement(
4696
4808
  framerMotion.motion.div,
4697
4809
  {
4698
4810
  key: `${view}-${currentDate.toISOString()}-${timezone || "local"}`,
@@ -4716,7 +4828,7 @@ var Scheduler = ({
4716
4828
  className: "flex-1 min-h-0 flex flex-col",
4717
4829
  style: { height: "100%" }
4718
4830
  },
4719
- view === "month" && /* @__PURE__ */ React17__namespace.default.createElement(
4831
+ view === "month" && /* @__PURE__ */ React18__namespace.default.createElement(
4720
4832
  MonthView,
4721
4833
  {
4722
4834
  currentDate,
@@ -4727,7 +4839,7 @@ var Scheduler = ({
4727
4839
  locale
4728
4840
  }
4729
4841
  ),
4730
- view === "week" && /* @__PURE__ */ React17__namespace.default.createElement(
4842
+ view === "week" && /* @__PURE__ */ React18__namespace.default.createElement(
4731
4843
  WeekView,
4732
4844
  {
4733
4845
  currentDate,
@@ -4744,7 +4856,7 @@ var Scheduler = ({
4744
4856
  compactShortEvents
4745
4857
  }
4746
4858
  ),
4747
- view === "day" && /* @__PURE__ */ React17__namespace.default.createElement(
4859
+ view === "day" && /* @__PURE__ */ React18__namespace.default.createElement(
4748
4860
  DayView,
4749
4861
  {
4750
4862
  currentDate,
@@ -4761,7 +4873,7 @@ var Scheduler = ({
4761
4873
  compactShortEvents
4762
4874
  }
4763
4875
  ),
4764
- view === "agenda" && /* @__PURE__ */ React17__namespace.default.createElement(
4876
+ view === "agenda" && /* @__PURE__ */ React18__namespace.default.createElement(
4765
4877
  AgendaView,
4766
4878
  {
4767
4879
  currentDate,
@@ -4773,7 +4885,7 @@ var Scheduler = ({
4773
4885
  renderEmptyState
4774
4886
  }
4775
4887
  ),
4776
- view === "resource" && resources && /* @__PURE__ */ React17__namespace.default.createElement(
4888
+ view === "resource" && resources && /* @__PURE__ */ React18__namespace.default.createElement(
4777
4889
  ResourceView,
4778
4890
  {
4779
4891
  currentDate,
@@ -4797,7 +4909,7 @@ var Scheduler = ({
4797
4909
  initialDate: modalInitialDate,
4798
4910
  onSave: handleModalSave,
4799
4911
  onDelete: handleModalDelete
4800
- }) : /* @__PURE__ */ React17__namespace.default.createElement(
4912
+ }) : /* @__PURE__ */ React18__namespace.default.createElement(
4801
4913
  EventModal,
4802
4914
  {
4803
4915
  isOpen: isModalOpen,
@@ -4812,7 +4924,7 @@ var Scheduler = ({
4812
4924
  language
4813
4925
  }
4814
4926
  ),
4815
- /* @__PURE__ */ React17__namespace.default.createElement(
4927
+ /* @__PURE__ */ React18__namespace.default.createElement(
4816
4928
  EventContextMenu,
4817
4929
  {
4818
4930
  event: contextMenuEvent,
@@ -4845,7 +4957,7 @@ var Scheduler = ({
4845
4957
  }
4846
4958
  }
4847
4959
  ),
4848
- /* @__PURE__ */ React17__namespace.default.createElement(core.DragOverlay, { dropAnimation: null }, activeDragEvent ? /* @__PURE__ */ React17__namespace.default.createElement(
4960
+ /* @__PURE__ */ React18__namespace.default.createElement(core.DragOverlay, { dropAnimation: null }, activeDragEvent ? /* @__PURE__ */ React18__namespace.default.createElement(
4849
4961
  "div",
4850
4962
  {
4851
4963
  className: cn(
@@ -4863,17 +4975,17 @@ var Scheduler = ({
4863
4975
  transform: "rotate(-2deg) scale(1.02)"
4864
4976
  }
4865
4977
  },
4866
- /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "p-2.5 h-full flex flex-col" }, /* @__PURE__ */ React17__namespace.default.createElement(
4978
+ /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "p-2.5 h-full flex flex-col" }, /* @__PURE__ */ React18__namespace.default.createElement(
4867
4979
  "div",
4868
4980
  {
4869
4981
  className: "absolute left-0 top-0 bottom-0 w-1 rounded-l-lg",
4870
4982
  style: { backgroundColor: activeDragEvent.color || "var(--primary)" }
4871
4983
  }
4872
- ), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "pl-2" }, /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "font-semibold truncate text-sm" }, activeDragEvent.title), (view === "week" || view === "day") && getDragHeight() && getDragHeight() > 40 && /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "text-xs opacity-80 mt-0.5 flex items-center gap-1" }, /* @__PURE__ */ React17__namespace.default.createElement("svg", { className: "w-3 h-3", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2" }, /* @__PURE__ */ React17__namespace.default.createElement("circle", { cx: "12", cy: "12", r: "10" }), /* @__PURE__ */ React17__namespace.default.createElement("path", { d: "M12 6v6l4 2" })), dateFns.format(activeDragEvent.start, getTimeFormatFull(language)), " - ", dateFns.format(activeDragEvent.end, getTimeFormatFull(language)))), /* @__PURE__ */ React17__namespace.default.createElement("div", { className: "absolute bottom-1.5 right-1.5 opacity-60" }, /* @__PURE__ */ React17__namespace.default.createElement("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor" }, /* @__PURE__ */ React17__namespace.default.createElement("circle", { cx: "9", cy: "5", r: "1.5" }), /* @__PURE__ */ React17__namespace.default.createElement("circle", { cx: "15", cy: "5", r: "1.5" }), /* @__PURE__ */ React17__namespace.default.createElement("circle", { cx: "9", cy: "12", r: "1.5" }), /* @__PURE__ */ React17__namespace.default.createElement("circle", { cx: "15", cy: "12", r: "1.5" }), /* @__PURE__ */ React17__namespace.default.createElement("circle", { cx: "9", cy: "19", r: "1.5" }), /* @__PURE__ */ React17__namespace.default.createElement("circle", { cx: "15", cy: "19", r: "1.5" }))))
4984
+ ), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "pl-2" }, /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "font-semibold truncate text-sm" }, activeDragEvent.title), (view === "week" || view === "day") && getDragHeight() && getDragHeight() > 40 && /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "text-xs opacity-80 mt-0.5 flex items-center gap-1" }, /* @__PURE__ */ React18__namespace.default.createElement("svg", { className: "w-3 h-3", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2" }, /* @__PURE__ */ React18__namespace.default.createElement("circle", { cx: "12", cy: "12", r: "10" }), /* @__PURE__ */ React18__namespace.default.createElement("path", { d: "M12 6v6l4 2" })), dateFns.format(activeDragEvent.start, getTimeFormatFull(language)), " - ", dateFns.format(activeDragEvent.end, getTimeFormatFull(language)))), /* @__PURE__ */ React18__namespace.default.createElement("div", { className: "absolute bottom-1.5 right-1.5 opacity-60" }, /* @__PURE__ */ React18__namespace.default.createElement("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor" }, /* @__PURE__ */ React18__namespace.default.createElement("circle", { cx: "9", cy: "5", r: "1.5" }), /* @__PURE__ */ React18__namespace.default.createElement("circle", { cx: "15", cy: "5", r: "1.5" }), /* @__PURE__ */ React18__namespace.default.createElement("circle", { cx: "9", cy: "12", r: "1.5" }), /* @__PURE__ */ React18__namespace.default.createElement("circle", { cx: "15", cy: "12", r: "1.5" }), /* @__PURE__ */ React18__namespace.default.createElement("circle", { cx: "9", cy: "19", r: "1.5" }), /* @__PURE__ */ React18__namespace.default.createElement("circle", { cx: "15", cy: "19", r: "1.5" }))))
4873
4985
  ) : null)
4874
4986
  )
4875
4987
  ), isMounted && isMobile && !readOnly && !hideFab && reactDom.createPortal(
4876
- /* @__PURE__ */ React17__namespace.default.createElement(
4988
+ /* @__PURE__ */ React18__namespace.default.createElement(
4877
4989
  "div",
4878
4990
  {
4879
4991
  style: {
@@ -4885,7 +4997,7 @@ var Scheduler = ({
4885
4997
  ...fabCssVars
4886
4998
  }
4887
4999
  },
4888
- /* @__PURE__ */ React17__namespace.default.createElement(
5000
+ /* @__PURE__ */ React18__namespace.default.createElement(
4889
5001
  "button",
4890
5002
  {
4891
5003
  type: "button",
@@ -4906,7 +5018,7 @@ var Scheduler = ({
4906
5018
  boxShadow: "0 10px 25px -5px rgba(0, 0, 0, 0.25)"
4907
5019
  }
4908
5020
  },
4909
- /* @__PURE__ */ React17__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React17__namespace.default.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ React17__namespace.default.createElement("path", { d: "M12 5v14" }))
5021
+ /* @__PURE__ */ React18__namespace.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React18__namespace.default.createElement("path", { d: "M5 12h14" }), /* @__PURE__ */ React18__namespace.default.createElement("path", { d: "M12 5v14" }))
4910
5022
  )
4911
5023
  ),
4912
5024
  document.body