@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,35 +1,35 @@
1
- import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as Z } from "react";
3
- import { useTranslation as q } from "react-i18next";
4
- import { c as G } from "./index-D2ZczOXr.js";
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as U } from "react";
3
+ import { useTranslation as Z } from "react-i18next";
4
+ import { c as q } from "./index-D2ZczOXr.js";
5
5
  import { C as W } from "./clipboard-check-BeAGxDVT.js";
6
- import { E } from "./eye-off-C_4xkbRP.js";
7
- import { c as f } from "./createLucideIcon-DhHxpK9K.js";
6
+ import { E as C } from "./eye-off-C_4xkbRP.js";
7
+ import { c as h } from "./createLucideIcon-DhHxpK9K.js";
8
8
  import { C as Y } from "./check-DrFSN__t.js";
9
- import { S as D } from "./stethoscope-sZXGC43m.js";
10
- import { C as F } from "./clock-Drd4Wtis.js";
11
- import { G as J } from "./globe-sHBW1JN5.js";
12
- import { T as P } from "./triangle-alert-CBnO6nq_.js";
13
- import { H as Q } from "./heart-pulse-BCppJyN2.js";
14
- import { V as T } from "./video-BheNGvsu.js";
15
- import { R as X } from "./repeat-CvQa5rZt.js";
9
+ import { S as F } from "./stethoscope-sZXGC43m.js";
10
+ import { C as J } from "./clock-Drd4Wtis.js";
11
+ import { G as Q } from "./globe-sHBW1JN5.js";
12
+ import { T as X } from "./triangle-alert-CBnO6nq_.js";
13
+ import { H as P } from "./heart-pulse-BCppJyN2.js";
14
+ import { V as ee } from "./video-BheNGvsu.js";
15
+ import { R as ne } from "./repeat-CvQa5rZt.js";
16
16
  /**
17
17
  * @license lucide-react v1.22.0 - ISC
18
18
  *
19
19
  * This source code is licensed under the ISC license.
20
20
  * See the LICENSE file in the root directory of this source tree.
21
21
  */
22
- const ee = [
22
+ const ae = [
23
23
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
24
24
  ["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
25
- ], ne = f("ban", ee);
25
+ ], re = h("ban", ae);
26
26
  /**
27
27
  * @license lucide-react v1.22.0 - ISC
28
28
  *
29
29
  * This source code is licensed under the ISC license.
30
30
  * See the LICENSE file in the root directory of this source tree.
31
31
  */
32
- const ae = [
32
+ const se = [
33
33
  ["path", { d: "M4 10h12", key: "1y6xl8" }],
34
34
  ["path", { d: "M4 14h9", key: "1loblj" }],
35
35
  [
@@ -39,14 +39,14 @@ const ae = [
39
39
  key: "1j6lzo"
40
40
  }
41
41
  ]
42
- ], re = f("euro", ae);
42
+ ], de = h("euro", se);
43
43
  /**
44
44
  * @license lucide-react v1.22.0 - ISC
45
45
  *
46
46
  * This source code is licensed under the ISC license.
47
47
  * See the LICENSE file in the root directory of this source tree.
48
48
  */
49
- const se = [
49
+ const te = [
50
50
  [
51
51
  "path",
52
52
  {
@@ -55,14 +55,14 @@ const se = [
55
55
  }
56
56
  ],
57
57
  ["path", { d: "M7 10v12", key: "1qc93n" }]
58
- ], te = f("thumbs-up", se);
58
+ ], ie = h("thumbs-up", te);
59
59
  /**
60
60
  * @license lucide-react v1.22.0 - ISC
61
61
  *
62
62
  * This source code is licensed under the ISC license.
63
63
  * See the LICENSE file in the root directory of this source tree.
64
64
  */
65
- const de = [
65
+ const oe = [
66
66
  [
67
67
  "path",
68
68
  {
@@ -70,62 +70,62 @@ const de = [
70
70
  key: "1xq2db"
71
71
  }
72
72
  ]
73
- ], ie = f("zap", de);
74
- function oe(a) {
73
+ ], le = h("zap", oe);
74
+ function ce(a) {
75
75
  if (typeof a != "string") return null;
76
76
  const r = a.trim();
77
77
  if (!r.startsWith("#")) return null;
78
78
  const n = r.slice(1);
79
- let t, d, s;
79
+ let d, t, s;
80
80
  if (n.length === 3) {
81
81
  if (!/^[0-9a-f]{3}$/i.test(n)) return null;
82
- t = parseInt(n[0] + n[0], 16), d = parseInt(n[1] + n[1], 16), s = parseInt(n[2] + n[2], 16);
82
+ d = parseInt(n[0] + n[0], 16), t = parseInt(n[1] + n[1], 16), s = parseInt(n[2] + n[2], 16);
83
83
  } else if (n.length === 6) {
84
84
  if (!/^[0-9a-f]{6}$/i.test(n)) return null;
85
- t = parseInt(n.slice(0, 2), 16), d = parseInt(n.slice(2, 4), 16), s = parseInt(n.slice(4, 6), 16);
85
+ d = parseInt(n.slice(0, 2), 16), t = parseInt(n.slice(2, 4), 16), s = parseInt(n.slice(4, 6), 16);
86
86
  } else
87
87
  return null;
88
- return [t / 255, d / 255, s / 255];
88
+ return [d / 255, t / 255, s / 255];
89
89
  }
90
- function le([a, r, n]) {
91
- const t = (d) => d <= 0.03928 ? d / 12.92 : Math.pow((d + 0.055) / 1.055, 2.4);
92
- return 0.2126 * t(a) + 0.7152 * t(r) + 0.0722 * t(n);
90
+ function ue([a, r, n]) {
91
+ const d = (t) => t <= 0.03928 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
92
+ return 0.2126 * d(a) + 0.7152 * d(r) + 0.0722 * d(n);
93
93
  }
94
- function Ae(a, r, n) {
94
+ function Be(a, r, n) {
95
95
  }
96
- function ce(a) {
97
- const r = oe(a);
98
- return r ? le(r) > 0.1791 ? "on-light" : "on-dark" : null;
96
+ function me(a) {
97
+ const r = ce(a);
98
+ return r ? ue(r) > 0.1791 ? "on-light" : "on-dark" : null;
99
99
  }
100
100
  const pe = {
101
- confirmed: te,
102
- waiting: F,
103
- in_care: D,
101
+ confirmed: ie,
102
+ waiting: J,
103
+ in_care: F,
104
104
  done: Y,
105
- cancelled: ne,
106
- absent: ie
107
- }, i = "ds:inline-flex ds:size-4.5 ds:shrink-0 ds:items-center ds:justify-center ds:rounded-[var(--radius-full)] ds:bg-[color:var(--card)] ds:border ds:border-[color:var(--border)] ds:shadow-[var(--shadow-sm)]", p = {
105
+ cancelled: re,
106
+ absent: le
107
+ }, i = "ds:inline-flex ds:size-4.5 ds:shrink-0 ds:items-center ds:justify-center ds:rounded-[var(--radius-full)] ds:bg-[color:var(--card)] ds:border ds:border-[color:var(--border)] ds:shadow-[var(--shadow-sm)]", ve = "ds:inline-block ds:h-3 ds:w-[6ch] ds:align-middle ds:rounded-[var(--radius-sm)] ds:bg-[var(--muted)] ds:animate-[skeleton-pulse_calc(var(--animation-duration)*8)_ease-in-out_infinite] ds:motion-reduce:animate-none ds:forced-colors:bg-[GrayText] ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText] ds:forced-colors:animate-none", c = {
108
108
  success: "ds:text-[color:var(--success-foreground)]",
109
109
  info: "ds:text-[color:var(--info-foreground)]",
110
110
  warning: "ds:text-[color:var(--warning-foreground)]",
111
111
  error: "ds:text-[color:var(--error-foreground)]",
112
112
  // Same AA-clearing accent mix Badge's accentSoft uses for its ink.
113
113
  accent: "ds:text-[color:color-mix(in_srgb,var(--accent)_40%,var(--foreground))]"
114
- }, me = {
114
+ }, fe = {
115
115
  confirmed: "success",
116
116
  waiting: "info",
117
117
  in_care: "accent",
118
118
  done: "success",
119
119
  cancelled: "error",
120
120
  absent: "warning"
121
- }, ue = {
121
+ }, he = {
122
122
  confirmed: "calendar.status.confirmed",
123
123
  waiting: "calendar.status.waiting",
124
124
  in_care: "calendar.status.inCare",
125
125
  done: "calendar.status.done",
126
126
  cancelled: "calendar.status.cancelled",
127
127
  absent: "calendar.status.absent"
128
- }, ve = G(
128
+ }, ge = q(
129
129
  [
130
130
  // Block root; the appointment content is a wrap-capable flex row
131
131
  // (inline-flowing text cell beside the icon column — structurally
@@ -208,6 +208,10 @@ const pe = {
208
208
  "ds:[--calendar-event-text:var(--foreground)]",
209
209
  "ds:[--calendar-event-border:var(--primary)]"
210
210
  ].join(" "),
211
+ // Details pending — the block IS a booked appointment, so it
212
+ // keeps the colour-identity edge and assigns no paint of its own.
213
+ // Only the NAME is missing; the bar above stands in for it.
214
+ "pending-details": "ds:border-s-4",
211
215
  task: [
212
216
  "ds:border-dashed",
213
217
  "ds:[--calendar-event-bg:var(--muted)]",
@@ -239,66 +243,67 @@ const pe = {
239
243
  colorStyle: "solid"
240
244
  }
241
245
  }
242
- ), fe = Z(
246
+ ), be = U(
243
247
  ({
244
248
  title: a,
245
249
  suffix: r,
246
250
  rangeText: n,
247
- showTime: t = !0,
248
- allDay: d = !1,
251
+ showTime: d = !0,
252
+ allDay: t = !1,
249
253
  status: s,
250
254
  backgroundColor: o,
251
255
  textColor: m,
252
- borderColor: h,
253
- isBookedOnline: g = !1,
254
- hasUnassignedPatient: N,
255
- hasHighlightedAnamnesis: w,
256
- hasBillableAmount: k,
257
- isTelehealth: y,
258
- isRecurring: z,
259
- isTask: l = !1,
260
- isDraft: u = !1,
261
- colorStyle: j = "solid",
262
- resourceLabel: A,
256
+ borderColor: g,
257
+ isBookedOnline: b = !1,
258
+ hasUnassignedPatient: w,
259
+ hasHighlightedAnamnesis: k,
260
+ hasBillableAmount: y,
261
+ isTelehealth: z,
262
+ isRecurring: S,
263
+ isTask: u = !1,
264
+ isDraft: x = !1,
265
+ detailsPending: p = !1,
266
+ colorStyle: L = "solid",
267
+ resourceLabel: j,
263
268
  privacyMasked: $ = !1,
264
- eventId: L,
265
- className: B,
269
+ eventId: B,
270
+ className: O,
266
271
  style: I,
267
- "aria-label": C,
268
- ...O
269
- }, M) => {
270
- const { t: b } = q(), x = s ? pe[s] : null, H = !!x || !!g || !!N || !!w || !!k || !!y || !!z, R = s ? b(ue[s]) : void 0, V = u ? b("calendar.eventKind.draft") : l ? b("calendar.eventKind.task") : void 0, K = C ?? [a, n, A, R, V].filter(Boolean).join(", "), v = !l && !u && j === "tinted", _ = !v && !m && o ? ce(o) : null, S = v ? o ? { "--calendar-event-accent": o } : void 0 : o || m || h ? {
272
+ "aria-label": M,
273
+ ...H
274
+ }, R) => {
275
+ const { t: v } = Z(), _ = s ? pe[s] : null, G = !!_ || !!b || !!w || !!k || !!y || !!z || !!S, K = s ? v(he[s]) : void 0, V = p ? v("calendar.eventKind.pendingDetails") : x ? v("calendar.eventKind.draft") : u ? v("calendar.eventKind.task") : void 0, D = M ?? [a, n, j, K, V].filter(Boolean).join(", "), E = p ? "pending-details" : x ? "draft" : u ? "task" : "appointment", f = !u && !x && L === "tinted", N = !f && !m && o ? me(o) : null, A = f ? o ? { "--calendar-event-accent": o } : void 0 : o || m || g ? {
271
276
  ...o ? { "--calendar-event-bg": o } : {},
272
- ...m ? { "--calendar-event-text": m } : _ === "on-light" ? { "--calendar-event-text": "var(--event-ink-on-light)" } : _ === "on-dark" ? { "--calendar-event-text": "var(--event-ink-on-dark)" } : {},
273
- ...h ? { "--calendar-event-border": h } : {}
274
- } : void 0, U = I || S ? { ...I, ...S } : void 0;
275
- return /* @__PURE__ */ c(
277
+ ...m ? { "--calendar-event-text": m } : N === "on-light" ? { "--calendar-event-text": "var(--event-ink-on-light)" } : N === "on-dark" ? { "--calendar-event-text": "var(--event-ink-on-dark)" } : {},
278
+ ...g ? { "--calendar-event-border": g } : {}
279
+ } : void 0, T = I || A ? { ...I, ...A } : void 0;
280
+ return /* @__PURE__ */ l(
276
281
  "div",
277
282
  {
278
- ref: M,
279
- ...O,
280
- className: ve({
283
+ ref: R,
284
+ ...H,
285
+ className: ge({
281
286
  status: s ?? "none",
282
- bookedOnline: g,
283
- kind: u ? "draft" : l ? "task" : "appointment",
284
- colorStyle: v ? "tinted" : "solid",
285
- className: B
287
+ bookedOnline: b,
288
+ kind: E,
289
+ colorStyle: f ? "tinted" : "solid",
290
+ className: O
286
291
  }),
287
- style: U,
288
- "aria-label": K,
292
+ style: T,
293
+ "aria-label": D,
289
294
  "data-component": "calendar-event-card",
290
- "data-event-id": L,
291
- "data-kind": u ? "draft" : l ? "task" : "appointment",
295
+ "data-event-id": B,
296
+ "data-kind": E,
292
297
  "data-status": s ?? "none",
293
- "data-contrast": v ? "tinted" : m ? "custom" : _ ?? "default",
298
+ "data-contrast": f ? "tinted" : m ? "custom" : N ?? "default",
294
299
  children: [
295
- l ? (
300
+ u && !p ? (
296
301
  /* Task cards lead with ONE line — glyph + title inline. A task is
297
302
  typically a 30-min block whose visible height fits a single
298
303
  line; the appointment layout below would spend that line on the
299
304
  indicator row and clip the title entirely. Tasks carry none of
300
305
  the appointment flags, so the row loses nothing. */
301
- /* @__PURE__ */ c("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
306
+ /* @__PURE__ */ l("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
302
307
  /* @__PURE__ */ e(
303
308
  "span",
304
309
  {
@@ -307,9 +312,9 @@ const pe = {
307
312
  children: /* @__PURE__ */ e(W, { size: 11, "aria-hidden": "true" })
308
313
  }
309
314
  ),
310
- t && !d && n ? /* @__PURE__ */ e("span", { className: "ds:whitespace-nowrap ds:text-[length:var(--font-size-xs)]", children: n }) : null,
311
- /* @__PURE__ */ e("span", { className: "ds:[min-inline-size:0] ds:font-[var(--font-weight-semibold)] ds:truncate ds:text-start", children: $ ? /* @__PURE__ */ c("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
312
- /* @__PURE__ */ e(E, { size: 12, "aria-hidden": "true" }),
315
+ d && !t && n ? /* @__PURE__ */ e("span", { className: "ds:whitespace-nowrap ds:text-[length:var(--font-size-xs)]", children: n }) : null,
316
+ /* @__PURE__ */ e("span", { className: "ds:[min-inline-size:0] ds:font-[var(--font-weight-semibold)] ds:truncate ds:text-start", children: $ ? /* @__PURE__ */ l("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
317
+ /* @__PURE__ */ e(C, { size: 12, "aria-hidden": "true" }),
313
318
  a
314
319
  ] }) : a })
315
320
  ] })
@@ -321,20 +326,23 @@ const pe = {
321
326
  unlike a float (inline text paints ABOVE floats, which
322
327
  produced glyphs-through-icons in sliver-width columns). A
323
328
  one-line sliver still reads "09:15 Name" plus icons. */
324
- /* @__PURE__ */ c("span", { className: "ds:flex ds:h-full ds:items-stretch ds:gap-[var(--spacing-2xs)]", children: [
325
- /* @__PURE__ */ c("span", { className: "ds:min-w-[var(--spacing-2xl)] ds:flex-1 ds:overflow-hidden ds:break-normal", children: [
326
- t && !d && n ? (
329
+ /* @__PURE__ */ l("span", { className: "ds:flex ds:h-full ds:items-stretch ds:gap-[var(--spacing-2xs)]", children: [
330
+ /* @__PURE__ */ l("span", { className: "ds:min-w-[var(--spacing-2xl)] ds:flex-1 ds:overflow-hidden ds:break-normal", children: [
331
+ d && !t && n ? (
327
332
  // No opacity here — composing 70% over saturated bgs drops
328
333
  // effective contrast below WCAG AA. The smaller
329
334
  // font-size-xs vs the title's font-weight-semibold provides
330
335
  // sufficient visual hierarchy.
331
336
  /* @__PURE__ */ e("span", { className: "ds:me-[var(--spacing-2xs)] ds:whitespace-nowrap ds:text-[length:var(--font-size-xs)]", children: n })
332
337
  ) : null,
333
- /* @__PURE__ */ e("span", { className: "ds:font-[var(--font-weight-semibold)]", children: $ ? (
338
+ /* @__PURE__ */ e("span", { className: "ds:font-[var(--font-weight-semibold)]", children: p ? (
339
+ /* No name yet — and nothing invented in its place. */
340
+ /* @__PURE__ */ e("span", { "aria-hidden": "true", className: ve })
341
+ ) : $ ? (
334
342
  /* The eye + mask get their own start padding so the
335
343
  redaction doesn't crowd the time. */
336
- /* @__PURE__ */ c("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)] ds:ps-[var(--spacing-2xs)] ds:align-middle", children: [
337
- /* @__PURE__ */ e(E, { size: 12, "aria-hidden": "true" }),
344
+ /* @__PURE__ */ l("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)] ds:ps-[var(--spacing-2xs)] ds:align-middle", children: [
345
+ /* @__PURE__ */ e(C, { size: 12, "aria-hidden": "true" }),
338
346
  a
339
347
  ] })
340
348
  ) : a }),
@@ -344,10 +352,10 @@ const pe = {
344
352
  /* @__PURE__ */ e("span", { className: "ds:block ds:truncate ds:text-[length:var(--font-size-xs)]", children: r })
345
353
  ) : null
346
354
  ] }),
347
- /* @__PURE__ */ c(
355
+ /* @__PURE__ */ l(
348
356
  "span",
349
357
  {
350
- className: H ? (
358
+ className: G ? (
351
359
  /* Vertically CENTRED indicator column — each disc is
352
360
  its own card-surface circle, so no plate and no
353
361
  colour-on-colour.
@@ -363,60 +371,60 @@ const pe = {
363
371
  "ds:hidden ds:@[128px]/eventcard:flex ds:shrink-0 ds:items-center ds:gap-[var(--spacing-2xs)] ds:self-center"
364
372
  ) : "ds:hidden",
365
373
  children: [
366
- x && s ? /* @__PURE__ */ e(
374
+ _ && s ? /* @__PURE__ */ e(
367
375
  "span",
368
376
  {
369
377
  "aria-hidden": "true",
370
- className: `${i} ${p[me[s]]}`,
371
- children: /* @__PURE__ */ e(x, { size: 11, "aria-hidden": "true" })
378
+ className: `${i} ${c[fe[s]]}`,
379
+ children: /* @__PURE__ */ e(_, { size: 11, "aria-hidden": "true" })
372
380
  }
373
381
  ) : null,
374
- g ? /* @__PURE__ */ e(
382
+ b ? /* @__PURE__ */ e(
375
383
  "span",
376
384
  {
377
385
  "aria-hidden": "true",
378
- className: `${i} ${p.info}`,
379
- children: /* @__PURE__ */ e(J, { size: 11, "aria-hidden": "true" })
386
+ className: `${i} ${c.info}`,
387
+ children: /* @__PURE__ */ e(Q, { size: 11, "aria-hidden": "true" })
380
388
  }
381
389
  ) : null,
382
- N ? /* @__PURE__ */ e(
390
+ w ? /* @__PURE__ */ e(
383
391
  "span",
384
392
  {
385
393
  "aria-hidden": "true",
386
- className: `${i} ${p.warning}`,
387
- children: /* @__PURE__ */ e(P, { size: 11, "aria-hidden": "true" })
394
+ className: `${i} ${c.warning}`,
395
+ children: /* @__PURE__ */ e(X, { size: 11, "aria-hidden": "true" })
388
396
  }
389
397
  ) : null,
390
- w ? /* @__PURE__ */ e(
398
+ k ? /* @__PURE__ */ e(
391
399
  "span",
392
400
  {
393
401
  "aria-hidden": "true",
394
- className: `${i} ${p.accent}`,
395
- children: /* @__PURE__ */ e(Q, { size: 11, "aria-hidden": "true" })
402
+ className: `${i} ${c.accent}`,
403
+ children: /* @__PURE__ */ e(P, { size: 11, "aria-hidden": "true" })
396
404
  }
397
405
  ) : null,
398
- k ? /* @__PURE__ */ e(
406
+ y ? /* @__PURE__ */ e(
399
407
  "span",
400
408
  {
401
409
  "aria-hidden": "true",
402
- className: `${i} ${p.warning}`,
403
- children: /* @__PURE__ */ e(re, { size: 11, "aria-hidden": "true" })
410
+ className: `${i} ${c.warning}`,
411
+ children: /* @__PURE__ */ e(de, { size: 11, "aria-hidden": "true" })
404
412
  }
405
413
  ) : null,
406
- y ? /* @__PURE__ */ e(
414
+ z ? /* @__PURE__ */ e(
407
415
  "span",
408
416
  {
409
417
  "aria-hidden": "true",
410
- className: `${i} ${p.info}`,
411
- children: /* @__PURE__ */ e(T, { size: 11, "aria-hidden": "true" })
418
+ className: `${i} ${c.info}`,
419
+ children: /* @__PURE__ */ e(ee, { size: 11, "aria-hidden": "true" })
412
420
  }
413
421
  ) : null,
414
- z ? /* @__PURE__ */ e(
422
+ S ? /* @__PURE__ */ e(
415
423
  "span",
416
424
  {
417
425
  "aria-hidden": "true",
418
- className: `${i} ${p.info}`,
419
- children: /* @__PURE__ */ e(X, { size: 11, "aria-hidden": "true" })
426
+ className: `${i} ${c.info}`,
427
+ children: /* @__PURE__ */ e(ne, { size: 11, "aria-hidden": "true" })
420
428
  }
421
429
  ) : null
422
430
  ]
@@ -424,8 +432,8 @@ const pe = {
424
432
  )
425
433
  ] })
426
434
  ),
427
- l && t && !d && n ? /* @__PURE__ */ e("span", { className: "ds:text-[length:var(--font-size-xs)]", children: n }) : null,
428
- l && r ? (
435
+ u && d && !t && n ? /* @__PURE__ */ e("span", { className: "ds:text-[length:var(--font-size-xs)]", children: n }) : null,
436
+ u && r ? (
429
437
  /* Task cards keep the below-row suffix (their branch has no
430
438
  text cell / plate split). */
431
439
  /* @__PURE__ */ e("span", { className: "ds:block ds:truncate ds:text-[length:var(--font-size-xs)]", children: r })
@@ -435,13 +443,13 @@ const pe = {
435
443
  );
436
444
  }
437
445
  );
438
- fe.displayName = "CalendarEventCard";
446
+ be.displayName = "CalendarEventCard";
439
447
  export {
440
- ne as B,
441
- fe as C,
442
- re as E,
443
- te as T,
444
- ie as Z,
445
- Ae as w
448
+ re as B,
449
+ be as C,
450
+ de as E,
451
+ ie as T,
452
+ le as Z,
453
+ Be as w
446
454
  };
447
- //# sourceMappingURL=calendar-event-card-66CEEWU6.js.map
455
+ //# sourceMappingURL=calendar-event-card-DSh-69HT.js.map