@alfadocs/ui-kit 0.50.1 → 0.52.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/{agenda-card-BaSfVfrL.js → agenda-card-Bl-SBiCh.js} +55 -45
- package/dist/_chunks/agenda-tray-DA6qj8BL.js +203 -0
- package/dist/_chunks/{ai-consent-banner-F2md5JD3.js → ai-consent-banner-DBKV27je.js} +2 -2
- package/dist/_chunks/ai-tools-rail-7tC3GT4h.js +340 -0
- package/dist/_chunks/{alert-CUTxnym2.js → alert-_mUKLmwA.js} +54 -44
- package/dist/_chunks/{audio-recorder-DVJXV7_k.js → audio-recorder-D6OVfNiZ.js} +2 -2
- package/dist/_chunks/{booking-DljH0JkS.js → booking-BUV9fspj.js} +2 -2
- package/dist/_chunks/{document-scanner-Cxqvq7GR.js → document-scanner-biBS_f6c.js} +2 -2
- package/dist/_chunks/dropdown-menu-DwwPovMZ.js +354 -0
- package/dist/_chunks/{editable-currency-cell-renderer-Bh48OHRv.js → editable-currency-cell-renderer-D5C5tCfu.js} +3 -3
- package/dist/_chunks/{freemium-paywall-BWaLWje-.js → freemium-paywall-gHGA44dW.js} +2 -2
- package/dist/_chunks/{header-settings-Bx0Biimh.js → header-settings-D5Z2B_Yz.js} +3 -3
- package/dist/_chunks/{logo-yituK7sE.js → logo-1FuSGx0n.js} +2 -1
- package/dist/_chunks/marketplace-app-shell-C4OYAC22.js +513 -0
- package/dist/_chunks/maximize-2-Cm9OUQ2m.js +17 -0
- package/dist/_chunks/{patient-search-BJOmTmDA.js → patient-search-CArmRKeg.js} +3 -3
- package/dist/_chunks/patient-shell-Coarf346.js +162 -0
- package/dist/_chunks/{payment-form-xmeCkxas.js → payment-form-DJ9vnzrT.js} +2 -2
- package/dist/_chunks/{pdf-viewer-q1D3Uion.js → pdf-viewer-4odMFuFW.js} +2 -2
- package/dist/_chunks/{practice-results-Cq1y8JFD.js → practice-results-CtfciF2v.js} +3 -3
- package/dist/_chunks/{pregnancy-dating-DT_244bG.js → pregnancy-dating-BA37LSkF.js} +15 -15
- package/dist/_chunks/{privacy-lock-BmX_gkvt.js → privacy-lock-BN3L-alb.js} +2 -2
- package/dist/_chunks/{public-footer.agent-okt8ZRc5.js → public-footer.agent-CfXuW1x6.js} +2 -2
- package/dist/_chunks/{recaptcha-widget-CFYyLSEX.js → recaptcha-widget-BCNHsgqt.js} +2 -2
- package/dist/_chunks/{sidebar-h78cTNLh.js → sidebar-DPEHzxLZ.js} +397 -346
- package/dist/_chunks/{sign-document-CZkAf28g.js → sign-document-Bzld9jVM.js} +2 -2
- package/dist/_chunks/{sign-in-with-alfadocs-button-CuYn_kKP.js → sign-in-with-alfadocs-button-BpAjVmsI.js} +2 -2
- package/dist/_chunks/{task-card-CPyQ5AXC.js → task-card-BwY9jaV1.js} +48 -42
- package/dist/_chunks/task-tray-Cb_hK4yb.js +234 -0
- package/dist/_chunks/{theme-toggle-ClATnY4Q.js → theme-toggle-DAW7uC0B.js} +3 -3
- package/dist/_chunks/use-edge-resize-ZnGG7gyO.js +139 -0
- package/dist/_chunks/use-theme-CAuo6EYT.js +159 -0
- package/dist/_chunks/{warning-stack-CXfoAT-_.js → warning-stack-Cv4fr5zo.js} +2 -2
- package/dist/_chunks/{workflow-map-DzX_LI4y.js → workflow-map-BJDUNYlX.js} +3 -3
- package/dist/agent-catalog.json +1 -1
- package/dist/brand/product-lockup/product-lockup.d.ts +47 -12
- package/dist/components/agenda-card/agenda-card.d.ts +19 -2
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/agenda-tray.d.ts +24 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-consent-banner/index.js +1 -1
- package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +8 -0
- package/dist/components/ai-tools-rail/index.js +1 -1
- package/dist/components/alert/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/button-group/button-group.d.ts +1 -1
- package/dist/components/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -0
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/form-field/form-field.d.ts +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/icon-button-group/icon-button-group.d.ts +15 -15
- package/dist/components/key-value-pair/key-value-pair.d.ts +1 -1
- package/dist/components/logo/index.js +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/radio-group/radio-group.d.ts +1 -1
- package/dist/components/recaptcha-widget/index.js +1 -1
- package/dist/components/separator/separator.d.ts +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sidebar/sidebar.d.ts +8 -0
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/tabs/tabs.d.ts +2 -2
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-card/task-card.d.ts +15 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/task-tray/task-tray.d.ts +24 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/components/workflow/workflow-map.d.ts +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +12 -10
- package/dist/hooks/use-edge-resize.d.ts +78 -0
- package/dist/i18n/locales/ar.d.ts +4 -0
- package/dist/i18n/locales/ar.js +7 -3
- package/dist/i18n/locales/de.d.ts +4 -0
- package/dist/i18n/locales/de.js +7 -3
- package/dist/i18n/locales/el.d.ts +4 -0
- package/dist/i18n/locales/el.js +7 -3
- package/dist/i18n/locales/en.d.ts +4 -0
- package/dist/i18n/locales/en.js +7 -3
- package/dist/i18n/locales/es.d.ts +4 -0
- package/dist/i18n/locales/es.js +7 -3
- package/dist/i18n/locales/fr.d.ts +4 -0
- package/dist/i18n/locales/fr.js +7 -3
- package/dist/i18n/locales/hi.d.ts +4 -0
- package/dist/i18n/locales/hi.js +7 -3
- package/dist/i18n/locales/it.d.ts +4 -0
- package/dist/i18n/locales/it.js +7 -3
- package/dist/i18n/locales/ja.d.ts +4 -0
- package/dist/i18n/locales/ja.js +7 -3
- package/dist/i18n/locales/nl.d.ts +4 -0
- package/dist/i18n/locales/nl.js +7 -3
- package/dist/i18n/locales/pl.d.ts +4 -0
- package/dist/i18n/locales/pl.js +7 -3
- package/dist/i18n/locales/pt.d.ts +4 -0
- package/dist/i18n/locales/pt.js +7 -3
- package/dist/i18n/locales/ro.d.ts +4 -0
- package/dist/i18n/locales/ro.js +7 -3
- package/dist/i18n/locales/ru.d.ts +4 -0
- package/dist/i18n/locales/ru.js +7 -3
- package/dist/i18n/locales/sq.d.ts +4 -0
- package/dist/i18n/locales/sq.js +7 -3
- package/dist/i18n/locales/sv.d.ts +4 -0
- package/dist/i18n/locales/sv.js +7 -3
- package/dist/i18n/locales/tr.d.ts +4 -0
- package/dist/i18n/locales/tr.js +7 -3
- package/dist/i18n/locales/zh.d.ts +4 -0
- package/dist/i18n/locales/zh.js +7 -3
- package/dist/index.js +31 -31
- package/dist/locales/ar.json +7 -3
- package/dist/locales/de.json +7 -3
- package/dist/locales/el.json +7 -3
- package/dist/locales/en.json +7 -3
- package/dist/locales/es.json +7 -3
- package/dist/locales/fr.json +7 -3
- package/dist/locales/hi.json +7 -3
- package/dist/locales/it.json +7 -3
- package/dist/locales/ja.json +7 -3
- package/dist/locales/nl.json +7 -3
- package/dist/locales/pl.json +7 -3
- package/dist/locales/pt.json +7 -3
- package/dist/locales/ro.json +7 -3
- package/dist/locales/ru.json +7 -3
- package/dist/locales/sq.json +7 -3
- package/dist/locales/sv.json +7 -3
- package/dist/locales/tr.json +7 -3
- package/dist/locales/zh.json +7 -3
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +8 -6
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/agenda-tray-DQayYmQ0.js +0 -165
- package/dist/_chunks/ai-tools-rail-CYLWrRmm.js +0 -280
- package/dist/_chunks/circle-arrow-up-CC_85SuH.js +0 -16
- package/dist/_chunks/dropdown-menu-CUEXqKis.js +0 -299
- package/dist/_chunks/marketplace-app-shell-UKSLx9K_.js +0 -428
- package/dist/_chunks/patient-shell-DUmhXnFq.js +0 -174
- package/dist/_chunks/task-tray-B8jFv5FV.js +0 -196
- package/dist/_chunks/use-theme-C2dHKUAN.js +0 -145
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { useSyncExternalStore as D, useEffect as k, useCallback as M } from "react";
|
|
2
|
+
const y = "alfadocs-ui.theme", b = "alfadocs-ui.accessibility", n = {
|
|
3
|
+
light: "theme-light",
|
|
4
|
+
dark: "theme-dark",
|
|
5
|
+
accessible: "theme-accessible"
|
|
6
|
+
}, _ = "(prefers-color-scheme: dark)", O = "(prefers-contrast: more)";
|
|
7
|
+
function m(e) {
|
|
8
|
+
if (typeof window > "u") return null;
|
|
9
|
+
try {
|
|
10
|
+
return window.localStorage.getItem(e);
|
|
11
|
+
} catch {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function L(e, t) {
|
|
16
|
+
if (!(typeof window > "u"))
|
|
17
|
+
try {
|
|
18
|
+
t === null ? window.localStorage.removeItem(e) : window.localStorage.setItem(e, t);
|
|
19
|
+
} catch {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function E(e) {
|
|
23
|
+
return e === "light" || e === "dark" || e === "system";
|
|
24
|
+
}
|
|
25
|
+
function S(e) {
|
|
26
|
+
return e === "default" || e === "accessible" || e === "system";
|
|
27
|
+
}
|
|
28
|
+
function I() {
|
|
29
|
+
const e = m(y), t = m(b), r = typeof window < "u" && typeof window.matchMedia == "function", s = typeof document < "u" ? document.documentElement.classList : null, w = s ? s.contains(n.dark) ? "dark" : s.contains(n.light) ? "light" : null : null, v = s != null && s.contains(n.accessible) ? "accessible" : null;
|
|
30
|
+
return {
|
|
31
|
+
theme: E(e) ? e : w ?? "system",
|
|
32
|
+
accessibility: S(t) ? t : v ?? "system",
|
|
33
|
+
prefersDark: r ? window.matchMedia(_).matches : !1,
|
|
34
|
+
prefersMoreContrast: r ? window.matchMedia(O).matches : !1
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
let i = I();
|
|
38
|
+
const g = /* @__PURE__ */ new Set();
|
|
39
|
+
function c(e) {
|
|
40
|
+
e.theme === i.theme && e.accessibility === i.accessibility && e.prefersDark === i.prefersDark && e.prefersMoreContrast === i.prefersMoreContrast || (i = e, g.forEach((t) => t()));
|
|
41
|
+
}
|
|
42
|
+
function R(e) {
|
|
43
|
+
return g.add(e), () => {
|
|
44
|
+
g.delete(e);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function H() {
|
|
48
|
+
return i;
|
|
49
|
+
}
|
|
50
|
+
function V() {
|
|
51
|
+
return {
|
|
52
|
+
theme: "system",
|
|
53
|
+
accessibility: "system",
|
|
54
|
+
prefersDark: !1,
|
|
55
|
+
prefersMoreContrast: !1
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
let h = 0, d = null, f = null, u = null;
|
|
59
|
+
function Y(e) {
|
|
60
|
+
c({ ...i, prefersDark: e.matches });
|
|
61
|
+
}
|
|
62
|
+
function F(e) {
|
|
63
|
+
c({ ...i, prefersMoreContrast: e.matches });
|
|
64
|
+
}
|
|
65
|
+
function G(e) {
|
|
66
|
+
if (e.key === y) {
|
|
67
|
+
const t = E(e.newValue) ? e.newValue : "system";
|
|
68
|
+
c({ ...i, theme: t });
|
|
69
|
+
} else if (e.key === b) {
|
|
70
|
+
const t = S(e.newValue) ? e.newValue : "system";
|
|
71
|
+
c({ ...i, accessibility: t });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function T() {
|
|
75
|
+
if (typeof document > "u") return;
|
|
76
|
+
const e = document.documentElement.classList, t = m(y), r = m(b), s = e.contains(n.dark) ? "dark" : e.contains(n.light) ? "light" : null, w = e.contains(
|
|
77
|
+
n.accessible
|
|
78
|
+
) ? "accessible" : null;
|
|
79
|
+
c({
|
|
80
|
+
...i,
|
|
81
|
+
theme: E(t) ? t : s ?? "system",
|
|
82
|
+
accessibility: S(r) ? r : w ?? "system"
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function C(e, t) {
|
|
86
|
+
return typeof e.addEventListener == "function" ? (e.addEventListener("change", t), () => e.removeEventListener("change", t)) : (e.addListener(t), () => e.removeListener(t));
|
|
87
|
+
}
|
|
88
|
+
function K() {
|
|
89
|
+
return h += 1, h > 1 || typeof window > "u" || (typeof window.matchMedia == "function" && (d = window.matchMedia(_), f = window.matchMedia(O), c({
|
|
90
|
+
...i,
|
|
91
|
+
prefersDark: d.matches,
|
|
92
|
+
prefersMoreContrast: f.matches
|
|
93
|
+
}), a = C(d, Y), l = C(f, F)), u = G, window.addEventListener("storage", u), typeof document < "u" && typeof MutationObserver < "u" && (T(), o = new MutationObserver(T), o.observe(document.documentElement, {
|
|
94
|
+
attributes: !0,
|
|
95
|
+
attributeFilter: ["class"]
|
|
96
|
+
}))), p;
|
|
97
|
+
}
|
|
98
|
+
let a = null, l = null, o = null;
|
|
99
|
+
function p() {
|
|
100
|
+
h -= 1, !(h > 0) && (a == null || a(), l == null || l(), a = null, l = null, d = null, f = null, u && typeof window < "u" && window.removeEventListener("storage", u), u = null, o == null || o.disconnect(), o = null);
|
|
101
|
+
}
|
|
102
|
+
function A(e) {
|
|
103
|
+
const t = e.theme === "system" ? e.prefersDark ? "dark" : "light" : e.theme, r = e.accessibility === "system" ? e.prefersMoreContrast : e.accessibility === "accessible";
|
|
104
|
+
return t === "dark" && r ? "dark-accessible" : t === "dark" ? "dark" : r ? "light-accessible" : "light";
|
|
105
|
+
}
|
|
106
|
+
function Q(e) {
|
|
107
|
+
switch (e) {
|
|
108
|
+
case "light":
|
|
109
|
+
return [n.light];
|
|
110
|
+
case "dark":
|
|
111
|
+
return [n.dark];
|
|
112
|
+
case "light-accessible":
|
|
113
|
+
return [n.light, n.accessible];
|
|
114
|
+
case "dark-accessible":
|
|
115
|
+
return [n.dark, n.accessible];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const U = [
|
|
119
|
+
n.light,
|
|
120
|
+
n.dark,
|
|
121
|
+
n.accessible
|
|
122
|
+
];
|
|
123
|
+
function B(e) {
|
|
124
|
+
if (typeof document > "u") return;
|
|
125
|
+
const t = document.documentElement, r = new Set(Q(e));
|
|
126
|
+
U.forEach((s) => {
|
|
127
|
+
r.has(s) ? t.classList.add(s) : t.classList.remove(s);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function W() {
|
|
131
|
+
const e = D(R, H, V);
|
|
132
|
+
k(() => K(), []), k(() => {
|
|
133
|
+
B(A(e));
|
|
134
|
+
}, [e]);
|
|
135
|
+
const t = M((s) => {
|
|
136
|
+
L(y, s === "system" ? null : s), c({ ...i, theme: s });
|
|
137
|
+
}, []), r = M((s) => {
|
|
138
|
+
L(
|
|
139
|
+
b,
|
|
140
|
+
s === "system" ? null : s
|
|
141
|
+
), c({ ...i, accessibility: s });
|
|
142
|
+
}, []);
|
|
143
|
+
return {
|
|
144
|
+
theme: e.theme,
|
|
145
|
+
accessibility: e.accessibility,
|
|
146
|
+
resolvedTheme: A(e),
|
|
147
|
+
setTheme: t,
|
|
148
|
+
setAccessibility: r
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
export {
|
|
152
|
+
b as A,
|
|
153
|
+
n as T,
|
|
154
|
+
y as a,
|
|
155
|
+
A as r,
|
|
156
|
+
Q as t,
|
|
157
|
+
W as u
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=use-theme-CAuo6EYT.js.map
|
|
@@ -2,7 +2,7 @@ import { jsxs as d, jsx as e } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef as U, useId as M, useState as T, useEffect as b, useMemo as G, useRef as p, useCallback as S } from "react";
|
|
3
3
|
import { c as V } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as X } from "react-i18next";
|
|
5
|
-
import { A as v } from "./alert-
|
|
5
|
+
import { A as v } from "./alert-_mUKLmwA.js";
|
|
6
6
|
import { B as Y } from "./button-DD_0Xdmr.js";
|
|
7
7
|
import { C as Z } from "./chevron-down-BX_NP2Yh.js";
|
|
8
8
|
const O = V(
|
|
@@ -217,4 +217,4 @@ nn.displayName = "WarningStack";
|
|
|
217
217
|
export {
|
|
218
218
|
nn as W
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=warning-stack-
|
|
220
|
+
//# sourceMappingURL=warning-stack-Cv4fr5zo.js.map
|
|
@@ -11,9 +11,9 @@ import { P as U } from "./pencil-CfQX-0Qc.js";
|
|
|
11
11
|
import { c as z } from "./createLucideIcon-CrFbzy84.js";
|
|
12
12
|
import { C as Ne } from "./circle-BkqTgYmt.js";
|
|
13
13
|
import { u as Ce } from "./registry-nPAVE19X.js";
|
|
14
|
-
import { A as V } from "./alert-
|
|
14
|
+
import { A as V } from "./alert-_mUKLmwA.js";
|
|
15
15
|
import { B as _e } from "./button-DD_0Xdmr.js";
|
|
16
|
-
import { D as N } from "./dropdown-menu-
|
|
16
|
+
import { D as N } from "./dropdown-menu-DwwPovMZ.js";
|
|
17
17
|
import { E } from "./empty-state-BLy7tigq.js";
|
|
18
18
|
import { P as ae } from "./plus-CYKNmfuA.js";
|
|
19
19
|
import { G as ne } from "./globe-BkEFMNSg.js";
|
|
@@ -1366,4 +1366,4 @@ export {
|
|
|
1366
1366
|
ee as r,
|
|
1367
1367
|
L as w
|
|
1368
1368
|
};
|
|
1369
|
-
//# sourceMappingURL=workflow-map-
|
|
1369
|
+
//# sourceMappingURL=workflow-map-BJDUNYlX.js.map
|
package/dist/agent-catalog.json
CHANGED
|
@@ -7,11 +7,26 @@ declare const productName: (props?: ({
|
|
|
7
7
|
type LockupSize = NonNullable<VariantProps<typeof productName>['size']>;
|
|
8
8
|
export type ProductLockupProps = {
|
|
9
9
|
/**
|
|
10
|
-
* The product name
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* The product name. Passed verbatim (product names are not translated).
|
|
11
|
+
*
|
|
12
|
+
* - `variant="standard"` (default): renders as "Alfadocs <name>" with the
|
|
13
|
+
* wordmark; accessible name is `Alfadocs <name>`.
|
|
14
|
+
* - `variant="maker"`: renders as "[mark] <name> by Alfadocs"; accessible
|
|
15
|
+
* name is `<name> by Alfadocs`.
|
|
13
16
|
*/
|
|
14
17
|
name: string;
|
|
18
|
+
/**
|
|
19
|
+
* Which lockup composition to use.
|
|
20
|
+
*
|
|
21
|
+
* - `'standard'` (default) — Alfadocs wordmark + product name ("Alfadocs
|
|
22
|
+
* Builders"). Use for **internal** Alfadocs products (Alfadocs Builders,
|
|
23
|
+
* Alfadocs API) where the product is part of the Alfadocs family.
|
|
24
|
+
* - `'maker'` — "<name> by Alfadocs" with the four-pillar mark and the name
|
|
25
|
+
* as the prominent element. Use for **external** marketplace extensions
|
|
26
|
+
* ("Scribe by Alfadocs") where the extension's own name leads and
|
|
27
|
+
* "by Alfadocs" is the maker attribution.
|
|
28
|
+
*/
|
|
29
|
+
variant?: 'standard' | 'maker';
|
|
15
30
|
/**
|
|
16
31
|
* Render the name as a solid `--foreground` ink, upright (no gradient, no
|
|
17
32
|
* italic), and pair it with the monochrome wordmark. Use for print,
|
|
@@ -32,21 +47,41 @@ export type ProductLockupProps = {
|
|
|
32
47
|
className?: string;
|
|
33
48
|
} & Omit<ComponentPropsWithoutRef<'span'>, 'role' | 'aria-label' | 'aria-hidden' | 'children' | 'className'>;
|
|
34
49
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
50
|
+
* Pairs a product name with the Alfadocs brand. Two compositions:
|
|
51
|
+
*
|
|
52
|
+
* - `variant="standard"` (default) — the Alfadocs wordmark + product name
|
|
53
|
+
* ("Alfadocs Builders"). For internal Alfadocs products. Exposed to
|
|
54
|
+
* assistive tech as a single `img` named `Alfadocs <name>`.
|
|
55
|
+
* - `variant="maker"` — "[mark] <name> by Alfadocs". For external marketplace
|
|
56
|
+
* extensions where the extension's name leads. Exposed as a single `img`
|
|
57
|
+
* named `<name> by Alfadocs`.
|
|
38
58
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
59
|
+
* In both cases the inner wordmark/mark and the visible name are decorative so
|
|
60
|
+
* the brand isn't announced twice. Every marketplace app should use this
|
|
61
|
+
* rather than hand-rolling a wordmark + typed span.
|
|
42
62
|
*/
|
|
43
63
|
export declare const ProductLockup: import("react").ForwardRefExoticComponent<{
|
|
44
64
|
/**
|
|
45
|
-
* The product name
|
|
46
|
-
*
|
|
47
|
-
*
|
|
65
|
+
* The product name. Passed verbatim (product names are not translated).
|
|
66
|
+
*
|
|
67
|
+
* - `variant="standard"` (default): renders as "Alfadocs <name>" with the
|
|
68
|
+
* wordmark; accessible name is `Alfadocs <name>`.
|
|
69
|
+
* - `variant="maker"`: renders as "[mark] <name> by Alfadocs"; accessible
|
|
70
|
+
* name is `<name> by Alfadocs`.
|
|
48
71
|
*/
|
|
49
72
|
name: string;
|
|
73
|
+
/**
|
|
74
|
+
* Which lockup composition to use.
|
|
75
|
+
*
|
|
76
|
+
* - `'standard'` (default) — Alfadocs wordmark + product name ("Alfadocs
|
|
77
|
+
* Builders"). Use for **internal** Alfadocs products (Alfadocs Builders,
|
|
78
|
+
* Alfadocs API) where the product is part of the Alfadocs family.
|
|
79
|
+
* - `'maker'` — "<name> by Alfadocs" with the four-pillar mark and the name
|
|
80
|
+
* as the prominent element. Use for **external** marketplace extensions
|
|
81
|
+
* ("Scribe by Alfadocs") where the extension's own name leads and
|
|
82
|
+
* "by Alfadocs" is the maker attribution.
|
|
83
|
+
*/
|
|
84
|
+
variant?: "standard" | "maker";
|
|
50
85
|
/**
|
|
51
86
|
* Render the name as a solid `--foreground` ink, upright (no gradient, no
|
|
52
87
|
* italic), and pair it with the monochrome wordmark. Use for print,
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { type HTMLAttributes } from 'react';
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
export { isSafeEntityUrl as isSafeAgendaUrl } from '../_shared/is-safe-url';
|
|
4
|
-
export type AppointmentStatus = 'confirmed' | 'pending' | 'cancelled';
|
|
4
|
+
export type AppointmentStatus = 'confirmed' | 'pending' | 'cancelled' | 'absent';
|
|
5
5
|
export interface AgendaItem {
|
|
6
6
|
/** Unique identifier for the appointment. */
|
|
7
7
|
id: string;
|
|
8
8
|
/** Display time string (e.g. "09:00"). Localised by the consumer. */
|
|
9
9
|
time: string;
|
|
10
|
+
/**
|
|
11
|
+
* Localised date eyebrow (e.g. "Thu 12 Jun") rendered under the time —
|
|
12
|
+
* for agendas spanning more than today (upcoming-appointments queues).
|
|
13
|
+
*/
|
|
14
|
+
dateLabel?: string;
|
|
10
15
|
/** Patient identity — drives the avatar's initials + accessible name. */
|
|
11
16
|
patient: {
|
|
12
17
|
name: string;
|
|
@@ -14,6 +19,13 @@ export interface AgendaItem {
|
|
|
14
19
|
};
|
|
15
20
|
/** Treatment / appointment type — short localised label. */
|
|
16
21
|
treatment?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Context line under the treatment (e.g. "Dr. Bianchi · Chair 2").
|
|
24
|
+
* Localised and pre-joined by the consumer.
|
|
25
|
+
*/
|
|
26
|
+
meta?: string;
|
|
27
|
+
/** Free-text booking note — muted body line, clamped. */
|
|
28
|
+
note?: string;
|
|
17
29
|
/** Lifecycle state — drives a trailing status chip. */
|
|
18
30
|
status?: AppointmentStatus;
|
|
19
31
|
/** Optional deep link — when present the row is an anchor. */
|
|
@@ -26,6 +38,11 @@ export interface AgendaCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'o
|
|
|
26
38
|
size?: 'sm' | 'md';
|
|
27
39
|
/** Fires when the row is activated. */
|
|
28
40
|
onActivate?: (item: AgendaItem) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Trailing per-row action toolbar. Rendered above the stretched-link
|
|
43
|
+
* overlay so the controls stay clickable inside an interactive row.
|
|
44
|
+
*/
|
|
45
|
+
actions?: ReactNode;
|
|
29
46
|
}
|
|
30
47
|
declare const agendaCardVariants: (props?: ({
|
|
31
48
|
size?: "sm" | "md" | null | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as e } from "../../_chunks/agenda-card-
|
|
1
|
+
import { A as e } from "../../_chunks/agenda-card-Bl-SBiCh.js";
|
|
2
2
|
import { a as d } from "../../_chunks/agenda-card.agent-B_R47-c9.js";
|
|
3
3
|
import { i as g } from "../../_chunks/is-safe-url-DkETxeHz.js";
|
|
4
4
|
export {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type HTMLAttributes } from 'react';
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
import { type AgendaItem } from '../agenda-card';
|
|
4
4
|
declare const agendaTrayVariants: (props?: ({
|
|
@@ -35,6 +35,29 @@ export interface AgendaTrayProps extends Omit<HTMLAttributes<HTMLElement>, 'onCl
|
|
|
35
35
|
loading?: boolean;
|
|
36
36
|
emptyTitle?: string;
|
|
37
37
|
emptyDescription?: string;
|
|
38
|
+
/** Optional CTA wired into the empty state (EmptyState primaryAction). */
|
|
39
|
+
emptyAction?: {
|
|
40
|
+
label: string;
|
|
41
|
+
onClick: () => void;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Pinned footer link (e.g. "All upcoming appointments"). Localised by
|
|
45
|
+
* the consumer; rendered after the list, before the section closes.
|
|
46
|
+
*/
|
|
47
|
+
viewAllLabel?: string;
|
|
48
|
+
/** Fires when the footer link is activated. Required to render it. */
|
|
49
|
+
onViewAll?: () => void;
|
|
50
|
+
/**
|
|
51
|
+
* Per-row trailing action toolbar, forwarded to each AgendaCard's
|
|
52
|
+
* `actions` slot.
|
|
53
|
+
*/
|
|
54
|
+
renderItemActions?: (item: AgendaItem) => ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Constrain the list to the tray's own height and scroll inside it —
|
|
57
|
+
* pair with a height/max-height on `className`. The scroll region is
|
|
58
|
+
* keyboard-focusable so it stays operable without a pointer.
|
|
59
|
+
*/
|
|
60
|
+
scrollable?: boolean;
|
|
38
61
|
}
|
|
39
62
|
export declare const AgendaTray: import("react").ForwardRefExoticComponent<AgendaTrayProps & import("react").RefAttributes<HTMLElement>>;
|
|
40
63
|
export {};
|
|
@@ -53,6 +53,14 @@ export interface AiToolsRailProps extends VariantProps<typeof railVariants> {
|
|
|
53
53
|
side?: 'start' | 'end';
|
|
54
54
|
/** Accessible label for the toolbar strip. */
|
|
55
55
|
railLabel?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Opt-in resize affordance for the open tool panel. Renders a
|
|
58
|
+
* `role="separator"` drag handle on the panel's inner edge (the edge
|
|
59
|
+
* facing the main content). The committed width is written to
|
|
60
|
+
* `--ai-tools-rail-panel-inline-size` on the panel element (288–640px);
|
|
61
|
+
* Enter / double-click resets to the token-driven default. Default `false`.
|
|
62
|
+
*/
|
|
63
|
+
resizablePanel?: boolean;
|
|
56
64
|
className?: string;
|
|
57
65
|
}
|
|
58
66
|
export declare const AiToolsRail: import("react").ForwardRefExoticComponent<AiToolsRailProps & import("react").RefAttributes<AiToolsRailHandle>>;
|
|
@@ -3,7 +3,7 @@ import { type VariantProps } from 'class-variance-authority';
|
|
|
3
3
|
import type { ButtonProps } from '../button/button';
|
|
4
4
|
type ButtonIntent = NonNullable<ButtonProps['intent']>;
|
|
5
5
|
declare const buttonGroupVariants: (props?: ({
|
|
6
|
-
orientation?: "
|
|
6
|
+
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
7
7
|
separator?: boolean | null | undefined;
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
export interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof buttonGroupVariants> {
|
|
@@ -7,7 +7,7 @@ export interface CheckboxGroupHandle {
|
|
|
7
7
|
clearSelection: () => void;
|
|
8
8
|
}
|
|
9
9
|
declare const checkboxGroupVariants: (props?: ({
|
|
10
|
-
orientation?: "
|
|
10
|
+
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
11
11
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
12
|
export interface CheckboxGroupOption {
|
|
13
13
|
value: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as l, B as r, C as t, a as s, D as n, b as d, c as i, d as o, E as C, e as R, I as F, L as g, N as T, f as b, S as u, g as c, h as D, T as m, i as p, j as x, k as f, l as y, m as E, n as S, o as h, U as A, p as L, q as N, u as k } from "../../_chunks/editable-currency-cell-renderer-
|
|
1
|
+
import { A as l, B as r, C as t, a as s, D as n, b as d, c as i, d as o, E as C, e as R, I as F, L as g, N as T, f as b, S as u, g as c, h as D, T as m, i as p, j as x, k as f, l as y, m as E, n as S, o as h, U as A, p as L, q as N, u as k } from "../../_chunks/editable-currency-cell-renderer-D5C5tCfu.js";
|
|
2
2
|
export {
|
|
3
3
|
l as ActionsCellRenderer,
|
|
4
4
|
r as BalanceCellRenderer,
|
|
@@ -22,6 +22,7 @@ export interface DropdownMenuItemProps extends ComponentPropsWithoutRef<typeof R
|
|
|
22
22
|
shortcut?: Array<KbdNamedKey | string>;
|
|
23
23
|
}
|
|
24
24
|
export type DropdownMenuCheckboxItemProps = ComponentPropsWithoutRef<typeof RadixDropdownMenu.CheckboxItem>;
|
|
25
|
+
export type DropdownMenuSwitchItemProps = ComponentPropsWithoutRef<typeof RadixDropdownMenu.CheckboxItem>;
|
|
25
26
|
export type DropdownMenuRadioItemProps = ComponentPropsWithoutRef<typeof RadixDropdownMenu.RadioItem>;
|
|
26
27
|
export type DropdownMenuLabelProps = ComponentPropsWithoutRef<typeof RadixDropdownMenu.Label>;
|
|
27
28
|
export type DropdownMenuSeparatorProps = ComponentPropsWithoutRef<typeof RadixDropdownMenu.Separator>;
|
|
@@ -44,6 +45,7 @@ export declare const DropdownMenu: {
|
|
|
44
45
|
Group: import("react").ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
45
46
|
Item: import("react").ForwardRefExoticComponent<DropdownMenuItemProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
46
47
|
CheckboxItem: import("react").ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
48
|
+
SwitchItem: import("react").ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
47
49
|
RadioGroup: import("react").ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuRadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
48
50
|
RadioItem: import("react").ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuRadioItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
49
51
|
Label: import("react").ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type HTMLAttributes } from 'react';
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const fieldVariants: (props?: ({
|
|
4
|
-
orientation?: "
|
|
4
|
+
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
5
5
|
disabled?: boolean | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
type RequiredIndicator = {
|