@alfadocs/ui-kit 1.29.0 → 1.31.0

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.
Files changed (132) hide show
  1. package/dist/_chunks/{address-fields-CZ0pEdEI.js → address-fields-jFfjxOQR.js} +3 -3
  2. package/dist/_chunks/{anamnesis-summary-rows-DwjqZgR5.js → anamnesis-summary-rows-DMO3MWSt.js} +2 -2
  3. package/dist/_chunks/{appointment-card-Dzr3GeVz.js → appointment-card-CvUFFEdS.js} +8 -6
  4. package/dist/_chunks/{appointment-timeline-DhHwmHo1.js → appointment-timeline-DsMZY7U9.js} +2 -2
  5. package/dist/_chunks/{appointment-tray-4FUu_5NX.js → appointment-tray-Z2GaOIYQ.js} +2 -2
  6. package/dist/_chunks/{booking-AabCk7CI.js → booking-jGzRUETo.js} +2 -2
  7. package/dist/_chunks/{calendar-CI9MINcR.js → calendar-BNQKpxhE.js} +494 -438
  8. package/dist/_chunks/{calendar-event-card-66CEEWU6.js → calendar-event-card-DSh-69HT.js} +130 -122
  9. package/dist/_chunks/calendar-workspace-Dy1jHBvG.js +9392 -0
  10. package/dist/_chunks/{clinical-note-card-BBgFd2nB.js → clinical-note-card-yCTR9DB6.js} +185 -188
  11. package/dist/_chunks/{color-picker-CU303VjY.js → color-picker-Bl5f0iK1.js} +28 -25
  12. package/dist/_chunks/{combobox-D7_NLE2Z.js → combobox-DnSdYssy.js} +216 -215
  13. package/dist/_chunks/{country-select-DzbPFktV.js → country-select-CfDNFG5c.js} +2 -2
  14. package/dist/_chunks/{face-scheme-DA2vjqaM.js → face-scheme-l-CQyLs-.js} +2 -2
  15. package/dist/_chunks/notes-panel-am6e-Lwh.js +380 -0
  16. package/dist/_chunks/{patient-details-DYAmq76G.js → patient-details-CdfursHt.js} +3 -3
  17. package/dist/_chunks/{province-select-BBc7s7vR.js → province-select-BaUnkg4S.js} +2 -2
  18. package/dist/_chunks/{rich-text-editor-lSCiE0Zz.js → rich-text-editor-VJATL1Tk.js} +2 -2
  19. package/dist/_chunks/{sparkline-BmGcEyZO.js → sparkline-Dx_sxK3J.js} +228 -198
  20. package/dist/_chunks/{timeline-r-8IUoBS.js → timeline-u-2t9t_M.js} +37 -35
  21. package/dist/_chunks/use-zoom-drilldown-qCX34w9I.js +210 -0
  22. package/dist/agent-catalog.json +55 -11
  23. package/dist/agent-i18n/en.json +10 -8
  24. package/dist/components/_shared/get-error-message.d.ts +3 -0
  25. package/dist/components/address-fields/index.js +1 -1
  26. package/dist/components/appointment-card/index.js +2 -2
  27. package/dist/components/appointment-timeline/index.js +1 -1
  28. package/dist/components/booking/index.js +1 -1
  29. package/dist/components/calendar/calendar.d.ts +26 -2
  30. package/dist/components/calendar/index.js +1 -1
  31. package/dist/components/calendar-event-card/calendar-event-card.d.ts +9 -0
  32. package/dist/components/calendar-event-card/index.js +1 -1
  33. package/dist/components/clinical-note-card/clinical-note-card.d.ts +16 -1
  34. package/dist/components/clinical-note-card/index.js +1 -1
  35. package/dist/components/color-picker/index.js +1 -1
  36. package/dist/components/combobox/combobox.d.ts +5 -0
  37. package/dist/components/combobox/index.js +1 -1
  38. package/dist/components/country-select/index.js +1 -1
  39. package/dist/components/face-scheme/index.js +1 -1
  40. package/dist/components/index.d.ts +2 -2
  41. package/dist/components/notes-panel/index.d.ts +1 -1
  42. package/dist/components/notes-panel/index.js +1 -1
  43. package/dist/components/notes-panel/notes-panel.d.ts +24 -5
  44. package/dist/components/patient-details/index.js +1 -1
  45. package/dist/components/province-select/index.js +1 -1
  46. package/dist/components/rich-text-editor/index.js +1 -1
  47. package/dist/components/sparkline/index.js +1 -1
  48. package/dist/components/sparkline/sparkline.d.ts +6 -0
  49. package/dist/components/timeline/index.js +1 -1
  50. package/dist/components/timeline/timeline.d.ts +2 -0
  51. package/dist/hooks/index.d.ts +1 -0
  52. package/dist/hooks/index.js +56 -54
  53. package/dist/hooks/use-zoom-drilldown.d.ts +23 -0
  54. package/dist/host-compat.css +10 -1
  55. package/dist/i18n/locales/ar.d.ts +50 -0
  56. package/dist/i18n/locales/ar.js +54 -4
  57. package/dist/i18n/locales/de.d.ts +60 -10
  58. package/dist/i18n/locales/de.js +64 -14
  59. package/dist/i18n/locales/el.d.ts +50 -0
  60. package/dist/i18n/locales/el.js +54 -4
  61. package/dist/i18n/locales/en.d.ts +50 -0
  62. package/dist/i18n/locales/en.js +54 -4
  63. package/dist/i18n/locales/es.d.ts +50 -0
  64. package/dist/i18n/locales/es.js +54 -4
  65. package/dist/i18n/locales/fr.d.ts +50 -0
  66. package/dist/i18n/locales/fr.js +53 -3
  67. package/dist/i18n/locales/hi.d.ts +50 -0
  68. package/dist/i18n/locales/hi.js +54 -4
  69. package/dist/i18n/locales/it.d.ts +60 -10
  70. package/dist/i18n/locales/it.js +64 -14
  71. package/dist/i18n/locales/ja.d.ts +50 -0
  72. package/dist/i18n/locales/ja.js +54 -4
  73. package/dist/i18n/locales/nl.d.ts +50 -0
  74. package/dist/i18n/locales/nl.js +54 -4
  75. package/dist/i18n/locales/pl.d.ts +50 -0
  76. package/dist/i18n/locales/pl.js +54 -4
  77. package/dist/i18n/locales/pt.d.ts +50 -0
  78. package/dist/i18n/locales/pt.js +54 -4
  79. package/dist/i18n/locales/ro.d.ts +50 -0
  80. package/dist/i18n/locales/ro.js +53 -3
  81. package/dist/i18n/locales/ru.d.ts +50 -0
  82. package/dist/i18n/locales/ru.js +54 -4
  83. package/dist/i18n/locales/sq.d.ts +50 -0
  84. package/dist/i18n/locales/sq.js +54 -4
  85. package/dist/i18n/locales/sv.d.ts +50 -0
  86. package/dist/i18n/locales/sv.js +54 -4
  87. package/dist/i18n/locales/tr.d.ts +50 -0
  88. package/dist/i18n/locales/tr.js +54 -4
  89. package/dist/i18n/locales/zh.d.ts +50 -0
  90. package/dist/i18n/locales/zh.js +54 -4
  91. package/dist/index.js +1073 -1070
  92. package/dist/locales/ar.json +54 -4
  93. package/dist/locales/de.json +64 -14
  94. package/dist/locales/el.json +54 -4
  95. package/dist/locales/en.json +54 -4
  96. package/dist/locales/es.json +54 -4
  97. package/dist/locales/fr.json +53 -3
  98. package/dist/locales/hi.json +54 -4
  99. package/dist/locales/it.json +64 -14
  100. package/dist/locales/ja.json +54 -4
  101. package/dist/locales/nl.json +54 -4
  102. package/dist/locales/pl.json +54 -4
  103. package/dist/locales/pt.json +54 -4
  104. package/dist/locales/ro.json +53 -3
  105. package/dist/locales/ru.json +54 -4
  106. package/dist/locales/sq.json +54 -4
  107. package/dist/locales/sv.json +54 -4
  108. package/dist/locales/tr.json +54 -4
  109. package/dist/locales/zh.json +54 -4
  110. package/dist/patterns/anamnesis/index.js +1 -1
  111. package/dist/patterns/calendar/calendar-appointment-details.d.ts +145 -0
  112. package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts +32 -0
  113. package/dist/patterns/calendar/calendar-editor-hydration.d.ts +59 -0
  114. package/dist/patterns/calendar/calendar-notes-tool.d.ts +14 -0
  115. package/dist/patterns/calendar/calendar-patient-picker.d.ts +11 -0
  116. package/dist/patterns/calendar/calendar-series-scope-chooser.d.ts +18 -0
  117. package/dist/patterns/calendar/calendar-workspace.d.ts +26 -1
  118. package/dist/patterns/calendar/calendar-workspace.model.d.ts +8 -5
  119. package/dist/patterns/calendar/calendar.data.d.ts +66 -1
  120. package/dist/patterns/calendar/calendar.host.d.ts +2 -0
  121. package/dist/patterns/calendar/calendar.journey.d.ts +42 -7
  122. package/dist/patterns/calendar/calendar.model.d.ts +54 -5
  123. package/dist/patterns/calendar/calendar.sheets.d.ts +68 -15
  124. package/dist/patterns/calendar/calendar.surface.d.ts +12 -2
  125. package/dist/patterns/calendar/calendar.types.d.ts +29 -1
  126. package/dist/patterns/calendar/index.d.ts +9 -6
  127. package/dist/patterns/calendar/index.js +15 -14
  128. package/dist/tokens.css +10 -2
  129. package/package.json +1 -1
  130. package/dist/_chunks/calendar-workspace-a84AHQwj.js +0 -7506
  131. package/dist/_chunks/notes-panel-CTNpsByN.js +0 -353
  132. package/dist/_chunks/use-signing-session-CyOZWinp.js +0 -147
@@ -1,25 +1,27 @@
1
- import { jsxs as E, jsx as l } from "react/jsx-runtime";
2
- import { forwardRef as Le, useRef as p, useEffect as v, useState as se, useMemo as u, useImperativeHandle as $t, useCallback as g } from "react";
3
- import { useTranslation as ye } from "react-i18next";
4
- import Kt from "@fullcalendar/react";
5
- import Ut from "@fullcalendar/daygrid";
6
- import Yt from "@fullcalendar/timegrid";
7
- import Xt from "@fullcalendar/list";
8
- import Jt from "@fullcalendar/resource";
9
- import Zt from "@fullcalendar/resource-timegrid";
10
- import Qt from "@fullcalendar/resource-timeline";
11
- import er from "@fullcalendar/timeline";
12
- import tr from "@fullcalendar/interaction";
13
- import { u as rr } from "./use-prefers-reduced-motion-BMwIQRjB.js";
14
- import { u as nr } from "./registry-DvAUVLHh.js";
15
- import { w as ir, C as ar } from "./calendar-event-card-66CEEWU6.js";
16
- import { A as sr } from "./avatar-BNQNhoyL.js";
17
- import { R as or } from "./resource-chip-DYTG0IQQ.js";
18
- import { T as dr } from "./tooltip-DvmfrNvB.js";
19
- import { C as cr } from "./check-DrFSN__t.js";
20
- import { C as Be } from "./chevron-right-I9AeSxH2.js";
21
- import { C as Oe } from "./chevron-left-B8cOyH-V.js";
22
- const lr = {
1
+ import { jsxs as S, jsx as d } from "react/jsx-runtime";
2
+ import { forwardRef as He, useRef as p, useEffect as v, useState as le, useMemo as u, useImperativeHandle as er, useCallback as h } from "react";
3
+ import { useTranslation as xe } from "react-i18next";
4
+ import tr from "@fullcalendar/react";
5
+ import rr from "@fullcalendar/daygrid";
6
+ import nr from "@fullcalendar/timegrid";
7
+ import ir from "@fullcalendar/list";
8
+ import ar from "@fullcalendar/resource";
9
+ import sr from "@fullcalendar/resource-timegrid";
10
+ import or from "@fullcalendar/resource-timeline";
11
+ import dr from "@fullcalendar/timeline";
12
+ import lr from "@fullcalendar/interaction";
13
+ import { u as cr } from "./use-prefers-reduced-motion-BMwIQRjB.js";
14
+ import { u as ur } from "./registry-DvAUVLHh.js";
15
+ import { w as mr, C as fr } from "./calendar-event-card-DSh-69HT.js";
16
+ import { A as pr } from "./avatar-BNQNhoyL.js";
17
+ import { B as vr } from "./button-nJaPh_HC.js";
18
+ import { R as hr } from "./resource-chip-DYTG0IQQ.js";
19
+ import { T as gr } from "./tooltip-DvmfrNvB.js";
20
+ import { V as yr } from "./visually-hidden-BHxEUGyT.js";
21
+ import { C as je } from "./check-DrFSN__t.js";
22
+ import { C as _e } from "./chevron-right-I9AeSxH2.js";
23
+ import { C as Ve } from "./chevron-left-B8cOyH-V.js";
24
+ const br = {
23
25
  id: "calendar",
24
26
  capabilities: ["view_change", "range_navigate", "pick"],
25
27
  state: {
@@ -171,10 +173,10 @@ const lr = {
171
173
  },
172
174
  item: {
173
175
  attr: "data-event-id",
174
- description: 'Emitted on every rendered FullCalendar event by the kit event renderer. Used by focusEvent. Cards also carry data-kind="task"|"draft"|"appointment" and data-status for classification.'
176
+ description: 'Emitted on every rendered FullCalendar event by the kit event renderer. Used by focusEvent. Cards also carry data-kind="task"|"draft"|"pending-details"|"appointment" and data-status for classification.'
175
177
  }
176
178
  }
177
- }, ur = {
179
+ }, Tr = {
178
180
  vertical: {
179
181
  Day: "resourceTimeGridDay",
180
182
  ThreeDays: "resourceTimeGridThreeDays",
@@ -185,35 +187,35 @@ const lr = {
185
187
  ThreeDays: "resourceTimelineThreeDays",
186
188
  Week: "resourceTimelineWeek"
187
189
  }
188
- }, mr = /* @__PURE__ */ new Set([
190
+ }, Dr = /* @__PURE__ */ new Set([
189
191
  "dayGridMonth",
190
192
  "timeGridWeek",
191
193
  "timeGridThreeDays",
192
194
  "timeGridDay",
193
195
  "listWeek"
194
- ]), fr = {
196
+ ]), xr = {
195
197
  timeGridDay: "timelineDay",
196
198
  timeGridThreeDays: "timelineThreeDays",
197
199
  timeGridWeek: "timelineWeek"
198
200
  };
199
- function pe(n, s = "vertical") {
200
- if (mr.has(n))
201
- return s === "horizontal" ? fr[n] ?? n : n;
202
- const d = n.replace(/^resourceTimeGrid/, "").replace(
201
+ function be(n, s = "vertical") {
202
+ if (Dr.has(n))
203
+ return s === "horizontal" ? xr[n] ?? n : n;
204
+ const l = n.replace(/^resourceTimeGrid/, "").replace(
203
205
  /(Chair|Operator)$/,
204
206
  ""
205
207
  );
206
- return ur[s][d];
208
+ return Tr[s][l];
207
209
  }
208
- const ae = {
210
+ const de = {
209
211
  weekday: "long",
210
212
  day: "numeric",
211
213
  month: "long",
212
214
  year: "numeric"
213
- }, pr = [
215
+ }, Cr = [
214
216
  { weekday: "short", day: "numeric", month: "short" },
215
217
  { hour: "numeric", minute: "2-digit" }
216
- ], vr = {
218
+ ], wr = {
217
219
  resourceTimeGridThreeDays: {
218
220
  type: "resourceTimeGrid",
219
221
  duration: { days: 3 }
@@ -232,17 +234,17 @@ const ae = {
232
234
  type: "timeline",
233
235
  duration: { days: 3 }
234
236
  },
235
- timeline: { slotLabelFormat: pr },
236
- timeGridDay: { titleFormat: ae },
237
- resourceTimeGridDay: { titleFormat: ae },
238
- timelineDay: { titleFormat: ae },
239
- resourceTimelineDay: { titleFormat: ae }
240
- }, ve = 5, hr = {
237
+ timeline: { slotLabelFormat: Cr },
238
+ timeGridDay: { titleFormat: de },
239
+ resourceTimeGridDay: { titleFormat: de },
240
+ timelineDay: { titleFormat: de },
241
+ resourceTimelineDay: { titleFormat: de }
242
+ }, Te = 5, Ar = {
241
243
  create: "calendar.modeBanner.create",
242
244
  move: "calendar.modeBanner.move",
243
245
  copy: "calendar.modeBanner.copy"
244
246
  };
245
- function gr(n) {
247
+ function kr(n) {
246
248
  try {
247
249
  const s = new Intl.Locale(n), o = typeof s.getWeekInfo == "function" ? s.getWeekInfo() : s.weekInfo;
248
250
  if (o && typeof o.firstDay == "number")
@@ -251,61 +253,61 @@ function gr(n) {
251
253
  }
252
254
  return n.startsWith("en-US") || n.startsWith("he") || n.startsWith("ar-SA") ? 0 : 1;
253
255
  }
254
- const he = "calendar-col-hidden";
255
- function ge(n) {
256
- const s = n.getFullYear(), o = String(n.getMonth() + 1).padStart(2, "0"), d = String(n.getDate()).padStart(2, "0");
257
- return `${s}-${o}-${d}`;
256
+ const De = "calendar-col-hidden", Ir = "calendar-col-loading";
257
+ function F(n) {
258
+ const s = n.getFullYear(), o = String(n.getMonth() + 1).padStart(2, "0"), l = String(n.getDate()).padStart(2, "0");
259
+ return `${s}-${o}-${l}`;
258
260
  }
259
- function yr(n, s) {
260
- const o = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Map(), f = (n == null ? void 0 : n.length) ?? 0;
261
+ function Sr(n, s) {
262
+ const o = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), f = (n == null ? void 0 : n.length) ?? 0;
261
263
  if (n && s) {
262
264
  for (const T of n)
263
265
  if (T.hiddenDates)
264
- for (const h of T.hiddenDates) {
265
- const k = `${T.id}:${h}`;
266
- o.has(k) || (o.add(k), d.set(h, (d.get(h) ?? 0) + 1));
266
+ for (const g of T.hiddenDates) {
267
+ const A = `${T.id}:${g}`;
268
+ o.has(A) || (o.add(A), l.set(g, (l.get(g) ?? 0) + 1));
267
269
  }
268
270
  }
269
271
  return {
270
272
  hiddenCells: o,
271
- hiddenCountByDate: d,
273
+ hiddenCountByDate: l,
272
274
  resourceCount: f,
273
275
  active: o.size > 0
274
276
  };
275
277
  }
276
- function br() {
277
- const { i18n: n } = ye(), [s, o] = se(() => {
278
+ function Rr() {
279
+ const { i18n: n } = xe(), [s, o] = le(() => {
278
280
  if (typeof document > "u") return !1;
279
- const d = document.documentElement.getAttribute("dir"), f = typeof n.dir == "function" ? n.dir() : "ltr";
280
- return d === "rtl" || f === "rtl";
281
+ const l = document.documentElement.getAttribute("dir"), f = typeof n.dir == "function" ? n.dir() : "ltr";
282
+ return l === "rtl" || f === "rtl";
281
283
  });
282
284
  return v(() => {
283
285
  if (typeof document > "u") return;
284
- const d = new MutationObserver(() => {
286
+ const l = new MutationObserver(() => {
285
287
  const f = document.documentElement.getAttribute("dir"), T = typeof n.dir == "function" ? n.dir() : "ltr";
286
288
  o(f === "rtl" || T === "rtl");
287
289
  });
288
- return d.observe(document.documentElement, {
290
+ return l.observe(document.documentElement, {
289
291
  attributes: !0,
290
292
  attributeFilter: ["dir", "lang"]
291
- }), () => d.disconnect();
293
+ }), () => l.disconnect();
292
294
  }, [n]), s;
293
295
  }
294
- function Tr(n, s) {
295
- const o = n.event.start, d = n.event.end ?? n.event.start;
296
- if (!(!o || !d))
296
+ function Er(n, s) {
297
+ const o = n.event.start, l = n.event.end ?? n.event.start;
298
+ if (!(!o || !l))
297
299
  try {
298
300
  const f = new Intl.DateTimeFormat(s, {
299
301
  hour: "2-digit",
300
302
  minute: "2-digit",
301
303
  hour12: !1
302
304
  });
303
- return typeof f.formatRange == "function" ? f.formatRange(o, d) : `${f.format(o)} – ${f.format(d)}`;
305
+ return typeof f.formatRange == "function" ? f.formatRange(o, l) : `${f.format(o)} – ${f.format(l)}`;
304
306
  } catch {
305
307
  return;
306
308
  }
307
309
  }
308
- const We = [
310
+ const qe = [
309
311
  "ds:inline-flex ds:items-center ds:justify-center",
310
312
  "ds:min-h-[var(--min-target-size)]",
311
313
  "ds:bg-[var(--background)] ds:text-[var(--foreground)]",
@@ -318,15 +320,15 @@ const We = [
318
320
  "ds:focus-visible:outline-[var(--ring)]",
319
321
  "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
320
322
  "ds:motion-reduce:transition-none"
321
- ].join(" "), xr = [
322
- We,
323
+ ].join(" "), Pr = [
324
+ qe,
323
325
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]"
324
- ].join(" "), Dr = [
325
- We,
326
+ ].join(" "), Nr = [
327
+ qe,
326
328
  "ds:min-w-[var(--min-target-size)]"
327
- ].join(" "), be = Le(
328
- ({ title: n, onToday: s, onPrev: o, onNext: d, end: f, className: T, maskClassName: h }, k) => {
329
- const { t: O } = ye(), Y = br(), x = Y ? Be : Oe, L = Y ? Oe : Be, W = [
329
+ ].join(" "), Ce = He(
330
+ ({ title: n, onToday: s, onPrev: o, onNext: l, end: f, className: T, maskClassName: g }, A) => {
331
+ const { t: W } = xe(), Z = Rr(), D = Z ? _e : Ve, Q = Z ? Ve : _e, j = [
330
332
  "ds:calendar-toolbar",
331
333
  "ds:sticky ds:top-0 ds:z-20",
332
334
  "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
@@ -335,145 +337,147 @@ const We = [
335
337
  "ds:bg-[var(--background)]",
336
338
  "ds:border-b ds:border-[var(--border)]",
337
339
  T
338
- ].filter(Boolean).join(" "), F = [xr, h].filter(Boolean).join(" "), A = [Dr, h].filter(Boolean).join(" "), D = [
340
+ ].filter(Boolean).join(" "), _ = [Pr, g].filter(Boolean).join(" "), N = [Nr, g].filter(Boolean).join(" "), G = [
339
341
  "ds:flex-1 ds:text-center ds:truncate type-title-card",
340
- h
341
- ].filter(Boolean).join(" "), X = ["ds:flex-1 ds:text-center", h].filter(Boolean).join(" ");
342
- return /* @__PURE__ */ E("div", { ref: k, className: W, children: [
343
- /* @__PURE__ */ E("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
344
- /* @__PURE__ */ l(
342
+ g
343
+ ].filter(Boolean).join(" "), x = ["ds:flex-1 ds:text-center", g].filter(Boolean).join(" ");
344
+ return /* @__PURE__ */ S("div", { ref: A, className: j, children: [
345
+ /* @__PURE__ */ S("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
346
+ /* @__PURE__ */ d(
345
347
  "button",
346
348
  {
347
349
  type: "button",
348
350
  onClick: s,
349
- className: F,
350
- children: O("calendar.today")
351
+ className: _,
352
+ children: W("calendar.today")
351
353
  }
352
354
  ),
353
- /* @__PURE__ */ l(
355
+ /* @__PURE__ */ d(
354
356
  "button",
355
357
  {
356
358
  type: "button",
357
359
  onClick: o,
358
- "aria-label": O("calendar.previousPeriod"),
359
- className: A,
360
- children: /* @__PURE__ */ l(x, { size: 16, "aria-hidden": "true" })
360
+ "aria-label": W("calendar.previousPeriod"),
361
+ className: N,
362
+ children: /* @__PURE__ */ d(D, { size: 16, "aria-hidden": "true" })
361
363
  }
362
364
  ),
363
- /* @__PURE__ */ l(
365
+ /* @__PURE__ */ d(
364
366
  "button",
365
367
  {
366
368
  type: "button",
367
- onClick: d,
368
- "aria-label": O("calendar.nextPeriod"),
369
- className: A,
370
- children: /* @__PURE__ */ l(L, { size: 16, "aria-hidden": "true" })
369
+ onClick: l,
370
+ "aria-label": W("calendar.nextPeriod"),
371
+ className: N,
372
+ children: /* @__PURE__ */ d(Q, { size: 16, "aria-hidden": "true" })
371
373
  }
372
374
  )
373
375
  ] }),
374
- n ? /* @__PURE__ */ l("h2", { "aria-live": "polite", className: D, children: n }) : (
376
+ n ? /* @__PURE__ */ d("h2", { "aria-live": "polite", className: G, children: n }) : (
375
377
  /* Keep the centering slot stable even before the first
376
378
  `datesSet` populates the title — an empty <h2> would trip
377
379
  axe's `empty-heading` rule, so we substitute a decorative
378
380
  spacer that matches the h2's flex sizing. Once `title` is
379
381
  non-empty the h2 renders in the same slot. */
380
- /* @__PURE__ */ l("div", { "aria-hidden": "true", className: X })
382
+ /* @__PURE__ */ d("div", { "aria-hidden": "true", className: x })
381
383
  ),
382
- f ? /* @__PURE__ */ l("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: f }) : null
384
+ f ? /* @__PURE__ */ d("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: f }) : null
383
385
  ] });
384
386
  }
385
387
  );
386
- be.displayName = "Calendar.Toolbar";
387
- const Fe = Le(
388
+ Ce.displayName = "Calendar.Toolbar";
389
+ const $e = He(
388
390
  ({
389
391
  id: n,
390
392
  events: s,
391
393
  resources: o,
392
- view: d = "dayGridMonth",
394
+ view: l = "dayGridMonth",
393
395
  initialDate: f,
394
396
  locale: T,
395
- onEventDrop: h,
396
- onEventResize: k,
397
- onEventDragStart: O,
398
- onEventResizeStart: Y,
399
- onEventClick: x,
400
- onEventMouseEnter: L,
401
- onEventMouseLeave: W,
402
- onDateSelect: F,
403
- onDatesSet: A,
404
- onDateClick: D,
405
- onNavLinkDayClick: X,
406
- editable: J = !1,
407
- eventDurationEditable: ze,
408
- selectable: Te = !1,
409
- selectMirror: je,
410
- unselectAuto: xe,
411
- height: _e,
412
- className: Ve,
397
+ onEventDrop: g,
398
+ onEventResize: A,
399
+ onEventDragStart: W,
400
+ onEventResizeStart: Z,
401
+ onEventClick: D,
402
+ onBackgroundEventClick: Q,
403
+ onEventMouseEnter: j,
404
+ onEventMouseLeave: _,
405
+ onDateSelect: N,
406
+ onDatesSet: G,
407
+ onDateClick: x,
408
+ onNavLinkDayClick: we,
409
+ editable: ee = !1,
410
+ eventDurationEditable: Ke,
411
+ selectable: Ae = !1,
412
+ selectMirror: Ue,
413
+ unselectAuto: ke,
414
+ height: Ye,
415
+ className: Xe,
413
416
  privacyMode: y = !1,
414
- eventColorStyle: He = "solid",
415
- mode: Z = "default",
416
- modeLabel: qe,
417
- modeBannerColor: Q,
418
- modeBannerTextColor: ee,
419
- onModeCancel: De,
420
- alertBanner: $e,
421
- hiddenDays: we,
422
- slotMinTime: Ke,
423
- slotMaxTime: Ue,
424
- slotDuration: Ye,
425
- snapDuration: Ce,
426
- showTime: Xe = !0,
427
- datesAboveResources: oe = !0,
428
- slotEventOverlap: Je = !1,
429
- stickyHeaderDates: Ze = !0,
430
- nowIndicator: Qe = !0,
431
- dayMaxEvents: et = !0,
432
- schedulerLicenseKey: tt = void 0,
433
- toolbar: rt = !0,
434
- toolbarEnd: nt,
435
- resourceLayout: z = "vertical",
436
- showResourceInitials: de = !1,
437
- resourceLabelVariant: ke = "text",
438
- verticalResourceLabels: ce = !1,
439
- selectedEventId: Ie,
440
- availabilityMode: it = !1,
441
- resourceAreaWidth: at,
442
- resourceAreaHeader: j,
443
- defaultTimedEventDuration: _,
444
- zebraRows: st = !1,
445
- maskClassName: N
446
- }, ot) => {
447
- const { t: m, i18n: P } = ye(), w = p(null), R = p(null), C = p(null), I = p(null), G = p(null), Ae = p(null), te = p({
417
+ eventColorStyle: Je = "solid",
418
+ mode: te = "default",
419
+ modeLabel: Ze,
420
+ modeBannerColor: re,
421
+ modeBannerTextColor: ne,
422
+ onModeCancel: Ie,
423
+ alertBanner: Qe,
424
+ hiddenDays: Se,
425
+ loadingDates: Re,
426
+ slotMinTime: et,
427
+ slotMaxTime: tt,
428
+ slotDuration: rt,
429
+ snapDuration: Ee,
430
+ showTime: nt = !0,
431
+ datesAboveResources: ce = !0,
432
+ slotEventOverlap: it = !1,
433
+ stickyHeaderDates: at = !0,
434
+ nowIndicator: st = !0,
435
+ dayMaxEvents: ot = !0,
436
+ schedulerLicenseKey: dt = void 0,
437
+ toolbar: lt = !0,
438
+ toolbarEnd: ct,
439
+ resourceLayout: V = "vertical",
440
+ showResourceInitials: ue = !1,
441
+ resourceLabelVariant: Pe = "text",
442
+ verticalResourceLabels: me = !1,
443
+ selectedEventId: Ne,
444
+ availabilityMode: ut = !1,
445
+ resourceAreaWidth: mt,
446
+ resourceAreaHeader: H,
447
+ defaultTimedEventDuration: q,
448
+ zebraRows: ft = !1,
449
+ maskClassName: M
450
+ }, pt) => {
451
+ const { t: m, i18n: B } = xe(), C = p(null), k = p(null), w = p(null), I = p(null), L = p(null), Ge = p(null), ie = p({
448
452
  id: 0,
449
453
  x: 0,
450
454
  y: 0
451
- }), Re = p(0), Se = p(0), S = T ?? P.language ?? "en";
455
+ }), Me = p(0), Be = p(0), R = T ?? B.language ?? "en";
452
456
  v(() => {
453
- }, [we]), v(() => {
454
- }, [_]);
455
- const [dt, ct] = se(() => {
457
+ }, [Se]), v(() => {
458
+ }, [q]);
459
+ const [vt, ht] = le(() => {
456
460
  if (typeof document > "u") return "ltr";
457
- const e = document.documentElement.getAttribute("dir"), t = typeof P.dir == "function" ? P.dir() : "ltr";
461
+ const e = document.documentElement.getAttribute("dir"), t = typeof B.dir == "function" ? B.dir() : "ltr";
458
462
  return e === "rtl" || t === "rtl" ? "rtl" : "ltr";
459
463
  });
460
464
  v(() => {
461
465
  if (typeof document > "u") return;
462
466
  const e = new MutationObserver(() => {
463
- const t = document.documentElement.getAttribute("dir"), r = typeof P.dir == "function" ? P.dir() : "ltr";
464
- ct(t === "rtl" || r === "rtl" ? "rtl" : "ltr");
467
+ const t = document.documentElement.getAttribute("dir"), r = typeof B.dir == "function" ? B.dir() : "ltr";
468
+ ht(t === "rtl" || r === "rtl" ? "rtl" : "ltr");
465
469
  });
466
470
  return e.observe(document.documentElement, {
467
471
  attributes: !0,
468
472
  attributeFilter: ["dir", "lang"]
469
473
  }), () => e.disconnect();
470
- }, [P]), v(() => {
474
+ }, [B]), v(() => {
471
475
  if (typeof document > "u") return;
472
476
  let e;
473
477
  const t = new MutationObserver(() => {
474
478
  clearTimeout(e), e = setTimeout(() => {
475
479
  var i;
476
- const r = (i = w.current) == null ? void 0 : i.getApi();
480
+ const r = (i = C.current) == null ? void 0 : i.getApi();
477
481
  r && typeof r.render == "function" && r.render();
478
482
  }, 50);
479
483
  });
@@ -484,15 +488,15 @@ const Fe = Le(
484
488
  clearTimeout(e), t.disconnect();
485
489
  };
486
490
  }, []), v(() => {
487
- const e = R.current;
491
+ const e = k.current;
488
492
  if (!e || typeof ResizeObserver > "u") return;
489
493
  let t = 0, r = e.getBoundingClientRect().width;
490
494
  const i = new ResizeObserver((a) => {
491
- var q, $;
492
- const c = a[0], b = (($ = (q = c == null ? void 0 : c.borderBoxSize) == null ? void 0 : q[0]) == null ? void 0 : $.inlineSize) ?? (c == null ? void 0 : c.contentRect.width) ?? e.getBoundingClientRect().width;
495
+ var U, Y;
496
+ const c = a[0], b = ((Y = (U = c == null ? void 0 : c.borderBoxSize) == null ? void 0 : U[0]) == null ? void 0 : Y.inlineSize) ?? (c == null ? void 0 : c.contentRect.width) ?? e.getBoundingClientRect().width;
493
497
  b !== r && (r = b, cancelAnimationFrame(t), t = requestAnimationFrame(() => {
494
- var K, U;
495
- (U = (K = w.current) == null ? void 0 : K.getApi()) == null || U.updateSize();
498
+ var X, J;
499
+ (J = (X = C.current) == null ? void 0 : X.getApi()) == null || J.updateSize();
496
500
  }));
497
501
  });
498
502
  return i.observe(e), () => {
@@ -500,7 +504,7 @@ const Fe = Le(
500
504
  };
501
505
  }, []), v(() => {
502
506
  if (typeof document > "u") return;
503
- const e = R.current;
507
+ const e = k.current;
504
508
  if (!e) return;
505
509
  const t = () => {
506
510
  e.querySelectorAll(
@@ -524,19 +528,19 @@ const Fe = Le(
524
528
  attributeFilter: ["aria-hidden"]
525
529
  }), () => r.disconnect();
526
530
  }, [m]);
527
- const re = rr(), [lt, ut] = se(""), [V, mt] = se(
528
- () => pe(d, z)
529
- ), Ee = p(V);
530
- Ee.current = V;
531
- const le = u(() => {
531
+ const ae = cr(), [gt, yt] = le(""), [O, bt] = le(
532
+ () => be(l, V)
533
+ ), Le = p(O);
534
+ Le.current = O;
535
+ const fe = u(() => {
532
536
  const e = () => {
533
537
  var t;
534
- return (t = w.current) == null ? void 0 : t.getApi();
538
+ return (t = C.current) == null ? void 0 : t.getApi();
535
539
  };
536
540
  return {
537
541
  getApi: () => {
538
542
  var t;
539
- return (t = w.current) == null ? void 0 : t.getApi();
543
+ return (t = C.current) == null ? void 0 : t.getApi();
540
544
  },
541
545
  today: () => {
542
546
  var t;
@@ -557,7 +561,7 @@ const Fe = Le(
557
561
  changeView: (t) => {
558
562
  var r;
559
563
  (r = e()) == null || r.changeView(
560
- pe(t, z)
564
+ be(t, V)
561
565
  );
562
566
  },
563
567
  getTitle: () => {
@@ -573,41 +577,41 @@ const Fe = Le(
573
577
  return (t = e()) == null ? void 0 : t.getDate();
574
578
  },
575
579
  focusEvent: (t) => {
576
- const r = R.current;
580
+ const r = k.current;
577
581
  if (!r) return;
578
582
  const i = `[data-event-id="${CSS.escape(t)}"]`, a = r.querySelector(i);
579
583
  if (a) {
580
- if (I.current && (clearTimeout(I.current), I.current = null), G.current && G.current !== a && G.current.classList.remove("calendar-event-focused"), a.scrollIntoView({
581
- behavior: re ? "auto" : "smooth",
584
+ if (I.current && (clearTimeout(I.current), I.current = null), L.current && L.current !== a && L.current.classList.remove("calendar-event-focused"), a.scrollIntoView({
585
+ behavior: ae ? "auto" : "smooth",
582
586
  block: "center"
583
- }), a.classList.add("calendar-event-focused"), G.current = a, C.current) {
587
+ }), a.classList.add("calendar-event-focused"), L.current = a, w.current) {
584
588
  const c = a.getAttribute("aria-label") ?? t, b = y ? "•••" : c;
585
- C.current.textContent = m("calendar.focusedEvent", {
589
+ w.current.textContent = m("calendar.focusedEvent", {
586
590
  title: b
587
591
  });
588
592
  }
589
593
  I.current = setTimeout(() => {
590
- a.classList.remove("calendar-event-focused"), G.current === a && (G.current = null), I.current = null;
594
+ a.classList.remove("calendar-event-focused"), L.current === a && (L.current = null), I.current = null;
591
595
  }, 3e3);
592
596
  }
593
597
  }
594
598
  };
595
- }, [re, y, m, z]);
596
- $t(ot, () => le, [le]), nr(lr, le, n), v(
599
+ }, [ae, y, m, V]);
600
+ er(pt, () => fe, [fe]), ur(br, fe, n), v(
597
601
  () => () => {
598
602
  I.current && (clearTimeout(I.current), I.current = null);
599
603
  },
600
604
  []
601
605
  );
602
- const Ne = p(!0);
606
+ const Oe = p(!0);
603
607
  v(() => {
604
- if (Ne.current) {
605
- Ne.current = !1;
608
+ if (Oe.current) {
609
+ Oe.current = !1;
606
610
  return;
607
611
  }
608
- C.current && (C.current.textContent = m(y ? "calendar.privacyModeOn" : "calendar.privacyModeOff"));
612
+ w.current && (w.current.textContent = m(y ? "calendar.privacyModeOn" : "calendar.privacyModeOff"));
609
613
  }, [y, m]);
610
- const ft = u(
614
+ const Tt = u(
611
615
  () => s.map((e) => ({
612
616
  id: e.id,
613
617
  title: e.title,
@@ -630,8 +634,13 @@ const Fe = Le(
630
634
  IS how they pick the slot, so it stays editable even on a
631
635
  read-only calendar. The consumer's own `editable` still wins. */
632
636
  ...e.isDraft ? { editable: !0 } : {},
633
- ...e.editable !== void 0 ? { editable: e.editable } : {},
637
+ /* Scheduler separately falls back to the global editable option
638
+ for resource moves. A pinned event must refuse those too. */
639
+ ...e.editable !== void 0 ? { editable: e.editable, resourceEditable: e.editable } : {},
634
640
  ...e.startEditable !== void 0 ? { startEditable: e.startEditable } : {},
641
+ /* Pending details override every host editability flag. Scheduler
642
+ reads resource editability separately from time dragging. */
643
+ ...e.detailsPending ? { editable: !1, startEditable: !1, resourceEditable: !1 } : {},
635
644
  extendedProps: {
636
645
  status: e.status,
637
646
  resourceId: e.resourceId,
@@ -656,29 +665,30 @@ const Fe = Le(
656
665
  isInternal: e.isInternal ?? !1,
657
666
  isTask: e.isTask ?? !1,
658
667
  isDraft: e.isDraft ?? !1,
668
+ detailsPending: e.detailsPending ?? !1,
659
669
  patientId: e.patientId,
660
670
  operatorId: e.operatorId
661
671
  }
662
672
  })),
663
673
  [s]
664
- ), pt = u(
674
+ ), Dt = u(
665
675
  () => ({
666
676
  year: "numeric",
667
677
  month: "long"
668
678
  }),
669
679
  []
670
- ), vt = u(
680
+ ), xt = u(
671
681
  () => ({
672
682
  weekday: "short"
673
683
  }),
674
684
  []
675
- ), ht = u(
685
+ ), Ct = u(
676
686
  () => ({
677
687
  hour: "numeric",
678
688
  minute: "2-digit"
679
689
  }),
680
690
  []
681
- ), gt = u(
691
+ ), wt = u(
682
692
  () => ({
683
693
  hour: "2-digit",
684
694
  minute: "2-digit",
@@ -687,72 +697,78 @@ const Fe = Le(
687
697
  hour12: !1
688
698
  }),
689
699
  []
690
- ), yt = g(
700
+ ), E = u(
701
+ () => new Set(Re ?? []),
702
+ [Re]
703
+ ), pe = p(E);
704
+ pe.current = E;
705
+ const ve = p(!1), At = h(
691
706
  (e) => {
692
- const t = new Intl.DateTimeFormat(S, {
707
+ const t = new Intl.DateTimeFormat(R, {
693
708
  weekday: "short"
694
709
  }).format(e.date);
695
710
  if (e.view.type === "dayGridMonth" || e.view.type.startsWith("list"))
696
711
  return t;
697
- const r = new Intl.DateTimeFormat(S, {
712
+ const r = new Intl.DateTimeFormat(R, {
698
713
  day: "numeric"
699
714
  }).format(e.date);
700
- return /* @__PURE__ */ E("span", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-2xs)] ds:py-[var(--spacing-2xs)]", children: [
701
- /* @__PURE__ */ l("span", { className: "type-eyebrow ds:text-[color:var(--muted-foreground)]", children: t }),
702
- /* @__PURE__ */ l(
715
+ return /* @__PURE__ */ S("span", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-2xs)] ds:py-[var(--spacing-2xs)]", children: [
716
+ /* @__PURE__ */ d("span", { className: "type-eyebrow ds:text-[color:var(--muted-foreground)]", children: t }),
717
+ /* @__PURE__ */ d(
703
718
  "span",
704
719
  {
705
720
  className: e.isToday ? "ds:flex ds:size-7 ds:items-center ds:justify-center ds:rounded-full ds:bg-[var(--primary)] ds:text-[length:var(--font-size-sm)] ds:font-[var(--font-weight-semibold)] ds:leading-none ds:text-[color:var(--primary-foreground)]" : "ds:text-[length:var(--font-size-sm)] ds:font-[var(--font-weight-semibold)] ds:leading-none",
706
721
  children: r
707
722
  }
708
- )
723
+ ),
724
+ E.has(F(e.date)) ? /* @__PURE__ */ d(yr, { children: m("calendar.loadingDay") }) : null
709
725
  ] });
710
726
  },
711
- [S]
712
- ), Pe = u(
713
- () => typeof _ == "number" ? { minutes: _ } : _,
714
- [_]
715
- ), ue = u(
716
- () => N ? N.split(/\s+/).filter(Boolean) : void 0,
717
- [N]
718
- ), bt = u(() => {
719
- if (j !== void 0)
720
- return j === "chairs" ? m("calendar.resourceLabel.chairs") : j === "operators" ? m("calendar.resourceLabel.operators") : j;
721
- }, [j, m]), ne = u(
722
- () => yr(o, oe),
723
- [o, oe]
724
- ), M = p(ne);
725
- M.current = ne;
726
- const me = p(!1), Tt = g(
727
+ [R, E, m]
728
+ ), ze = u(
729
+ () => typeof q == "number" ? { minutes: q } : q,
730
+ [q]
731
+ ), he = u(
732
+ () => M ? M.split(/\s+/).filter(Boolean) : void 0,
733
+ [M]
734
+ ), kt = u(() => {
735
+ if (H !== void 0)
736
+ return H === "chairs" ? m("calendar.resourceLabel.chairs") : H === "operators" ? m("calendar.resourceLabel.operators") : H;
737
+ }, [H, m]), se = u(
738
+ () => Sr(o, ce),
739
+ [o, ce]
740
+ ), z = p(se);
741
+ z.current = se;
742
+ const ge = p(!1), It = h(
727
743
  (e) => {
728
- const t = M.current;
729
- if (!t.active || !e.view.type.startsWith("resourceTimeGrid"))
730
- return [];
731
- const r = e.resource;
732
- return r != null && r.id ? t.hiddenCells.has(
733
- `${r.id}:${ge(e.date)}`
734
- ) ? [he] : [] : [];
744
+ const t = E.has(F(e.date)) ? [Ir] : [], r = z.current;
745
+ if (!r.active || !e.view.type.startsWith("resourceTimeGrid"))
746
+ return t;
747
+ const i = e.resource;
748
+ return i != null && i.id && r.hiddenCells.has(
749
+ `${i.id}:${F(e.date)}`
750
+ ) ? [...t, De] : t;
735
751
  },
736
- []
737
- ), xt = g(
752
+ [E]
753
+ ), St = h(
738
754
  (e) => {
739
- const t = M.current;
755
+ const t = z.current;
740
756
  if (!t.active || !e.view.type.startsWith("resourceTimeGrid"))
741
757
  return [];
742
758
  const r = e.date ?? e.view.currentStart;
743
759
  return t.hiddenCells.has(
744
- `${e.resource.id}:${ge(r)}`
745
- ) ? [he] : [];
760
+ `${e.resource.id}:${F(r)}`
761
+ ) ? [De] : [];
746
762
  },
747
763
  []
748
- ), Dt = g(
764
+ ), Rt = h(
749
765
  (e) => {
750
- const t = M.current;
751
- return !t.active || !e.view.type.startsWith("resourceTimeGrid") ? [] : (t.hiddenCountByDate.get(ge(e.date)) ?? 0) >= t.resourceCount ? [he] : [];
766
+ const t = z.current;
767
+ return !t.active || !e.view.type.startsWith("resourceTimeGrid") ? [] : (t.hiddenCountByDate.get(F(e.date)) ?? 0) >= t.resourceCount ? [De] : [];
752
768
  },
753
769
  []
754
- ), wt = g((e) => {
755
- const t = M.current;
770
+ ), Et = h((e) => {
771
+ const t = z.current;
756
772
  if (!t.active || !e.view.type.startsWith("resourceTimeGrid"))
757
773
  return;
758
774
  const r = e.el;
@@ -760,23 +776,33 @@ const Fe = Le(
760
776
  const i = r.getAttribute("data-date");
761
777
  if (!i) return;
762
778
  const a = t.hiddenCountByDate.get(i) ?? 0, c = Math.max(1, t.resourceCount - a);
763
- r.colSpan !== c && (r.colSpan = c, me.current = !0);
764
- }, []), H = g(() => {
765
- const e = R.current;
766
- if (!e || !Ee.current.startsWith("resourceTimeGrid")) return;
767
- const t = M.current;
768
- !t.active && !me.current || (e.querySelectorAll(
779
+ r.colSpan !== c && (r.colSpan = c, ge.current = !0);
780
+ }, []), $ = h(() => {
781
+ const e = k.current;
782
+ if (!e || !Le.current.startsWith("resourceTimeGrid")) return;
783
+ const t = z.current;
784
+ !t.active && !ge.current || (e.querySelectorAll(
769
785
  "th.fc-col-header-cell.fc-day[data-date]"
770
786
  ).forEach((r) => {
771
787
  const i = r.getAttribute("data-date");
772
788
  if (!i) return;
773
789
  const a = t.active ? t.hiddenCountByDate.get(i) ?? 0 : 0, c = Math.max(1, t.resourceCount - a);
774
790
  r.colSpan !== c && (r.colSpan = c);
775
- }), me.current = t.active);
791
+ }), ge.current = t.active);
792
+ }, []), K = h(() => {
793
+ const e = k.current;
794
+ if (!e) return;
795
+ const t = pe.current;
796
+ t.size === 0 && !ve.current || (e.querySelectorAll("td.fc-day[data-date]").forEach((r) => {
797
+ const i = r.getAttribute("data-date");
798
+ i && t.has(i) ? r.setAttribute("aria-busy", "true") : r.removeAttribute("aria-busy");
799
+ }), ve.current = t.size > 0);
800
+ }, []), Pt = h((e) => {
801
+ pe.current.has(F(e.date)) && (e.el.setAttribute("aria-busy", "true"), ve.current = !0);
776
802
  }, []);
777
803
  v(() => {
778
- }, [s, ne]);
779
- const B = (e) => {
804
+ }, [s, se]);
805
+ const P = (e) => {
780
806
  const t = e.extendedProps ?? {};
781
807
  return {
782
808
  id: e.id,
@@ -800,102 +826,104 @@ const Fe = Le(
800
826
  isRecurrenceParent: t.isRecurrenceParent,
801
827
  isInternal: t.isInternal,
802
828
  isTask: t.isTask,
829
+ detailsPending: t.detailsPending,
803
830
  editable: t.editable,
804
831
  startEditable: t.startEditable,
805
832
  patientId: t.patientId,
806
833
  operatorId: t.operatorId
807
834
  };
808
- }, Ct = u(() => {
809
- if (h)
835
+ }, Nt = u(() => {
836
+ if (g)
810
837
  return (e) => {
811
838
  var r, i;
812
839
  if (!e.event.start) return;
813
840
  const t = e.oldEvent.start;
814
- if (t && (h({
815
- event: B(e.event),
841
+ if (t && (g({
842
+ event: P(e.event),
816
843
  oldStart: t,
817
844
  newStart: e.event.start,
818
845
  oldResourceId: (r = e.oldResource) == null ? void 0 : r.id,
819
846
  newResourceId: (i = e.newResource) == null ? void 0 : i.id,
820
847
  revert: e.revert
821
- }), C.current)) {
848
+ }), w.current)) {
822
849
  const a = e.event.extendedProps ?? {}, c = y ? a.privacyModeTitle ?? "•••" : e.event.title;
823
- C.current.textContent = m("calendar.eventMoved", {
850
+ w.current.textContent = m("calendar.eventMoved", {
824
851
  title: c
825
852
  });
826
853
  }
827
854
  };
828
- }, [h, y, m]), kt = u(() => {
829
- if (k)
855
+ }, [g, y, m]), Gt = u(() => {
856
+ if (A)
830
857
  return (e) => {
831
858
  if (!e.event.end) return;
832
859
  const t = e.oldEvent.end;
833
860
  if (!t)
834
861
  return;
835
862
  const r = e.event.end, i = e.event.start ?? e.oldEvent.start ?? t;
836
- if (k({
837
- event: B(e.event),
863
+ if (A({
864
+ event: P(e.event),
838
865
  oldEnd: t,
839
866
  newEnd: r,
840
867
  revert: e.revert
841
- }), C.current) {
868
+ }), w.current) {
842
869
  const a = Math.round(
843
870
  (r.getTime() - i.getTime()) / 6e4
844
871
  ), c = e.event.extendedProps ?? {}, b = y ? c.privacyModeTitle ?? "•••" : e.event.title;
845
- C.current.textContent = m("calendar.eventResized", {
872
+ w.current.textContent = m("calendar.eventResized", {
846
873
  title: b,
847
874
  duration: a
848
875
  });
849
876
  }
850
877
  };
851
- }, [k, y, m]), It = u(() => {
852
- if (x)
878
+ }, [A, y, m]), Mt = u(() => {
879
+ if (D)
853
880
  return (e) => {
854
- e.event.start && (Ae.current = e.jsEvent, x(B(e.event), {
881
+ e.event.start && (Ge.current = e.jsEvent, D(P(e.event), {
855
882
  el: e.el,
856
883
  jsEvent: e.jsEvent
857
884
  }));
858
885
  };
859
- }, [x]), At = u(() => {
860
- if (L)
886
+ }, [D]), Bt = u(() => {
887
+ if (j)
861
888
  return (e) => {
862
- var t;
863
- e.event.start && e.event.display !== "background" && ((t = e.event.extendedProps) != null && t.isDraft || L(B(e.event), {
889
+ if (!e.event.start || e.event.display === "background") return;
890
+ const t = e.event.extendedProps ?? {};
891
+ t.isDraft || t.detailsPending || j(P(e.event), {
864
892
  el: e.el,
865
893
  jsEvent: e.jsEvent
866
- }));
894
+ });
867
895
  };
868
- }, [L]), Rt = u(() => {
869
- if (W)
896
+ }, [j]), Lt = u(() => {
897
+ if (_)
870
898
  return (e) => {
871
- e.event.start && e.event.display !== "background" && W(B(e.event));
899
+ e.event.start && e.event.display !== "background" && _(P(e.event));
872
900
  };
873
- }, [W]), St = u(() => {
874
- if (F)
901
+ }, [_]), Ot = u(() => {
902
+ if (N)
875
903
  return (e) => {
876
904
  var t;
877
- F({
905
+ N({
878
906
  start: e.start,
879
907
  end: e.end,
880
908
  allDay: e.allDay,
881
909
  resourceId: (t = e.resource) == null ? void 0 : t.id
882
910
  });
883
911
  };
884
- }, [F]), Et = u(() => {
885
- if (D)
912
+ }, [N]), zt = u(() => {
913
+ if (x)
886
914
  return (e) => {
887
915
  var r;
888
- const t = te.current.id;
889
- t !== 0 && Se.current === t || (t !== 0 && (Re.current = t), D({
916
+ const t = ie.current.id;
917
+ t !== 0 && Be.current === t || (t !== 0 && (Me.current = t), x({
890
918
  date: e.date,
891
919
  allDay: e.allDay,
892
920
  resourceId: (r = e.resource) == null ? void 0 : r.id
893
921
  }));
894
922
  };
895
- }, [D]), Nt = g(
923
+ }, [x]), Ft = h(
896
924
  (e) => {
897
- ut(e.view.title), mt(e.view.type), A == null || A({
898
- view: d,
925
+ yt(e.view.title), bt(e.view.type), G == null || G({
926
+ view: l,
899
927
  internalView: e.view.type,
900
928
  start: e.start,
901
929
  end: e.end,
@@ -903,77 +931,77 @@ const Fe = Le(
903
931
  tick, which fires before fcRef is guaranteed to be assigned. */
904
932
  currentDate: e.view.calendar.getDate(),
905
933
  title: e.view.title
906
- }), H();
934
+ }), $(), K();
907
935
  },
908
- [A, d, H]
909
- ), Pt = u(() => gr(S), [S]), Gt = u(
936
+ [G, l, $, K]
937
+ ), Wt = u(() => kr(R), [R]), jt = u(
910
938
  () => [
911
- Ut,
912
- Yt,
913
- Xt,
914
- tr,
915
- Jt,
916
- Zt,
917
- Qt,
918
- er
939
+ rr,
940
+ nr,
941
+ ir,
942
+ lr,
943
+ ar,
944
+ sr,
945
+ or,
946
+ dr
919
947
  ],
920
948
  []
921
- ), Mt = u(
922
- () => pe(d, z),
923
- [d, z]
949
+ ), _t = u(
950
+ () => be(l, V),
951
+ [l, V]
924
952
  );
925
953
  v(() => {
926
- const e = R.current;
954
+ const e = k.current;
927
955
  if (!e) return;
928
956
  const t = (r) => {
929
- te.current = {
930
- id: te.current.id + 1,
957
+ ie.current = {
958
+ id: ie.current.id + 1,
931
959
  x: r.clientX,
932
960
  y: r.clientY
933
961
  };
934
962
  };
935
963
  return e.addEventListener("pointerdown", t, !0), () => e.removeEventListener("pointerdown", t, !0);
936
964
  }, []), v(() => {
937
- const e = R.current;
938
- if (!e || !V.startsWith("resourceTimeGrid") || !D && !x) return;
965
+ const e = k.current;
966
+ if (!e || !O.startsWith("resourceTimeGrid") || !x && !D) return;
939
967
  const t = (r) => {
940
- var K;
941
- if (r === Ae.current) return;
968
+ var X;
969
+ if (r === Ge.current) return;
942
970
  const i = r.target;
943
971
  if (!(i instanceof Element) || i.closest(
944
972
  ".fc-more-link, a[data-navlink], .fc-popover, .fc-event-mirror"
945
973
  ))
946
974
  return;
947
- const a = te.current;
948
- if (a.id !== 0 && (Math.abs(r.clientX - a.x) > ve || Math.abs(r.clientY - a.y) > ve))
975
+ const a = ie.current;
976
+ if (a.id !== 0 && (Math.abs(r.clientX - a.x) > Te || Math.abs(r.clientY - a.y) > Te))
949
977
  return;
950
978
  const c = i.closest("td.fc-daygrid-day[data-date]");
951
979
  if (!c) return;
952
980
  const b = i.closest("[data-event-id]");
953
981
  if (b) {
954
- if (!x) return;
955
- const U = b.getAttribute("data-event-id"), fe = (K = w.current) == null ? void 0 : K.getApi(), ie = U ? fe == null ? void 0 : fe.getEventById(U) : null;
956
- if (!ie || !ie.start) return;
957
- const Me = ie.extendedProps ?? {};
958
- if (Me.isInternal || Me.isDraft) return;
959
- const qt = i.closest(".fc-event") ?? b;
960
- x(B(ie), { el: qt, jsEvent: r });
982
+ if (!D) return;
983
+ const J = b.getAttribute("data-event-id"), ye = (X = C.current) == null ? void 0 : X.getApi(), oe = J ? ye == null ? void 0 : ye.getEventById(J) : null;
984
+ if (!oe || !oe.start) return;
985
+ const We = oe.extendedProps ?? {};
986
+ if (We.isInternal || We.isDraft) return;
987
+ const Qt = i.closest(".fc-event") ?? b;
988
+ D(P(oe), { el: Qt, jsEvent: r });
961
989
  return;
962
990
  }
963
- if (!D || a.id !== 0 && Re.current === a.id)
991
+ if (!x || a.id !== 0 && Me.current === a.id)
964
992
  return;
965
- const q = c.getAttribute("data-date");
966
- if (!q) return;
967
- const $ = /* @__PURE__ */ new Date(`${q}T00:00:00`);
968
- Number.isNaN($.getTime()) || (a.id !== 0 && (Se.current = a.id), D({
969
- date: $,
993
+ const U = c.getAttribute("data-date");
994
+ if (!U) return;
995
+ const Y = /* @__PURE__ */ new Date(`${U}T00:00:00`);
996
+ Number.isNaN(Y.getTime()) || (a.id !== 0 && (Be.current = a.id), x({
997
+ date: Y,
970
998
  allDay: !0,
971
999
  resourceId: c.getAttribute("data-resource-id") ?? void 0
972
1000
  }));
973
1001
  };
974
1002
  return e.addEventListener("click", t), () => e.removeEventListener("click", t);
975
- }, [V, D, x]);
976
- const Bt = g(
1003
+ }, [O, x, D]);
1004
+ const Vt = h(
977
1005
  (e) => {
978
1006
  const t = e.resource.extendedProps, r = e.resource.title, i = t.color, a = t.shortTitleTextColor, c = i || a ? {
979
1007
  ...i ? { "--resource-color": i } : {},
@@ -981,15 +1009,15 @@ const Fe = Le(
981
1009
  "--resource-initials-text-color": a
982
1010
  } : {}
983
1011
  } : void 0;
984
- return ke === "chip" && !de ? /* @__PURE__ */ l(
985
- or,
1012
+ return Pe === "chip" && !ue ? /* @__PURE__ */ d(
1013
+ hr,
986
1014
  {
987
1015
  label: r,
988
1016
  color: i,
989
- orientation: ce ? "vertical" : "horizontal"
1017
+ orientation: me ? "vertical" : "horizontal"
990
1018
  }
991
- ) : de ? /* @__PURE__ */ l(dr, { label: r, children: /* @__PURE__ */ l(sr, { size: "sm", name: r, src: t.avatarSrc }) }) : i ? (i && a && ir(i, a, `resource ${e.resource.id}`), /* @__PURE__ */ E("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
992
- /* @__PURE__ */ l(
1019
+ ) : ue ? /* @__PURE__ */ d(gr, { label: r, children: /* @__PURE__ */ d(pr, { size: "sm", name: r, src: t.avatarSrc }) }) : i ? (i && a && mr(i, a, `resource ${e.resource.id}`), /* @__PURE__ */ S("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
1020
+ /* @__PURE__ */ d(
993
1021
  "span",
994
1022
  {
995
1023
  className: "resource-dot ds:[background-color:var(--resource-color)]",
@@ -997,11 +1025,11 @@ const Fe = Le(
997
1025
  "aria-hidden": "true"
998
1026
  }
999
1027
  ),
1000
- /* @__PURE__ */ l("span", { className: "ds:truncate ds:text-start", children: r })
1001
- ] })) : /* @__PURE__ */ l("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: /* @__PURE__ */ l("span", { className: "ds:truncate ds:text-start", children: r }) });
1028
+ /* @__PURE__ */ d("span", { className: "ds:truncate ds:text-start", children: r })
1029
+ ] })) : /* @__PURE__ */ d("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: /* @__PURE__ */ d("span", { className: "ds:truncate ds:text-start", children: r }) });
1002
1030
  },
1003
- [de, ke, ce]
1004
- ), Ge = u(
1031
+ [ue, Pe, me]
1032
+ ), Fe = u(
1005
1033
  () => o == null ? void 0 : o.map((e) => ({
1006
1034
  id: e.id,
1007
1035
  title: e.title,
@@ -1017,30 +1045,34 @@ const Fe = Le(
1017
1045
  [o]
1018
1046
  );
1019
1047
  v(() => {
1020
- H();
1021
- const e = requestAnimationFrame(H);
1048
+ $();
1049
+ const e = requestAnimationFrame($);
1022
1050
  return () => cancelAnimationFrame(e);
1023
- }, [ne, Ge, V, H]);
1024
- const Ot = g(() => {
1051
+ }, [se, Fe, O, $]), v(() => {
1052
+ K();
1053
+ const e = requestAnimationFrame(K);
1054
+ return () => cancelAnimationFrame(e);
1055
+ }, [E, O, K]);
1056
+ const Ht = h(() => {
1025
1057
  var e, t;
1026
- (t = (e = w.current) == null ? void 0 : e.getApi()) == null || t.today();
1027
- }, []), Lt = g(() => {
1058
+ (t = (e = C.current) == null ? void 0 : e.getApi()) == null || t.today();
1059
+ }, []), qt = h(() => {
1028
1060
  var e, t;
1029
- (t = (e = w.current) == null ? void 0 : e.getApi()) == null || t.prev();
1030
- }, []), Wt = g(() => {
1061
+ (t = (e = C.current) == null ? void 0 : e.getApi()) == null || t.prev();
1062
+ }, []), $t = h(() => {
1031
1063
  var e, t;
1032
- (t = (e = w.current) == null ? void 0 : e.getApi()) == null || t.next();
1033
- }, []), Ft = u(
1064
+ (t = (e = C.current) == null ? void 0 : e.getApi()) == null || t.next();
1065
+ }, []), Kt = u(
1034
1066
  () => s.some((e) => e.isDraft),
1035
1067
  [s]
1036
- ), zt = [
1068
+ ), Ut = [
1037
1069
  "fc-theme-alfadocs",
1038
- st ? "calendar-zebra-rows" : null,
1039
- ce ? "calendar-vertical-resource-labels" : null,
1040
- it ? "calendar-availability-mode" : null,
1070
+ ft ? "calendar-zebra-rows" : null,
1071
+ me ? "calendar-vertical-resource-labels" : null,
1072
+ ut ? "calendar-availability-mode" : null,
1041
1073
  /* Composing: derived from the events themselves rather than a prop,
1042
1074
  so the dim can never disagree with what is on the grid. */
1043
- Ft ? "calendar-composing-mode" : null,
1075
+ Kt ? "calendar-composing-mode" : null,
1044
1076
  "ds:bg-background ds:text-foreground",
1045
1077
  /* The radius has to CLIP, not just round the box. FullCalendar draws the
1046
1078
  grid as a table with its own border, and that border squares off the
@@ -1050,13 +1082,18 @@ const Fe = Le(
1050
1082
  `clip`, not `hidden`: `hidden` makes this a scroll container, which
1051
1083
  breaks the grid's own sticky header row
1052
1084
  (`.fc-scrollgrid-section-sticky`). `clip` cuts the corners without
1053
- creating one. */
1054
- "ds:rounded-[var(--radius-md)] ds:overflow-clip",
1055
- Ve
1056
- ].filter(Boolean).join(" "), jt = Q || ee ? {
1057
- ...Q ? { "--calendar-mode-bg": Q } : {},
1058
- ...ee ? { "--calendar-mode-fg": ee } : {}
1059
- } : void 0, _t = Z !== "default" ? qe ?? m(hr[Z]) : "", Vt = [
1085
+ creating one.
1086
+
1087
+ The frame is this wrapper's border, not the table's: a clipped
1088
+ straight border still read as a square frame inside the rounded
1089
+ box, so the bridge zeroes FullCalendar's outer borders and this
1090
+ border follows the radius instead. */
1091
+ "ds:rounded-[var(--radius-md)] ds:border ds:border-[var(--border)] ds:overflow-clip",
1092
+ Xe
1093
+ ].filter(Boolean).join(" "), Yt = re || ne ? {
1094
+ ...re ? { "--calendar-mode-bg": re } : {},
1095
+ ...ne ? { "--calendar-mode-fg": ne } : {}
1096
+ } : void 0, Xt = te !== "default" ? Ze ?? m(Ar[te]) : "", Jt = [
1060
1097
  "ds:sticky ds:top-0 ds:z-10",
1061
1098
  "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
1062
1099
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
@@ -1064,9 +1101,9 @@ const Fe = Le(
1064
1101
  /* Caller-supplied colours flow through CSS custom properties set
1065
1102
  in `modeBannerStyle`; fallback tokens apply when the caller
1066
1103
  doesn't supply a hex. */
1067
- Q ? "ds:[background-color:var(--calendar-mode-bg)]" : "ds:bg-[var(--muted)]",
1068
- ee ? "ds:[color:var(--calendar-mode-fg)]" : "ds:text-[var(--muted-foreground)]"
1069
- ].filter(Boolean).join(" "), Ht = [
1104
+ re ? "ds:[background-color:var(--calendar-mode-bg)]" : "ds:bg-[var(--muted)]",
1105
+ ne ? "ds:[color:var(--calendar-mode-fg)]" : "ds:text-[var(--muted-foreground)]"
1106
+ ].filter(Boolean).join(" "), Zt = [
1070
1107
  "ds:inline-flex ds:items-center ds:justify-center",
1071
1108
  "ds:min-h-[var(--min-target-size)]",
1072
1109
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
@@ -1081,143 +1118,161 @@ const Fe = Le(
1081
1118
  "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
1082
1119
  "ds:motion-reduce:transition-none"
1083
1120
  ].join(" ");
1084
- return /* @__PURE__ */ E(
1121
+ return /* @__PURE__ */ S(
1085
1122
  "div",
1086
1123
  {
1087
- ref: R,
1088
- className: zt,
1124
+ ref: k,
1125
+ className: Ut,
1089
1126
  role: "region",
1090
1127
  "aria-label": m("calendar.ariaLabel"),
1091
1128
  "data-component": "calendar",
1092
1129
  "data-component-id": n,
1093
- "data-mode": Z,
1130
+ "data-mode": te,
1094
1131
  children: [
1095
- /* @__PURE__ */ l(
1132
+ /* @__PURE__ */ d(
1096
1133
  "div",
1097
1134
  {
1098
- ref: C,
1135
+ ref: w,
1099
1136
  "aria-live": "polite",
1100
1137
  "aria-atomic": "true",
1101
- className: ["ds:sr-only", N].filter(Boolean).join(" ")
1138
+ className: ["ds:sr-only", M].filter(Boolean).join(" ")
1102
1139
  }
1103
1140
  ),
1104
- $e,
1105
- Z !== "default" ? /* @__PURE__ */ E(
1141
+ Qe,
1142
+ te !== "default" ? /* @__PURE__ */ S(
1106
1143
  "div",
1107
1144
  {
1108
- className: Vt,
1109
- style: jt,
1145
+ className: Jt,
1146
+ style: Yt,
1110
1147
  role: "status",
1111
1148
  children: [
1112
- /* @__PURE__ */ l(
1149
+ /* @__PURE__ */ d(
1113
1150
  "span",
1114
1151
  {
1115
- className: ["ds:flex-1 ds:text-start", N].filter(Boolean).join(" "),
1116
- children: _t
1152
+ className: ["ds:flex-1 ds:text-start", M].filter(Boolean).join(" "),
1153
+ children: Xt
1117
1154
  }
1118
1155
  ),
1119
- De ? /* @__PURE__ */ l(
1156
+ Ie ? /* @__PURE__ */ d(
1120
1157
  "button",
1121
1158
  {
1122
1159
  type: "button",
1123
- onClick: De,
1124
- className: Ht,
1160
+ onClick: Ie,
1161
+ className: Zt,
1125
1162
  children: m("calendar.modeBanner.cancel")
1126
1163
  }
1127
1164
  ) : null
1128
1165
  ]
1129
1166
  }
1130
1167
  ) : null,
1131
- rt !== !1 ? /* @__PURE__ */ l(
1132
- be,
1168
+ lt !== !1 ? /* @__PURE__ */ d(
1169
+ Ce,
1133
1170
  {
1134
- title: lt,
1135
- onToday: Ot,
1136
- onPrev: Lt,
1137
- onNext: Wt,
1138
- end: nt,
1139
- maskClassName: N
1171
+ title: gt,
1172
+ onToday: Ht,
1173
+ onPrev: qt,
1174
+ onNext: $t,
1175
+ end: ct,
1176
+ maskClassName: M
1140
1177
  }
1141
1178
  ) : null,
1142
- /* @__PURE__ */ l(
1143
- Kt,
1179
+ /* @__PURE__ */ d(
1180
+ tr,
1144
1181
  {
1145
- ref: w,
1146
- plugins: Gt,
1147
- schedulerLicenseKey: tt,
1148
- initialView: Mt,
1149
- views: vr,
1182
+ ref: C,
1183
+ plugins: jt,
1184
+ schedulerLicenseKey: dt,
1185
+ initialView: _t,
1186
+ views: wr,
1150
1187
  initialDate: f,
1151
- locale: S,
1152
- direction: dt,
1153
- firstDay: Pt,
1154
- editable: J,
1155
- eventDurationEditable: J === !1 ? !1 : ze ?? J,
1156
- selectable: Te,
1157
- selectMirror: je ?? Te,
1158
- ...xe === void 0 ? {} : { unselectAuto: xe },
1159
- droppable: J,
1160
- dayMaxEvents: et,
1161
- height: _e,
1188
+ locale: R,
1189
+ direction: vt,
1190
+ firstDay: Wt,
1191
+ editable: ee,
1192
+ eventDurationEditable: ee === !1 ? !1 : Ke ?? ee,
1193
+ selectable: Ae,
1194
+ selectMirror: Ue ?? Ae,
1195
+ ...ke === void 0 ? {} : { unselectAuto: ke },
1196
+ droppable: ee,
1197
+ dayMaxEvents: ot,
1198
+ height: Ye,
1162
1199
  expandRows: !0,
1163
- events: ft,
1164
- resources: Ge,
1200
+ events: Tt,
1201
+ resources: Fe,
1165
1202
  resourceOrder: "sequenceNumber",
1166
- resourceLabelContent: Bt,
1167
- resourceAreaWidth: at,
1168
- resourceAreaHeaderContent: bt,
1169
- dayCellClassNames: Tt,
1170
- dayHeaderClassNames: Dt,
1171
- resourceLabelClassNames: xt,
1172
- dayHeaderDidMount: wt,
1173
- ...ue ? { slotLaneClassNames: ue } : {},
1203
+ resourceLabelContent: Vt,
1204
+ resourceAreaWidth: mt,
1205
+ resourceAreaHeaderContent: kt,
1206
+ dayCellClassNames: It,
1207
+ dayCellDidMount: Pt,
1208
+ dayHeaderClassNames: Rt,
1209
+ resourceLabelClassNames: St,
1210
+ dayHeaderDidMount: Et,
1211
+ ...he ? { slotLaneClassNames: he } : {},
1174
1212
  eventClassNames: (e) => {
1175
1213
  var t;
1176
1214
  return [
1177
- ...ue ?? [],
1178
- ...Ie && e.event.id === Ie ? ["calendar-event-selected"] : [],
1215
+ ...he ?? [],
1216
+ ...Ne && e.event.id === Ne ? ["calendar-event-selected"] : [],
1179
1217
  ...(t = e.event.extendedProps) != null && t.isDraft ? ["calendar-event-draft"] : []
1180
1218
  ];
1181
1219
  },
1182
1220
  headerToolbar: !1,
1183
1221
  allDayText: m("calendar.allDay"),
1184
1222
  noEventsText: m("calendar.noEvents"),
1185
- titleFormat: pt,
1186
- dayHeaderFormat: vt,
1187
- dayHeaderContent: yt,
1188
- eventTimeFormat: ht,
1189
- slotLabelFormat: gt,
1190
- slotMinTime: Ke ?? "00:00:00",
1191
- slotMaxTime: Ue ?? "24:00:00",
1192
- slotDuration: Ye ?? "00:30:00",
1193
- ...Ce ? { snapDuration: Ce } : {},
1223
+ titleFormat: Dt,
1224
+ dayHeaderFormat: xt,
1225
+ dayHeaderContent: At,
1226
+ eventTimeFormat: Ct,
1227
+ slotLabelFormat: wt,
1228
+ slotMinTime: et ?? "00:00:00",
1229
+ slotMaxTime: tt ?? "24:00:00",
1230
+ slotDuration: rt ?? "00:30:00",
1231
+ ...Ee ? { snapDuration: Ee } : {},
1194
1232
  slotLabelInterval: "01:00:00",
1195
- ...Pe !== void 0 ? { defaultTimedEventDuration: Pe } : {},
1196
- hiddenDays: we,
1197
- datesAboveResources: oe,
1198
- slotEventOverlap: Je,
1199
- stickyHeaderDates: Ze,
1200
- nowIndicator: Qe,
1201
- eventLongPressDelay: re ? 0 : 1e3,
1202
- eventDragMinDistance: re ? 0 : ve,
1233
+ ...ze !== void 0 ? { defaultTimedEventDuration: ze } : {},
1234
+ hiddenDays: Se,
1235
+ datesAboveResources: ce,
1236
+ slotEventOverlap: it,
1237
+ stickyHeaderDates: at,
1238
+ nowIndicator: st,
1239
+ eventLongPressDelay: ae ? 0 : 1e3,
1240
+ eventDragMinDistance: ae ? 0 : Te,
1203
1241
  eventContent: (e) => {
1204
1242
  var r;
1205
1243
  const t = e.event.extendedProps ?? {};
1206
- return t.isInternal ? e.event.title ? /* @__PURE__ */ E("span", { className: "calendar-bg-event-label", children: [
1207
- /* @__PURE__ */ l(cr, { size: 12, "aria-hidden": "true" }),
1244
+ return t.isInternal ? e.event.title && Q ? /* @__PURE__ */ S(
1245
+ vr,
1246
+ {
1247
+ intent: "ghost",
1248
+ "data-event-id": e.event.id,
1249
+ className: "calendar-bg-event-label ds:pointer-events-auto ds:h-full ds:w-full ds:[min-block-size:var(--min-target-size)] ds:[min-inline-size:var(--min-target-size)]",
1250
+ onClick: (i) => {
1251
+ i.stopPropagation(), Q(P(e.event), {
1252
+ el: i.currentTarget,
1253
+ jsEvent: i.nativeEvent
1254
+ });
1255
+ },
1256
+ children: [
1257
+ /* @__PURE__ */ d(je, { size: 12, "aria-hidden": "true" }),
1258
+ e.event.title
1259
+ ]
1260
+ }
1261
+ ) : e.event.title ? /* @__PURE__ */ S("span", { className: "calendar-bg-event-label", children: [
1262
+ /* @__PURE__ */ d(je, { size: 12, "aria-hidden": "true" }),
1208
1263
  e.event.title
1209
- ] }) : !0 : /* @__PURE__ */ l(
1210
- ar,
1264
+ ] }) : !0 : /* @__PURE__ */ d(
1265
+ fr,
1211
1266
  {
1212
1267
  eventId: e.event.id,
1213
1268
  title: y ? t.privacyModeTitle ?? "•••" : e.event.title,
1214
1269
  privacyMasked: y,
1215
1270
  suffix: t.suffix,
1216
- rangeText: Tr(e, S),
1217
- showTime: Xe,
1271
+ rangeText: Er(e, R),
1272
+ showTime: nt,
1218
1273
  allDay: e.event.allDay,
1219
1274
  status: t.status,
1220
- colorStyle: He,
1275
+ colorStyle: Je,
1221
1276
  backgroundColor: t.backgroundColor,
1222
1277
  textColor: t.textColor,
1223
1278
  borderColor: t.borderColor,
@@ -1229,23 +1284,24 @@ const Fe = Le(
1229
1284
  isRecurring: t.isRecurring,
1230
1285
  isTask: t.isTask,
1231
1286
  isDraft: t.isDraft,
1287
+ detailsPending: t.detailsPending,
1232
1288
  resourceLabel: t.resourceId ? (r = (o ?? []).find((i) => i.id === t.resourceId)) == null ? void 0 : r.title : void 0
1233
1289
  }
1234
1290
  );
1235
1291
  },
1236
- eventClick: It,
1237
- eventMouseEnter: At,
1238
- eventMouseLeave: Rt,
1239
- eventDrop: Ct,
1240
- eventResize: kt,
1241
- eventDragStart: O,
1242
- eventResizeStart: Y,
1243
- select: St,
1244
- dateClick: Et,
1245
- datesSet: Nt,
1246
- ...X ? {
1292
+ eventClick: Mt,
1293
+ eventMouseEnter: Bt,
1294
+ eventMouseLeave: Lt,
1295
+ eventDrop: Nt,
1296
+ eventResize: Gt,
1297
+ eventDragStart: W,
1298
+ eventResizeStart: Z,
1299
+ select: Ot,
1300
+ dateClick: zt,
1301
+ datesSet: Ft,
1302
+ ...we ? {
1247
1303
  navLinks: !0,
1248
- navLinkDayClick: (e, t) => X(e, t)
1304
+ navLinkDayClick: (e, t) => we(e, t)
1249
1305
  } : {}
1250
1306
  }
1251
1307
  )
@@ -1254,12 +1310,12 @@ const Fe = Le(
1254
1310
  );
1255
1311
  }
1256
1312
  );
1257
- Fe.displayName = "Calendar";
1258
- const wr = Fe;
1259
- wr.Toolbar = be;
1313
+ $e.displayName = "Calendar";
1314
+ const Gr = $e;
1315
+ Gr.Toolbar = Ce;
1260
1316
  export {
1261
- wr as C,
1262
- lr as c,
1263
- pe as r
1317
+ Gr as C,
1318
+ br as c,
1319
+ be as r
1264
1320
  };
1265
- //# sourceMappingURL=calendar-CI9MINcR.js.map
1321
+ //# sourceMappingURL=calendar-BNQKpxhE.js.map