@arbidocs/blocks 0.4.129 → 0.4.131
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/agents/index.cjs +303 -303
- package/dist/agents/index.js +11 -11
- package/dist/calendar/CalendarPrint.d.ts +25 -0
- package/dist/calendar/booking-slots.d.ts +21 -0
- package/dist/calendar/index.cjs +381 -97
- package/dist/calendar/index.cjs.map +1 -1
- package/dist/calendar/index.d.ts +4 -0
- package/dist/calendar/index.js +277 -3
- package/dist/calendar/index.js.map +1 -1
- package/dist/calendar/print-layout.d.ts +16 -0
- package/dist/calendar/printCalendar.d.ts +6 -0
- package/dist/calls/composite-canvas.d.ts +52 -0
- package/dist/calls/index.cjs +374 -1
- package/dist/calls/index.cjs.map +1 -1
- package/dist/calls/index.d.ts +3 -0
- package/dist/calls/index.js +359 -4
- package/dist/calls/index.js.map +1 -1
- package/dist/calls/ringtone.d.ts +16 -0
- package/dist/calls/voice-levels.d.ts +32 -0
- package/dist/chat/ThreadVisualizer.d.ts +28 -0
- package/dist/chat/index.cjs +151 -135
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.js +4 -4
- package/dist/chat/thread-diagram.d.ts +26 -0
- package/dist/{chunk-H2KQ6OSU.js → chunk-26E6PHD2.js} +231 -6
- package/dist/chunk-26E6PHD2.js.map +1 -0
- package/dist/{chunk-2PNNCEPH.js → chunk-54ANPPMV.js} +4 -4
- package/dist/{chunk-2PNNCEPH.js.map → chunk-54ANPPMV.js.map} +1 -1
- package/dist/{chunk-IBZJYCYM.js → chunk-66TA5IBN.js} +17 -25
- package/dist/chunk-66TA5IBN.js.map +1 -0
- package/dist/{chunk-OYMWV45N.js → chunk-7D4W3SAH.js} +51 -4
- package/dist/chunk-7D4W3SAH.js.map +1 -0
- package/dist/{chunk-2DFDFOM7.js → chunk-7HAM7Y5U.js} +3 -3
- package/dist/{chunk-2DFDFOM7.js.map → chunk-7HAM7Y5U.js.map} +1 -1
- package/dist/{chunk-7423V6RM.cjs → chunk-7KH4M3KY.cjs} +8 -8
- package/dist/{chunk-7423V6RM.cjs.map → chunk-7KH4M3KY.cjs.map} +1 -1
- package/dist/{chunk-TGWTLNXW.cjs → chunk-BIXHB4LV.cjs} +3 -2
- package/dist/{chunk-TGWTLNXW.cjs.map → chunk-BIXHB4LV.cjs.map} +1 -1
- package/dist/{chunk-DZYAAL4H.cjs → chunk-BZF55UCE.cjs} +234 -5
- package/dist/chunk-BZF55UCE.cjs.map +1 -0
- package/dist/{chunk-3BJLNKOB.cjs → chunk-CDZVC32G.cjs} +5 -5
- package/dist/{chunk-3BJLNKOB.cjs.map → chunk-CDZVC32G.cjs.map} +1 -1
- package/dist/{chunk-PUCY3UXN.js → chunk-CXLVI3SB.js} +3 -3
- package/dist/{chunk-PUCY3UXN.js.map → chunk-CXLVI3SB.js.map} +1 -1
- package/dist/{chunk-KYDRUFWT.cjs → chunk-D4YR56FV.cjs} +5 -5
- package/dist/{chunk-KYDRUFWT.cjs.map → chunk-D4YR56FV.cjs.map} +1 -1
- package/dist/{chunk-6BTCDKCK.js → chunk-DI35D756.js} +4 -4
- package/dist/{chunk-6BTCDKCK.js.map → chunk-DI35D756.js.map} +1 -1
- package/dist/{chunk-TGJNPKST.js → chunk-GTCC2VAR.js} +3 -3
- package/dist/{chunk-TGJNPKST.js.map → chunk-GTCC2VAR.js.map} +1 -1
- package/dist/{chunk-6AALMYPS.cjs → chunk-HM23LXUP.cjs} +3 -3
- package/dist/{chunk-6AALMYPS.cjs.map → chunk-HM23LXUP.cjs.map} +1 -1
- package/dist/{chunk-HSFLEVZY.js → chunk-KLOSOT26.js} +10 -10
- package/dist/{chunk-HSFLEVZY.js.map → chunk-KLOSOT26.js.map} +1 -1
- package/dist/{chunk-SARREDFP.cjs → chunk-LC2KJSUS.cjs} +46 -46
- package/dist/{chunk-SARREDFP.cjs.map → chunk-LC2KJSUS.cjs.map} +1 -1
- package/dist/{chunk-MUMH3Z6K.cjs → chunk-LRD7BHAT.cjs} +50 -3
- package/dist/chunk-LRD7BHAT.cjs.map +1 -0
- package/dist/{chunk-CJBN5HIS.js → chunk-P5HOXWYL.js} +3 -3
- package/dist/{chunk-CJBN5HIS.js.map → chunk-P5HOXWYL.js.map} +1 -1
- package/dist/{chunk-5Y7JRY7Y.js → chunk-P5ST47VY.js} +3 -3
- package/dist/{chunk-5Y7JRY7Y.js.map → chunk-P5ST47VY.js.map} +1 -1
- package/dist/{chunk-A7NCSZAP.cjs → chunk-QZTNTP75.cjs} +17 -25
- package/dist/chunk-QZTNTP75.cjs.map +1 -0
- package/dist/{chunk-ENDP7JER.js → chunk-VW2C2AZL.js} +3 -3
- package/dist/{chunk-ENDP7JER.js.map → chunk-VW2C2AZL.js.map} +1 -1
- package/dist/{chunk-JLTXVW25.cjs → chunk-W27VK32R.cjs} +78 -78
- package/dist/{chunk-JLTXVW25.cjs.map → chunk-W27VK32R.cjs.map} +1 -1
- package/dist/{chunk-PJJY6CYL.cjs → chunk-WV4IDVDQ.cjs} +11 -11
- package/dist/{chunk-PJJY6CYL.cjs.map → chunk-WV4IDVDQ.cjs.map} +1 -1
- package/dist/{chunk-NYHGG2IA.cjs → chunk-ZV3BKLFY.cjs} +3 -3
- package/dist/{chunk-NYHGG2IA.cjs.map → chunk-ZV3BKLFY.cjs.map} +1 -1
- package/dist/collaboration/index.cjs +9 -9
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +4 -4
- package/dist/connect/docx.js +3 -3
- package/dist/connect/index.cjs +183 -146
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -1
- package/dist/connect/index.js +134 -98
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedSettings.d.ts +42 -7
- package/dist/document-tools/index.cjs +1 -1
- package/dist/document-tools/index.js +1 -1
- package/dist/facts/fact-citations.d.ts +56 -0
- package/dist/facts/fact-table-column-resize.d.ts +18 -0
- package/dist/facts/index.cjs +194 -8
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.d.ts +2 -0
- package/dist/facts/index.js +180 -5
- package/dist/facts/index.js.map +1 -1
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/home/index.cjs +17 -17
- package/dist/home/index.js +3 -3
- package/dist/index.cjs +517 -501
- package/dist/index.js +18 -18
- package/dist/settings/MoreInfo.d.ts +25 -0
- package/dist/settings/PlanCard.d.ts +1 -1
- package/dist/settings/index.cjs +79 -225
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.d.ts +1 -1
- package/dist/settings/index.js +70 -215
- package/dist/settings/index.js.map +1 -1
- package/dist/shell/index.cjs +1 -1
- package/dist/shell/index.js +1 -1
- package/dist/site/index.cjs +5 -5
- package/dist/site/index.js +1 -1
- package/dist/studio/index.cjs +8 -8
- package/dist/studio/index.js +6 -6
- package/dist/workflow-canvas/index.cjs +64 -64
- package/dist/workflow-canvas/index.js +12 -12
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +9 -4
- package/dist/chunk-A7NCSZAP.cjs.map +0 -1
- package/dist/chunk-DZYAAL4H.cjs.map +0 -1
- package/dist/chunk-H2KQ6OSU.js.map +0 -1
- package/dist/chunk-IBZJYCYM.js.map +0 -1
- package/dist/chunk-MUMH3Z6K.cjs.map +0 -1
- package/dist/chunk-OYMWV45N.js.map +0 -1
- package/dist/settings/FirmPool.d.ts +0 -82
package/dist/calendar/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkBIXHB4LV_cjs = require('../chunk-BIXHB4LV.cjs');
|
|
5
5
|
require('../chunk-DES3K4SD.cjs');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var FullCalendar = require('@fullcalendar/react');
|
|
@@ -16,6 +16,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
16
16
|
var core = require('@fullcalendar/core');
|
|
17
17
|
var internal = require('@fullcalendar/core/internal');
|
|
18
18
|
var temporalPolyfill = require('temporal-polyfill');
|
|
19
|
+
var reactDom = require('react-dom');
|
|
20
|
+
var client = require('react-dom/client');
|
|
19
21
|
|
|
20
22
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
23
|
|
|
@@ -322,10 +324,10 @@ function getTemporalTimeZonePlugin() {
|
|
|
322
324
|
if (!temporalZonePlugin) {
|
|
323
325
|
class TemporalNamedTimeZone extends internal.NamedTimeZoneImpl {
|
|
324
326
|
offsetForArray(a) {
|
|
325
|
-
return
|
|
327
|
+
return chunkBIXHB4LV_cjs.wallArrayOffset(a, this.timeZoneName);
|
|
326
328
|
}
|
|
327
329
|
timestampToArray(ms) {
|
|
328
|
-
return
|
|
330
|
+
return chunkBIXHB4LV_cjs.epochToWallArray(ms, this.timeZoneName);
|
|
329
331
|
}
|
|
330
332
|
}
|
|
331
333
|
temporalZonePlugin = core.createPlugin({
|
|
@@ -411,9 +413,9 @@ function toEventInput(e, zone) {
|
|
|
411
413
|
extendedProps: { grid: e }
|
|
412
414
|
};
|
|
413
415
|
if (e.allDay) {
|
|
414
|
-
const start = e.startDate ??
|
|
415
|
-
const end = e.endDate ?? (e.endUtc ?
|
|
416
|
-
return { ...base, allDay: true, start, end: end > start ? end :
|
|
416
|
+
const start = e.startDate ?? chunkBIXHB4LV_cjs.utcToDate(e.startUtc, zone);
|
|
417
|
+
const end = e.endDate ?? (e.endUtc ? chunkBIXHB4LV_cjs.utcToDate(e.endUtc, zone) : chunkBIXHB4LV_cjs.addDays(start, 1));
|
|
418
|
+
return { ...base, allDay: true, start, end: end > start ? end : chunkBIXHB4LV_cjs.addDays(start, 1) };
|
|
417
419
|
}
|
|
418
420
|
return { ...base, allDay: false, start: e.startUtc, end: e.endUtc };
|
|
419
421
|
}
|
|
@@ -519,8 +521,8 @@ function CalendarGrid({
|
|
|
519
521
|
keyboardShortcuts = true
|
|
520
522
|
}) {
|
|
521
523
|
const labels = react.useMemo(() => mergeLabels(labelOverrides), [labelOverrides]);
|
|
522
|
-
const zone =
|
|
523
|
-
const secondZone = secondaryTimeZone && secondaryTimeZone !== zone &&
|
|
524
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
525
|
+
const secondZone = secondaryTimeZone && secondaryTimeZone !== zone && chunkBIXHB4LV_cjs.isValidTimeZone(secondaryTimeZone) ? secondaryTimeZone : "";
|
|
524
526
|
const rootRef = react.useRef(null);
|
|
525
527
|
const calRef = react.useRef(null);
|
|
526
528
|
const [narrow, setNarrow] = react.useState(false);
|
|
@@ -563,7 +565,7 @@ function CalendarGrid({
|
|
|
563
565
|
a.changeView(fcView, date);
|
|
564
566
|
return;
|
|
565
567
|
}
|
|
566
|
-
if (
|
|
568
|
+
if (chunkBIXHB4LV_cjs.utcToDate(a.getDate(), zone) !== date) a.gotoDate(date);
|
|
567
569
|
}, [api, effective, date, zone]);
|
|
568
570
|
const fcEvents = react.useMemo(() => events.map((e) => toEventInput(e, zone)), [events, zone]);
|
|
569
571
|
const changeView = react.useCallback(
|
|
@@ -580,7 +582,7 @@ function CalendarGrid({
|
|
|
580
582
|
if (!a) return;
|
|
581
583
|
if (dir === "prev") a.prev();
|
|
582
584
|
else if (dir === "next") a.next();
|
|
583
|
-
else a.gotoDate(
|
|
585
|
+
else a.gotoDate(chunkBIXHB4LV_cjs.utcToDate(Date.now(), zone));
|
|
584
586
|
},
|
|
585
587
|
[api, zone]
|
|
586
588
|
);
|
|
@@ -614,7 +616,7 @@ function CalendarGrid({
|
|
|
614
616
|
const onDatesSet = react.useCallback(
|
|
615
617
|
(arg) => {
|
|
616
618
|
setTitle(arg.view.title);
|
|
617
|
-
const anchor =
|
|
619
|
+
const anchor = chunkBIXHB4LV_cjs.utcToDate(arg.view.calendar.getDate(), zone);
|
|
618
620
|
const kind = VIEW_OF_FC[arg.view.type] ?? effective;
|
|
619
621
|
const key = `${kind}|${arg.start.toISOString()}|${arg.end.toISOString()}|${anchor}`;
|
|
620
622
|
if (key === lastRange.current) return;
|
|
@@ -655,7 +657,7 @@ function CalendarGrid({
|
|
|
655
657
|
const start = event.start;
|
|
656
658
|
if (event.allDay) {
|
|
657
659
|
const startDate = event.startStr.slice(0, 10);
|
|
658
|
-
const endDate = event.endStr ? event.endStr.slice(0, 10) :
|
|
660
|
+
const endDate = event.endStr ? event.endStr.slice(0, 10) : chunkBIXHB4LV_cjs.addDays(startDate, 1);
|
|
659
661
|
const end2 = event.end ?? new Date(start.getTime() + 864e5);
|
|
660
662
|
cb.current.onEventChange({
|
|
661
663
|
instanceId: g.instanceId,
|
|
@@ -684,7 +686,7 @@ function CalendarGrid({
|
|
|
684
686
|
if (!secondZone) return arg.text;
|
|
685
687
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "arbi-cal-slot-labels", children: [
|
|
686
688
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-secondary", children: (() => {
|
|
687
|
-
const t =
|
|
689
|
+
const t = chunkBIXHB4LV_cjs.convertWall(`${date}T${chunkBIXHB4LV_cjs.utcToTime(arg.date, zone)}`, zone, secondZone).slice(
|
|
688
690
|
11,
|
|
689
691
|
16
|
|
690
692
|
);
|
|
@@ -699,8 +701,8 @@ function CalendarGrid({
|
|
|
699
701
|
(arg) => {
|
|
700
702
|
if (!secondZone) return arg.text;
|
|
701
703
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "arbi-cal-slot-labels arbi-cal-zone-labels", children: [
|
|
702
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-secondary", title: secondZone, children:
|
|
703
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-primary", title: zone, children:
|
|
704
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-secondary", title: secondZone, children: chunkBIXHB4LV_cjs.zoneOffsetLabel(secondZone) }),
|
|
705
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-primary", title: zone, children: chunkBIXHB4LV_cjs.zoneOffsetLabel(zone) })
|
|
704
706
|
] });
|
|
705
707
|
},
|
|
706
708
|
[secondZone, zone]
|
|
@@ -710,8 +712,8 @@ function CalendarGrid({
|
|
|
710
712
|
const t = arg.view.type;
|
|
711
713
|
if (!t.startsWith("timeGrid") && t !== "arbiWorkWeek") return arg.text;
|
|
712
714
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("arbi-cal-dayhead", arg.isToday && "arbi-cal-dayhead-today"), children: [
|
|
713
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-dayhead-dow", children:
|
|
714
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-dayhead-num", children:
|
|
715
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-dayhead-dow", children: chunkBIXHB4LV_cjs.formatInZone(arg.date, zone, { weekday: "short" }) }),
|
|
716
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-dayhead-num", children: chunkBIXHB4LV_cjs.formatInZone(arg.date, zone, { day: "numeric" }) })
|
|
715
717
|
] });
|
|
716
718
|
},
|
|
717
719
|
[zone]
|
|
@@ -828,13 +830,13 @@ function CalendarGrid({
|
|
|
828
830
|
className: "hidden text-xs text-muted-foreground md:inline",
|
|
829
831
|
"data-testid": "calendar-zones",
|
|
830
832
|
children: [
|
|
831
|
-
|
|
833
|
+
chunkBIXHB4LV_cjs.zoneCity(zone),
|
|
832
834
|
" ",
|
|
833
|
-
|
|
835
|
+
chunkBIXHB4LV_cjs.zoneOffsetLabel(zone),
|
|
834
836
|
" \xB7 ",
|
|
835
|
-
|
|
837
|
+
chunkBIXHB4LV_cjs.zoneCity(secondZone),
|
|
836
838
|
" ",
|
|
837
|
-
|
|
839
|
+
chunkBIXHB4LV_cjs.zoneOffsetLabel(secondZone)
|
|
838
840
|
]
|
|
839
841
|
}
|
|
840
842
|
),
|
|
@@ -962,13 +964,13 @@ function MiniMonth({
|
|
|
962
964
|
if (view.for !== date) setView({ for: date, month: `${date.slice(0, 7)}-01` });
|
|
963
965
|
const month = view.for === date ? view.month : `${date.slice(0, 7)}-01`;
|
|
964
966
|
const setMonth = (m) => setView({ for: date, month: m });
|
|
965
|
-
const today =
|
|
967
|
+
const today = chunkBIXHB4LV_cjs.todayInZone(timeZone);
|
|
966
968
|
const days = react.useMemo(() => {
|
|
967
|
-
const first =
|
|
968
|
-
return Array.from({ length: 42 }, (_, i) =>
|
|
969
|
+
const first = chunkBIXHB4LV_cjs.startOfWeek(month, weekStart);
|
|
970
|
+
return Array.from({ length: 42 }, (_, i) => chunkBIXHB4LV_cjs.addDays(first, i));
|
|
969
971
|
}, [month, weekStart]);
|
|
970
|
-
const weekdays = days.slice(0, 7).map((d) =>
|
|
971
|
-
const monthTitle =
|
|
972
|
+
const weekdays = days.slice(0, 7).map((d) => chunkBIXHB4LV_cjs.formatPlainDate(d, { weekday: "narrow" }));
|
|
973
|
+
const monthTitle = chunkBIXHB4LV_cjs.formatPlainDate(month, { month: "long", year: "numeric" });
|
|
972
974
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("select-none text-xs", className), "data-testid": "calendar-mini-month", children: [
|
|
973
975
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between px-1", children: [
|
|
974
976
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", "aria-live": "polite", children: monthTitle }),
|
|
@@ -979,7 +981,7 @@ function MiniMonth({
|
|
|
979
981
|
type: "button",
|
|
980
982
|
className: "rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
981
983
|
"aria-label": labels.previous,
|
|
982
|
-
onClick: () => setMonth(
|
|
984
|
+
onClick: () => setMonth(chunkBIXHB4LV_cjs.addMonths(month, -1)),
|
|
983
985
|
"data-testid": "calendar-mini-prev",
|
|
984
986
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" })
|
|
985
987
|
}
|
|
@@ -990,7 +992,7 @@ function MiniMonth({
|
|
|
990
992
|
type: "button",
|
|
991
993
|
className: "rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
992
994
|
"aria-label": labels.next,
|
|
993
|
-
onClick: () => setMonth(
|
|
995
|
+
onClick: () => setMonth(chunkBIXHB4LV_cjs.addMonths(month, 1)),
|
|
994
996
|
"data-testid": "calendar-mini-next",
|
|
995
997
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
996
998
|
}
|
|
@@ -1026,7 +1028,7 @@ function MiniMonth({
|
|
|
1026
1028
|
MiniDay,
|
|
1027
1029
|
{
|
|
1028
1030
|
d,
|
|
1029
|
-
weekCell: showWeekNumbers && i % 7 === 0 ?
|
|
1031
|
+
weekCell: showWeekNumbers && i % 7 === 0 ? chunkBIXHB4LV_cjs.isoWeekNumber(d) : null,
|
|
1030
1032
|
inMonth,
|
|
1031
1033
|
inRange,
|
|
1032
1034
|
selected,
|
|
@@ -1059,7 +1061,7 @@ function MiniDay({
|
|
|
1059
1061
|
role: "gridcell",
|
|
1060
1062
|
"aria-selected": selected,
|
|
1061
1063
|
"aria-current": isToday ? "date" : void 0,
|
|
1062
|
-
"aria-label":
|
|
1064
|
+
"aria-label": chunkBIXHB4LV_cjs.formatPlainDate(d, { dateStyle: "full" }),
|
|
1063
1065
|
onClick: () => onSelect(d),
|
|
1064
1066
|
"data-testid": `calendar-mini-day-${d}`,
|
|
1065
1067
|
className: ui.cn(
|
|
@@ -1311,12 +1313,12 @@ function CalendarList({
|
|
|
1311
1313
|
var isAllDayDraft = (d) => !!d.start.date;
|
|
1312
1314
|
var datePart = (spec) => spec.date ?? (spec.date_time ?? "").slice(0, 10);
|
|
1313
1315
|
var timePart = (spec) => (spec.date_time ?? "").slice(11, 16);
|
|
1314
|
-
var specZone = (spec, defaultZone) =>
|
|
1316
|
+
var specZone = (spec, defaultZone) => chunkBIXHB4LV_cjs.safeZone(spec.time_zone, defaultZone);
|
|
1315
1317
|
var specDate = datePart;
|
|
1316
1318
|
var specTime = timePart;
|
|
1317
1319
|
function specEpochMs(spec, defaultZone) {
|
|
1318
|
-
if (spec.date) return
|
|
1319
|
-
return
|
|
1320
|
+
if (spec.date) return chunkBIXHB4LV_cjs.wallToEpochMs(spec.date, defaultZone);
|
|
1321
|
+
return chunkBIXHB4LV_cjs.wallToEpochMs(spec.date_time ?? "", specZone(spec, defaultZone));
|
|
1320
1322
|
}
|
|
1321
1323
|
function draftRangeUtc(d, defaultZone) {
|
|
1322
1324
|
return { startMs: specEpochMs(d.start, defaultZone), endMs: specEpochMs(d.end, defaultZone) };
|
|
@@ -1324,7 +1326,7 @@ function draftRangeUtc(d, defaultZone) {
|
|
|
1324
1326
|
function allDayInclusiveEnd(d) {
|
|
1325
1327
|
const start = d.start.date ?? "";
|
|
1326
1328
|
const end = d.end.date ?? start;
|
|
1327
|
-
const last =
|
|
1329
|
+
const last = chunkBIXHB4LV_cjs.addDays(end, -1);
|
|
1328
1330
|
return last < start ? start : last;
|
|
1329
1331
|
}
|
|
1330
1332
|
function timedSpec(date, time, zone) {
|
|
@@ -1334,8 +1336,8 @@ function setDraftStart(d, change, defaultZone) {
|
|
|
1334
1336
|
if (isAllDayDraft(d)) {
|
|
1335
1337
|
const oldStart = d.start.date ?? change.date ?? "";
|
|
1336
1338
|
const start2 = change.date ?? oldStart;
|
|
1337
|
-
const days = Math.max(1,
|
|
1338
|
-
return { ...d, start: { date: start2 }, end: { date:
|
|
1339
|
+
const days = Math.max(1, chunkBIXHB4LV_cjs.diffDays(oldStart, d.end.date ?? chunkBIXHB4LV_cjs.addDays(oldStart, 1)));
|
|
1340
|
+
return { ...d, start: { date: start2 }, end: { date: chunkBIXHB4LV_cjs.addDays(start2, days) } };
|
|
1339
1341
|
}
|
|
1340
1342
|
const { startMs, endMs } = draftRangeUtc(d, defaultZone);
|
|
1341
1343
|
const duration = Math.max(0, endMs - startMs);
|
|
@@ -1347,7 +1349,7 @@ function setDraftStart(d, change, defaultZone) {
|
|
|
1347
1349
|
);
|
|
1348
1350
|
const newStartMs = specEpochMs(start, defaultZone);
|
|
1349
1351
|
const endZone = specZone(d.end, defaultZone);
|
|
1350
|
-
const endWall =
|
|
1352
|
+
const endWall = chunkBIXHB4LV_cjs.utcToWall(newStartMs + duration, endZone);
|
|
1351
1353
|
return {
|
|
1352
1354
|
...d,
|
|
1353
1355
|
start,
|
|
@@ -1357,7 +1359,7 @@ function setDraftStart(d, change, defaultZone) {
|
|
|
1357
1359
|
function setDraftEnd(d, change) {
|
|
1358
1360
|
if (isAllDayDraft(d)) {
|
|
1359
1361
|
const last = change.date ?? allDayInclusiveEnd(d);
|
|
1360
|
-
return { ...d, end: { date:
|
|
1362
|
+
return { ...d, end: { date: chunkBIXHB4LV_cjs.addDays(last, 1) } };
|
|
1361
1363
|
}
|
|
1362
1364
|
const zone = change.timeZone !== void 0 ? change.timeZone : d.end.time_zone ?? null;
|
|
1363
1365
|
return {
|
|
@@ -1370,35 +1372,35 @@ function setDraftAllDay(d, allDay, defaultZone, defaultStartTime = "09:00", defa
|
|
|
1370
1372
|
if (allDay) {
|
|
1371
1373
|
const start2 = datePart(d.start);
|
|
1372
1374
|
const endDay = datePart(d.end) || start2;
|
|
1373
|
-
const lastDay = timePart(d.end) === "00:00" && endDay > start2 ?
|
|
1375
|
+
const lastDay = timePart(d.end) === "00:00" && endDay > start2 ? chunkBIXHB4LV_cjs.addDays(endDay, -1) : endDay;
|
|
1374
1376
|
return {
|
|
1375
1377
|
...d,
|
|
1376
1378
|
start: { date: start2 },
|
|
1377
|
-
end: { date:
|
|
1379
|
+
end: { date: chunkBIXHB4LV_cjs.addDays(lastDay < start2 ? start2 : lastDay, 1) }
|
|
1378
1380
|
};
|
|
1379
1381
|
}
|
|
1380
|
-
const zone =
|
|
1382
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(defaultZone);
|
|
1381
1383
|
const start = timedSpec(d.start.date ?? "", defaultStartTime, zone);
|
|
1382
1384
|
const startMs = specEpochMs(start, zone);
|
|
1383
1385
|
const end = {
|
|
1384
1386
|
date: null,
|
|
1385
|
-
date_time:
|
|
1387
|
+
date_time: chunkBIXHB4LV_cjs.utcToWall(startMs + defaultDurationMinutes * 6e4, zone),
|
|
1386
1388
|
time_zone: zone
|
|
1387
1389
|
};
|
|
1388
1390
|
return { ...d, start, end };
|
|
1389
1391
|
}
|
|
1390
1392
|
function draftFromSlot(slot, timeZone, calendarId, title = "") {
|
|
1391
|
-
const zone =
|
|
1393
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
1392
1394
|
if (slot.allDay) {
|
|
1393
|
-
const start = slot.startDate ??
|
|
1394
|
-
const end = slot.endDate ??
|
|
1395
|
+
const start = slot.startDate ?? chunkBIXHB4LV_cjs.utcToDate(slot.startUtc, zone);
|
|
1396
|
+
const end = slot.endDate ?? chunkBIXHB4LV_cjs.addDays(start, 1);
|
|
1395
1397
|
return { calendar_id: calendarId, title, start: { date: start }, end: { date: end } };
|
|
1396
1398
|
}
|
|
1397
1399
|
return {
|
|
1398
1400
|
calendar_id: calendarId,
|
|
1399
1401
|
title,
|
|
1400
|
-
start: { date: null, date_time:
|
|
1401
|
-
end: { date: null, date_time:
|
|
1402
|
+
start: { date: null, date_time: chunkBIXHB4LV_cjs.utcToWall(slot.startUtc, zone), time_zone: zone },
|
|
1403
|
+
end: { date: null, date_time: chunkBIXHB4LV_cjs.utcToWall(slot.endUtc, zone), time_zone: zone }
|
|
1402
1404
|
};
|
|
1403
1405
|
}
|
|
1404
1406
|
function validateDraft(d, defaultZone) {
|
|
@@ -1446,7 +1448,7 @@ function defaultRecurrenceForm(startDate, freq = "none") {
|
|
|
1446
1448
|
function untilValue(until, ctx) {
|
|
1447
1449
|
if (ctx.allDay) return until.replace(/-/g, "");
|
|
1448
1450
|
const zone = ctx.timeZone || "UTC";
|
|
1449
|
-
const utc =
|
|
1451
|
+
const utc = chunkBIXHB4LV_cjs.wallToUtc(`${until}T23:59:59`, zone);
|
|
1450
1452
|
const t = temporalPolyfill.Temporal.Instant.from(utc).toZonedDateTimeISO("UTC");
|
|
1451
1453
|
const p = (n, w = 2) => String(n).padStart(w, "0");
|
|
1452
1454
|
return `${p(t.year, 4)}${p(t.month)}${p(t.day)}T${p(t.hour)}${p(t.minute)}${p(t.second)}Z`;
|
|
@@ -1951,10 +1953,10 @@ function RecurrenceEditor({
|
|
|
1951
1953
|
|
|
1952
1954
|
// src/calendar/format.ts
|
|
1953
1955
|
function formatZoneLabel(zone, at = Date.now()) {
|
|
1954
|
-
return `${
|
|
1956
|
+
return `${chunkBIXHB4LV_cjs.zoneCity(zone)} (${chunkBIXHB4LV_cjs.zoneOffsetLabel(zone, at)})`;
|
|
1955
1957
|
}
|
|
1956
1958
|
function formatEventWhen(e, zone, locale) {
|
|
1957
|
-
const z =
|
|
1959
|
+
const z = chunkBIXHB4LV_cjs.safeZone(zone);
|
|
1958
1960
|
const dayFmt = {
|
|
1959
1961
|
weekday: "short",
|
|
1960
1962
|
day: "numeric",
|
|
@@ -1962,16 +1964,16 @@ function formatEventWhen(e, zone, locale) {
|
|
|
1962
1964
|
year: "numeric"
|
|
1963
1965
|
};
|
|
1964
1966
|
if (e.all_day) {
|
|
1965
|
-
const start = e.start.date ??
|
|
1966
|
-
const endExcl = e.end.date ??
|
|
1967
|
-
const last = endExcl > start ?
|
|
1968
|
-
const a2 =
|
|
1969
|
-
return last === start ? a2 : `${a2} \u2013 ${
|
|
1967
|
+
const start = e.start.date ?? chunkBIXHB4LV_cjs.utcToDate(e.start_utc, z);
|
|
1968
|
+
const endExcl = e.end.date ?? chunkBIXHB4LV_cjs.utcToDate(e.end_utc, z);
|
|
1969
|
+
const last = endExcl > start ? chunkBIXHB4LV_cjs.addDays(endExcl, -1) : start;
|
|
1970
|
+
const a2 = chunkBIXHB4LV_cjs.formatPlainDate(start, dayFmt, locale);
|
|
1971
|
+
return last === start ? a2 : `${a2} \u2013 ${chunkBIXHB4LV_cjs.formatPlainDate(last, dayFmt, locale)}`;
|
|
1970
1972
|
}
|
|
1971
1973
|
const timeFmt = { hour: "numeric", minute: "2-digit" };
|
|
1972
|
-
const sameDay =
|
|
1973
|
-
const a = `${
|
|
1974
|
-
return sameDay ? `${a} \u2013 ${
|
|
1974
|
+
const sameDay = chunkBIXHB4LV_cjs.utcToDate(e.start_utc, z) === chunkBIXHB4LV_cjs.utcToDate(e.end_utc, z);
|
|
1975
|
+
const a = `${chunkBIXHB4LV_cjs.formatInZone(e.start_utc, z, dayFmt, locale)} \xB7 ${chunkBIXHB4LV_cjs.formatInZone(e.start_utc, z, timeFmt, locale)}`;
|
|
1976
|
+
return sameDay ? `${a} \u2013 ${chunkBIXHB4LV_cjs.formatInZone(e.end_utc, z, timeFmt, locale)}` : `${a} \u2013 ${chunkBIXHB4LV_cjs.formatInZone(e.end_utc, z, dayFmt, locale)} \xB7 ${chunkBIXHB4LV_cjs.formatInZone(e.end_utc, z, timeFmt, locale)}`;
|
|
1975
1977
|
}
|
|
1976
1978
|
function TimeZonePicker({
|
|
1977
1979
|
value,
|
|
@@ -1989,15 +1991,15 @@ function TimeZonePicker({
|
|
|
1989
1991
|
const [open, setOpen] = react.useState(false);
|
|
1990
1992
|
const options = react.useMemo(() => {
|
|
1991
1993
|
const now = Date.now();
|
|
1992
|
-
const list = zones?.length ? zones :
|
|
1994
|
+
const list = zones?.length ? zones : chunkBIXHB4LV_cjs.listTimeZones();
|
|
1993
1995
|
return list.map((z) => {
|
|
1994
1996
|
let offset = 0;
|
|
1995
1997
|
try {
|
|
1996
|
-
offset =
|
|
1998
|
+
offset = chunkBIXHB4LV_cjs.zoneOffsetMinutes(z, now);
|
|
1997
1999
|
} catch {
|
|
1998
2000
|
return null;
|
|
1999
2001
|
}
|
|
2000
|
-
return { zone: z, offset, label:
|
|
2002
|
+
return { zone: z, offset, label: chunkBIXHB4LV_cjs.zoneOffsetLabel(z, now), city: chunkBIXHB4LV_cjs.zoneCity(z) };
|
|
2001
2003
|
}).filter((o) => o !== null).sort((a, b) => a.offset - b.offset || a.zone.localeCompare(b.zone));
|
|
2002
2004
|
}, [zones, open]);
|
|
2003
2005
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Popover, { open, onOpenChange: setOpen, children: [
|
|
@@ -3048,12 +3050,12 @@ function EventDetails({
|
|
|
3048
3050
|
className
|
|
3049
3051
|
}) {
|
|
3050
3052
|
const l = mergeLabels(labelOverrides);
|
|
3051
|
-
const zone =
|
|
3053
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
3052
3054
|
const color = event.color || calendarColor || "#3b82f6";
|
|
3053
3055
|
const restricted = !!event.restricted;
|
|
3054
3056
|
const title = restricted ? l.busy : event.title?.trim() || l.noTitle;
|
|
3055
3057
|
const eventZone = event.start.time_zone;
|
|
3056
|
-
const otherZone = !event.all_day && eventZone && eventZone !== zone ?
|
|
3058
|
+
const otherZone = !event.all_day && eventZone && eventZone !== zone ? chunkBIXHB4LV_cjs.safeZone(eventZone, zone) : null;
|
|
3057
3059
|
const attendees = event.attendees ?? [];
|
|
3058
3060
|
const counts = attendees.reduce((acc, a) => {
|
|
3059
3061
|
const k = a.partstat ?? "needs_action";
|
|
@@ -3087,14 +3089,14 @@ function EventDetails({
|
|
|
3087
3089
|
),
|
|
3088
3090
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", "data-testid": "calendar-details-when", children: formatEventWhen(event, zone) }),
|
|
3089
3091
|
otherZone && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground", children: [
|
|
3090
|
-
|
|
3092
|
+
chunkBIXHB4LV_cjs.formatInZone(event.start_utc, otherZone, { hour: "numeric", minute: "2-digit" }),
|
|
3091
3093
|
" \u2013",
|
|
3092
3094
|
" ",
|
|
3093
|
-
|
|
3095
|
+
chunkBIXHB4LV_cjs.formatInZone(event.end_utc, otherZone, { hour: "numeric", minute: "2-digit" }),
|
|
3094
3096
|
" ",
|
|
3095
|
-
|
|
3097
|
+
chunkBIXHB4LV_cjs.zoneCity(otherZone),
|
|
3096
3098
|
" (",
|
|
3097
|
-
|
|
3099
|
+
chunkBIXHB4LV_cjs.zoneOffsetLabel(otherZone, event.start_utc),
|
|
3098
3100
|
")"
|
|
3099
3101
|
] })
|
|
3100
3102
|
] }),
|
|
@@ -3370,8 +3372,8 @@ function ScopeDialog({
|
|
|
3370
3372
|
// src/calendar/scheduling.ts
|
|
3371
3373
|
var pad2 = (n) => String(n).padStart(2, "0");
|
|
3372
3374
|
function dayWindow(date, zone, startHour = 7, endHour = 20) {
|
|
3373
|
-
const startMs =
|
|
3374
|
-
const endMs = endHour >= 24 ?
|
|
3375
|
+
const startMs = chunkBIXHB4LV_cjs.wallToEpochMs(`${date}T${pad2(startHour)}:00`, zone);
|
|
3376
|
+
const endMs = endHour >= 24 ? chunkBIXHB4LV_cjs.wallToEpochMs(`${date}T23:59`, zone) + 6e4 : chunkBIXHB4LV_cjs.wallToEpochMs(`${date}T${pad2(endHour)}:00`, zone);
|
|
3375
3377
|
return { startMs, endMs };
|
|
3376
3378
|
}
|
|
3377
3379
|
function placeIntervals(intervals, win) {
|
|
@@ -3416,7 +3418,7 @@ function hourTicks(date, zone, startHour, endHour) {
|
|
|
3416
3418
|
const span = win.endMs - win.startMs;
|
|
3417
3419
|
const ticks = [];
|
|
3418
3420
|
for (let h = startHour; h < endHour; h++) {
|
|
3419
|
-
const ms =
|
|
3421
|
+
const ms = chunkBIXHB4LV_cjs.wallToEpochMs(`${date}T${pad2(h)}:00`, zone);
|
|
3420
3422
|
ticks.push({ hour: h, leftPct: (ms - win.startMs) / span * 100 });
|
|
3421
3423
|
}
|
|
3422
3424
|
return ticks;
|
|
@@ -3438,11 +3440,11 @@ function SchedulingAssistant({
|
|
|
3438
3440
|
className
|
|
3439
3441
|
}) {
|
|
3440
3442
|
const l = mergeLabels(labelOverrides);
|
|
3441
|
-
const zone =
|
|
3443
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
3442
3444
|
const win = dayWindow(date, zone, dayStartHour, dayEndHour);
|
|
3443
3445
|
const ticks = hourTicks(date, zone, dayStartHour, dayEndHour);
|
|
3444
3446
|
const sel = selection ? placeIntervals([selection], win)[0] : void 0;
|
|
3445
|
-
const time = (iso) =>
|
|
3447
|
+
const time = (iso) => chunkBIXHB4LV_cjs.formatInZone(iso, zone, { hour: "numeric", minute: "2-digit" });
|
|
3446
3448
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("space-y-2", className), "data-testid": "calendar-scheduling", children: [
|
|
3447
3449
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3448
3450
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: l.schedulingAssistant }),
|
|
@@ -3455,11 +3457,11 @@ function SchedulingAssistant({
|
|
|
3455
3457
|
size: "icon",
|
|
3456
3458
|
className: "h-7 w-7",
|
|
3457
3459
|
"aria-label": l.previous,
|
|
3458
|
-
onClick: () => onDateChange(
|
|
3460
|
+
onClick: () => onDateChange(chunkBIXHB4LV_cjs.addDays(date, -1)),
|
|
3459
3461
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" })
|
|
3460
3462
|
}
|
|
3461
3463
|
),
|
|
3462
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", "data-testid": "calendar-scheduling-date", children:
|
|
3464
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", "data-testid": "calendar-scheduling-date", children: chunkBIXHB4LV_cjs.formatPlainDate(date, { weekday: "short", day: "numeric", month: "short" }) }),
|
|
3463
3465
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3464
3466
|
ui.Button,
|
|
3465
3467
|
{
|
|
@@ -3468,7 +3470,7 @@ function SchedulingAssistant({
|
|
|
3468
3470
|
size: "icon",
|
|
3469
3471
|
className: "h-7 w-7",
|
|
3470
3472
|
"aria-label": l.next,
|
|
3471
|
-
onClick: () => onDateChange(
|
|
3473
|
+
onClick: () => onDateChange(chunkBIXHB4LV_cjs.addDays(date, 1)),
|
|
3472
3474
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
3473
3475
|
}
|
|
3474
3476
|
)
|
|
@@ -3584,7 +3586,7 @@ function SchedulingAssistant({
|
|
|
3584
3586
|
"data-testid": "calendar-suggestion",
|
|
3585
3587
|
children: [
|
|
3586
3588
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "font-medium", children: [
|
|
3587
|
-
|
|
3589
|
+
chunkBIXHB4LV_cjs.formatInZone(s.startUtc, zone, {
|
|
3588
3590
|
weekday: "short",
|
|
3589
3591
|
day: "numeric",
|
|
3590
3592
|
month: "short"
|
|
@@ -3709,8 +3711,8 @@ function RoomFinder({
|
|
|
3709
3711
|
)
|
|
3710
3712
|
] });
|
|
3711
3713
|
}
|
|
3712
|
-
var mondayFirstName = (day) =>
|
|
3713
|
-
var sundayFirstName = (day) =>
|
|
3714
|
+
var mondayFirstName = (day) => chunkBIXHB4LV_cjs.formatPlainDate(`2024-01-0${day + 1}`, { weekday: "long" });
|
|
3715
|
+
var sundayFirstName = (day) => chunkBIXHB4LV_cjs.formatPlainDate(day === 0 ? "2023-12-31" : `2024-01-0${day}`, { weekday: "long" });
|
|
3714
3716
|
var VIEWS = ["day", "work_week", "week", "month", "agenda", "year"];
|
|
3715
3717
|
var DURATIONS = [15, 30, 45, 60, 90, 120];
|
|
3716
3718
|
var viewName = (v, l) => ({
|
|
@@ -3963,81 +3965,353 @@ function CalendarSettingsForm({
|
|
|
3963
3965
|
);
|
|
3964
3966
|
}
|
|
3965
3967
|
|
|
3968
|
+
// src/calendar/print-layout.ts
|
|
3969
|
+
function printRange(view, date, weekStart = 1, agendaDays = 30) {
|
|
3970
|
+
if (view === "day") return { from: date, to: chunkBIXHB4LV_cjs.addDays(date, 1) };
|
|
3971
|
+
if (view === "agenda") return { from: date, to: chunkBIXHB4LV_cjs.addDays(date, agendaDays) };
|
|
3972
|
+
if (view === "week") {
|
|
3973
|
+
const from2 = chunkBIXHB4LV_cjs.startOfWeek(date, weekStart);
|
|
3974
|
+
return { from: from2, to: chunkBIXHB4LV_cjs.addDays(from2, 7) };
|
|
3975
|
+
}
|
|
3976
|
+
const first = `${date.slice(0, 8)}01`;
|
|
3977
|
+
const from = chunkBIXHB4LV_cjs.startOfWeek(first, weekStart);
|
|
3978
|
+
const nextMonth = chunkBIXHB4LV_cjs.addMonths(first, 1);
|
|
3979
|
+
const lead = (chunkBIXHB4LV_cjs.dayOfWeekSun0(nextMonth) - weekStart + 7) % 7;
|
|
3980
|
+
const to = lead === 0 ? nextMonth : chunkBIXHB4LV_cjs.addDays(nextMonth, 7 - lead);
|
|
3981
|
+
return { from, to };
|
|
3982
|
+
}
|
|
3983
|
+
function eachDay(from, to) {
|
|
3984
|
+
const out = [];
|
|
3985
|
+
for (let d = from; d < to; d = chunkBIXHB4LV_cjs.addDays(d, 1)) out.push(d);
|
|
3986
|
+
return out;
|
|
3987
|
+
}
|
|
3988
|
+
function eventDays(e, zone) {
|
|
3989
|
+
if (e.all_day) {
|
|
3990
|
+
const start = e.start.date ?? chunkBIXHB4LV_cjs.utcToDate(e.start_utc, "UTC");
|
|
3991
|
+
const endExcl = e.end.date ?? chunkBIXHB4LV_cjs.addDays(start, 1);
|
|
3992
|
+
return eachDay(start, endExcl > start ? endExcl : chunkBIXHB4LV_cjs.addDays(start, 1));
|
|
3993
|
+
}
|
|
3994
|
+
const startDay = chunkBIXHB4LV_cjs.utcToDate(e.start_utc, zone);
|
|
3995
|
+
const lastInstant = new Date(
|
|
3996
|
+
Math.max(new Date(e.start_utc).getTime(), new Date(e.end_utc).getTime() - 1)
|
|
3997
|
+
);
|
|
3998
|
+
const endDay = chunkBIXHB4LV_cjs.utcToDate(lastInstant, zone);
|
|
3999
|
+
return eachDay(startDay, chunkBIXHB4LV_cjs.addDays(endDay, 1));
|
|
4000
|
+
}
|
|
4001
|
+
function timeLabel(e, day, zone) {
|
|
4002
|
+
if (e.all_day) return "All day";
|
|
4003
|
+
const fmt = new Intl.DateTimeFormat(void 0, {
|
|
4004
|
+
timeZone: zone,
|
|
4005
|
+
hour: "numeric",
|
|
4006
|
+
minute: "2-digit"
|
|
4007
|
+
});
|
|
4008
|
+
const sDay = chunkBIXHB4LV_cjs.utcToDate(e.start_utc, zone);
|
|
4009
|
+
const eDay = chunkBIXHB4LV_cjs.utcToDate(new Date(new Date(e.end_utc).getTime() - 1), zone);
|
|
4010
|
+
const s = sDay === day ? fmt.format(new Date(e.start_utc)) : "\u2026";
|
|
4011
|
+
const en = eDay === day ? fmt.format(new Date(e.end_utc)) : "\u2026";
|
|
4012
|
+
return `${s} \u2013 ${en}`;
|
|
4013
|
+
}
|
|
4014
|
+
function eventsByDay(events, zone, from, to) {
|
|
4015
|
+
const map = /* @__PURE__ */ new Map();
|
|
4016
|
+
for (const e of events) {
|
|
4017
|
+
for (const d of eventDays(e, zone)) {
|
|
4018
|
+
if (d < from || d >= to) continue;
|
|
4019
|
+
const list = map.get(d) ?? [];
|
|
4020
|
+
list.push(e);
|
|
4021
|
+
map.set(d, list);
|
|
4022
|
+
}
|
|
4023
|
+
}
|
|
4024
|
+
for (const list of map.values())
|
|
4025
|
+
list.sort(
|
|
4026
|
+
(a, b) => Number(b.all_day) - Number(a.all_day) || new Date(a.start_utc).getTime() - new Date(b.start_utc).getTime() || a.title.localeCompare(b.title)
|
|
4027
|
+
);
|
|
4028
|
+
return map;
|
|
4029
|
+
}
|
|
4030
|
+
function heading(view, date, from, to) {
|
|
4031
|
+
const last = chunkBIXHB4LV_cjs.addDays(to, -1);
|
|
4032
|
+
if (view === "day")
|
|
4033
|
+
return chunkBIXHB4LV_cjs.formatPlainDate(from, {
|
|
4034
|
+
weekday: "long",
|
|
4035
|
+
year: "numeric",
|
|
4036
|
+
month: "long",
|
|
4037
|
+
day: "numeric"
|
|
4038
|
+
});
|
|
4039
|
+
if (view === "month")
|
|
4040
|
+
return chunkBIXHB4LV_cjs.formatPlainDate(`${date.slice(0, 7)}-15`, { year: "numeric", month: "long" });
|
|
4041
|
+
const opts = { year: "numeric", month: "short", day: "numeric" };
|
|
4042
|
+
return `${chunkBIXHB4LV_cjs.formatPlainDate(from, opts)} \u2013 ${chunkBIXHB4LV_cjs.formatPlainDate(last, opts)}`;
|
|
4043
|
+
}
|
|
4044
|
+
var STYLE = `
|
|
4045
|
+
.arbi-calendar-print { color: #111; background: #fff; font: 12px/1.4 system-ui, -apple-system, 'Segoe UI', sans-serif; }
|
|
4046
|
+
.arbi-calendar-print h1 { font-size: 18px; margin: 0 0 8px; }
|
|
4047
|
+
.arbi-calendar-print .acp-zone { color: #555; font-size: 11px; margin-bottom: 12px; }
|
|
4048
|
+
.arbi-calendar-print table { border-collapse: collapse; width: 100%; table-layout: fixed; }
|
|
4049
|
+
.arbi-calendar-print th, .arbi-calendar-print td { border: 1px solid #bbb; padding: 4px; vertical-align: top; text-align: left; }
|
|
4050
|
+
.arbi-calendar-print th { background: #f3f3f3; font-weight: 600; }
|
|
4051
|
+
.arbi-calendar-print .acp-day { break-inside: avoid; margin-bottom: 10px; }
|
|
4052
|
+
.arbi-calendar-print .acp-day h2 { font-size: 13px; margin: 0 0 4px; border-bottom: 1px solid #bbb; padding-bottom: 2px; }
|
|
4053
|
+
.arbi-calendar-print .acp-ev { display: flex; gap: 6px; margin: 2px 0; break-inside: avoid; }
|
|
4054
|
+
.arbi-calendar-print .acp-time { flex: 0 0 auto; min-width: 92px; color: #333; font-variant-numeric: tabular-nums; }
|
|
4055
|
+
.arbi-calendar-print .acp-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; vertical-align: middle; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
|
|
4056
|
+
.arbi-calendar-print .acp-meta { color: #555; font-size: 11px; white-space: pre-line; }
|
|
4057
|
+
.arbi-calendar-print .acp-muted { color: #888; }
|
|
4058
|
+
.arbi-calendar-print .acp-cancelled { text-decoration: line-through; color: #888; }
|
|
4059
|
+
.arbi-calendar-print .acp-month td { height: 90px; }
|
|
4060
|
+
.arbi-calendar-print .acp-month .acp-out { color: #aaa; }
|
|
4061
|
+
.arbi-calendar-print .acp-cell-ev { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
4062
|
+
@media screen { .arbi-calendar-print[data-screen-hidden='true'] { display: none; } }
|
|
4063
|
+
@media print {
|
|
4064
|
+
@page { margin: 12mm; }
|
|
4065
|
+
body.arbi-printing-calendar > *:not(.arbi-calendar-print-host) { display: none !important; }
|
|
4066
|
+
body.arbi-printing-calendar .arbi-calendar-print-host { display: block !important; }
|
|
4067
|
+
body.arbi-printing-calendar .arbi-calendar-print { display: block !important; }
|
|
4068
|
+
}
|
|
4069
|
+
`;
|
|
4070
|
+
function CalendarPrint({
|
|
4071
|
+
events,
|
|
4072
|
+
view,
|
|
4073
|
+
date,
|
|
4074
|
+
timeZone,
|
|
4075
|
+
weekStart = 1,
|
|
4076
|
+
agendaDays = 30,
|
|
4077
|
+
title,
|
|
4078
|
+
calendars,
|
|
4079
|
+
screenHidden = false,
|
|
4080
|
+
showDetails = true
|
|
4081
|
+
}) {
|
|
4082
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone, chunkBIXHB4LV_cjs.detectTimeZone());
|
|
4083
|
+
const { from, to } = printRange(view, date, weekStart, agendaDays);
|
|
4084
|
+
const byDay = eventsByDay(events, zone, from, to);
|
|
4085
|
+
const color = (e) => e.color || calendars?.find((c) => c.id === e.calendar_id)?.color || "#3b82f6";
|
|
4086
|
+
const label = (e) => e.restricted && !e.title ? "Busy" : e.title || "(no title)";
|
|
4087
|
+
const evLine = (e, day, details) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "acp-ev", "data-testid": "calendar-print-event", children: [
|
|
4088
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "acp-time", children: timeLabel(e, day, zone) }),
|
|
4089
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
4090
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "acp-dot", style: { background: color(e) } }),
|
|
4091
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: e.status === "cancelled" ? "acp-cancelled" : void 0, children: label(e) }),
|
|
4092
|
+
details && e.location && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "acp-meta", children: e.location }),
|
|
4093
|
+
details && e.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "acp-meta", children: e.description.slice(0, 500) })
|
|
4094
|
+
] })
|
|
4095
|
+
] }, `${e.instance_id}-${day}`);
|
|
4096
|
+
let body;
|
|
4097
|
+
if (view === "agenda" || view === "day") {
|
|
4098
|
+
const days = view === "day" ? [from] : eachDay(from, to).filter((d) => byDay.has(d));
|
|
4099
|
+
body = days.length ? days.map((d) => /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "acp-day", children: [
|
|
4100
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: chunkBIXHB4LV_cjs.formatPlainDate(d, { weekday: "long", month: "long", day: "numeric" }) }),
|
|
4101
|
+
(byDay.get(d) ?? []).map((e) => evLine(e, d, showDetails)),
|
|
4102
|
+
!byDay.get(d)?.length && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "acp-muted", children: "No events" })
|
|
4103
|
+
] }, d)) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "acp-muted", children: "No events" });
|
|
4104
|
+
} else if (view === "week") {
|
|
4105
|
+
const days = eachDay(from, to);
|
|
4106
|
+
body = /* @__PURE__ */ jsxRuntime.jsxs("table", { children: [
|
|
4107
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: days.map((d) => /* @__PURE__ */ jsxRuntime.jsx("th", { children: chunkBIXHB4LV_cjs.formatPlainDate(d, { weekday: "short", day: "numeric", month: "short" }) }, d)) }) }),
|
|
4108
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: days.map((d) => /* @__PURE__ */ jsxRuntime.jsx("td", { style: { height: 480 }, children: (byDay.get(d) ?? []).map((e) => evLine(e, d, false)) }, d)) }) })
|
|
4109
|
+
] });
|
|
4110
|
+
} else {
|
|
4111
|
+
const days = eachDay(from, to);
|
|
4112
|
+
const weeks = [];
|
|
4113
|
+
for (let i = 0; i < days.length; i += 7) weeks.push(days.slice(i, i + 7));
|
|
4114
|
+
const month = date.slice(0, 7);
|
|
4115
|
+
body = /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "acp-month", children: [
|
|
4116
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: weeks[0].map((d) => /* @__PURE__ */ jsxRuntime.jsx("th", { children: chunkBIXHB4LV_cjs.formatPlainDate(d, { weekday: "short" }) }, d)) }) }),
|
|
4117
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: weeks.map((w) => /* @__PURE__ */ jsxRuntime.jsx("tr", { children: w.map((d) => /* @__PURE__ */ jsxRuntime.jsxs("td", { className: d.slice(0, 7) === month ? void 0 : "acp-out", children: [
|
|
4118
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: Number(d.slice(8)) }),
|
|
4119
|
+
(byDay.get(d) ?? []).slice(0, 6).map((e) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4120
|
+
"div",
|
|
4121
|
+
{
|
|
4122
|
+
className: "acp-cell-ev",
|
|
4123
|
+
"data-testid": "calendar-print-event",
|
|
4124
|
+
children: [
|
|
4125
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "acp-dot", style: { background: color(e) } }),
|
|
4126
|
+
!e.all_day && `${timeLabel(e, d, zone).split(" \u2013 ")[0]} `,
|
|
4127
|
+
label(e)
|
|
4128
|
+
]
|
|
4129
|
+
},
|
|
4130
|
+
`${e.instance_id}-${d}`
|
|
4131
|
+
)),
|
|
4132
|
+
(byDay.get(d)?.length ?? 0) > 6 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "acp-cell-ev acp-muted", children: [
|
|
4133
|
+
"+",
|
|
4134
|
+
(byDay.get(d)?.length ?? 0) - 6,
|
|
4135
|
+
" more"
|
|
4136
|
+
] })
|
|
4137
|
+
] }, d)) }, w[0])) })
|
|
4138
|
+
] });
|
|
4139
|
+
}
|
|
4140
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4141
|
+
"div",
|
|
4142
|
+
{
|
|
4143
|
+
className: "arbi-calendar-print",
|
|
4144
|
+
"data-screen-hidden": screenHidden ? "true" : "false",
|
|
4145
|
+
"data-testid": "calendar-print",
|
|
4146
|
+
children: [
|
|
4147
|
+
/* @__PURE__ */ jsxRuntime.jsx("style", { children: STYLE }),
|
|
4148
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { children: title ?? heading(view, date, from, to) }),
|
|
4149
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "acp-zone", children: [
|
|
4150
|
+
"Times in ",
|
|
4151
|
+
zone.replace(/_/g, " ")
|
|
4152
|
+
] }),
|
|
4153
|
+
body
|
|
4154
|
+
]
|
|
4155
|
+
}
|
|
4156
|
+
);
|
|
4157
|
+
}
|
|
4158
|
+
function printCalendar(props) {
|
|
4159
|
+
const host = document.createElement("div");
|
|
4160
|
+
host.className = "arbi-calendar-print-host";
|
|
4161
|
+
host.style.display = "none";
|
|
4162
|
+
document.body.appendChild(host);
|
|
4163
|
+
let unmount = null;
|
|
4164
|
+
if (props) {
|
|
4165
|
+
const root = client.createRoot(host);
|
|
4166
|
+
reactDom.flushSync(() => root.render(/* @__PURE__ */ jsxRuntime.jsx(CalendarPrint, { ...props, screenHidden: false })));
|
|
4167
|
+
unmount = () => root.unmount();
|
|
4168
|
+
} else {
|
|
4169
|
+
const existing = document.querySelector(".arbi-calendar-print");
|
|
4170
|
+
if (!existing) {
|
|
4171
|
+
host.remove();
|
|
4172
|
+
return;
|
|
4173
|
+
}
|
|
4174
|
+
const clone = existing.cloneNode(true);
|
|
4175
|
+
clone.setAttribute("data-screen-hidden", "false");
|
|
4176
|
+
host.appendChild(clone);
|
|
4177
|
+
}
|
|
4178
|
+
document.body.classList.add("arbi-printing-calendar");
|
|
4179
|
+
let done = false;
|
|
4180
|
+
const cleanup = () => {
|
|
4181
|
+
if (done) return;
|
|
4182
|
+
done = true;
|
|
4183
|
+
window.removeEventListener("afterprint", cleanup);
|
|
4184
|
+
document.body.classList.remove("arbi-printing-calendar");
|
|
4185
|
+
unmount?.();
|
|
4186
|
+
host.remove();
|
|
4187
|
+
};
|
|
4188
|
+
window.addEventListener("afterprint", cleanup);
|
|
4189
|
+
try {
|
|
4190
|
+
window.print();
|
|
4191
|
+
} finally {
|
|
4192
|
+
if (!("onafterprint" in window)) setTimeout(cleanup, 1e3);
|
|
4193
|
+
}
|
|
4194
|
+
}
|
|
4195
|
+
|
|
4196
|
+
// src/calendar/booking-slots.ts
|
|
4197
|
+
function formatSlotTime(instant, zone, locale) {
|
|
4198
|
+
return chunkBIXHB4LV_cjs.formatInZone(instant, zone, { hour: "numeric", minute: "2-digit" }, locale);
|
|
4199
|
+
}
|
|
4200
|
+
function formatDayLabel(date, locale) {
|
|
4201
|
+
return chunkBIXHB4LV_cjs.formatPlainDate(date, { weekday: "long", month: "long", day: "numeric" }, locale);
|
|
4202
|
+
}
|
|
4203
|
+
function groupSlotsByDay(slots, zone, locale) {
|
|
4204
|
+
const tz = chunkBIXHB4LV_cjs.safeZone(zone, chunkBIXHB4LV_cjs.detectTimeZone());
|
|
4205
|
+
const byDay = /* @__PURE__ */ new Map();
|
|
4206
|
+
const sorted = [...slots].sort((a, b) => new Date(a).getTime() - new Date(b).getTime());
|
|
4207
|
+
for (const start of sorted) {
|
|
4208
|
+
const date = chunkBIXHB4LV_cjs.utcToDate(start, tz);
|
|
4209
|
+
const list = byDay.get(date) ?? [];
|
|
4210
|
+
list.push({ start, label: formatSlotTime(start, tz, locale) });
|
|
4211
|
+
byDay.set(date, list);
|
|
4212
|
+
}
|
|
4213
|
+
return [...byDay.entries()].map(([date, list]) => ({
|
|
4214
|
+
date,
|
|
4215
|
+
label: formatDayLabel(date, locale),
|
|
4216
|
+
slots: list
|
|
4217
|
+
}));
|
|
4218
|
+
}
|
|
4219
|
+
function formatSlotRange(start, end, zone, locale) {
|
|
4220
|
+
const tz = chunkBIXHB4LV_cjs.safeZone(zone, chunkBIXHB4LV_cjs.detectTimeZone());
|
|
4221
|
+
const fmt = new Intl.DateTimeFormat(locale, {
|
|
4222
|
+
timeZone: tz,
|
|
4223
|
+
weekday: "long",
|
|
4224
|
+
month: "long",
|
|
4225
|
+
day: "numeric",
|
|
4226
|
+
hour: "numeric",
|
|
4227
|
+
minute: "2-digit"
|
|
4228
|
+
});
|
|
4229
|
+
const s = new Date(start);
|
|
4230
|
+
const e = new Date(end);
|
|
4231
|
+
const range = fmt.formatRange;
|
|
4232
|
+
const text = range ? range.call(fmt, s, e) : `${fmt.format(s)} \u2013 ${formatSlotTime(end, tz, locale)}`;
|
|
4233
|
+
return `${text} (${tz.replace(/_/g, " ")})`;
|
|
4234
|
+
}
|
|
4235
|
+
function zoneOptions(current) {
|
|
4236
|
+
const zones = chunkBIXHB4LV_cjs.listTimeZones();
|
|
4237
|
+
return zones.includes(current) ? zones : [current, ...zones];
|
|
4238
|
+
}
|
|
4239
|
+
|
|
3966
4240
|
Object.defineProperty(exports, "addDays", {
|
|
3967
4241
|
enumerable: true,
|
|
3968
|
-
get: function () { return
|
|
4242
|
+
get: function () { return chunkBIXHB4LV_cjs.addDays; }
|
|
3969
4243
|
});
|
|
3970
4244
|
Object.defineProperty(exports, "addMonths", {
|
|
3971
4245
|
enumerable: true,
|
|
3972
|
-
get: function () { return
|
|
4246
|
+
get: function () { return chunkBIXHB4LV_cjs.addMonths; }
|
|
3973
4247
|
});
|
|
3974
4248
|
Object.defineProperty(exports, "convertWall", {
|
|
3975
4249
|
enumerable: true,
|
|
3976
|
-
get: function () { return
|
|
4250
|
+
get: function () { return chunkBIXHB4LV_cjs.convertWall; }
|
|
3977
4251
|
});
|
|
3978
4252
|
Object.defineProperty(exports, "detectTimeZone", {
|
|
3979
4253
|
enumerable: true,
|
|
3980
|
-
get: function () { return
|
|
4254
|
+
get: function () { return chunkBIXHB4LV_cjs.detectTimeZone; }
|
|
3981
4255
|
});
|
|
3982
4256
|
Object.defineProperty(exports, "diffDays", {
|
|
3983
4257
|
enumerable: true,
|
|
3984
|
-
get: function () { return
|
|
4258
|
+
get: function () { return chunkBIXHB4LV_cjs.diffDays; }
|
|
3985
4259
|
});
|
|
3986
4260
|
Object.defineProperty(exports, "formatInZone", {
|
|
3987
4261
|
enumerable: true,
|
|
3988
|
-
get: function () { return
|
|
4262
|
+
get: function () { return chunkBIXHB4LV_cjs.formatInZone; }
|
|
3989
4263
|
});
|
|
3990
4264
|
Object.defineProperty(exports, "formatPlainDate", {
|
|
3991
4265
|
enumerable: true,
|
|
3992
|
-
get: function () { return
|
|
4266
|
+
get: function () { return chunkBIXHB4LV_cjs.formatPlainDate; }
|
|
3993
4267
|
});
|
|
3994
4268
|
Object.defineProperty(exports, "isValidTimeZone", {
|
|
3995
4269
|
enumerable: true,
|
|
3996
|
-
get: function () { return
|
|
4270
|
+
get: function () { return chunkBIXHB4LV_cjs.isValidTimeZone; }
|
|
3997
4271
|
});
|
|
3998
4272
|
Object.defineProperty(exports, "listTimeZones", {
|
|
3999
4273
|
enumerable: true,
|
|
4000
|
-
get: function () { return
|
|
4274
|
+
get: function () { return chunkBIXHB4LV_cjs.listTimeZones; }
|
|
4001
4275
|
});
|
|
4002
4276
|
Object.defineProperty(exports, "safeZone", {
|
|
4003
4277
|
enumerable: true,
|
|
4004
|
-
get: function () { return
|
|
4278
|
+
get: function () { return chunkBIXHB4LV_cjs.safeZone; }
|
|
4005
4279
|
});
|
|
4006
4280
|
Object.defineProperty(exports, "startOfWeek", {
|
|
4007
4281
|
enumerable: true,
|
|
4008
|
-
get: function () { return
|
|
4282
|
+
get: function () { return chunkBIXHB4LV_cjs.startOfWeek; }
|
|
4009
4283
|
});
|
|
4010
4284
|
Object.defineProperty(exports, "todayInZone", {
|
|
4011
4285
|
enumerable: true,
|
|
4012
|
-
get: function () { return
|
|
4286
|
+
get: function () { return chunkBIXHB4LV_cjs.todayInZone; }
|
|
4013
4287
|
});
|
|
4014
4288
|
Object.defineProperty(exports, "utcToDate", {
|
|
4015
4289
|
enumerable: true,
|
|
4016
|
-
get: function () { return
|
|
4290
|
+
get: function () { return chunkBIXHB4LV_cjs.utcToDate; }
|
|
4017
4291
|
});
|
|
4018
4292
|
Object.defineProperty(exports, "utcToTime", {
|
|
4019
4293
|
enumerable: true,
|
|
4020
|
-
get: function () { return
|
|
4294
|
+
get: function () { return chunkBIXHB4LV_cjs.utcToTime; }
|
|
4021
4295
|
});
|
|
4022
4296
|
Object.defineProperty(exports, "utcToWall", {
|
|
4023
4297
|
enumerable: true,
|
|
4024
|
-
get: function () { return
|
|
4298
|
+
get: function () { return chunkBIXHB4LV_cjs.utcToWall; }
|
|
4025
4299
|
});
|
|
4026
4300
|
Object.defineProperty(exports, "wallToUtc", {
|
|
4027
4301
|
enumerable: true,
|
|
4028
|
-
get: function () { return
|
|
4302
|
+
get: function () { return chunkBIXHB4LV_cjs.wallToUtc; }
|
|
4029
4303
|
});
|
|
4030
4304
|
Object.defineProperty(exports, "zoneCity", {
|
|
4031
4305
|
enumerable: true,
|
|
4032
|
-
get: function () { return
|
|
4306
|
+
get: function () { return chunkBIXHB4LV_cjs.zoneCity; }
|
|
4033
4307
|
});
|
|
4034
4308
|
Object.defineProperty(exports, "zoneOffsetLabel", {
|
|
4035
4309
|
enumerable: true,
|
|
4036
|
-
get: function () { return
|
|
4310
|
+
get: function () { return chunkBIXHB4LV_cjs.zoneOffsetLabel; }
|
|
4037
4311
|
});
|
|
4038
4312
|
Object.defineProperty(exports, "zoneOffsetMinutes", {
|
|
4039
4313
|
enumerable: true,
|
|
4040
|
-
get: function () { return
|
|
4314
|
+
get: function () { return chunkBIXHB4LV_cjs.zoneOffsetMinutes; }
|
|
4041
4315
|
});
|
|
4042
4316
|
exports.ARBI_WEBINAR_LABEL = ARBI_WEBINAR_LABEL;
|
|
4043
4317
|
exports.CALENDAR_COLORS = CALENDAR_COLORS;
|
|
@@ -4045,6 +4319,7 @@ exports.CALENDAR_DEFAULT_LABELS = CALENDAR_DEFAULT_LABELS;
|
|
|
4045
4319
|
exports.CALENDAR_NARROW_WIDTH = CALENDAR_NARROW_WIDTH;
|
|
4046
4320
|
exports.CalendarGrid = CalendarGrid;
|
|
4047
4321
|
exports.CalendarList = CalendarList;
|
|
4322
|
+
exports.CalendarPrint = CalendarPrint;
|
|
4048
4323
|
exports.CalendarSettingsForm = CalendarSettingsForm;
|
|
4049
4324
|
exports.DEFAULT_RECURRENCE_DESCRIBE_LABELS = DEFAULT_RECURRENCE_DESCRIBE_LABELS;
|
|
4050
4325
|
exports.DEFAULT_RECURRENCE_EDITOR_LABELS = DEFAULT_RECURRENCE_EDITOR_LABELS;
|
|
@@ -4069,17 +4344,25 @@ exports.describeRecurrence = describeRecurrence;
|
|
|
4069
4344
|
exports.draftFromSlot = draftFromSlot;
|
|
4070
4345
|
exports.draftRangeUtc = draftRangeUtc;
|
|
4071
4346
|
exports.effectiveCalendarView = effectiveCalendarView;
|
|
4347
|
+
exports.eventDays = eventDays;
|
|
4072
4348
|
exports.eventStateClasses = eventStateClasses;
|
|
4349
|
+
exports.eventsByDay = eventsByDay;
|
|
4350
|
+
exports.formatDayLabel = formatDayLabel;
|
|
4073
4351
|
exports.formatEventWhen = formatEventWhen;
|
|
4074
4352
|
exports.formatReminder = formatReminder;
|
|
4353
|
+
exports.formatSlotRange = formatSlotRange;
|
|
4354
|
+
exports.formatSlotTime = formatSlotTime;
|
|
4075
4355
|
exports.formatZoneLabel = formatZoneLabel;
|
|
4076
4356
|
exports.getTemporalTimeZonePlugin = getTemporalTimeZonePlugin;
|
|
4357
|
+
exports.groupSlotsByDay = groupSlotsByDay;
|
|
4077
4358
|
exports.hourTicks = hourTicks;
|
|
4078
4359
|
exports.isAllDayDraft = isAllDayDraft;
|
|
4079
4360
|
exports.isWebinarConference = isWebinarConference;
|
|
4080
4361
|
exports.outsideIntervals = outsideIntervals;
|
|
4081
4362
|
exports.parseRRule = parseRRule;
|
|
4082
4363
|
exports.placeIntervals = placeIntervals;
|
|
4364
|
+
exports.printCalendar = printCalendar;
|
|
4365
|
+
exports.printRange = printRange;
|
|
4083
4366
|
exports.reminderToMinutes = reminderToMinutes;
|
|
4084
4367
|
exports.setDraftAllDay = setDraftAllDay;
|
|
4085
4368
|
exports.setDraftEnd = setDraftEnd;
|
|
@@ -4092,5 +4375,6 @@ exports.toBusinessHours = toBusinessHours;
|
|
|
4092
4375
|
exports.validateDraft = validateDraft;
|
|
4093
4376
|
exports.weekdayOf = weekdayOf;
|
|
4094
4377
|
exports.workWeekHiddenDays = workWeekHiddenDays;
|
|
4378
|
+
exports.zoneOptions = zoneOptions;
|
|
4095
4379
|
//# sourceMappingURL=index.cjs.map
|
|
4096
4380
|
//# sourceMappingURL=index.cjs.map
|