@alfadocs/ui-kit 1.7.0 → 1.8.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.
- package/dist/_chunks/{anamnesis-summary-rows-F-cCmFAn.js → anamnesis-summary-rows-d44s_whc.js} +2 -2
- package/dist/_chunks/{antenatal-schedule-timeline-BjlF2rTz.js → antenatal-schedule-timeline-B1k8QkA6.js} +3 -3
- package/dist/_chunks/{appointment-card-BhcPJpXh.js → appointment-card-Dzr3GeVz.js} +73 -90
- package/dist/_chunks/{appointment-timeline-CMPvzlGZ.js → appointment-timeline-0mwtpErq.js} +3 -3
- package/dist/_chunks/{appointment-tray-3c_FLxXJ.js → appointment-tray-4FUu_5NX.js} +2 -2
- package/dist/_chunks/armchair-BaLDW6Hz.js +23 -0
- package/dist/_chunks/{booking-CQMJUFG-.js → booking-DHkKcUIl.js} +4 -4
- package/dist/_chunks/{calendar-4dXTvsCz.js → calendar-B4Gnyu1C.js} +553 -437
- package/dist/_chunks/calendar-event-card-Bjdbik8G.js +425 -0
- package/dist/_chunks/{care-plan-card-DQjVRDxO.js → care-plan-card-aDN4oem9.js} +3 -3
- package/dist/_chunks/{care-plan-entry-card-CMpoeNkb.js → care-plan-entry-card-BEhANdBE.js} +2 -2
- package/dist/_chunks/{care-plan-header-CxYoq23f.js → care-plan-header-CkpPyQqG.js} +2 -2
- package/dist/_chunks/{color-picker-D-tUwxxT.js → color-picker-oZ6zYks8.js} +164 -151
- package/dist/_chunks/control-room-rail-Cj2iX9h_.js +337 -0
- package/dist/_chunks/{cycle-calculator-DzgO1vzP.js → cycle-calculator-DmtYGhqq.js} +3 -3
- package/dist/_chunks/{date-picker-Bp64zk2p.js → date-picker-CepI_oI2.js} +77 -74
- package/dist/_chunks/{date-picker-variants-pKAJfnWr.js → date-picker-variants-DfuooXEK.js} +7 -2
- package/dist/_chunks/{date-range-picker-CDrZ8Zh0.js → date-range-picker-BD8P_rJq.js} +46 -45
- package/dist/_chunks/{date-time-picker-DVETwpzc.js → date-time-picker-3I2vVKGV.js} +2 -2
- package/dist/_chunks/{due-date-calculator-wK8Tajzz.js → due-date-calculator-BF_Ikofx.js} +4 -4
- package/dist/_chunks/{entity-card-9_62gY7l.js → entity-card-DmrgYSEX.js} +4 -4
- package/dist/_chunks/{gestational-age-calculator-C_uDAeP_.js → gestational-age-calculator-CxZelpu2.js} +5 -5
- package/dist/_chunks/{hcg-doubling-BaXkJhT-.js → hcg-doubling-CpU7H5rQ.js} +3 -3
- package/dist/_chunks/{link-cell-renderer-DH4JYpKU.js → link-cell-renderer-BZQtsuFz.js} +2 -2
- package/dist/_chunks/{notes-panel-DlnENphf.js → notes-panel-e9cJWVRg.js} +2 -2
- package/dist/_chunks/{operator-hero-CCDnIa1S.js → operator-hero-BnFv-Uef.js} +2 -2
- package/dist/_chunks/{parse-JqixfsU0.js → parse-MN9bGkrY.js} +2 -2
- package/dist/_chunks/{patient-details-qnsqYBGQ.js → patient-details-xrqe13az.js} +160 -159
- package/dist/_chunks/{patient-table-DwshfVsQ.js → patient-table-BqYomX50.js} +2 -2
- package/dist/_chunks/{payment-automation-upsell-BBIG7NFL.js → payment-automation-upsell-DwQW2fRp.js} +52 -63
- package/dist/_chunks/{payment-request-card-BjjBMdsp.js → payment-request-card-YVCcCZ25.js} +2 -2
- package/dist/_chunks/{pregnancy-dating-BVS_9YU2.js → pregnancy-dating-DtToyMyc.js} +5 -5
- package/dist/_chunks/{radiograph-panel.agent-CiHwgISa.js → radiograph-panel.agent-C3trfWqB.js} +3 -3
- package/dist/_chunks/repeat-CvQa5rZt.js +17 -0
- package/dist/_chunks/resource-chip-DYTG0IQQ.js +83 -0
- package/dist/_chunks/{rich-text-editor-DARnq_6N.js → rich-text-editor-BDfFtK4H.js} +2 -2
- package/dist/_chunks/subDays-BLl3y3pd.js +8 -0
- package/dist/agent-catalog.json +2 -2
- package/dist/components/appointment-card/index.js +2 -2
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/calendar/calendar.d.ts +138 -12
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/calendar-event-card/calendar-event-card.d.ts +48 -11
- package/dist/components/calendar-event-card/index.js +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/care-plan-header/index.js +1 -1
- package/dist/components/color-picker/index.d.ts +1 -1
- package/dist/components/color-picker/index.js +4 -3
- package/dist/components/color-picker/palettes.d.ts +10 -0
- package/dist/components/control-room-rail/control-room-rail.d.ts +9 -0
- package/dist/components/control-room-rail/index.js +1 -1
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/date-picker.d.ts +11 -0
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/hcg-doubling/index.js +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-details/patient-details.d.ts +8 -0
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/resource-chip/index.d.ts +3 -0
- package/dist/components/resource-chip/index.js +5 -0
- package/dist/components/resource-chip/resource-chip.d.ts +26 -0
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/host-compat.css +7 -1
- package/dist/i18n/locales/ar.d.ts +4 -0
- package/dist/i18n/locales/ar.js +4 -0
- package/dist/i18n/locales/de.d.ts +4 -0
- package/dist/i18n/locales/de.js +4 -0
- package/dist/i18n/locales/el.d.ts +4 -0
- package/dist/i18n/locales/el.js +4 -0
- package/dist/i18n/locales/en.d.ts +4 -0
- package/dist/i18n/locales/en.js +4 -0
- package/dist/i18n/locales/es.d.ts +4 -0
- package/dist/i18n/locales/es.js +4 -0
- package/dist/i18n/locales/fr.d.ts +4 -0
- package/dist/i18n/locales/fr.js +4 -0
- package/dist/i18n/locales/hi.d.ts +4 -0
- package/dist/i18n/locales/hi.js +4 -0
- package/dist/i18n/locales/it.d.ts +4 -0
- package/dist/i18n/locales/it.js +4 -0
- package/dist/i18n/locales/ja.d.ts +4 -0
- package/dist/i18n/locales/ja.js +4 -0
- package/dist/i18n/locales/nl.d.ts +4 -0
- package/dist/i18n/locales/nl.js +4 -0
- package/dist/i18n/locales/pl.d.ts +4 -0
- package/dist/i18n/locales/pl.js +4 -0
- package/dist/i18n/locales/pt.d.ts +4 -0
- package/dist/i18n/locales/pt.js +4 -0
- package/dist/i18n/locales/ro.d.ts +4 -0
- package/dist/i18n/locales/ro.js +4 -0
- package/dist/i18n/locales/ru.d.ts +4 -0
- package/dist/i18n/locales/ru.js +4 -0
- package/dist/i18n/locales/sq.d.ts +4 -0
- package/dist/i18n/locales/sq.js +4 -0
- package/dist/i18n/locales/sv.d.ts +4 -0
- package/dist/i18n/locales/sv.js +4 -0
- package/dist/i18n/locales/tr.d.ts +4 -0
- package/dist/i18n/locales/tr.js +4 -0
- package/dist/i18n/locales/zh.d.ts +4 -0
- package/dist/i18n/locales/zh.js +4 -0
- package/dist/index.js +961 -958
- package/dist/locales/ar.json +4 -0
- package/dist/locales/de.json +4 -0
- package/dist/locales/el.json +4 -0
- package/dist/locales/en.json +4 -0
- package/dist/locales/es.json +4 -0
- package/dist/locales/fr.json +4 -0
- package/dist/locales/hi.json +4 -0
- package/dist/locales/it.json +4 -0
- package/dist/locales/ja.json +4 -0
- package/dist/locales/nl.json +4 -0
- package/dist/locales/pl.json +4 -0
- package/dist/locales/pt.json +4 -0
- package/dist/locales/ro.json +4 -0
- package/dist/locales/ru.json +4 -0
- package/dist/locales/sq.json +4 -0
- package/dist/locales/sv.json +4 -0
- package/dist/locales/tr.json +4 -0
- package/dist/locales/zh.json +4 -0
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/payment-automation-upsell/index.js +1 -1
- package/dist/tokens.css +40 -24
- package/package.json +5 -1
- package/dist/_chunks/calendar-event-card-C6qGtywL.js +0 -257
- package/dist/_chunks/control-room-rail-IH1eBjrK.js +0 -333
- package/dist/_chunks/subDays-CAUv47M1.js +0 -8
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as q } from "react";
|
|
3
|
+
import { useTranslation as G } from "react-i18next";
|
|
4
|
+
import { c as Z } from "./index-D2ZczOXr.js";
|
|
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";
|
|
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 X } from "./video-BheNGvsu.js";
|
|
15
|
+
import { R as T } from "./repeat-CvQa5rZt.js";
|
|
16
|
+
/**
|
|
17
|
+
* @license lucide-react v1.22.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/
|
|
22
|
+
const ee = [
|
|
23
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
24
|
+
["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
|
|
25
|
+
], ne = f("ban", ee);
|
|
26
|
+
/**
|
|
27
|
+
* @license lucide-react v1.22.0 - ISC
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the ISC license.
|
|
30
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
+
*/
|
|
32
|
+
const ae = [
|
|
33
|
+
["path", { d: "M4 10h12", key: "1y6xl8" }],
|
|
34
|
+
["path", { d: "M4 14h9", key: "1loblj" }],
|
|
35
|
+
[
|
|
36
|
+
"path",
|
|
37
|
+
{
|
|
38
|
+
d: "M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2",
|
|
39
|
+
key: "1j6lzo"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
], re = f("euro", ae);
|
|
43
|
+
/**
|
|
44
|
+
* @license lucide-react v1.22.0 - ISC
|
|
45
|
+
*
|
|
46
|
+
* This source code is licensed under the ISC license.
|
|
47
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
48
|
+
*/
|
|
49
|
+
const se = [
|
|
50
|
+
[
|
|
51
|
+
"path",
|
|
52
|
+
{
|
|
53
|
+
d: "M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",
|
|
54
|
+
key: "emmmcr"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
["path", { d: "M7 10v12", key: "1qc93n" }]
|
|
58
|
+
], te = f("thumbs-up", se);
|
|
59
|
+
/**
|
|
60
|
+
* @license lucide-react v1.22.0 - ISC
|
|
61
|
+
*
|
|
62
|
+
* This source code is licensed under the ISC license.
|
|
63
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
64
|
+
*/
|
|
65
|
+
const de = [
|
|
66
|
+
[
|
|
67
|
+
"path",
|
|
68
|
+
{
|
|
69
|
+
d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
|
|
70
|
+
key: "1xq2db"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
], ie = f("zap", de);
|
|
74
|
+
function oe(a) {
|
|
75
|
+
if (typeof a != "string") return null;
|
|
76
|
+
const r = a.trim();
|
|
77
|
+
if (!r.startsWith("#")) return null;
|
|
78
|
+
const n = r.slice(1);
|
|
79
|
+
let t, d, s;
|
|
80
|
+
if (n.length === 3) {
|
|
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);
|
|
83
|
+
} else if (n.length === 6) {
|
|
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);
|
|
86
|
+
} else
|
|
87
|
+
return null;
|
|
88
|
+
return [t / 255, d / 255, s / 255];
|
|
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);
|
|
93
|
+
}
|
|
94
|
+
function Ae(a, r, n) {
|
|
95
|
+
}
|
|
96
|
+
function ce(a) {
|
|
97
|
+
const r = oe(a);
|
|
98
|
+
return r ? le(r) > 0.1791 ? "on-light" : "on-dark" : null;
|
|
99
|
+
}
|
|
100
|
+
const me = {
|
|
101
|
+
confirmed: te,
|
|
102
|
+
waiting: F,
|
|
103
|
+
in_care: D,
|
|
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)]", m = {
|
|
108
|
+
success: "ds:text-[color:var(--success-foreground)]",
|
|
109
|
+
info: "ds:text-[color:var(--info-foreground)]",
|
|
110
|
+
warning: "ds:text-[color:var(--warning-foreground)]",
|
|
111
|
+
error: "ds:text-[color:var(--error-foreground)]",
|
|
112
|
+
// Same AA-clearing accent mix Badge's accentSoft uses for its ink.
|
|
113
|
+
accent: "ds:text-[color:color-mix(in_srgb,var(--accent)_40%,var(--foreground))]"
|
|
114
|
+
}, pe = {
|
|
115
|
+
confirmed: "success",
|
|
116
|
+
waiting: "info",
|
|
117
|
+
in_care: "accent",
|
|
118
|
+
done: "success",
|
|
119
|
+
cancelled: "error",
|
|
120
|
+
absent: "warning"
|
|
121
|
+
}, ue = {
|
|
122
|
+
confirmed: "calendar.status.confirmed",
|
|
123
|
+
waiting: "calendar.status.waiting",
|
|
124
|
+
in_care: "calendar.status.inCare",
|
|
125
|
+
done: "calendar.status.done",
|
|
126
|
+
cancelled: "calendar.status.cancelled",
|
|
127
|
+
absent: "calendar.status.absent"
|
|
128
|
+
}, ve = Z(
|
|
129
|
+
[
|
|
130
|
+
// Block root; the appointment content is a wrap-capable flex row
|
|
131
|
+
// (inline-flowing text cell beside the icon column — structurally
|
|
132
|
+
// overlap-safe). Tight padding and line-height so sliver-height
|
|
133
|
+
// harnesses show a full text line.
|
|
134
|
+
"ds:relative ds:block",
|
|
135
|
+
"ds:w-full ds:h-full",
|
|
136
|
+
"ds:ps-[var(--spacing-2xs)] ds:pe-[var(--spacing-2xs)]",
|
|
137
|
+
"ds:rounded-[var(--radius-sm)]",
|
|
138
|
+
"ds:text-[length:var(--font-size-sm)]",
|
|
139
|
+
"ds:font-[var(--font-weight-medium)]",
|
|
140
|
+
"ds:leading-tight ds:text-start",
|
|
141
|
+
"ds:overflow-hidden",
|
|
142
|
+
// kept verbatim from the former base (inert on a non-focusable div
|
|
143
|
+
// inside FC; harmless)
|
|
144
|
+
"ds:focus-visible:outline-[length:var(--focus-ring-width)]",
|
|
145
|
+
"ds:focus-visible:outline-[var(--ring)]",
|
|
146
|
+
"ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
147
|
+
// SINGLE PAINTED SURFACE — always present, never conditional. One
|
|
148
|
+
// declaration per paint channel; value chain = "caller custom prop,
|
|
149
|
+
// else token". This structurally eliminates the CVA-vs-override
|
|
150
|
+
// specificity race (the old double-paint bug) — stylesheet order
|
|
151
|
+
// becomes irrelevant.
|
|
152
|
+
"ds:[background-color:var(--calendar-event-bg,var(--primary))]",
|
|
153
|
+
"ds:[color:var(--calendar-event-text,var(--primary-foreground))]",
|
|
154
|
+
"ds:border ds:[border-color:var(--calendar-event-border,transparent)]"
|
|
155
|
+
].join(" "),
|
|
156
|
+
{
|
|
157
|
+
variants: {
|
|
158
|
+
// Do not add colour classes to this axis — status is icon + aria
|
|
159
|
+
// only; a unit test asserts identical computed background
|
|
160
|
+
// across all six statuses.
|
|
161
|
+
status: {
|
|
162
|
+
none: "",
|
|
163
|
+
confirmed: "",
|
|
164
|
+
waiting: "",
|
|
165
|
+
in_care: "",
|
|
166
|
+
done: "",
|
|
167
|
+
cancelled: "ds:line-through",
|
|
168
|
+
absent: ""
|
|
169
|
+
},
|
|
170
|
+
bookedOnline: {
|
|
171
|
+
// class name kept as a stable inert DOM hook; the stripe paint
|
|
172
|
+
// lives here (moved from fullcalendar-theme.css) so it works in
|
|
173
|
+
// the card's own stories, outside .fc-theme-alfadocs.
|
|
174
|
+
// currentcolor = resolved ink, so stripes stay visible over any
|
|
175
|
+
// picker colour.
|
|
176
|
+
true: "event-booked-online ds:bg-[image:repeating-linear-gradient(45deg,transparent,transparent_4px,color-mix(in_srgb,currentcolor_10%,transparent)_4px,color-mix(in_srgb,currentcolor_10%,transparent)_8px)]",
|
|
177
|
+
false: ""
|
|
178
|
+
},
|
|
179
|
+
// Task treatment: CUSTOM-PROPERTY assignments only — the consuming
|
|
180
|
+
// background-color / color / border-color declarations stay in the
|
|
181
|
+
// base above, so this cannot re-open the CVA-vs-override specificity
|
|
182
|
+
// race, and a caller's inline picker hex (set as the same custom
|
|
183
|
+
// properties via `style`) still wins. `border-dashed` is a
|
|
184
|
+
// border-style declaration — no property collision either.
|
|
185
|
+
kind: {
|
|
186
|
+
// The appointment's COLOUR IDENTITY edge — a thick start border
|
|
187
|
+
// in the event colour, platform-agenda style, so the colour
|
|
188
|
+
// reads even on sliver-height cards. Tasks keep the 1px edge:
|
|
189
|
+
// muted to-dos carry no colour identity.
|
|
190
|
+
appointment: "ds:border-s-4",
|
|
191
|
+
// Draft treatment — an appointment being COMPOSED, not yet saved
|
|
192
|
+
// (the slot a user just picked, mirrored on the grid while the
|
|
193
|
+
// editor is open). Same custom-property-only discipline as
|
|
194
|
+
// `task`: dashed outline over a light primary tint, so the
|
|
195
|
+
// placeholder reads as pending rather than as a booked slot.
|
|
196
|
+
draft: [
|
|
197
|
+
"ds:border-dashed",
|
|
198
|
+
"ds:[--calendar-event-bg:color-mix(in_srgb,var(--primary)_10%,var(--card))]",
|
|
199
|
+
"ds:[--calendar-event-text:var(--foreground)]",
|
|
200
|
+
"ds:[--calendar-event-border:var(--primary)]"
|
|
201
|
+
].join(" "),
|
|
202
|
+
task: [
|
|
203
|
+
"ds:border-dashed",
|
|
204
|
+
"ds:[--calendar-event-bg:var(--muted)]",
|
|
205
|
+
"ds:[--calendar-event-text:var(--muted-foreground)]",
|
|
206
|
+
"ds:[--calendar-event-border:color-mix(in_srgb,currentcolor_45%,transparent)]"
|
|
207
|
+
].join(" ")
|
|
208
|
+
},
|
|
209
|
+
// Tinted colour scheme — the chip-family look: the picker colour
|
|
210
|
+
// becomes a SOLID BORDER over a light tint of itself (theme-aware
|
|
211
|
+
// via color-mix with --card), text on the theme's foreground
|
|
212
|
+
// tokens. Custom-property assignments only — the painted
|
|
213
|
+
// declarations stay in the base. The runtime hex arrives as
|
|
214
|
+
// `--calendar-event-accent` (inline). Never combined with the task
|
|
215
|
+
// variant: the component forces `solid` for tasks so exactly one
|
|
216
|
+
// class-level assignment of each property exists per render.
|
|
217
|
+
colorStyle: {
|
|
218
|
+
solid: "",
|
|
219
|
+
tinted: [
|
|
220
|
+
"ds:[--calendar-event-bg:color-mix(in_srgb,var(--calendar-event-accent,var(--primary))_12%,var(--card))]",
|
|
221
|
+
"ds:[--calendar-event-text:var(--foreground)]",
|
|
222
|
+
"ds:[--calendar-event-border:var(--calendar-event-accent,var(--primary))]"
|
|
223
|
+
].join(" ")
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
defaultVariants: {
|
|
227
|
+
status: "none",
|
|
228
|
+
bookedOnline: !1,
|
|
229
|
+
kind: "appointment",
|
|
230
|
+
colorStyle: "solid"
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
), fe = q(
|
|
234
|
+
({
|
|
235
|
+
title: a,
|
|
236
|
+
suffix: r,
|
|
237
|
+
rangeText: n,
|
|
238
|
+
showTime: t = !0,
|
|
239
|
+
allDay: d = !1,
|
|
240
|
+
status: s,
|
|
241
|
+
backgroundColor: o,
|
|
242
|
+
textColor: p,
|
|
243
|
+
borderColor: h,
|
|
244
|
+
isBookedOnline: g = !1,
|
|
245
|
+
hasUnassignedPatient: N,
|
|
246
|
+
hasHighlightedAnamnesis: w,
|
|
247
|
+
hasBillableAmount: k,
|
|
248
|
+
isTelehealth: y,
|
|
249
|
+
isRecurring: z,
|
|
250
|
+
isTask: l = !1,
|
|
251
|
+
isDraft: u = !1,
|
|
252
|
+
colorStyle: j = "solid",
|
|
253
|
+
resourceLabel: A,
|
|
254
|
+
privacyMasked: $ = !1,
|
|
255
|
+
eventId: L,
|
|
256
|
+
className: C,
|
|
257
|
+
style: I,
|
|
258
|
+
"aria-label": B,
|
|
259
|
+
...O
|
|
260
|
+
}, M) => {
|
|
261
|
+
const { t: b } = G(), x = s ? me[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 = B ?? [a, n, A, R, V].filter(Boolean).join(", "), v = !l && !u && j === "tinted", _ = !v && !p && o ? ce(o) : null, S = v ? o ? { "--calendar-event-accent": o } : void 0 : o || p || h ? {
|
|
262
|
+
...o ? { "--calendar-event-bg": o } : {},
|
|
263
|
+
...p ? { "--calendar-event-text": p } : _ === "on-light" ? { "--calendar-event-text": "var(--event-ink-on-light)" } : _ === "on-dark" ? { "--calendar-event-text": "var(--event-ink-on-dark)" } : {},
|
|
264
|
+
...h ? { "--calendar-event-border": h } : {}
|
|
265
|
+
} : void 0, U = I || S ? { ...I, ...S } : void 0;
|
|
266
|
+
return /* @__PURE__ */ c(
|
|
267
|
+
"div",
|
|
268
|
+
{
|
|
269
|
+
ref: M,
|
|
270
|
+
...O,
|
|
271
|
+
className: ve({
|
|
272
|
+
status: s ?? "none",
|
|
273
|
+
bookedOnline: g,
|
|
274
|
+
kind: u ? "draft" : l ? "task" : "appointment",
|
|
275
|
+
colorStyle: v ? "tinted" : "solid",
|
|
276
|
+
className: C
|
|
277
|
+
}),
|
|
278
|
+
style: U,
|
|
279
|
+
"aria-label": K,
|
|
280
|
+
"data-component": "calendar-event-card",
|
|
281
|
+
"data-event-id": L,
|
|
282
|
+
"data-kind": u ? "draft" : l ? "task" : "appointment",
|
|
283
|
+
"data-status": s ?? "none",
|
|
284
|
+
"data-contrast": v ? "tinted" : p ? "custom" : _ ?? "default",
|
|
285
|
+
children: [
|
|
286
|
+
l ? (
|
|
287
|
+
/* Task cards lead with ONE line — glyph + title inline. A task is
|
|
288
|
+
typically a 30-min block whose visible height fits a single
|
|
289
|
+
line; the appointment layout below would spend that line on the
|
|
290
|
+
indicator row and clip the title entirely. Tasks carry none of
|
|
291
|
+
the appointment flags, so the row loses nothing. */
|
|
292
|
+
/* @__PURE__ */ c("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
|
|
293
|
+
/* @__PURE__ */ e(
|
|
294
|
+
"span",
|
|
295
|
+
{
|
|
296
|
+
"aria-hidden": "true",
|
|
297
|
+
className: `${i} ds:text-[color:var(--muted-foreground)]`,
|
|
298
|
+
children: /* @__PURE__ */ e(W, { size: 11, "aria-hidden": "true" })
|
|
299
|
+
}
|
|
300
|
+
),
|
|
301
|
+
t && !d && n ? /* @__PURE__ */ e("span", { className: "ds:whitespace-nowrap ds:text-[length:var(--font-size-xs)]", children: n }) : null,
|
|
302
|
+
/* @__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: [
|
|
303
|
+
/* @__PURE__ */ e(E, { size: 12, "aria-hidden": "true" }),
|
|
304
|
+
a
|
|
305
|
+
] }) : a })
|
|
306
|
+
] })
|
|
307
|
+
) : (
|
|
308
|
+
/* Platform-density layout with STRUCTURAL overlap-safety: the
|
|
309
|
+
first row is a flex pair — an inline-flowing text cell (time,
|
|
310
|
+
then the semibold name; wraps when taller cards allow) beside
|
|
311
|
+
a fixed icon column. Flex cells cannot paint over each other,
|
|
312
|
+
unlike a float (inline text paints ABOVE floats, which
|
|
313
|
+
produced glyphs-through-icons in sliver-width columns). A
|
|
314
|
+
one-line sliver still reads "09:15 Name" plus icons. */
|
|
315
|
+
/* @__PURE__ */ c("span", { className: "ds:flex ds:h-full ds:items-stretch ds:gap-[var(--spacing-2xs)]", children: [
|
|
316
|
+
/* @__PURE__ */ c("span", { className: "ds:min-w-0 ds:flex-1 ds:overflow-hidden ds:break-normal", children: [
|
|
317
|
+
t && !d && n ? (
|
|
318
|
+
// No opacity here — composing 70% over saturated bgs drops
|
|
319
|
+
// effective contrast below WCAG AA. The smaller
|
|
320
|
+
// font-size-xs vs the title's font-weight-semibold provides
|
|
321
|
+
// sufficient visual hierarchy.
|
|
322
|
+
/* @__PURE__ */ e("span", { className: "ds:me-[var(--spacing-2xs)] ds:whitespace-nowrap ds:text-[length:var(--font-size-xs)]", children: n })
|
|
323
|
+
) : null,
|
|
324
|
+
/* @__PURE__ */ e("span", { className: "ds:font-[var(--font-weight-semibold)]", children: $ ? (
|
|
325
|
+
/* The eye + mask get their own start padding so the
|
|
326
|
+
redaction doesn't crowd the time. */
|
|
327
|
+
/* @__PURE__ */ c("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)] ds:ps-[var(--spacing-2xs)] ds:align-middle", children: [
|
|
328
|
+
/* @__PURE__ */ e(E, { size: 12, "aria-hidden": "true" }),
|
|
329
|
+
a
|
|
330
|
+
] })
|
|
331
|
+
) : a }),
|
|
332
|
+
r ? (
|
|
333
|
+
/* Second line inside the text cell — beside the plate,
|
|
334
|
+
never beneath it. */
|
|
335
|
+
/* @__PURE__ */ e("span", { className: "ds:block ds:truncate ds:text-[length:var(--font-size-xs)]", children: r })
|
|
336
|
+
) : null
|
|
337
|
+
] }),
|
|
338
|
+
/* @__PURE__ */ c(
|
|
339
|
+
"span",
|
|
340
|
+
{
|
|
341
|
+
className: H ? (
|
|
342
|
+
/* Vertically CENTRED indicator column — each disc is
|
|
343
|
+
its own card-surface circle, so no plate and no
|
|
344
|
+
colour-on-colour. */
|
|
345
|
+
"ds:flex ds:shrink-0 ds:items-center ds:gap-[var(--spacing-2xs)] ds:self-center"
|
|
346
|
+
) : "ds:hidden",
|
|
347
|
+
children: [
|
|
348
|
+
x && s ? /* @__PURE__ */ e(
|
|
349
|
+
"span",
|
|
350
|
+
{
|
|
351
|
+
"aria-hidden": "true",
|
|
352
|
+
className: `${i} ${m[pe[s]]}`,
|
|
353
|
+
children: /* @__PURE__ */ e(x, { size: 11, "aria-hidden": "true" })
|
|
354
|
+
}
|
|
355
|
+
) : null,
|
|
356
|
+
g ? /* @__PURE__ */ e(
|
|
357
|
+
"span",
|
|
358
|
+
{
|
|
359
|
+
"aria-hidden": "true",
|
|
360
|
+
className: `${i} ${m.info}`,
|
|
361
|
+
children: /* @__PURE__ */ e(J, { size: 11, "aria-hidden": "true" })
|
|
362
|
+
}
|
|
363
|
+
) : null,
|
|
364
|
+
N ? /* @__PURE__ */ e(
|
|
365
|
+
"span",
|
|
366
|
+
{
|
|
367
|
+
"aria-hidden": "true",
|
|
368
|
+
className: `${i} ${m.warning}`,
|
|
369
|
+
children: /* @__PURE__ */ e(P, { size: 11, "aria-hidden": "true" })
|
|
370
|
+
}
|
|
371
|
+
) : null,
|
|
372
|
+
w ? /* @__PURE__ */ e(
|
|
373
|
+
"span",
|
|
374
|
+
{
|
|
375
|
+
"aria-hidden": "true",
|
|
376
|
+
className: `${i} ${m.accent}`,
|
|
377
|
+
children: /* @__PURE__ */ e(Q, { size: 11, "aria-hidden": "true" })
|
|
378
|
+
}
|
|
379
|
+
) : null,
|
|
380
|
+
k ? /* @__PURE__ */ e(
|
|
381
|
+
"span",
|
|
382
|
+
{
|
|
383
|
+
"aria-hidden": "true",
|
|
384
|
+
className: `${i} ${m.warning}`,
|
|
385
|
+
children: /* @__PURE__ */ e(re, { size: 11, "aria-hidden": "true" })
|
|
386
|
+
}
|
|
387
|
+
) : null,
|
|
388
|
+
y ? /* @__PURE__ */ e(
|
|
389
|
+
"span",
|
|
390
|
+
{
|
|
391
|
+
"aria-hidden": "true",
|
|
392
|
+
className: `${i} ${m.info}`,
|
|
393
|
+
children: /* @__PURE__ */ e(X, { size: 11, "aria-hidden": "true" })
|
|
394
|
+
}
|
|
395
|
+
) : null,
|
|
396
|
+
z ? /* @__PURE__ */ e(
|
|
397
|
+
"span",
|
|
398
|
+
{
|
|
399
|
+
"aria-hidden": "true",
|
|
400
|
+
className: `${i} ${m.info}`,
|
|
401
|
+
children: /* @__PURE__ */ e(T, { size: 11, "aria-hidden": "true" })
|
|
402
|
+
}
|
|
403
|
+
) : null
|
|
404
|
+
]
|
|
405
|
+
}
|
|
406
|
+
)
|
|
407
|
+
] })
|
|
408
|
+
),
|
|
409
|
+
l && t && !d && n ? /* @__PURE__ */ e("span", { className: "ds:text-[length:var(--font-size-xs)]", children: n }) : null,
|
|
410
|
+
l && r ? (
|
|
411
|
+
/* Task cards keep the below-row suffix (their branch has no
|
|
412
|
+
text cell / plate split). */
|
|
413
|
+
/* @__PURE__ */ e("span", { className: "ds:block ds:truncate ds:text-[length:var(--font-size-xs)]", children: r })
|
|
414
|
+
) : null
|
|
415
|
+
]
|
|
416
|
+
}
|
|
417
|
+
);
|
|
418
|
+
}
|
|
419
|
+
);
|
|
420
|
+
fe.displayName = "CalendarEventCard";
|
|
421
|
+
export {
|
|
422
|
+
fe as C,
|
|
423
|
+
Ae as w
|
|
424
|
+
};
|
|
425
|
+
//# sourceMappingURL=calendar-event-card-Bjdbik8G.js.map
|
|
@@ -7,9 +7,9 @@ import { P as A } from "./progress-CK8otcQ-.js";
|
|
|
7
7
|
import { T as C } from "./timestamp-BV2lC-wV.js";
|
|
8
8
|
import { T as L } from "./transaction-chip-DJCstquX.js";
|
|
9
9
|
import { A as O, b as G, c as Y, a as $ } from "./accordion-C11v9ouP.js";
|
|
10
|
-
import { C as q } from "./care-plan-entry-card-
|
|
10
|
+
import { C as q } from "./care-plan-entry-card-BEhANdBE.js";
|
|
11
11
|
import { u as J } from "./registry-DvAUVLHh.js";
|
|
12
|
-
import { C as Q, e as W } from "./entity-card-
|
|
12
|
+
import { C as Q, e as W } from "./entity-card-DmrgYSEX.js";
|
|
13
13
|
import { i as X } from "./is-safe-url-DkETxeHz.js";
|
|
14
14
|
const Z = {
|
|
15
15
|
id: "care-plan-card",
|
|
@@ -253,4 +253,4 @@ export {
|
|
|
253
253
|
de as C,
|
|
254
254
|
Z as c
|
|
255
255
|
};
|
|
256
|
-
//# sourceMappingURL=care-plan-card-
|
|
256
|
+
//# sourceMappingURL=care-plan-card-aDN4oem9.js.map
|
|
@@ -10,7 +10,7 @@ import { T as J } from "./tooth-scheme-WdyVymQ1.js";
|
|
|
10
10
|
import { C as Q, b as X, a as Z } from "./collapsible-CTjxzGuF.js";
|
|
11
11
|
import { u as ee } from "./registry-DvAUVLHh.js";
|
|
12
12
|
import { C as ae } from "./chevron-down-DWE7GSq9.js";
|
|
13
|
-
import { e as te } from "./entity-card-
|
|
13
|
+
import { e as te } from "./entity-card-DmrgYSEX.js";
|
|
14
14
|
const re = {
|
|
15
15
|
id: "care-plan-entry-card",
|
|
16
16
|
// `expand` is host-delegated: the per-phase breakdown is an in-component
|
|
@@ -319,4 +319,4 @@ export {
|
|
|
319
319
|
le as C,
|
|
320
320
|
re as c
|
|
321
321
|
};
|
|
322
|
-
//# sourceMappingURL=care-plan-entry-card-
|
|
322
|
+
//# sourceMappingURL=care-plan-entry-card-BEhANdBE.js.map
|
|
@@ -7,7 +7,7 @@ import { L as O } from "./link-CPb_pZPr.js";
|
|
|
7
7
|
import { S as $ } from "./separator-CYU_bGFn.js";
|
|
8
8
|
import { T as A } from "./timestamp-BV2lC-wV.js";
|
|
9
9
|
import { u as q } from "./registry-DvAUVLHh.js";
|
|
10
|
-
import { C as J, e as Q } from "./entity-card-
|
|
10
|
+
import { C as J, e as Q } from "./entity-card-DmrgYSEX.js";
|
|
11
11
|
import { i as W } from "./is-safe-url-DkETxeHz.js";
|
|
12
12
|
const X = {
|
|
13
13
|
id: "care-plan-header",
|
|
@@ -195,4 +195,4 @@ export {
|
|
|
195
195
|
ee as C,
|
|
196
196
|
X as c
|
|
197
197
|
};
|
|
198
|
-
//# sourceMappingURL=care-plan-header-
|
|
198
|
+
//# sourceMappingURL=care-plan-header-CkpPyQqG.js.map
|