@arbidocs/blocks 0.4.128 → 0.4.130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -10
- package/dist/{StreamedArtifactEditor-EEYAXJ4H.cjs → StreamedArtifactEditor-TQAND4H5.cjs} +6 -5
- package/dist/StreamedArtifactEditor-TQAND4H5.cjs.map +1 -0
- package/dist/{StreamedArtifactEditor-TDATDYD2.js → StreamedArtifactEditor-XQNANTWM.js} +4 -3
- package/dist/StreamedArtifactEditor-XQNANTWM.js.map +1 -0
- package/dist/agents/index.cjs +304 -304
- package/dist/agents/index.js +12 -12
- package/dist/artifacts/ArtifactCodeView.d.ts +6 -0
- package/dist/artifacts/ArtifactPreview.d.ts +22 -0
- package/dist/artifacts/index.cjs +50 -21
- package/dist/artifacts/index.d.ts +3 -0
- package/dist/artifacts/index.js +2 -1
- package/dist/artifacts/sandbox-policy.d.ts +34 -0
- package/dist/artifacts/sandboxDocument.d.ts +7 -0
- package/dist/calendar/CalendarPrint.d.ts +25 -0
- package/dist/calendar/booking-slots.d.ts +21 -0
- package/dist/calendar/index.cjs +440 -243
- package/dist/calendar/index.cjs.map +1 -1
- package/dist/calendar/index.d.ts +4 -0
- package/dist/calendar/index.js +282 -151
- 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 +376 -3
- package/dist/calls/index.cjs.map +1 -1
- package/dist/calls/index.d.ts +3 -0
- package/dist/calls/index.js +360 -5
- 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 +156 -140
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.js +5 -5
- package/dist/chat/open-document.d.ts +5 -1
- package/dist/chat/thread-diagram.d.ts +26 -0
- package/dist/{chunk-7HAM7Y5U.js → chunk-2DFDFOM7.js} +3 -3
- package/dist/{chunk-7HAM7Y5U.js.map → chunk-2DFDFOM7.js.map} +1 -1
- package/dist/{chunk-54ANPPMV.js → chunk-2PNNCEPH.js} +4 -4
- package/dist/{chunk-54ANPPMV.js.map → chunk-2PNNCEPH.js.map} +1 -1
- package/dist/{chunk-DQCYCEDR.js → chunk-2Q7FDZAY.js} +3 -3
- package/dist/{chunk-DQCYCEDR.js.map → chunk-2Q7FDZAY.js.map} +1 -1
- package/dist/{chunk-INW76PEL.cjs → chunk-2YV7FBLO.cjs} +175 -2
- package/dist/chunk-2YV7FBLO.cjs.map +1 -0
- package/dist/{chunk-S7PSMMRG.js → chunk-444XKG46.js} +3 -3
- package/dist/{chunk-S7PSMMRG.js.map → chunk-444XKG46.js.map} +1 -1
- package/dist/{chunk-FSBY2S4V.cjs → chunk-4QIIDXLF.cjs} +10 -10
- package/dist/{chunk-FSBY2S4V.cjs.map → chunk-4QIIDXLF.cjs.map} +1 -1
- package/dist/{chunk-OYMWV45N.js → chunk-4RLCRFZS.js} +63 -13
- package/dist/chunk-4RLCRFZS.js.map +1 -0
- package/dist/{chunk-NZUQFF35.cjs → chunk-4S5IDT5F.cjs} +234 -5
- package/dist/chunk-4S5IDT5F.cjs.map +1 -0
- package/dist/{chunk-CJBN5HIS.js → chunk-4UMXQPNA.js} +20 -8
- package/dist/chunk-4UMXQPNA.js.map +1 -0
- package/dist/{chunk-KELGOCJA.js → chunk-65S53MZK.js} +174 -5
- package/dist/chunk-65S53MZK.js.map +1 -0
- package/dist/{chunk-IBZJYCYM.js → chunk-66TA5IBN.js} +17 -25
- package/dist/chunk-66TA5IBN.js.map +1 -0
- package/dist/{chunk-HM23LXUP.cjs → chunk-6AALMYPS.cjs} +3 -3
- package/dist/{chunk-HM23LXUP.cjs.map → chunk-6AALMYPS.cjs.map} +1 -1
- package/dist/{chunk-OR4CO743.cjs → chunk-AAFX64WD.cjs} +3 -3
- package/dist/{chunk-OR4CO743.cjs.map → chunk-AAFX64WD.cjs.map} +1 -1
- package/dist/{chunk-MUMH3Z6K.cjs → chunk-ARDHLU73.cjs} +61 -11
- package/dist/chunk-ARDHLU73.cjs.map +1 -0
- package/dist/chunk-BIXHB4LV.cjs +178 -0
- package/dist/chunk-BIXHB4LV.cjs.map +1 -0
- package/dist/chunk-C4WSHRR6.cjs +166 -0
- package/dist/chunk-C4WSHRR6.cjs.map +1 -0
- package/dist/{chunk-ZAVEMQ37.cjs → chunk-DWZXSPMB.cjs} +3 -3
- package/dist/{chunk-ZAVEMQ37.cjs.map → chunk-DWZXSPMB.cjs.map} +1 -1
- package/dist/{chunk-VW2C2AZL.js → chunk-ENDP7JER.js} +3 -3
- package/dist/{chunk-VW2C2AZL.js.map → chunk-ENDP7JER.js.map} +1 -1
- package/dist/{chunk-5HFPRI3W.js → chunk-FUTMU4FR.js} +3 -3
- package/dist/{chunk-5HFPRI3W.js.map → chunk-FUTMU4FR.js.map} +1 -1
- package/dist/{chunk-P5ST47VY.js → chunk-GDBDHOI4.js} +3 -3
- package/dist/{chunk-P5ST47VY.js.map → chunk-GDBDHOI4.js.map} +1 -1
- package/dist/chunk-GTCC2VAR.js +153 -0
- package/dist/chunk-GTCC2VAR.js.map +1 -0
- package/dist/{chunk-3BJLNKOB.cjs → chunk-GZPTWHP5.cjs} +22 -10
- package/dist/chunk-GZPTWHP5.cjs.map +1 -0
- package/dist/{chunk-OUW6G4O2.cjs → chunk-HFGXA5CL.cjs} +4 -4
- package/dist/{chunk-OUW6G4O2.cjs.map → chunk-HFGXA5CL.cjs.map} +1 -1
- package/dist/{chunk-SWQX6CTT.cjs → chunk-JKB7WT7L.cjs} +2 -2
- package/dist/chunk-JKB7WT7L.cjs.map +1 -0
- package/dist/{chunk-D4YR56FV.cjs → chunk-KYDRUFWT.cjs} +5 -5
- package/dist/{chunk-D4YR56FV.cjs.map → chunk-KYDRUFWT.cjs.map} +1 -1
- package/dist/chunk-NS4JD2VR.js +22 -0
- package/dist/chunk-NS4JD2VR.js.map +1 -0
- package/dist/{chunk-S6BOINC4.cjs → chunk-OGBXV326.cjs} +7 -7
- package/dist/{chunk-S6BOINC4.cjs.map → chunk-OGBXV326.cjs.map} +1 -1
- package/dist/{chunk-DJM7DLCT.cjs → chunk-OPTBQSCV.cjs} +3 -3
- package/dist/{chunk-DJM7DLCT.cjs.map → chunk-OPTBQSCV.cjs.map} +1 -1
- package/dist/{chunk-GFYGYME3.js → chunk-OQ7RUNOC.js} +3 -3
- package/dist/{chunk-GFYGYME3.js.map → chunk-OQ7RUNOC.js.map} +1 -1
- package/dist/{chunk-WV4IDVDQ.cjs → chunk-PJJY6CYL.cjs} +11 -11
- package/dist/{chunk-WV4IDVDQ.cjs.map → chunk-PJJY6CYL.cjs.map} +1 -1
- package/dist/{chunk-CXLVI3SB.js → chunk-PUCY3UXN.js} +3 -3
- package/dist/{chunk-CXLVI3SB.js.map → chunk-PUCY3UXN.js.map} +1 -1
- package/dist/{chunk-ZV3BKLFY.cjs → chunk-QDEODGXE.cjs} +5 -5
- package/dist/{chunk-ZV3BKLFY.cjs.map → chunk-QDEODGXE.cjs.map} +1 -1
- package/dist/{chunk-7BJRLP3U.js → chunk-QYTYW74G.js} +5 -5
- package/dist/{chunk-7BJRLP3U.js.map → chunk-QYTYW74G.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-OB5F4577.cjs → chunk-R26BK7YL.cjs} +4 -4
- package/dist/{chunk-OB5F4577.cjs.map → chunk-R26BK7YL.cjs.map} +1 -1
- package/dist/{chunk-A2YAC22G.js → chunk-RI6DZA5X.js} +3 -3
- package/dist/{chunk-A2YAC22G.js.map → chunk-RI6DZA5X.js.map} +1 -1
- package/dist/{chunk-LC2KJSUS.cjs → chunk-SARREDFP.cjs} +46 -46
- package/dist/{chunk-LC2KJSUS.cjs.map → chunk-SARREDFP.cjs.map} +1 -1
- package/dist/{chunk-ZCHSJUCI.js → chunk-SZX44LCT.js} +231 -6
- package/dist/chunk-SZX44LCT.js.map +1 -0
- package/dist/{chunk-7QDX2CO4.cjs → chunk-TP6PLDNM.cjs} +4 -4
- package/dist/{chunk-7QDX2CO4.cjs.map → chunk-TP6PLDNM.cjs.map} +1 -1
- package/dist/{chunk-W27VK32R.cjs → chunk-TT6XV6WM.cjs} +84 -84
- package/dist/{chunk-W27VK32R.cjs.map → chunk-TT6XV6WM.cjs.map} +1 -1
- package/dist/{chunk-KLOSOT26.js → chunk-UMIY4SQS.js} +11 -11
- package/dist/{chunk-KLOSOT26.js.map → chunk-UMIY4SQS.js.map} +1 -1
- package/dist/chunk-VG24E4JJ.cjs +26 -0
- package/dist/chunk-VG24E4JJ.cjs.map +1 -0
- package/dist/{chunk-ECERC6TI.js → chunk-VHJHY7TT.js} +3 -3
- package/dist/{chunk-ECERC6TI.js.map → chunk-VHJHY7TT.js.map} +1 -1
- package/dist/{chunk-D3N67Q4D.js → chunk-W3VYZXNS.js} +3 -3
- package/dist/{chunk-D3N67Q4D.js.map → chunk-W3VYZXNS.js.map} +1 -1
- package/dist/{chunk-JK45LSIH.cjs → chunk-WXYQ66KC.cjs} +5 -5
- package/dist/{chunk-JK45LSIH.cjs.map → chunk-WXYQ66KC.cjs.map} +1 -1
- package/dist/{chunk-ZCF2JJFA.js → chunk-Y3KA6X7B.js} +3 -3
- package/dist/{chunk-ZCF2JJFA.js.map → chunk-Y3KA6X7B.js.map} +1 -1
- package/dist/{chunk-GYCQ3FNL.js → chunk-YBLIKTJK.js} +2 -2
- package/dist/chunk-YBLIKTJK.js.map +1 -0
- package/dist/chunk-YNIBUKV5.js +163 -0
- package/dist/chunk-YNIBUKV5.js.map +1 -0
- package/dist/citations/index.cjs +12 -11
- package/dist/citations/index.js +3 -2
- package/dist/collaboration/index.cjs +51 -51
- package/dist/collaboration/index.js +3 -3
- package/dist/components/DroppableContainer.d.ts +6 -0
- package/dist/components/GridRowNavigator.d.ts +29 -0
- package/dist/components/LoadingIndicator.d.ts +21 -0
- package/dist/components/RowNavigatorControls.d.ts +29 -0
- package/dist/components/SharedCell.d.ts +27 -0
- package/dist/connect/docx.cjs +7 -5
- package/dist/connect/docx.cjs.map +1 -1
- package/dist/connect/docx.js +6 -4
- package/dist/connect/docx.js.map +1 -1
- package/dist/connect/index.cjs +270 -227
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -1
- package/dist/connect/index.js +199 -156
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedSettings.d.ts +46 -20
- package/dist/connection/ConnectionProvider.d.ts +5 -0
- package/dist/connection/mail/ConnectedMailComposer.d.ts +2 -3
- package/dist/connection/mail/ConnectedMailbox.d.ts +2 -3
- package/dist/connection/mail/MailComposerForm.d.ts +2 -3
- package/dist/connection/mail/index.d.ts +2 -2
- package/dist/connection/mail/mailbox.d.ts +1 -4
- package/dist/connection/mail/types.d.ts +0 -8
- 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 +198 -29
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.d.ts +2 -1
- package/dist/facts/index.js +187 -27
- package/dist/facts/index.js.map +1 -1
- package/dist/files/index.cjs +4 -4
- package/dist/files/index.js +3 -3
- package/dist/home/index.cjs +20 -19
- package/dist/home/index.cjs.map +1 -1
- package/dist/home/index.js +5 -4
- package/dist/home/index.js.map +1 -1
- package/dist/index.cjs +877 -679
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +207 -30
- package/dist/index.js.map +1 -1
- package/dist/provider/BlocksProvider.d.ts +39 -4
- package/dist/provider/dialogs.d.ts +31 -0
- package/dist/retrieval/index.cjs +5 -4
- package/dist/retrieval/index.js +3 -2
- package/dist/sandboxDocument-JLEETIWW.js +71 -0
- package/dist/sandboxDocument-JLEETIWW.js.map +1 -0
- package/dist/sandboxDocument-WQUNODSC.cjs +76 -0
- package/dist/sandboxDocument-WQUNODSC.cjs.map +1 -0
- package/dist/settings/DraggableHeader.d.ts +10 -0
- package/dist/settings/FilterChip.d.ts +15 -0
- package/dist/settings/MessageJsonTree.d.ts +7 -0
- package/dist/settings/MoreInfo.d.ts +25 -0
- package/dist/settings/PlanCard.d.ts +1 -1
- package/dist/settings/index.cjs +363 -266
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.d.ts +4 -1
- package/dist/settings/index.js +317 -222
- package/dist/settings/index.js.map +1 -1
- package/dist/settings/message-schema-hints.d.ts +19 -0
- package/dist/shell/index.cjs +48 -47
- package/dist/shell/index.js +4 -3
- package/dist/site/index.cjs +5 -5
- package/dist/site/index.js +1 -1
- package/dist/studio/index.cjs +19 -18
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.js +11 -10
- package/dist/studio/index.js.map +1 -1
- package/dist/workflow-canvas/index.cjs +65 -65
- package/dist/workflow-canvas/index.js +13 -13
- package/dist/workspaces/index.cjs +42 -3
- package/dist/workspaces/index.cjs.map +1 -1
- package/dist/workspaces/index.d.ts +1 -0
- package/dist/workspaces/index.js +38 -3
- package/dist/workspaces/index.js.map +1 -1
- package/dist/workspaces/workspace-type.d.ts +29 -0
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +10 -4
- package/dist/StreamedArtifactEditor-EEYAXJ4H.cjs.map +0 -1
- package/dist/StreamedArtifactEditor-TDATDYD2.js.map +0 -1
- package/dist/chunk-3BJLNKOB.cjs.map +0 -1
- package/dist/chunk-76JDDMSP.js +0 -31
- package/dist/chunk-76JDDMSP.js.map +0 -1
- package/dist/chunk-A7NCSZAP.cjs.map +0 -1
- package/dist/chunk-C54XEN5T.cjs +0 -34
- package/dist/chunk-C54XEN5T.cjs.map +0 -1
- package/dist/chunk-CJBN5HIS.js.map +0 -1
- package/dist/chunk-GYCQ3FNL.js.map +0 -1
- package/dist/chunk-IBZJYCYM.js.map +0 -1
- package/dist/chunk-INW76PEL.cjs.map +0 -1
- package/dist/chunk-KELGOCJA.js.map +0 -1
- package/dist/chunk-MUMH3Z6K.cjs.map +0 -1
- package/dist/chunk-NZUQFF35.cjs.map +0 -1
- package/dist/chunk-OYMWV45N.js.map +0 -1
- package/dist/chunk-SWQX6CTT.cjs.map +0 -1
- package/dist/chunk-ZCHSJUCI.js.map +0 -1
- package/dist/facts/timezone.d.ts +0 -4
- package/dist/settings/FirmPool.d.ts +0 -82
package/dist/calendar/index.cjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var chunkBIXHB4LV_cjs = require('../chunk-BIXHB4LV.cjs');
|
|
4
5
|
require('../chunk-DES3K4SD.cjs');
|
|
5
6
|
var react = require('react');
|
|
6
7
|
var FullCalendar = require('@fullcalendar/react');
|
|
@@ -12,9 +13,11 @@ var multiMonthPlugin = require('@fullcalendar/multimonth');
|
|
|
12
13
|
var lucideReact = require('lucide-react');
|
|
13
14
|
var ui = require('@arbidocs/react/ui');
|
|
14
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
15
|
-
var temporalPolyfill = require('temporal-polyfill');
|
|
16
16
|
var core = require('@fullcalendar/core');
|
|
17
17
|
var internal = require('@fullcalendar/core/internal');
|
|
18
|
+
var temporalPolyfill = require('temporal-polyfill');
|
|
19
|
+
var reactDom = require('react-dom');
|
|
20
|
+
var client = require('react-dom/client');
|
|
18
21
|
|
|
19
22
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
23
|
|
|
@@ -316,160 +319,15 @@ function ColorSwatches({
|
|
|
316
319
|
))
|
|
317
320
|
] });
|
|
318
321
|
}
|
|
319
|
-
var pad2 = (n) => String(n).padStart(2, "0");
|
|
320
|
-
var pad4 = (n) => String(n).padStart(4, "0");
|
|
321
|
-
function isValidTimeZone(zone) {
|
|
322
|
-
if (!zone) return false;
|
|
323
|
-
try {
|
|
324
|
-
temporalPolyfill.Temporal.Now.instant().toZonedDateTimeISO(zone);
|
|
325
|
-
return true;
|
|
326
|
-
} catch {
|
|
327
|
-
return false;
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
function safeZone(zone, fallback = "UTC") {
|
|
331
|
-
if (isValidTimeZone(zone)) return zone;
|
|
332
|
-
return isValidTimeZone(fallback) ? fallback : "UTC";
|
|
333
|
-
}
|
|
334
|
-
function toPlainDateTime(wall) {
|
|
335
|
-
return /^\d{4}-\d{2}-\d{2}$/.test(wall) ? temporalPolyfill.Temporal.PlainDate.from(wall).toPlainDateTime() : temporalPolyfill.Temporal.PlainDateTime.from(wall);
|
|
336
|
-
}
|
|
337
|
-
function wallToUtc(wall, zone) {
|
|
338
|
-
const zdt = toPlainDateTime(wall).toZonedDateTime(safeZone(zone), {
|
|
339
|
-
disambiguation: "compatible"
|
|
340
|
-
});
|
|
341
|
-
return zdt.toInstant().toString();
|
|
342
|
-
}
|
|
343
|
-
function wallToEpochMs(wall, zone) {
|
|
344
|
-
return toPlainDateTime(wall).toZonedDateTime(safeZone(zone), { disambiguation: "compatible" }).epochMilliseconds;
|
|
345
|
-
}
|
|
346
|
-
function instantOf(utc) {
|
|
347
|
-
if (typeof utc === "number") return temporalPolyfill.Temporal.Instant.fromEpochMilliseconds(utc);
|
|
348
|
-
if (utc instanceof Date) return temporalPolyfill.Temporal.Instant.fromEpochMilliseconds(utc.getTime());
|
|
349
|
-
return temporalPolyfill.Temporal.Instant.from(utc);
|
|
350
|
-
}
|
|
351
|
-
function zoned(utc, zone) {
|
|
352
|
-
return instantOf(utc).toZonedDateTimeISO(safeZone(zone));
|
|
353
|
-
}
|
|
354
|
-
function utcToWall(utc, zone) {
|
|
355
|
-
const z = zoned(utc, zone);
|
|
356
|
-
return `${pad4(z.year)}-${pad2(z.month)}-${pad2(z.day)}T${pad2(z.hour)}:${pad2(z.minute)}`;
|
|
357
|
-
}
|
|
358
|
-
function utcToDate(utc, zone) {
|
|
359
|
-
const z = zoned(utc, zone);
|
|
360
|
-
return `${pad4(z.year)}-${pad2(z.month)}-${pad2(z.day)}`;
|
|
361
|
-
}
|
|
362
|
-
function utcToTime(utc, zone) {
|
|
363
|
-
const z = zoned(utc, zone);
|
|
364
|
-
return `${pad2(z.hour)}:${pad2(z.minute)}`;
|
|
365
|
-
}
|
|
366
|
-
function convertWall(wall, fromZone, toZone) {
|
|
367
|
-
return utcToWall(wallToUtc(wall, fromZone), toZone);
|
|
368
|
-
}
|
|
369
|
-
function todayInZone(zone, now = Date.now()) {
|
|
370
|
-
return utcToDate(now, zone);
|
|
371
|
-
}
|
|
372
|
-
function addDays(date, days) {
|
|
373
|
-
return temporalPolyfill.Temporal.PlainDate.from(date).add({ days }).toString();
|
|
374
|
-
}
|
|
375
|
-
function addMonths(date, months) {
|
|
376
|
-
return temporalPolyfill.Temporal.PlainDate.from(date).add({ months }).toString();
|
|
377
|
-
}
|
|
378
|
-
function diffDays(a, b) {
|
|
379
|
-
return temporalPolyfill.Temporal.PlainDate.from(a).until(temporalPolyfill.Temporal.PlainDate.from(b), { largestUnit: "days" }).days;
|
|
380
|
-
}
|
|
381
|
-
function dayOfWeekSun0(date) {
|
|
382
|
-
return temporalPolyfill.Temporal.PlainDate.from(date).dayOfWeek % 7;
|
|
383
|
-
}
|
|
384
|
-
function startOfWeek(date, weekStart) {
|
|
385
|
-
const back = (dayOfWeekSun0(date) - weekStart + 7) % 7;
|
|
386
|
-
return addDays(date, -back);
|
|
387
|
-
}
|
|
388
|
-
function isoWeekNumber(date) {
|
|
389
|
-
return temporalPolyfill.Temporal.PlainDate.from(date).weekOfYear ?? 1;
|
|
390
|
-
}
|
|
391
|
-
function zoneOffsetMinutes(zone, at = Date.now()) {
|
|
392
|
-
return Math.round(zoned(at, zone).offsetNanoseconds / 6e10);
|
|
393
|
-
}
|
|
394
|
-
function zoneOffsetLabel(zone, at = Date.now()) {
|
|
395
|
-
const total = zoneOffsetMinutes(zone, at);
|
|
396
|
-
if (total === 0) return "GMT";
|
|
397
|
-
const sign = total > 0 ? "+" : "-";
|
|
398
|
-
const abs = Math.abs(total);
|
|
399
|
-
const h = Math.floor(abs / 60);
|
|
400
|
-
const m = abs % 60;
|
|
401
|
-
return `GMT${sign}${h}${m ? `:${pad2(m)}` : ""}`;
|
|
402
|
-
}
|
|
403
|
-
function zoneCity(zone) {
|
|
404
|
-
const last = zone.split("/").pop() ?? zone;
|
|
405
|
-
return last.replace(/_/g, " ");
|
|
406
|
-
}
|
|
407
|
-
function listTimeZones() {
|
|
408
|
-
try {
|
|
409
|
-
const fn = Intl.supportedValuesOf;
|
|
410
|
-
const zones = fn ? fn("timeZone") : [];
|
|
411
|
-
if (zones.length) return zones.includes("UTC") ? zones : ["UTC", ...zones];
|
|
412
|
-
} catch {
|
|
413
|
-
}
|
|
414
|
-
return [
|
|
415
|
-
"UTC",
|
|
416
|
-
"Europe/London",
|
|
417
|
-
"Europe/Paris",
|
|
418
|
-
"Europe/Berlin",
|
|
419
|
-
"America/New_York",
|
|
420
|
-
"America/Chicago",
|
|
421
|
-
"America/Denver",
|
|
422
|
-
"America/Los_Angeles",
|
|
423
|
-
"Asia/Tokyo",
|
|
424
|
-
"Asia/Singapore",
|
|
425
|
-
"Australia/Sydney"
|
|
426
|
-
];
|
|
427
|
-
}
|
|
428
|
-
function detectTimeZone() {
|
|
429
|
-
try {
|
|
430
|
-
return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
|
|
431
|
-
} catch {
|
|
432
|
-
return "UTC";
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
function formatInZone(utc, zone, options, locale) {
|
|
436
|
-
const ms = instantOf(utc).epochMilliseconds;
|
|
437
|
-
return new Intl.DateTimeFormat(locale, { ...options, timeZone: safeZone(zone) }).format(ms);
|
|
438
|
-
}
|
|
439
|
-
function formatPlainDate(date, options, locale) {
|
|
440
|
-
return new Intl.DateTimeFormat(locale, { ...options, timeZone: "UTC" }).format(
|
|
441
|
-
Date.parse(`${date}T12:00:00Z`)
|
|
442
|
-
);
|
|
443
|
-
}
|
|
444
|
-
function epochToWallArray(ms, zone) {
|
|
445
|
-
const z = temporalPolyfill.Temporal.Instant.fromEpochMilliseconds(ms).toZonedDateTimeISO(zone);
|
|
446
|
-
return [z.year, z.month - 1, z.day, z.hour, z.minute, z.second, z.millisecond];
|
|
447
|
-
}
|
|
448
|
-
function wallArrayOffset(a, zone) {
|
|
449
|
-
const norm = new Date(
|
|
450
|
-
Date.UTC(a[0], a[1] ?? 0, a[2] ?? 1, a[3] ?? 0, a[4] ?? 0, a[5] ?? 0, a[6] ?? 0)
|
|
451
|
-
);
|
|
452
|
-
const pdt = new temporalPolyfill.Temporal.PlainDateTime(
|
|
453
|
-
norm.getUTCFullYear(),
|
|
454
|
-
norm.getUTCMonth() + 1,
|
|
455
|
-
norm.getUTCDate(),
|
|
456
|
-
norm.getUTCHours(),
|
|
457
|
-
norm.getUTCMinutes(),
|
|
458
|
-
norm.getUTCSeconds(),
|
|
459
|
-
norm.getUTCMilliseconds()
|
|
460
|
-
);
|
|
461
|
-
const zdt = pdt.toZonedDateTime(zone, { disambiguation: "compatible" });
|
|
462
|
-
return Math.round(zdt.offsetNanoseconds / 6e10);
|
|
463
|
-
}
|
|
464
322
|
var temporalZonePlugin = null;
|
|
465
323
|
function getTemporalTimeZonePlugin() {
|
|
466
324
|
if (!temporalZonePlugin) {
|
|
467
325
|
class TemporalNamedTimeZone extends internal.NamedTimeZoneImpl {
|
|
468
326
|
offsetForArray(a) {
|
|
469
|
-
return wallArrayOffset(a, this.timeZoneName);
|
|
327
|
+
return chunkBIXHB4LV_cjs.wallArrayOffset(a, this.timeZoneName);
|
|
470
328
|
}
|
|
471
329
|
timestampToArray(ms) {
|
|
472
|
-
return epochToWallArray(ms, this.timeZoneName);
|
|
330
|
+
return chunkBIXHB4LV_cjs.epochToWallArray(ms, this.timeZoneName);
|
|
473
331
|
}
|
|
474
332
|
}
|
|
475
333
|
temporalZonePlugin = core.createPlugin({
|
|
@@ -555,9 +413,9 @@ function toEventInput(e, zone) {
|
|
|
555
413
|
extendedProps: { grid: e }
|
|
556
414
|
};
|
|
557
415
|
if (e.allDay) {
|
|
558
|
-
const start = e.startDate ?? utcToDate(e.startUtc, zone);
|
|
559
|
-
const end = e.endDate ?? (e.endUtc ? utcToDate(e.endUtc, zone) : addDays(start, 1));
|
|
560
|
-
return { ...base, allDay: true, start, end: end > start ? end : addDays(start, 1) };
|
|
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) };
|
|
561
419
|
}
|
|
562
420
|
return { ...base, allDay: false, start: e.startUtc, end: e.endUtc };
|
|
563
421
|
}
|
|
@@ -663,8 +521,8 @@ function CalendarGrid({
|
|
|
663
521
|
keyboardShortcuts = true
|
|
664
522
|
}) {
|
|
665
523
|
const labels = react.useMemo(() => mergeLabels(labelOverrides), [labelOverrides]);
|
|
666
|
-
const zone = safeZone(timeZone);
|
|
667
|
-
const secondZone = secondaryTimeZone && secondaryTimeZone !== zone && isValidTimeZone(secondaryTimeZone) ? secondaryTimeZone : "";
|
|
524
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
525
|
+
const secondZone = secondaryTimeZone && secondaryTimeZone !== zone && chunkBIXHB4LV_cjs.isValidTimeZone(secondaryTimeZone) ? secondaryTimeZone : "";
|
|
668
526
|
const rootRef = react.useRef(null);
|
|
669
527
|
const calRef = react.useRef(null);
|
|
670
528
|
const [narrow, setNarrow] = react.useState(false);
|
|
@@ -707,7 +565,7 @@ function CalendarGrid({
|
|
|
707
565
|
a.changeView(fcView, date);
|
|
708
566
|
return;
|
|
709
567
|
}
|
|
710
|
-
if (utcToDate(a.getDate(), zone) !== date) a.gotoDate(date);
|
|
568
|
+
if (chunkBIXHB4LV_cjs.utcToDate(a.getDate(), zone) !== date) a.gotoDate(date);
|
|
711
569
|
}, [api, effective, date, zone]);
|
|
712
570
|
const fcEvents = react.useMemo(() => events.map((e) => toEventInput(e, zone)), [events, zone]);
|
|
713
571
|
const changeView = react.useCallback(
|
|
@@ -724,7 +582,7 @@ function CalendarGrid({
|
|
|
724
582
|
if (!a) return;
|
|
725
583
|
if (dir === "prev") a.prev();
|
|
726
584
|
else if (dir === "next") a.next();
|
|
727
|
-
else a.gotoDate(utcToDate(Date.now(), zone));
|
|
585
|
+
else a.gotoDate(chunkBIXHB4LV_cjs.utcToDate(Date.now(), zone));
|
|
728
586
|
},
|
|
729
587
|
[api, zone]
|
|
730
588
|
);
|
|
@@ -758,7 +616,7 @@ function CalendarGrid({
|
|
|
758
616
|
const onDatesSet = react.useCallback(
|
|
759
617
|
(arg) => {
|
|
760
618
|
setTitle(arg.view.title);
|
|
761
|
-
const anchor = utcToDate(arg.view.calendar.getDate(), zone);
|
|
619
|
+
const anchor = chunkBIXHB4LV_cjs.utcToDate(arg.view.calendar.getDate(), zone);
|
|
762
620
|
const kind = VIEW_OF_FC[arg.view.type] ?? effective;
|
|
763
621
|
const key = `${kind}|${arg.start.toISOString()}|${arg.end.toISOString()}|${anchor}`;
|
|
764
622
|
if (key === lastRange.current) return;
|
|
@@ -799,7 +657,7 @@ function CalendarGrid({
|
|
|
799
657
|
const start = event.start;
|
|
800
658
|
if (event.allDay) {
|
|
801
659
|
const startDate = event.startStr.slice(0, 10);
|
|
802
|
-
const endDate = event.endStr ? event.endStr.slice(0, 10) : addDays(startDate, 1);
|
|
660
|
+
const endDate = event.endStr ? event.endStr.slice(0, 10) : chunkBIXHB4LV_cjs.addDays(startDate, 1);
|
|
803
661
|
const end2 = event.end ?? new Date(start.getTime() + 864e5);
|
|
804
662
|
cb.current.onEventChange({
|
|
805
663
|
instanceId: g.instanceId,
|
|
@@ -828,7 +686,7 @@ function CalendarGrid({
|
|
|
828
686
|
if (!secondZone) return arg.text;
|
|
829
687
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "arbi-cal-slot-labels", children: [
|
|
830
688
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-secondary", children: (() => {
|
|
831
|
-
const t = convertWall(`${date}T${utcToTime(arg.date, zone)}`, zone, secondZone).slice(
|
|
689
|
+
const t = chunkBIXHB4LV_cjs.convertWall(`${date}T${chunkBIXHB4LV_cjs.utcToTime(arg.date, zone)}`, zone, secondZone).slice(
|
|
832
690
|
11,
|
|
833
691
|
16
|
|
834
692
|
);
|
|
@@ -843,8 +701,8 @@ function CalendarGrid({
|
|
|
843
701
|
(arg) => {
|
|
844
702
|
if (!secondZone) return arg.text;
|
|
845
703
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "arbi-cal-slot-labels arbi-cal-zone-labels", children: [
|
|
846
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-secondary", title: secondZone, children: zoneOffsetLabel(secondZone) }),
|
|
847
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-slot-primary", title: zone, children: zoneOffsetLabel(zone) })
|
|
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) })
|
|
848
706
|
] });
|
|
849
707
|
},
|
|
850
708
|
[secondZone, zone]
|
|
@@ -854,8 +712,8 @@ function CalendarGrid({
|
|
|
854
712
|
const t = arg.view.type;
|
|
855
713
|
if (!t.startsWith("timeGrid") && t !== "arbiWorkWeek") return arg.text;
|
|
856
714
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("arbi-cal-dayhead", arg.isToday && "arbi-cal-dayhead-today"), children: [
|
|
857
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-dayhead-dow", children: formatInZone(arg.date, zone, { weekday: "short" }) }),
|
|
858
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arbi-cal-dayhead-num", children: formatInZone(arg.date, zone, { day: "numeric" }) })
|
|
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" }) })
|
|
859
717
|
] });
|
|
860
718
|
},
|
|
861
719
|
[zone]
|
|
@@ -972,13 +830,13 @@ function CalendarGrid({
|
|
|
972
830
|
className: "hidden text-xs text-muted-foreground md:inline",
|
|
973
831
|
"data-testid": "calendar-zones",
|
|
974
832
|
children: [
|
|
975
|
-
zoneCity(zone),
|
|
833
|
+
chunkBIXHB4LV_cjs.zoneCity(zone),
|
|
976
834
|
" ",
|
|
977
|
-
zoneOffsetLabel(zone),
|
|
835
|
+
chunkBIXHB4LV_cjs.zoneOffsetLabel(zone),
|
|
978
836
|
" \xB7 ",
|
|
979
|
-
zoneCity(secondZone),
|
|
837
|
+
chunkBIXHB4LV_cjs.zoneCity(secondZone),
|
|
980
838
|
" ",
|
|
981
|
-
zoneOffsetLabel(secondZone)
|
|
839
|
+
chunkBIXHB4LV_cjs.zoneOffsetLabel(secondZone)
|
|
982
840
|
]
|
|
983
841
|
}
|
|
984
842
|
),
|
|
@@ -1106,13 +964,13 @@ function MiniMonth({
|
|
|
1106
964
|
if (view.for !== date) setView({ for: date, month: `${date.slice(0, 7)}-01` });
|
|
1107
965
|
const month = view.for === date ? view.month : `${date.slice(0, 7)}-01`;
|
|
1108
966
|
const setMonth = (m) => setView({ for: date, month: m });
|
|
1109
|
-
const today = todayInZone(timeZone);
|
|
967
|
+
const today = chunkBIXHB4LV_cjs.todayInZone(timeZone);
|
|
1110
968
|
const days = react.useMemo(() => {
|
|
1111
|
-
const first = startOfWeek(month, weekStart);
|
|
1112
|
-
return Array.from({ length: 42 }, (_, i) => addDays(first, i));
|
|
969
|
+
const first = chunkBIXHB4LV_cjs.startOfWeek(month, weekStart);
|
|
970
|
+
return Array.from({ length: 42 }, (_, i) => chunkBIXHB4LV_cjs.addDays(first, i));
|
|
1113
971
|
}, [month, weekStart]);
|
|
1114
|
-
const weekdays = days.slice(0, 7).map((d) => formatPlainDate(d, { weekday: "narrow" }));
|
|
1115
|
-
const monthTitle = formatPlainDate(month, { month: "long", year: "numeric" });
|
|
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" });
|
|
1116
974
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("select-none text-xs", className), "data-testid": "calendar-mini-month", children: [
|
|
1117
975
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between px-1", children: [
|
|
1118
976
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", "aria-live": "polite", children: monthTitle }),
|
|
@@ -1123,7 +981,7 @@ function MiniMonth({
|
|
|
1123
981
|
type: "button",
|
|
1124
982
|
className: "rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
1125
983
|
"aria-label": labels.previous,
|
|
1126
|
-
onClick: () => setMonth(addMonths(month, -1)),
|
|
984
|
+
onClick: () => setMonth(chunkBIXHB4LV_cjs.addMonths(month, -1)),
|
|
1127
985
|
"data-testid": "calendar-mini-prev",
|
|
1128
986
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" })
|
|
1129
987
|
}
|
|
@@ -1134,7 +992,7 @@ function MiniMonth({
|
|
|
1134
992
|
type: "button",
|
|
1135
993
|
className: "rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground",
|
|
1136
994
|
"aria-label": labels.next,
|
|
1137
|
-
onClick: () => setMonth(addMonths(month, 1)),
|
|
995
|
+
onClick: () => setMonth(chunkBIXHB4LV_cjs.addMonths(month, 1)),
|
|
1138
996
|
"data-testid": "calendar-mini-next",
|
|
1139
997
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
1140
998
|
}
|
|
@@ -1170,7 +1028,7 @@ function MiniMonth({
|
|
|
1170
1028
|
MiniDay,
|
|
1171
1029
|
{
|
|
1172
1030
|
d,
|
|
1173
|
-
weekCell: showWeekNumbers && i % 7 === 0 ? isoWeekNumber(d) : null,
|
|
1031
|
+
weekCell: showWeekNumbers && i % 7 === 0 ? chunkBIXHB4LV_cjs.isoWeekNumber(d) : null,
|
|
1174
1032
|
inMonth,
|
|
1175
1033
|
inRange,
|
|
1176
1034
|
selected,
|
|
@@ -1203,7 +1061,7 @@ function MiniDay({
|
|
|
1203
1061
|
role: "gridcell",
|
|
1204
1062
|
"aria-selected": selected,
|
|
1205
1063
|
"aria-current": isToday ? "date" : void 0,
|
|
1206
|
-
"aria-label": formatPlainDate(d, { dateStyle: "full" }),
|
|
1064
|
+
"aria-label": chunkBIXHB4LV_cjs.formatPlainDate(d, { dateStyle: "full" }),
|
|
1207
1065
|
onClick: () => onSelect(d),
|
|
1208
1066
|
"data-testid": `calendar-mini-day-${d}`,
|
|
1209
1067
|
className: ui.cn(
|
|
@@ -1455,12 +1313,12 @@ function CalendarList({
|
|
|
1455
1313
|
var isAllDayDraft = (d) => !!d.start.date;
|
|
1456
1314
|
var datePart = (spec) => spec.date ?? (spec.date_time ?? "").slice(0, 10);
|
|
1457
1315
|
var timePart = (spec) => (spec.date_time ?? "").slice(11, 16);
|
|
1458
|
-
var specZone = (spec, defaultZone) => safeZone(spec.time_zone, defaultZone);
|
|
1316
|
+
var specZone = (spec, defaultZone) => chunkBIXHB4LV_cjs.safeZone(spec.time_zone, defaultZone);
|
|
1459
1317
|
var specDate = datePart;
|
|
1460
1318
|
var specTime = timePart;
|
|
1461
1319
|
function specEpochMs(spec, defaultZone) {
|
|
1462
|
-
if (spec.date) return wallToEpochMs(spec.date, defaultZone);
|
|
1463
|
-
return wallToEpochMs(spec.date_time ?? "", specZone(spec, defaultZone));
|
|
1320
|
+
if (spec.date) return chunkBIXHB4LV_cjs.wallToEpochMs(spec.date, defaultZone);
|
|
1321
|
+
return chunkBIXHB4LV_cjs.wallToEpochMs(spec.date_time ?? "", specZone(spec, defaultZone));
|
|
1464
1322
|
}
|
|
1465
1323
|
function draftRangeUtc(d, defaultZone) {
|
|
1466
1324
|
return { startMs: specEpochMs(d.start, defaultZone), endMs: specEpochMs(d.end, defaultZone) };
|
|
@@ -1468,7 +1326,7 @@ function draftRangeUtc(d, defaultZone) {
|
|
|
1468
1326
|
function allDayInclusiveEnd(d) {
|
|
1469
1327
|
const start = d.start.date ?? "";
|
|
1470
1328
|
const end = d.end.date ?? start;
|
|
1471
|
-
const last = addDays(end, -1);
|
|
1329
|
+
const last = chunkBIXHB4LV_cjs.addDays(end, -1);
|
|
1472
1330
|
return last < start ? start : last;
|
|
1473
1331
|
}
|
|
1474
1332
|
function timedSpec(date, time, zone) {
|
|
@@ -1478,8 +1336,8 @@ function setDraftStart(d, change, defaultZone) {
|
|
|
1478
1336
|
if (isAllDayDraft(d)) {
|
|
1479
1337
|
const oldStart = d.start.date ?? change.date ?? "";
|
|
1480
1338
|
const start2 = change.date ?? oldStart;
|
|
1481
|
-
const days = Math.max(1, diffDays(oldStart, d.end.date ?? addDays(oldStart, 1)));
|
|
1482
|
-
return { ...d, start: { date: start2 }, end: { date: addDays(start2, days) } };
|
|
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) } };
|
|
1483
1341
|
}
|
|
1484
1342
|
const { startMs, endMs } = draftRangeUtc(d, defaultZone);
|
|
1485
1343
|
const duration = Math.max(0, endMs - startMs);
|
|
@@ -1491,7 +1349,7 @@ function setDraftStart(d, change, defaultZone) {
|
|
|
1491
1349
|
);
|
|
1492
1350
|
const newStartMs = specEpochMs(start, defaultZone);
|
|
1493
1351
|
const endZone = specZone(d.end, defaultZone);
|
|
1494
|
-
const endWall = utcToWall(newStartMs + duration, endZone);
|
|
1352
|
+
const endWall = chunkBIXHB4LV_cjs.utcToWall(newStartMs + duration, endZone);
|
|
1495
1353
|
return {
|
|
1496
1354
|
...d,
|
|
1497
1355
|
start,
|
|
@@ -1501,7 +1359,7 @@ function setDraftStart(d, change, defaultZone) {
|
|
|
1501
1359
|
function setDraftEnd(d, change) {
|
|
1502
1360
|
if (isAllDayDraft(d)) {
|
|
1503
1361
|
const last = change.date ?? allDayInclusiveEnd(d);
|
|
1504
|
-
return { ...d, end: { date: addDays(last, 1) } };
|
|
1362
|
+
return { ...d, end: { date: chunkBIXHB4LV_cjs.addDays(last, 1) } };
|
|
1505
1363
|
}
|
|
1506
1364
|
const zone = change.timeZone !== void 0 ? change.timeZone : d.end.time_zone ?? null;
|
|
1507
1365
|
return {
|
|
@@ -1514,35 +1372,35 @@ function setDraftAllDay(d, allDay, defaultZone, defaultStartTime = "09:00", defa
|
|
|
1514
1372
|
if (allDay) {
|
|
1515
1373
|
const start2 = datePart(d.start);
|
|
1516
1374
|
const endDay = datePart(d.end) || start2;
|
|
1517
|
-
const lastDay = timePart(d.end) === "00:00" && endDay > start2 ? addDays(endDay, -1) : endDay;
|
|
1375
|
+
const lastDay = timePart(d.end) === "00:00" && endDay > start2 ? chunkBIXHB4LV_cjs.addDays(endDay, -1) : endDay;
|
|
1518
1376
|
return {
|
|
1519
1377
|
...d,
|
|
1520
1378
|
start: { date: start2 },
|
|
1521
|
-
end: { date: addDays(lastDay < start2 ? start2 : lastDay, 1) }
|
|
1379
|
+
end: { date: chunkBIXHB4LV_cjs.addDays(lastDay < start2 ? start2 : lastDay, 1) }
|
|
1522
1380
|
};
|
|
1523
1381
|
}
|
|
1524
|
-
const zone = safeZone(defaultZone);
|
|
1382
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(defaultZone);
|
|
1525
1383
|
const start = timedSpec(d.start.date ?? "", defaultStartTime, zone);
|
|
1526
1384
|
const startMs = specEpochMs(start, zone);
|
|
1527
1385
|
const end = {
|
|
1528
1386
|
date: null,
|
|
1529
|
-
date_time: utcToWall(startMs + defaultDurationMinutes * 6e4, zone),
|
|
1387
|
+
date_time: chunkBIXHB4LV_cjs.utcToWall(startMs + defaultDurationMinutes * 6e4, zone),
|
|
1530
1388
|
time_zone: zone
|
|
1531
1389
|
};
|
|
1532
1390
|
return { ...d, start, end };
|
|
1533
1391
|
}
|
|
1534
1392
|
function draftFromSlot(slot, timeZone, calendarId, title = "") {
|
|
1535
|
-
const zone = safeZone(timeZone);
|
|
1393
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
1536
1394
|
if (slot.allDay) {
|
|
1537
|
-
const start = slot.startDate ?? utcToDate(slot.startUtc, zone);
|
|
1538
|
-
const end = slot.endDate ?? addDays(start, 1);
|
|
1395
|
+
const start = slot.startDate ?? chunkBIXHB4LV_cjs.utcToDate(slot.startUtc, zone);
|
|
1396
|
+
const end = slot.endDate ?? chunkBIXHB4LV_cjs.addDays(start, 1);
|
|
1539
1397
|
return { calendar_id: calendarId, title, start: { date: start }, end: { date: end } };
|
|
1540
1398
|
}
|
|
1541
1399
|
return {
|
|
1542
1400
|
calendar_id: calendarId,
|
|
1543
1401
|
title,
|
|
1544
|
-
start: { date: null, date_time: utcToWall(slot.startUtc, zone), time_zone: zone },
|
|
1545
|
-
end: { date: null, date_time: utcToWall(slot.endUtc, zone), time_zone: zone }
|
|
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 }
|
|
1546
1404
|
};
|
|
1547
1405
|
}
|
|
1548
1406
|
function validateDraft(d, defaultZone) {
|
|
@@ -1590,7 +1448,7 @@ function defaultRecurrenceForm(startDate, freq = "none") {
|
|
|
1590
1448
|
function untilValue(until, ctx) {
|
|
1591
1449
|
if (ctx.allDay) return until.replace(/-/g, "");
|
|
1592
1450
|
const zone = ctx.timeZone || "UTC";
|
|
1593
|
-
const utc = wallToUtc(`${until}T23:59:59`, zone);
|
|
1451
|
+
const utc = chunkBIXHB4LV_cjs.wallToUtc(`${until}T23:59:59`, zone);
|
|
1594
1452
|
const t = temporalPolyfill.Temporal.Instant.from(utc).toZonedDateTimeISO("UTC");
|
|
1595
1453
|
const p = (n, w = 2) => String(n).padStart(w, "0");
|
|
1596
1454
|
return `${p(t.year, 4)}${p(t.month)}${p(t.day)}T${p(t.hour)}${p(t.minute)}${p(t.second)}Z`;
|
|
@@ -2095,10 +1953,10 @@ function RecurrenceEditor({
|
|
|
2095
1953
|
|
|
2096
1954
|
// src/calendar/format.ts
|
|
2097
1955
|
function formatZoneLabel(zone, at = Date.now()) {
|
|
2098
|
-
return `${zoneCity(zone)} (${zoneOffsetLabel(zone, at)})`;
|
|
1956
|
+
return `${chunkBIXHB4LV_cjs.zoneCity(zone)} (${chunkBIXHB4LV_cjs.zoneOffsetLabel(zone, at)})`;
|
|
2099
1957
|
}
|
|
2100
1958
|
function formatEventWhen(e, zone, locale) {
|
|
2101
|
-
const z = safeZone(zone);
|
|
1959
|
+
const z = chunkBIXHB4LV_cjs.safeZone(zone);
|
|
2102
1960
|
const dayFmt = {
|
|
2103
1961
|
weekday: "short",
|
|
2104
1962
|
day: "numeric",
|
|
@@ -2106,16 +1964,16 @@ function formatEventWhen(e, zone, locale) {
|
|
|
2106
1964
|
year: "numeric"
|
|
2107
1965
|
};
|
|
2108
1966
|
if (e.all_day) {
|
|
2109
|
-
const start = e.start.date ?? utcToDate(e.start_utc, z);
|
|
2110
|
-
const endExcl = e.end.date ?? utcToDate(e.end_utc, z);
|
|
2111
|
-
const last = endExcl > start ? addDays(endExcl, -1) : start;
|
|
2112
|
-
const a2 = formatPlainDate(start, dayFmt, locale);
|
|
2113
|
-
return last === start ? a2 : `${a2} \u2013 ${formatPlainDate(last, dayFmt, locale)}`;
|
|
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)}`;
|
|
2114
1972
|
}
|
|
2115
1973
|
const timeFmt = { hour: "numeric", minute: "2-digit" };
|
|
2116
|
-
const sameDay = utcToDate(e.start_utc, z) === utcToDate(e.end_utc, z);
|
|
2117
|
-
const a = `${formatInZone(e.start_utc, z, dayFmt, locale)} \xB7 ${formatInZone(e.start_utc, z, timeFmt, locale)}`;
|
|
2118
|
-
return sameDay ? `${a} \u2013 ${formatInZone(e.end_utc, z, timeFmt, locale)}` : `${a} \u2013 ${formatInZone(e.end_utc, z, dayFmt, locale)} \xB7 ${formatInZone(e.end_utc, z, timeFmt, locale)}`;
|
|
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)}`;
|
|
2119
1977
|
}
|
|
2120
1978
|
function TimeZonePicker({
|
|
2121
1979
|
value,
|
|
@@ -2133,15 +1991,15 @@ function TimeZonePicker({
|
|
|
2133
1991
|
const [open, setOpen] = react.useState(false);
|
|
2134
1992
|
const options = react.useMemo(() => {
|
|
2135
1993
|
const now = Date.now();
|
|
2136
|
-
const list = zones?.length ? zones : listTimeZones();
|
|
1994
|
+
const list = zones?.length ? zones : chunkBIXHB4LV_cjs.listTimeZones();
|
|
2137
1995
|
return list.map((z) => {
|
|
2138
1996
|
let offset = 0;
|
|
2139
1997
|
try {
|
|
2140
|
-
offset = zoneOffsetMinutes(z, now);
|
|
1998
|
+
offset = chunkBIXHB4LV_cjs.zoneOffsetMinutes(z, now);
|
|
2141
1999
|
} catch {
|
|
2142
2000
|
return null;
|
|
2143
2001
|
}
|
|
2144
|
-
return { zone: z, offset, label: zoneOffsetLabel(z, now), city: zoneCity(z) };
|
|
2002
|
+
return { zone: z, offset, label: chunkBIXHB4LV_cjs.zoneOffsetLabel(z, now), city: chunkBIXHB4LV_cjs.zoneCity(z) };
|
|
2145
2003
|
}).filter((o) => o !== null).sort((a, b) => a.offset - b.offset || a.zone.localeCompare(b.zone));
|
|
2146
2004
|
}, [zones, open]);
|
|
2147
2005
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Popover, { open, onOpenChange: setOpen, children: [
|
|
@@ -3192,12 +3050,12 @@ function EventDetails({
|
|
|
3192
3050
|
className
|
|
3193
3051
|
}) {
|
|
3194
3052
|
const l = mergeLabels(labelOverrides);
|
|
3195
|
-
const zone = safeZone(timeZone);
|
|
3053
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
3196
3054
|
const color = event.color || calendarColor || "#3b82f6";
|
|
3197
3055
|
const restricted = !!event.restricted;
|
|
3198
3056
|
const title = restricted ? l.busy : event.title?.trim() || l.noTitle;
|
|
3199
3057
|
const eventZone = event.start.time_zone;
|
|
3200
|
-
const otherZone = !event.all_day && eventZone && eventZone !== zone ? safeZone(eventZone, zone) : null;
|
|
3058
|
+
const otherZone = !event.all_day && eventZone && eventZone !== zone ? chunkBIXHB4LV_cjs.safeZone(eventZone, zone) : null;
|
|
3201
3059
|
const attendees = event.attendees ?? [];
|
|
3202
3060
|
const counts = attendees.reduce((acc, a) => {
|
|
3203
3061
|
const k = a.partstat ?? "needs_action";
|
|
@@ -3231,14 +3089,14 @@ function EventDetails({
|
|
|
3231
3089
|
),
|
|
3232
3090
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", "data-testid": "calendar-details-when", children: formatEventWhen(event, zone) }),
|
|
3233
3091
|
otherZone && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground", children: [
|
|
3234
|
-
formatInZone(event.start_utc, otherZone, { hour: "numeric", minute: "2-digit" }),
|
|
3092
|
+
chunkBIXHB4LV_cjs.formatInZone(event.start_utc, otherZone, { hour: "numeric", minute: "2-digit" }),
|
|
3235
3093
|
" \u2013",
|
|
3236
3094
|
" ",
|
|
3237
|
-
formatInZone(event.end_utc, otherZone, { hour: "numeric", minute: "2-digit" }),
|
|
3095
|
+
chunkBIXHB4LV_cjs.formatInZone(event.end_utc, otherZone, { hour: "numeric", minute: "2-digit" }),
|
|
3238
3096
|
" ",
|
|
3239
|
-
zoneCity(otherZone),
|
|
3097
|
+
chunkBIXHB4LV_cjs.zoneCity(otherZone),
|
|
3240
3098
|
" (",
|
|
3241
|
-
zoneOffsetLabel(otherZone, event.start_utc),
|
|
3099
|
+
chunkBIXHB4LV_cjs.zoneOffsetLabel(otherZone, event.start_utc),
|
|
3242
3100
|
")"
|
|
3243
3101
|
] })
|
|
3244
3102
|
] }),
|
|
@@ -3512,10 +3370,10 @@ function ScopeDialog({
|
|
|
3512
3370
|
}
|
|
3513
3371
|
|
|
3514
3372
|
// src/calendar/scheduling.ts
|
|
3515
|
-
var
|
|
3373
|
+
var pad2 = (n) => String(n).padStart(2, "0");
|
|
3516
3374
|
function dayWindow(date, zone, startHour = 7, endHour = 20) {
|
|
3517
|
-
const startMs = wallToEpochMs(`${date}T${
|
|
3518
|
-
const endMs = endHour >= 24 ? wallToEpochMs(`${date}T23:59`, zone) + 6e4 : wallToEpochMs(`${date}T${
|
|
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);
|
|
3519
3377
|
return { startMs, endMs };
|
|
3520
3378
|
}
|
|
3521
3379
|
function placeIntervals(intervals, win) {
|
|
@@ -3560,7 +3418,7 @@ function hourTicks(date, zone, startHour, endHour) {
|
|
|
3560
3418
|
const span = win.endMs - win.startMs;
|
|
3561
3419
|
const ticks = [];
|
|
3562
3420
|
for (let h = startHour; h < endHour; h++) {
|
|
3563
|
-
const ms = wallToEpochMs(`${date}T${
|
|
3421
|
+
const ms = chunkBIXHB4LV_cjs.wallToEpochMs(`${date}T${pad2(h)}:00`, zone);
|
|
3564
3422
|
ticks.push({ hour: h, leftPct: (ms - win.startMs) / span * 100 });
|
|
3565
3423
|
}
|
|
3566
3424
|
return ticks;
|
|
@@ -3582,11 +3440,11 @@ function SchedulingAssistant({
|
|
|
3582
3440
|
className
|
|
3583
3441
|
}) {
|
|
3584
3442
|
const l = mergeLabels(labelOverrides);
|
|
3585
|
-
const zone = safeZone(timeZone);
|
|
3443
|
+
const zone = chunkBIXHB4LV_cjs.safeZone(timeZone);
|
|
3586
3444
|
const win = dayWindow(date, zone, dayStartHour, dayEndHour);
|
|
3587
3445
|
const ticks = hourTicks(date, zone, dayStartHour, dayEndHour);
|
|
3588
3446
|
const sel = selection ? placeIntervals([selection], win)[0] : void 0;
|
|
3589
|
-
const time = (iso) => formatInZone(iso, zone, { hour: "numeric", minute: "2-digit" });
|
|
3447
|
+
const time = (iso) => chunkBIXHB4LV_cjs.formatInZone(iso, zone, { hour: "numeric", minute: "2-digit" });
|
|
3590
3448
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("space-y-2", className), "data-testid": "calendar-scheduling", children: [
|
|
3591
3449
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3592
3450
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: l.schedulingAssistant }),
|
|
@@ -3599,11 +3457,11 @@ function SchedulingAssistant({
|
|
|
3599
3457
|
size: "icon",
|
|
3600
3458
|
className: "h-7 w-7",
|
|
3601
3459
|
"aria-label": l.previous,
|
|
3602
|
-
onClick: () => onDateChange(addDays(date, -1)),
|
|
3460
|
+
onClick: () => onDateChange(chunkBIXHB4LV_cjs.addDays(date, -1)),
|
|
3603
3461
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" })
|
|
3604
3462
|
}
|
|
3605
3463
|
),
|
|
3606
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", "data-testid": "calendar-scheduling-date", children: formatPlainDate(date, { weekday: "short", day: "numeric", month: "short" }) }),
|
|
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" }) }),
|
|
3607
3465
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3608
3466
|
ui.Button,
|
|
3609
3467
|
{
|
|
@@ -3612,7 +3470,7 @@ function SchedulingAssistant({
|
|
|
3612
3470
|
size: "icon",
|
|
3613
3471
|
className: "h-7 w-7",
|
|
3614
3472
|
"aria-label": l.next,
|
|
3615
|
-
onClick: () => onDateChange(addDays(date, 1)),
|
|
3473
|
+
onClick: () => onDateChange(chunkBIXHB4LV_cjs.addDays(date, 1)),
|
|
3616
3474
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
3617
3475
|
}
|
|
3618
3476
|
)
|
|
@@ -3728,7 +3586,7 @@ function SchedulingAssistant({
|
|
|
3728
3586
|
"data-testid": "calendar-suggestion",
|
|
3729
3587
|
children: [
|
|
3730
3588
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "font-medium", children: [
|
|
3731
|
-
formatInZone(s.startUtc, zone, {
|
|
3589
|
+
chunkBIXHB4LV_cjs.formatInZone(s.startUtc, zone, {
|
|
3732
3590
|
weekday: "short",
|
|
3733
3591
|
day: "numeric",
|
|
3734
3592
|
month: "short"
|
|
@@ -3853,8 +3711,8 @@ function RoomFinder({
|
|
|
3853
3711
|
)
|
|
3854
3712
|
] });
|
|
3855
3713
|
}
|
|
3856
|
-
var mondayFirstName = (day) => formatPlainDate(`2024-01-0${day + 1}`, { weekday: "long" });
|
|
3857
|
-
var sundayFirstName = (day) => formatPlainDate(day === 0 ? "2023-12-31" : `2024-01-0${day}`, { weekday: "long" });
|
|
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" });
|
|
3858
3716
|
var VIEWS = ["day", "work_week", "week", "month", "agenda", "year"];
|
|
3859
3717
|
var DURATIONS = [15, 30, 45, 60, 90, 120];
|
|
3860
3718
|
var viewName = (v, l) => ({
|
|
@@ -4107,12 +3965,361 @@ function CalendarSettingsForm({
|
|
|
4107
3965
|
);
|
|
4108
3966
|
}
|
|
4109
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
|
+
|
|
4240
|
+
Object.defineProperty(exports, "addDays", {
|
|
4241
|
+
enumerable: true,
|
|
4242
|
+
get: function () { return chunkBIXHB4LV_cjs.addDays; }
|
|
4243
|
+
});
|
|
4244
|
+
Object.defineProperty(exports, "addMonths", {
|
|
4245
|
+
enumerable: true,
|
|
4246
|
+
get: function () { return chunkBIXHB4LV_cjs.addMonths; }
|
|
4247
|
+
});
|
|
4248
|
+
Object.defineProperty(exports, "convertWall", {
|
|
4249
|
+
enumerable: true,
|
|
4250
|
+
get: function () { return chunkBIXHB4LV_cjs.convertWall; }
|
|
4251
|
+
});
|
|
4252
|
+
Object.defineProperty(exports, "detectTimeZone", {
|
|
4253
|
+
enumerable: true,
|
|
4254
|
+
get: function () { return chunkBIXHB4LV_cjs.detectTimeZone; }
|
|
4255
|
+
});
|
|
4256
|
+
Object.defineProperty(exports, "diffDays", {
|
|
4257
|
+
enumerable: true,
|
|
4258
|
+
get: function () { return chunkBIXHB4LV_cjs.diffDays; }
|
|
4259
|
+
});
|
|
4260
|
+
Object.defineProperty(exports, "formatInZone", {
|
|
4261
|
+
enumerable: true,
|
|
4262
|
+
get: function () { return chunkBIXHB4LV_cjs.formatInZone; }
|
|
4263
|
+
});
|
|
4264
|
+
Object.defineProperty(exports, "formatPlainDate", {
|
|
4265
|
+
enumerable: true,
|
|
4266
|
+
get: function () { return chunkBIXHB4LV_cjs.formatPlainDate; }
|
|
4267
|
+
});
|
|
4268
|
+
Object.defineProperty(exports, "isValidTimeZone", {
|
|
4269
|
+
enumerable: true,
|
|
4270
|
+
get: function () { return chunkBIXHB4LV_cjs.isValidTimeZone; }
|
|
4271
|
+
});
|
|
4272
|
+
Object.defineProperty(exports, "listTimeZones", {
|
|
4273
|
+
enumerable: true,
|
|
4274
|
+
get: function () { return chunkBIXHB4LV_cjs.listTimeZones; }
|
|
4275
|
+
});
|
|
4276
|
+
Object.defineProperty(exports, "safeZone", {
|
|
4277
|
+
enumerable: true,
|
|
4278
|
+
get: function () { return chunkBIXHB4LV_cjs.safeZone; }
|
|
4279
|
+
});
|
|
4280
|
+
Object.defineProperty(exports, "startOfWeek", {
|
|
4281
|
+
enumerable: true,
|
|
4282
|
+
get: function () { return chunkBIXHB4LV_cjs.startOfWeek; }
|
|
4283
|
+
});
|
|
4284
|
+
Object.defineProperty(exports, "todayInZone", {
|
|
4285
|
+
enumerable: true,
|
|
4286
|
+
get: function () { return chunkBIXHB4LV_cjs.todayInZone; }
|
|
4287
|
+
});
|
|
4288
|
+
Object.defineProperty(exports, "utcToDate", {
|
|
4289
|
+
enumerable: true,
|
|
4290
|
+
get: function () { return chunkBIXHB4LV_cjs.utcToDate; }
|
|
4291
|
+
});
|
|
4292
|
+
Object.defineProperty(exports, "utcToTime", {
|
|
4293
|
+
enumerable: true,
|
|
4294
|
+
get: function () { return chunkBIXHB4LV_cjs.utcToTime; }
|
|
4295
|
+
});
|
|
4296
|
+
Object.defineProperty(exports, "utcToWall", {
|
|
4297
|
+
enumerable: true,
|
|
4298
|
+
get: function () { return chunkBIXHB4LV_cjs.utcToWall; }
|
|
4299
|
+
});
|
|
4300
|
+
Object.defineProperty(exports, "wallToUtc", {
|
|
4301
|
+
enumerable: true,
|
|
4302
|
+
get: function () { return chunkBIXHB4LV_cjs.wallToUtc; }
|
|
4303
|
+
});
|
|
4304
|
+
Object.defineProperty(exports, "zoneCity", {
|
|
4305
|
+
enumerable: true,
|
|
4306
|
+
get: function () { return chunkBIXHB4LV_cjs.zoneCity; }
|
|
4307
|
+
});
|
|
4308
|
+
Object.defineProperty(exports, "zoneOffsetLabel", {
|
|
4309
|
+
enumerable: true,
|
|
4310
|
+
get: function () { return chunkBIXHB4LV_cjs.zoneOffsetLabel; }
|
|
4311
|
+
});
|
|
4312
|
+
Object.defineProperty(exports, "zoneOffsetMinutes", {
|
|
4313
|
+
enumerable: true,
|
|
4314
|
+
get: function () { return chunkBIXHB4LV_cjs.zoneOffsetMinutes; }
|
|
4315
|
+
});
|
|
4110
4316
|
exports.ARBI_WEBINAR_LABEL = ARBI_WEBINAR_LABEL;
|
|
4111
4317
|
exports.CALENDAR_COLORS = CALENDAR_COLORS;
|
|
4112
4318
|
exports.CALENDAR_DEFAULT_LABELS = CALENDAR_DEFAULT_LABELS;
|
|
4113
4319
|
exports.CALENDAR_NARROW_WIDTH = CALENDAR_NARROW_WIDTH;
|
|
4114
4320
|
exports.CalendarGrid = CalendarGrid;
|
|
4115
4321
|
exports.CalendarList = CalendarList;
|
|
4322
|
+
exports.CalendarPrint = CalendarPrint;
|
|
4116
4323
|
exports.CalendarSettingsForm = CalendarSettingsForm;
|
|
4117
4324
|
exports.DEFAULT_RECURRENCE_DESCRIBE_LABELS = DEFAULT_RECURRENCE_DESCRIBE_LABELS;
|
|
4118
4325
|
exports.DEFAULT_RECURRENCE_EDITOR_LABELS = DEFAULT_RECURRENCE_EDITOR_LABELS;
|
|
@@ -4127,38 +4334,36 @@ exports.RoomFinder = RoomFinder;
|
|
|
4127
4334
|
exports.SchedulingAssistant = SchedulingAssistant;
|
|
4128
4335
|
exports.ScopeDialog = ScopeDialog;
|
|
4129
4336
|
exports.TimeZonePicker = TimeZonePicker;
|
|
4130
|
-
exports.addDays = addDays;
|
|
4131
|
-
exports.addMonths = addMonths;
|
|
4132
4337
|
exports.allDayInclusiveEnd = allDayInclusiveEnd;
|
|
4133
4338
|
exports.attendeeKey = attendeeKey;
|
|
4134
4339
|
exports.buildRRule = buildRRule;
|
|
4135
4340
|
exports.contrastText = contrastText;
|
|
4136
|
-
exports.convertWall = convertWall;
|
|
4137
4341
|
exports.dayWindow = dayWindow;
|
|
4138
4342
|
exports.defaultRecurrenceForm = defaultRecurrenceForm;
|
|
4139
4343
|
exports.describeRecurrence = describeRecurrence;
|
|
4140
|
-
exports.detectTimeZone = detectTimeZone;
|
|
4141
|
-
exports.diffDays = diffDays;
|
|
4142
4344
|
exports.draftFromSlot = draftFromSlot;
|
|
4143
4345
|
exports.draftRangeUtc = draftRangeUtc;
|
|
4144
4346
|
exports.effectiveCalendarView = effectiveCalendarView;
|
|
4347
|
+
exports.eventDays = eventDays;
|
|
4145
4348
|
exports.eventStateClasses = eventStateClasses;
|
|
4349
|
+
exports.eventsByDay = eventsByDay;
|
|
4350
|
+
exports.formatDayLabel = formatDayLabel;
|
|
4146
4351
|
exports.formatEventWhen = formatEventWhen;
|
|
4147
|
-
exports.formatInZone = formatInZone;
|
|
4148
|
-
exports.formatPlainDate = formatPlainDate;
|
|
4149
4352
|
exports.formatReminder = formatReminder;
|
|
4353
|
+
exports.formatSlotRange = formatSlotRange;
|
|
4354
|
+
exports.formatSlotTime = formatSlotTime;
|
|
4150
4355
|
exports.formatZoneLabel = formatZoneLabel;
|
|
4151
4356
|
exports.getTemporalTimeZonePlugin = getTemporalTimeZonePlugin;
|
|
4357
|
+
exports.groupSlotsByDay = groupSlotsByDay;
|
|
4152
4358
|
exports.hourTicks = hourTicks;
|
|
4153
4359
|
exports.isAllDayDraft = isAllDayDraft;
|
|
4154
|
-
exports.isValidTimeZone = isValidTimeZone;
|
|
4155
4360
|
exports.isWebinarConference = isWebinarConference;
|
|
4156
|
-
exports.listTimeZones = listTimeZones;
|
|
4157
4361
|
exports.outsideIntervals = outsideIntervals;
|
|
4158
4362
|
exports.parseRRule = parseRRule;
|
|
4159
4363
|
exports.placeIntervals = placeIntervals;
|
|
4364
|
+
exports.printCalendar = printCalendar;
|
|
4365
|
+
exports.printRange = printRange;
|
|
4160
4366
|
exports.reminderToMinutes = reminderToMinutes;
|
|
4161
|
-
exports.safeZone = safeZone;
|
|
4162
4367
|
exports.setDraftAllDay = setDraftAllDay;
|
|
4163
4368
|
exports.setDraftEnd = setDraftEnd;
|
|
4164
4369
|
exports.setDraftStart = setDraftStart;
|
|
@@ -4166,18 +4371,10 @@ exports.setPosOf = setPosOf;
|
|
|
4166
4371
|
exports.specDate = specDate;
|
|
4167
4372
|
exports.specTime = specTime;
|
|
4168
4373
|
exports.splitReminderMinutes = splitReminderMinutes;
|
|
4169
|
-
exports.startOfWeek = startOfWeek;
|
|
4170
4374
|
exports.toBusinessHours = toBusinessHours;
|
|
4171
|
-
exports.todayInZone = todayInZone;
|
|
4172
|
-
exports.utcToDate = utcToDate;
|
|
4173
|
-
exports.utcToTime = utcToTime;
|
|
4174
|
-
exports.utcToWall = utcToWall;
|
|
4175
4375
|
exports.validateDraft = validateDraft;
|
|
4176
|
-
exports.wallToUtc = wallToUtc;
|
|
4177
4376
|
exports.weekdayOf = weekdayOf;
|
|
4178
4377
|
exports.workWeekHiddenDays = workWeekHiddenDays;
|
|
4179
|
-
exports.
|
|
4180
|
-
exports.zoneOffsetLabel = zoneOffsetLabel;
|
|
4181
|
-
exports.zoneOffsetMinutes = zoneOffsetMinutes;
|
|
4378
|
+
exports.zoneOptions = zoneOptions;
|
|
4182
4379
|
//# sourceMappingURL=index.cjs.map
|
|
4183
4380
|
//# sourceMappingURL=index.cjs.map
|