calendarkit-prov2 2.0.2 → 2.0.5

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.mjs CHANGED
@@ -9,6 +9,7 @@ import { cva } from 'class-variance-authority';
9
9
  import { clsx } from 'clsx';
10
10
  import { twMerge } from 'tailwind-merge';
11
11
  import { Menu, Plus, ChevronLeft, ChevronRight, Globe, ChevronDown, Sun, Moon, CalendarCheck2, CalendarDays, CalendarRange, Calendar, ListTodo, MoreHorizontal, LayoutGrid, X, Clock, Users, Paperclip, Bell, Edit3, Copy, Trash2, Edit2, MapPin, ExternalLink, AlignLeft, File, Download, BellRing, Check, Repeat, Tag } from 'lucide-react';
12
+ import { sv as sv$1, pl as pl$1, nl as nl$1, ru as ru$1, ko as ko$1, ja as ja$1, zhCN, ar as ar$1, pt as pt$1, it as it$1, es as es$1, de as de$1, fr as fr$1, enUS, tr as tr$1 } from 'date-fns/locale';
12
13
  import { toZonedTime, fromZonedTime } from 'date-fns-tz';
13
14
  import { CSS } from '@dnd-kit/utilities';
14
15
  import { RRule } from 'rrule';
@@ -57,8 +58,6 @@ var Button = React15.forwardRef(
57
58
  }
58
59
  );
59
60
  Button.displayName = "Button";
60
-
61
- // src/locales/index.ts
62
61
  var LANGUAGE_META = {
63
62
  tr: { native: "T\xFCrk\xE7e", english: "Turkish", flag: "\u{1F1F9}\u{1F1F7}" },
64
63
  en: { native: "English", english: "English", flag: "\u{1F1EC}\u{1F1E7}" },
@@ -161,6 +160,8 @@ var tr = {
161
160
  eventsCount: "etkinlik",
162
161
  timezone: "Zaman Dilimi",
163
162
  localTime: "Yerel Saat",
163
+ operations: "\u0130\u015Flemler",
164
+ reverseTimeLabel: "Saat Y\xF6n\xFC",
164
165
  search: "Etkinlik ara...",
165
166
  allTypes: "T\xFCm T\xFCrler",
166
167
  noTitle: "(Ba\u015Fl\u0131ks\u0131z)",
@@ -252,6 +253,8 @@ var en = {
252
253
  eventsCount: "events",
253
254
  timezone: "Time zone",
254
255
  localTime: "Local Time",
256
+ operations: "Operations",
257
+ reverseTimeLabel: "Time Direction",
255
258
  search: "Search events...",
256
259
  allTypes: "All Types",
257
260
  noTitle: "(No title)",
@@ -343,6 +346,8 @@ var fr = {
343
346
  eventsCount: "\xE9v\xE9nements",
344
347
  timezone: "Fuseau horaire",
345
348
  localTime: "Heure locale",
349
+ operations: "Op\xE9rations",
350
+ reverseTimeLabel: "Direction du temps",
346
351
  search: "Rechercher des \xE9v\xE9nements...",
347
352
  allTypes: "Tous les types",
348
353
  noTitle: "(Sans titre)",
@@ -434,6 +439,8 @@ var de = {
434
439
  eventsCount: "Termine",
435
440
  timezone: "Zeitzone",
436
441
  localTime: "Ortszeit",
442
+ operations: "Aktionen",
443
+ reverseTimeLabel: "Zeitrichtung",
437
444
  search: "Termine suchen...",
438
445
  allTypes: "Alle Typen",
439
446
  noTitle: "(Kein Titel)",
@@ -525,6 +532,8 @@ var es = {
525
532
  eventsCount: "eventos",
526
533
  timezone: "Zona horaria",
527
534
  localTime: "Hora local",
535
+ operations: "Operaciones",
536
+ reverseTimeLabel: "Direcci\xF3n del tiempo",
528
537
  search: "Buscar eventos...",
529
538
  allTypes: "Todos los tipos",
530
539
  noTitle: "(Sin t\xEDtulo)",
@@ -616,6 +625,8 @@ var it = {
616
625
  eventsCount: "eventi",
617
626
  timezone: "Fuso orario",
618
627
  localTime: "Ora locale",
628
+ operations: "Operazioni",
629
+ reverseTimeLabel: "Direzione del tempo",
619
630
  search: "Cerca eventi...",
620
631
  allTypes: "Tutti i tipi",
621
632
  noTitle: "(Senza titolo)",
@@ -707,6 +718,8 @@ var pt = {
707
718
  eventsCount: "eventos",
708
719
  timezone: "Fuso hor\xE1rio",
709
720
  localTime: "Hora local",
721
+ operations: "Opera\xE7\xF5es",
722
+ reverseTimeLabel: "Dire\xE7\xE3o do tempo",
710
723
  search: "Buscar eventos...",
711
724
  allTypes: "Todos os tipos",
712
725
  noTitle: "(Sem t\xEDtulo)",
@@ -798,6 +811,8 @@ var ar = {
798
811
  eventsCount: "\u0623\u062D\u062F\u0627\u062B",
799
812
  timezone: "\u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",
800
813
  localTime: "\u0627\u0644\u062A\u0648\u0642\u064A\u062A \u0627\u0644\u0645\u062D\u0644\u064A",
814
+ operations: "\u0627\u0644\u0639\u0645\u0644\u064A\u0627\u062A",
815
+ reverseTimeLabel: "\u0627\u062A\u062C\u0627\u0647 \u0627\u0644\u0648\u0642\u062A",
801
816
  search: "\u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0623\u062D\u062F\u0627\u062B...",
802
817
  allTypes: "\u062C\u0645\u064A\u0639 \u0627\u0644\u0623\u0646\u0648\u0627\u0639",
803
818
  noTitle: "(\u0628\u062F\u0648\u0646 \u0639\u0646\u0648\u0627\u0646)",
@@ -889,6 +904,8 @@ var zh = {
889
904
  eventsCount: "\u4E2A\u6D3B\u52A8",
890
905
  timezone: "\u65F6\u533A",
891
906
  localTime: "\u672C\u5730\u65F6\u95F4",
907
+ operations: "\u64CD\u4F5C",
908
+ reverseTimeLabel: "\u65F6\u95F4\u65B9\u5411",
892
909
  search: "\u641C\u7D22\u6D3B\u52A8...",
893
910
  allTypes: "\u6240\u6709\u7C7B\u578B",
894
911
  noTitle: "\uFF08\u65E0\u6807\u9898\uFF09",
@@ -980,6 +997,8 @@ var ja = {
980
997
  eventsCount: "\u4EF6\u306E\u30A4\u30D9\u30F3\u30C8",
981
998
  timezone: "\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3",
982
999
  localTime: "\u30ED\u30FC\u30AB\u30EB\u6642\u9593",
1000
+ operations: "\u64CD\u4F5C",
1001
+ reverseTimeLabel: "\u6642\u9593\u306E\u65B9\u5411",
983
1002
  search: "\u30A4\u30D9\u30F3\u30C8\u3092\u691C\u7D22...",
984
1003
  allTypes: "\u3059\u3079\u3066\u306E\u30BF\u30A4\u30D7",
985
1004
  noTitle: "\uFF08\u30BF\u30A4\u30C8\u30EB\u306A\u3057\uFF09",
@@ -1071,6 +1090,8 @@ var ko = {
1071
1090
  eventsCount: "\uAC1C \uC77C\uC815",
1072
1091
  timezone: "\uC2DC\uAC04\uB300",
1073
1092
  localTime: "\uB85C\uCEEC \uC2DC\uAC04",
1093
+ operations: "\uC791\uC5C5",
1094
+ reverseTimeLabel: "\uC2DC\uAC04 \uBC29\uD5A5",
1074
1095
  search: "\uC77C\uC815 \uAC80\uC0C9...",
1075
1096
  allTypes: "\uBAA8\uB4E0 \uC720\uD615",
1076
1097
  noTitle: "(\uC81C\uBAA9 \uC5C6\uC74C)",
@@ -1162,6 +1183,8 @@ var ru = {
1162
1183
  eventsCount: "\u0441\u043E\u0431\u044B\u0442\u0438\u0439",
1163
1184
  timezone: "\u0427\u0430\u0441\u043E\u0432\u043E\u0439 \u043F\u043E\u044F\u0441",
1164
1185
  localTime: "\u041C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",
1186
+ operations: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438",
1187
+ reverseTimeLabel: "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",
1165
1188
  search: "\u041F\u043E\u0438\u0441\u043A \u0441\u043E\u0431\u044B\u0442\u0438\u0439...",
1166
1189
  allTypes: "\u0412\u0441\u0435 \u0442\u0438\u043F\u044B",
1167
1190
  noTitle: "(\u0411\u0435\u0437 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430)",
@@ -1253,6 +1276,8 @@ var nl = {
1253
1276
  eventsCount: "evenementen",
1254
1277
  timezone: "Tijdzone",
1255
1278
  localTime: "Lokale tijd",
1279
+ operations: "Bewerkingen",
1280
+ reverseTimeLabel: "Tijdrichting",
1256
1281
  search: "Evenementen zoeken...",
1257
1282
  allTypes: "Alle typen",
1258
1283
  noTitle: "(Geen titel)",
@@ -1344,6 +1369,8 @@ var pl = {
1344
1369
  eventsCount: "wydarze\u0144",
1345
1370
  timezone: "Strefa czasowa",
1346
1371
  localTime: "Czas lokalny",
1372
+ operations: "Operacje",
1373
+ reverseTimeLabel: "Kierunek czasu",
1347
1374
  search: "Szukaj wydarze\u0144...",
1348
1375
  allTypes: "Wszystkie typy",
1349
1376
  noTitle: "(Bez tytu\u0142u)",
@@ -1435,6 +1462,8 @@ var sv = {
1435
1462
  eventsCount: "h\xE4ndelser",
1436
1463
  timezone: "Tidszon",
1437
1464
  localTime: "Lokal tid",
1465
+ operations: "\xC5tg\xE4rder",
1466
+ reverseTimeLabel: "Tidsriktning",
1438
1467
  search: "S\xF6k h\xE4ndelser...",
1439
1468
  allTypes: "Alla typer",
1440
1469
  noTitle: "(Ingen titel)",
@@ -1458,6 +1487,23 @@ var LOCALES = {
1458
1487
  pl,
1459
1488
  sv
1460
1489
  };
1490
+ var DATE_FNS_LOCALES = {
1491
+ tr: tr$1,
1492
+ en: enUS,
1493
+ fr: fr$1,
1494
+ de: de$1,
1495
+ es: es$1,
1496
+ it: it$1,
1497
+ pt: pt$1,
1498
+ ar: ar$1,
1499
+ zh: zhCN,
1500
+ ja: ja$1,
1501
+ ko: ko$1,
1502
+ ru: ru$1,
1503
+ nl: nl$1,
1504
+ pl: pl$1,
1505
+ sv: sv$1
1506
+ };
1461
1507
  function getTranslations(language = "tr", overrides = {}) {
1462
1508
  return { ...LOCALES[language], ...overrides };
1463
1509
  }
@@ -1756,14 +1802,22 @@ var MiniCalendar = ({
1756
1802
  currentDate,
1757
1803
  onDateChange,
1758
1804
  onViewChange,
1759
- className
1805
+ className,
1806
+ locale
1760
1807
  }) => {
1761
1808
  const [viewDate, setViewDate] = React15__default.useState(currentDate);
1762
1809
  React15__default.useEffect(() => {
1763
1810
  setViewDate(currentDate);
1764
1811
  }, [currentDate]);
1765
1812
  const days = React15__default.useMemo(() => getMonthGrid(viewDate), [viewDate]);
1766
- const weekDays = ["S", "M", "T", "W", "T", "F", "S"];
1813
+ const weekDays = React15__default.useMemo(() => {
1814
+ const base = new Date(2024, 0, 7);
1815
+ return Array.from({ length: 7 }, (_, i) => {
1816
+ const d = new Date(base);
1817
+ d.setDate(base.getDate() + i);
1818
+ return format(d, "EEEEE", { locale });
1819
+ });
1820
+ }, [locale]);
1767
1821
  const handlePrev = () => {
1768
1822
  const newDate = subMonths(viewDate, 1);
1769
1823
  setViewDate(newDate);
@@ -1780,7 +1834,7 @@ var MiniCalendar = ({
1780
1834
  onDateChange(day);
1781
1835
  if (onViewChange) onViewChange("day");
1782
1836
  };
1783
- return /* @__PURE__ */ React15__default.createElement("div", { className: cn("px-4 w-[260px]", className) }, /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center justify-between mb-4" }, /* @__PURE__ */ React15__default.createElement("span", { className: "text-sm font-semibold text-foreground capitalize" }, format(viewDate, "MMMM yyyy")), /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center bg-muted/40 rounded-lg p-0.5" }, /* @__PURE__ */ React15__default.createElement(
1837
+ return /* @__PURE__ */ React15__default.createElement("div", { className: cn("px-4 w-[260px]", className) }, /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center justify-between mb-4" }, /* @__PURE__ */ React15__default.createElement("span", { className: "text-sm font-semibold text-foreground capitalize" }, format(viewDate, "MMMM yyyy", { locale })), /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center bg-muted/40 rounded-lg p-0.5" }, /* @__PURE__ */ React15__default.createElement(
1784
1838
  Button,
1785
1839
  {
1786
1840
  variant: "ghost",
@@ -1841,7 +1895,8 @@ var Sidebar = ({
1841
1895
  onReverseTimeChange,
1842
1896
  customViews,
1843
1897
  activeCustomViewId,
1844
- onCustomViewChange
1898
+ onCustomViewChange,
1899
+ locale
1845
1900
  }) => {
1846
1901
  const [calendarsOpen, setCalendarsOpen] = useState(true);
1847
1902
  const [timezoneOpen, setTimezoneOpen] = useState(false);
@@ -1869,7 +1924,7 @@ var Sidebar = ({
1869
1924
  }
1870
1925
  };
1871
1926
  const timezones = [
1872
- { value: "", label: "Local Time", acronym: "LOC" },
1927
+ { value: "", label: translations?.localTime ?? "Local Time", acronym: "LOC" },
1873
1928
  { value: "UTC", label: "UTC", acronym: "UTC" },
1874
1929
  { value: "America/New_York", label: "New York", acronym: "EST" },
1875
1930
  { value: "America/Chicago", label: "Chicago", acronym: "CST" },
@@ -1919,8 +1974,8 @@ var Sidebar = ({
1919
1974
  onClick: () => setMenusExpanded(true)
1920
1975
  },
1921
1976
  /* @__PURE__ */ React15__default.createElement(LayoutGrid, { className: "w-4 h-4" }),
1922
- /* @__PURE__ */ React15__default.createElement("span", null, "\u0130\u015Flemler")
1923
- ), menusExpanded && /* @__PURE__ */ React15__default.createElement("div", { className: "animate-in fade-in slide-in-from-top-2 duration-200" }, /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center justify-between mb-2 px-1" }, /* @__PURE__ */ React15__default.createElement("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider" }, "\u0130\u015Flemler"), /* @__PURE__ */ React15__default.createElement(
1977
+ /* @__PURE__ */ React15__default.createElement("span", null, translations?.operations ?? "\u0130\u015Flemler")
1978
+ ), menusExpanded && /* @__PURE__ */ React15__default.createElement("div", { className: "animate-in fade-in slide-in-from-top-2 duration-200" }, /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center justify-between mb-2 px-1" }, /* @__PURE__ */ React15__default.createElement("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider" }, translations?.operations ?? "\u0130\u015Flemler"), /* @__PURE__ */ React15__default.createElement(
1924
1979
  "button",
1925
1980
  {
1926
1981
  onClick: () => setMenusExpanded(false),
@@ -1940,7 +1995,7 @@ var Sidebar = ({
1940
1995
  )
1941
1996
  },
1942
1997
  /* @__PURE__ */ React15__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__ */ React15__default.createElement("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), /* @__PURE__ */ React15__default.createElement("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), /* @__PURE__ */ React15__default.createElement("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), /* @__PURE__ */ React15__default.createElement("line", { x1: "3", y1: "10", x2: "21", y2: "10" })),
1943
- /* @__PURE__ */ React15__default.createElement("span", null, "Takvim"),
1998
+ /* @__PURE__ */ React15__default.createElement("span", null, translations?.calendar ?? "Takvim"),
1944
1999
  activeCustomMenu === null && /* @__PURE__ */ React15__default.createElement("span", { className: "ml-auto w-1.5 h-1.5 rounded-full bg-primary" })
1945
2000
  ), sidebarMenus?.map((item) => /* @__PURE__ */ React15__default.createElement(
1946
2001
  "button",
@@ -1977,7 +2032,7 @@ var Sidebar = ({
1977
2032
  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"
1978
2033
  )
1979
2034
  },
1980
- /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center gap-2.5" }, /* @__PURE__ */ React15__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__ */ React15__default.createElement("line", { x1: "12", y1: "19", x2: "12", y2: "5" }), /* @__PURE__ */ React15__default.createElement("polyline", { points: "5 12 12 5 19 12" }), /* @__PURE__ */ React15__default.createElement("line", { x1: "12", y1: "5", x2: "12", y2: "19", className: "opacity-40" }), /* @__PURE__ */ React15__default.createElement("polyline", { points: "5 12 12 19 19 12", className: "opacity-40" })), /* @__PURE__ */ React15__default.createElement("div", { className: "text-left" }, /* @__PURE__ */ React15__default.createElement("div", { className: "text-xs font-semibold leading-tight" }, "Saat Y\xF6n\xFC"), /* @__PURE__ */ React15__default.createElement("div", { className: "text-[10px] leading-tight opacity-70 mt-0.5" }, reverseTime ? "23:00 \u2192 00:00" : "00:00 \u2192 23:00"))),
2035
+ /* @__PURE__ */ React15__default.createElement("div", { className: "flex items-center gap-2.5" }, /* @__PURE__ */ React15__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__ */ React15__default.createElement("line", { x1: "12", y1: "19", x2: "12", y2: "5" }), /* @__PURE__ */ React15__default.createElement("polyline", { points: "5 12 12 5 19 12" }), /* @__PURE__ */ React15__default.createElement("line", { x1: "12", y1: "5", x2: "12", y2: "19", className: "opacity-40" }), /* @__PURE__ */ React15__default.createElement("polyline", { points: "5 12 12 19 19 12", className: "opacity-40" })), /* @__PURE__ */ React15__default.createElement("div", { className: "text-left" }, /* @__PURE__ */ React15__default.createElement("div", { className: "text-xs font-semibold leading-tight" }, translations?.reverseTimeLabel ?? "Saat Y\xF6n\xFC"), /* @__PURE__ */ React15__default.createElement("div", { className: "text-[10px] leading-tight opacity-70 mt-0.5" }, reverseTime ? "23:00 \u2192 00:00" : "00:00 \u2192 23:00"))),
1981
2036
  /* @__PURE__ */ React15__default.createElement("div", { className: cn(
1982
2037
  "relative w-9 h-5 rounded-full transition-colors duration-200 shrink-0",
1983
2038
  reverseTime ? "bg-primary" : "bg-border"
@@ -1988,7 +2043,7 @@ var Sidebar = ({
1988
2043
  )), renderMiniCalendar ? (
1989
2044
  // Custom mini-calendar: receives the same props as the built-in one
1990
2045
  renderMiniCalendar({ currentDate, onDateChange, onViewChange })
1991
- ) : /* @__PURE__ */ React15__default.createElement(MiniCalendar, { currentDate, onDateChange, onViewChange }), /* @__PURE__ */ React15__default.createElement("div", { className: "flex-1 px-4 space-y-5 mt-5" }, /* @__PURE__ */ React15__default.createElement("div", { className: "bg-muted/20 rounded-2xl p-3 border-[0px] border-border/30" }, /* @__PURE__ */ React15__default.createElement(
2046
+ ) : /* @__PURE__ */ React15__default.createElement(MiniCalendar, { currentDate, onDateChange, onViewChange, locale }), /* @__PURE__ */ React15__default.createElement("div", { className: "flex-1 px-4 space-y-5 mt-5" }, /* @__PURE__ */ React15__default.createElement("div", { className: "bg-muted/20 rounded-2xl p-3 border-[0px] border-border/30" }, /* @__PURE__ */ React15__default.createElement(
1992
2047
  "div",
1993
2048
  {
1994
2049
  className: "flex items-center justify-between cursor-pointer hover:bg-accent/50 p-2 -m-1 rounded-xl mb-2 transition-all duration-200",
@@ -4410,6 +4465,7 @@ var Scheduler = ({
4410
4465
  onCalendarToggle,
4411
4466
  translations: t,
4412
4467
  renderMiniCalendar,
4468
+ locale,
4413
4469
  sidebarMenus,
4414
4470
  activeCustomMenu,
4415
4471
  onCustomMenuChange: (id2) => {
@@ -4463,6 +4519,7 @@ var Scheduler = ({
4463
4519
  onCalendarToggle,
4464
4520
  translations: t,
4465
4521
  renderMiniCalendar,
4522
+ locale,
4466
4523
  sidebarMenus,
4467
4524
  activeCustomMenu,
4468
4525
  onCustomMenuChange: (id2) => {
@@ -4711,6 +4768,6 @@ var Scheduler = ({
4711
4768
  };
4712
4769
  var ProScheduler = Scheduler;
4713
4770
 
4714
- export { LANGUAGE_META, LOCALES, ProScheduler, Scheduler, cn, getTranslations };
4771
+ export { DATE_FNS_LOCALES, LANGUAGE_META, LOCALES, ProScheduler, Scheduler, cn, getTranslations };
4715
4772
  //# sourceMappingURL=index.mjs.map
4716
4773
  //# sourceMappingURL=index.mjs.map