@alfadocs/ui-kit 1.45.0 → 1.46.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/{actions-cell-renderer-BXBy9c0f.js → actions-cell-renderer-B5m9lwgC.js} +2 -2
- package/dist/_chunks/ai-credits-notice-xszqOZTC.js +90 -0
- package/dist/_chunks/ai-credits-notice.agent-C9L7orrP.js +17 -0
- package/dist/_chunks/{ai-consent-banner-D7I2U-cz.js → ai-permission-notice-D7I2U-cz.js} +1 -1
- package/dist/_chunks/ai-sparkle-D23NT8Z_.js +45 -0
- package/dist/_chunks/{anamnesis-summary-rows-DQUqwWc1.js → anamnesis-summary-rows-DI-UX5r6.js} +2 -2
- package/dist/_chunks/{appointment-card-TgR_2GKS.js → appointment-card-DluZy8Iv.js} +2 -2
- package/dist/_chunks/{appointment-peek-abiR0T9e.js → appointment-peek-BsfCpiJs.js} +3 -3
- package/dist/_chunks/{appointment-timeline-CCnyUYKz.js → appointment-timeline-Cs5f9viN.js} +3 -3
- package/dist/_chunks/{appointment-tray-N0yEI8UF.js → appointment-tray-CLrGGnKR.js} +2 -2
- package/dist/_chunks/baby-Dku-Xvg9.js +23 -0
- package/dist/_chunks/{balance-badge-cell-o6LldMUA.js → balance-badge-cell-YGrYdrvR.js} +3 -3
- package/dist/_chunks/{booking-D43ASl8y.js → booking-B7gA9gFB.js} +279 -296
- package/dist/_chunks/button-group-CA1tmu39.js +325 -0
- package/dist/_chunks/{calendar-U6N0F99w.js → calendar-OzSeTb4V.js} +2 -2
- package/dist/_chunks/{calendar-event-card-DKUnT9Be.js → calendar-event-card-B6N5h1dO.js} +57 -48
- package/dist/_chunks/{calendar-workspace-B7KvZ1_D.js → calendar-workspace-BB-BZT7W.js} +3002 -2912
- package/dist/_chunks/{chart-PF2krCZC.js → chart-D8ucl8hH.js} +2 -2
- package/dist/_chunks/{data-table-CcAx_I1w.js → data-table-DnKOmEVw.js} +2 -2
- package/dist/_chunks/{editable-currency-cell-renderer-Psb6XKHR.js → editable-currency-cell-renderer-OUkUv7U4.js} +2 -2
- package/dist/_chunks/{face-scheme-Bm6pe7R8.js → face-scheme-mIhwrQXt.js} +3 -3
- package/dist/_chunks/{file-manager-BfLQxF5t.js → file-manager-DOcJGIx2.js} +4 -4
- package/dist/_chunks/{header-settings-CTe45iDy.js → header-settings-BEfx_-TF.js} +2 -2
- package/dist/_chunks/{help-me-write-templates-GUeEn3Ff.js → help-me-write-templates-DHIwa4xR.js} +205 -199
- package/dist/_chunks/{hover-card-BMJBVqIf.js → hover-card-nUae8NPJ.js} +67 -62
- package/dist/_chunks/{icon-button-group-DkkdIygu.js → icon-button-group-DZKC6KGf.js} +181 -168
- package/dist/_chunks/kit-extensions-DuoFF1R3.js +94 -0
- package/dist/_chunks/{marketplace-app-shell-DdwPj03y.js → marketplace-app-shell-PB89Dkk_.js} +2 -2
- package/dist/_chunks/{notes-panel-Dkk9QPPX.js → notes-panel-CHbDDMx8.js} +83 -73
- package/dist/_chunks/{patient-details-C8ImUrVg.js → patient-details-DUj1htsH.js} +2 -2
- package/dist/_chunks/{patient-field-row-BRSOKvme.js → patient-field-row-CO0WR7yA.js} +2 -2
- package/dist/_chunks/{patient-summary-card-BhmKB2KR.js → patient-summary-card-DNzdYjxE.js} +59 -45
- package/dist/_chunks/rich-text-editor-BwDV2XkZ.js +4153 -0
- package/dist/_chunks/{tasks-panel-CpcikOeY.js → tasks-panel-DncuBPIZ.js} +2 -2
- package/dist/_chunks/{theme-toggle-bI0pgDDv.js → theme-toggle-BP0XRGMM.js} +2 -2
- package/dist/_chunks/use-ai-sparkle-Cf4yVTLB.js +76 -0
- package/dist/_chunks/{workflow-status-xeaJTzD3.js → workflow-status-CuJAOuKL.js} +43 -42
- package/dist/agent-catalog.json +32 -4
- package/dist/agent-i18n/en.json +1 -1
- package/dist/components/ai-credits-notice/ai-credits-notice.agent.d.ts +3 -0
- package/dist/components/ai-credits-notice/ai-credits-notice.d.ts +48 -0
- package/dist/components/ai-credits-notice/index.d.ts +4 -0
- package/dist/components/ai-credits-notice/index.js +7 -0
- package/dist/components/{ai-consent-banner/ai-consent-banner.agent.d.ts → ai-permission-notice/ai-permission-notice.agent.d.ts} +2 -2
- package/dist/components/{ai-consent-banner/ai-consent-banner.d.ts → ai-permission-notice/ai-permission-notice.d.ts} +1 -1
- package/dist/components/ai-permission-notice/index.d.ts +4 -0
- package/dist/components/{ai-consent-banner → ai-permission-notice}/index.js +1 -1
- package/dist/components/ai-sparkle/ai-sparkle.d.ts +3 -3
- package/dist/components/ai-sparkle/index.js +1 -1
- package/dist/components/appointment-card/index.js +2 -2
- package/dist/components/appointment-peek/index.js +1 -1
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/button-group/index.js +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/calendar-event-card/index.js +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/data-table/index.js +3 -3
- package/dist/components/face-scheme/index.js +1 -1
- package/dist/components/file-manager/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/hover-card/hover-card.d.ts +4 -0
- package/dist/components/hover-card/index.d.ts +1 -1
- package/dist/components/hover-card/index.js +3 -2
- package/dist/components/icon-button-group/index.js +1 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notes-panel/notes-panel.d.ts +10 -0
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/rich-text-editor/editor-extensions.d.ts +54 -0
- package/dist/components/rich-text-editor/editor-toolbar.d.ts +2 -1
- package/dist/components/rich-text-editor/help-me-write-overlay.d.ts +4 -0
- package/dist/components/rich-text-editor/index.d.ts +2 -0
- package/dist/components/rich-text-editor/index.js +6 -4
- package/dist/components/rich-text-editor/kit-extensions.d.ts +4 -0
- package/dist/components/rich-text-editor/rich-text-editor.d.ts +18 -2
- package/dist/components/tasks-panel/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/workflow-status/index.js +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.js +51 -53
- package/dist/hooks/use-ai-sparkle.d.ts +7 -25
- package/dist/host-compat.css +2 -2
- package/dist/i18n/locales/ar.d.ts +31 -0
- package/dist/i18n/locales/ar.js +33 -2
- package/dist/i18n/locales/de.d.ts +31 -0
- package/dist/i18n/locales/de.js +33 -2
- package/dist/i18n/locales/el.d.ts +31 -0
- package/dist/i18n/locales/el.js +33 -2
- package/dist/i18n/locales/en.d.ts +31 -0
- package/dist/i18n/locales/en.js +33 -2
- package/dist/i18n/locales/es.d.ts +31 -0
- package/dist/i18n/locales/es.js +33 -2
- package/dist/i18n/locales/fr.d.ts +31 -0
- package/dist/i18n/locales/fr.js +33 -2
- package/dist/i18n/locales/hi.d.ts +31 -0
- package/dist/i18n/locales/hi.js +33 -2
- package/dist/i18n/locales/it.d.ts +31 -0
- package/dist/i18n/locales/it.js +33 -2
- package/dist/i18n/locales/ja.d.ts +31 -0
- package/dist/i18n/locales/ja.js +33 -2
- package/dist/i18n/locales/nl.d.ts +31 -0
- package/dist/i18n/locales/nl.js +33 -2
- package/dist/i18n/locales/pl.d.ts +31 -0
- package/dist/i18n/locales/pl.js +33 -2
- package/dist/i18n/locales/pt.d.ts +31 -0
- package/dist/i18n/locales/pt.js +33 -2
- package/dist/i18n/locales/ro.d.ts +31 -0
- package/dist/i18n/locales/ro.js +33 -2
- package/dist/i18n/locales/ru.d.ts +31 -0
- package/dist/i18n/locales/ru.js +33 -2
- package/dist/i18n/locales/sq.d.ts +31 -0
- package/dist/i18n/locales/sq.js +33 -2
- package/dist/i18n/locales/sv.d.ts +31 -0
- package/dist/i18n/locales/sv.js +33 -2
- package/dist/i18n/locales/tr.d.ts +31 -0
- package/dist/i18n/locales/tr.js +33 -2
- package/dist/i18n/locales/zh.d.ts +31 -0
- package/dist/i18n/locales/zh.js +33 -2
- package/dist/index.js +646 -639
- package/dist/locales/ar.json +33 -2
- package/dist/locales/de.json +33 -2
- package/dist/locales/el.json +33 -2
- package/dist/locales/en.json +33 -2
- package/dist/locales/es.json +33 -2
- package/dist/locales/fr.json +33 -2
- package/dist/locales/hi.json +33 -2
- package/dist/locales/it.json +33 -2
- package/dist/locales/ja.json +33 -2
- package/dist/locales/nl.json +33 -2
- package/dist/locales/pl.json +33 -2
- package/dist/locales/pt.json +33 -2
- package/dist/locales/ro.json +33 -2
- package/dist/locales/ru.json +33 -2
- package/dist/locales/sq.json +33 -2
- package/dist/locales/sv.json +33 -2
- package/dist/locales/tr.json +33 -2
- package/dist/locales/zh.json +33 -2
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/calendar/calendar-workspace.d.ts +6 -4
- package/dist/patterns/calendar/calendar.data.d.ts +9 -0
- package/dist/patterns/calendar/calendar.journey.d.ts +1 -1
- package/dist/patterns/calendar/calendar.sheets.d.ts +16 -5
- package/dist/patterns/calendar/calendar.types.d.ts +3 -1
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +11 -2
- package/dist/patterns/help-me-write-templates/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +14 -4
- package/dist/_chunks/ai-sparkle-DXeP_6a0.js +0 -52
- package/dist/_chunks/button-group-R32U7SyV.js +0 -307
- package/dist/_chunks/rich-text-editor-BrAvNajV.js +0 -3779
- package/dist/_chunks/use-ai-sparkle-CyQSRTCe.js +0 -103
- package/dist/components/ai-consent-banner/index.d.ts +0 -4
|
@@ -5,7 +5,7 @@ import { useTranslation as _t } from "react-i18next";
|
|
|
5
5
|
import { B as Dt } from "./badge-BudgzTe_.js";
|
|
6
6
|
import { B as oe } from "./button-CaUe1uyd.js";
|
|
7
7
|
import { I as ne } from "./icon-button-CehAeZoP.js";
|
|
8
|
-
import { B as xe } from "./button-group-
|
|
8
|
+
import { B as xe } from "./button-group-CA1tmu39.js";
|
|
9
9
|
import { P as Rt } from "./panel-header-D_mTdhUp.js";
|
|
10
10
|
import { S as Ne } from "./select-CLSUnKjF.js";
|
|
11
11
|
import { S as Tt } from "./switch-OILsBLWo.js";
|
|
@@ -841,4 +841,4 @@ export {
|
|
|
841
841
|
ns as T,
|
|
842
842
|
Gt as t
|
|
843
843
|
};
|
|
844
|
-
//# sourceMappingURL=tasks-panel-
|
|
844
|
+
//# sourceMappingURL=tasks-panel-DncuBPIZ.js.map
|
|
@@ -3,7 +3,7 @@ import { forwardRef as M, useRef as k, useImperativeHandle as N, useMemo as _, u
|
|
|
3
3
|
import { c as P } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as g } from "react-i18next";
|
|
5
5
|
import { I as y } from "./icon-button-CehAeZoP.js";
|
|
6
|
-
import { I as j } from "./icon-button-group-
|
|
6
|
+
import { I as j } from "./icon-button-group-DZKC6KGf.js";
|
|
7
7
|
import { S as K } from "./switch-OILsBLWo.js";
|
|
8
8
|
import { D as o } from "./dropdown-menu-DU-Hrf33.js";
|
|
9
9
|
import { u as x } from "./use-theme-CAuo6EYT.js";
|
|
@@ -364,4 +364,4 @@ export {
|
|
|
364
364
|
F as T,
|
|
365
365
|
D as t
|
|
366
366
|
};
|
|
367
|
-
//# sourceMappingURL=theme-toggle-
|
|
367
|
+
//# sourceMappingURL=theme-toggle-BP0XRGMM.js.map
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { useState as _, useEffect as v, useCallback as n } from "react";
|
|
2
|
+
import { u as y } from "./use-prefers-reduced-motion-BMwIQRjB.js";
|
|
3
|
+
const p = {
|
|
4
|
+
intro: 1840,
|
|
5
|
+
landed: 1440
|
|
6
|
+
}, f = {
|
|
7
|
+
intro: "ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*6)_var(--ease-in-out)_1]",
|
|
8
|
+
working: "ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*6)_var(--ease-in-out)_infinite]",
|
|
9
|
+
landed: "ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*4)_var(--ease-out)_1]"
|
|
10
|
+
}, g = {
|
|
11
|
+
intro: "ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*7)_var(--ease-in-out)_1_both]",
|
|
12
|
+
working: "ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*8)_linear_infinite]",
|
|
13
|
+
landed: "ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*5)_var(--ease-out)_1_both]"
|
|
14
|
+
}, b = "ds:pointer-events-none ds:absolute ds:[inset-block-start:0] ds:[inset-inline-start:0] ds:opacity-0 ds:[offset-path:inset(0_round_var(--radius-full))] ds:[offset-rotate:0deg]", C = [
|
|
15
|
+
{
|
|
16
|
+
key: 1,
|
|
17
|
+
lag: "ds:[animation-delay:calc(var(--animation-duration)*0.2)]",
|
|
18
|
+
dot: "ds:size-2.5 ds:opacity-[var(--opacity-90)]"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
key: 2,
|
|
22
|
+
lag: "ds:[animation-delay:calc(var(--animation-duration)*0.4)]",
|
|
23
|
+
dot: "ds:size-2 ds:opacity-[var(--opacity-70)]"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
key: 3,
|
|
27
|
+
lag: "ds:[animation-delay:calc(var(--animation-duration)*0.6)]",
|
|
28
|
+
dot: "ds:size-2 ds:opacity-[var(--opacity-50)]"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
key: 4,
|
|
32
|
+
lag: "ds:[animation-delay:calc(var(--animation-duration)*0.8)]",
|
|
33
|
+
dot: "ds:size-1.5 ds:opacity-[var(--opacity-30)]"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
key: 5,
|
|
37
|
+
lag: "ds:[animation-delay:calc(var(--animation-duration)*1)]",
|
|
38
|
+
dot: "ds:size-1.5 ds:opacity-[var(--opacity-20)]"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
key: 6,
|
|
42
|
+
lag: "ds:[animation-delay:calc(var(--animation-duration)*1.2)]",
|
|
43
|
+
dot: "ds:size-1 ds:opacity-[var(--opacity-10)]"
|
|
44
|
+
}
|
|
45
|
+
];
|
|
46
|
+
function w(e = {}) {
|
|
47
|
+
const { enabled: s = !0, reducedMotion: d = "auto" } = e, r = y(), o = d === "off" ? !1 : r, [a, t] = _(
|
|
48
|
+
s ? "intro" : null
|
|
49
|
+
);
|
|
50
|
+
v(() => {
|
|
51
|
+
if (a !== "intro" && a !== "landed") return;
|
|
52
|
+
const i = o ? 0 : p[a], u = window.setTimeout(() => t(null), i);
|
|
53
|
+
return () => window.clearTimeout(u);
|
|
54
|
+
}, [a, o]);
|
|
55
|
+
const c = n(() => t("working"), []), l = n(() => t("landed"), []), m = n(() => {
|
|
56
|
+
t((i) => i === "working" ? null : i);
|
|
57
|
+
}, []);
|
|
58
|
+
return {
|
|
59
|
+
state: a,
|
|
60
|
+
props: {
|
|
61
|
+
"data-ai-sparkle": a ?? void 0,
|
|
62
|
+
className: a ? f[a] : ""
|
|
63
|
+
},
|
|
64
|
+
start: c,
|
|
65
|
+
land: l,
|
|
66
|
+
reset: m
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
C,
|
|
71
|
+
f as S,
|
|
72
|
+
b as a,
|
|
73
|
+
g as b,
|
|
74
|
+
w as u
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=use-ai-sparkle-Cf4yVTLB.js.map
|
|
@@ -4,7 +4,7 @@ import { c as f } from "./index-D2ZczOXr.js";
|
|
|
4
4
|
import { useTranslation as L } from "react-i18next";
|
|
5
5
|
import { u as de } from "./registry-DvAUVLHh.js";
|
|
6
6
|
import { u as ie } from "./use-controllable-state-BiY4xTzM.js";
|
|
7
|
-
import { a as
|
|
7
|
+
import { a as z } from "./input-surface-xyERuLU_.js";
|
|
8
8
|
import { D as p } from "./dropdown-menu-DU-Hrf33.js";
|
|
9
9
|
import { C as T } from "./circle-alert-rGDZ73Wh.js";
|
|
10
10
|
import { L as le } from "./loader-circle-BECIU_8N.js";
|
|
@@ -114,9 +114,9 @@ const ue = {
|
|
|
114
114
|
{
|
|
115
115
|
variants: {
|
|
116
116
|
size: {
|
|
117
|
-
sm: `${
|
|
118
|
-
md: `${
|
|
119
|
-
lg: `${
|
|
117
|
+
sm: `${z.sm} ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-2xs)] ds:pe-[var(--spacing-sm)]`,
|
|
118
|
+
md: `${z.md} ds:gap-[var(--spacing-sm)] ds:ps-[var(--spacing-2xs)] ds:pe-[var(--spacing-sm)]`,
|
|
119
|
+
lg: `${z.lg} ds:gap-[var(--spacing-sm)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-md)]`
|
|
120
120
|
},
|
|
121
121
|
interactive: {
|
|
122
122
|
true: [
|
|
@@ -271,14 +271,14 @@ function A({
|
|
|
271
271
|
] }) : null
|
|
272
272
|
] });
|
|
273
273
|
}
|
|
274
|
-
const ve = I(function({ value: a, option: t, size: n = "md", workflowLabel: l, id: c, className: o, dir:
|
|
275
|
-
const { t:
|
|
274
|
+
const ve = I(function({ value: a, option: t, size: n = "md", workflowLabel: l, id: c, className: o, dir: k }, b) {
|
|
275
|
+
const { t: x } = L(), y = l ?? x("workflowStatus.label", "Workflow");
|
|
276
276
|
return /* @__PURE__ */ s(
|
|
277
277
|
"div",
|
|
278
278
|
{
|
|
279
|
-
ref:
|
|
279
|
+
ref: b,
|
|
280
280
|
id: c,
|
|
281
|
-
dir:
|
|
281
|
+
dir: k,
|
|
282
282
|
"data-component": "workflow-status",
|
|
283
283
|
"data-component-id": c,
|
|
284
284
|
"data-state": a,
|
|
@@ -288,7 +288,7 @@ const ve = I(function({ value: a, option: t, size: n = "md", workflowLabel: l, i
|
|
|
288
288
|
A,
|
|
289
289
|
{
|
|
290
290
|
option: t,
|
|
291
|
-
workflowLabel:
|
|
291
|
+
workflowLabel: y,
|
|
292
292
|
size: n,
|
|
293
293
|
interactive: !1,
|
|
294
294
|
error: !1
|
|
@@ -305,64 +305,64 @@ const we = I(function({
|
|
|
305
305
|
size: l = "md",
|
|
306
306
|
disabled: c = !1,
|
|
307
307
|
saving: o = !1,
|
|
308
|
-
error:
|
|
309
|
-
errorMessage:
|
|
310
|
-
workflowLabel:
|
|
311
|
-
menuLabel:
|
|
308
|
+
error: k = !1,
|
|
309
|
+
errorMessage: b,
|
|
310
|
+
workflowLabel: x,
|
|
311
|
+
menuLabel: y,
|
|
312
312
|
savingLabel: D,
|
|
313
313
|
open: E,
|
|
314
314
|
defaultOpen: K = !1,
|
|
315
315
|
onOpenChange: $,
|
|
316
316
|
id: u,
|
|
317
317
|
className: H,
|
|
318
|
-
dir:
|
|
318
|
+
dir: W,
|
|
319
319
|
"aria-label": M,
|
|
320
320
|
"aria-describedby": q
|
|
321
321
|
}, F) {
|
|
322
|
-
const { t: m } = L(), G = re(),
|
|
323
|
-
if (!
|
|
322
|
+
const { t: m } = L(), G = re(), S = ae(null), C = t.find((e) => e.value === a);
|
|
323
|
+
if (!C)
|
|
324
324
|
throw new Error(
|
|
325
325
|
`WorkflowStatusControl requires an option matching value "${a}".`
|
|
326
326
|
);
|
|
327
|
-
const P =
|
|
327
|
+
const P = x ?? m("workflowStatus.label", "Workflow"), U = y ?? m("workflowStatus.menuLabel", "Workflow statuses"), J = D ?? m("workflowStatus.saving", "Saving workflow status"), Q = b ?? m(
|
|
328
328
|
"workflowStatus.saveFailed",
|
|
329
329
|
"Could not change workflow status. The previous status is still shown."
|
|
330
330
|
), X = M ?? m("workflowStatus.changeLabel", "Change workflow status: {{status}}", {
|
|
331
|
-
status:
|
|
332
|
-
}), g =
|
|
331
|
+
status: C.label
|
|
332
|
+
}), g = k || !!b, d = c || o, _ = u ? `${u}-error` : G, Y = [q, g ? _ : void 0].filter(Boolean).join(" ") || void 0, j = o ? "saving" : c ? "disabled" : g ? "error" : "idle", [Z, v] = ie({
|
|
333
333
|
value: E,
|
|
334
334
|
defaultValue: K,
|
|
335
335
|
onChange: $
|
|
336
|
-
}),
|
|
336
|
+
}), h = !!Z && !d, N = te(
|
|
337
337
|
(e) => {
|
|
338
338
|
if (d || e === a) return;
|
|
339
|
-
const
|
|
340
|
-
if (!(!
|
|
339
|
+
const w = t.find((ee) => ee.value === e);
|
|
340
|
+
if (!(!w || w.disabled))
|
|
341
341
|
return n(e);
|
|
342
342
|
},
|
|
343
343
|
[d, n, t, a]
|
|
344
|
-
),
|
|
344
|
+
), V = oe(
|
|
345
345
|
() => ({
|
|
346
346
|
getValue: () => a,
|
|
347
|
-
getIsOpen: () =>
|
|
347
|
+
getIsOpen: () => h,
|
|
348
348
|
getIsSaving: () => o,
|
|
349
|
-
setValue:
|
|
349
|
+
setValue: N,
|
|
350
350
|
open: () => {
|
|
351
|
-
d ||
|
|
351
|
+
d || v(!0);
|
|
352
352
|
},
|
|
353
|
-
close: () =>
|
|
353
|
+
close: () => v(!1),
|
|
354
354
|
focus: () => {
|
|
355
355
|
var e;
|
|
356
|
-
return (e =
|
|
356
|
+
return (e = S.current) == null ? void 0 : e.focus();
|
|
357
357
|
}
|
|
358
358
|
}),
|
|
359
|
-
[
|
|
359
|
+
[N, d, h, o, v, a]
|
|
360
360
|
);
|
|
361
|
-
return ne(F, () =>
|
|
361
|
+
return ne(F, () => V, [V]), de(ue, V, u), /* @__PURE__ */ i(
|
|
362
362
|
"div",
|
|
363
363
|
{
|
|
364
364
|
id: u,
|
|
365
|
-
dir:
|
|
365
|
+
dir: W,
|
|
366
366
|
"data-component": "workflow-status",
|
|
367
367
|
"data-component-id": u,
|
|
368
368
|
"data-state": a,
|
|
@@ -374,36 +374,36 @@ const we = I(function({
|
|
|
374
374
|
/* @__PURE__ */ i(
|
|
375
375
|
p.Root,
|
|
376
376
|
{
|
|
377
|
-
dir:
|
|
378
|
-
open:
|
|
377
|
+
dir: W,
|
|
378
|
+
open: h,
|
|
379
379
|
onOpenChange: (e) => {
|
|
380
|
-
e && d ||
|
|
380
|
+
e && d || v(e);
|
|
381
381
|
},
|
|
382
382
|
children: [
|
|
383
383
|
/* @__PURE__ */ s(p.Trigger, { asChild: !0, children: /* @__PURE__ */ s(
|
|
384
384
|
"button",
|
|
385
385
|
{
|
|
386
|
-
ref:
|
|
386
|
+
ref: S,
|
|
387
387
|
id: u ? `${u}-trigger` : void 0,
|
|
388
388
|
type: "button",
|
|
389
389
|
disabled: d,
|
|
390
390
|
"aria-label": X,
|
|
391
391
|
"aria-describedby": Y,
|
|
392
392
|
"aria-busy": o,
|
|
393
|
-
"data-open":
|
|
393
|
+
"data-open": h ? "" : void 0,
|
|
394
394
|
className: R({
|
|
395
395
|
size: l,
|
|
396
396
|
interactive: !0,
|
|
397
|
-
operation:
|
|
397
|
+
operation: j
|
|
398
398
|
}),
|
|
399
399
|
children: /* @__PURE__ */ s(
|
|
400
400
|
A,
|
|
401
401
|
{
|
|
402
|
-
option:
|
|
402
|
+
option: C,
|
|
403
403
|
workflowLabel: P,
|
|
404
404
|
size: l,
|
|
405
405
|
interactive: !0,
|
|
406
|
-
operation:
|
|
406
|
+
operation: j,
|
|
407
407
|
error: g
|
|
408
408
|
}
|
|
409
409
|
)
|
|
@@ -416,7 +416,8 @@ const we = I(function({
|
|
|
416
416
|
{
|
|
417
417
|
value: a,
|
|
418
418
|
onValueChange: (e) => {
|
|
419
|
-
|
|
419
|
+
var w;
|
|
420
|
+
v(!1), (w = S.current) == null || w.focus(), N(e);
|
|
420
421
|
},
|
|
421
422
|
children: t.map((e) => /* @__PURE__ */ s(
|
|
422
423
|
p.RadioItem,
|
|
@@ -459,7 +460,7 @@ const we = I(function({
|
|
|
459
460
|
children: o ? J : ""
|
|
460
461
|
}
|
|
461
462
|
),
|
|
462
|
-
g ? /* @__PURE__ */ i("div", { id:
|
|
463
|
+
g ? /* @__PURE__ */ i("div", { id: _, role: "alert", className: ge(), children: [
|
|
463
464
|
/* @__PURE__ */ s(T, { "aria-hidden": "true" }),
|
|
464
465
|
/* @__PURE__ */ s("span", { children: Q })
|
|
465
466
|
] }) : null
|
|
@@ -473,4 +474,4 @@ export {
|
|
|
473
474
|
ve as a,
|
|
474
475
|
ue as w
|
|
475
476
|
};
|
|
476
|
-
//# sourceMappingURL=workflow-status-
|
|
477
|
+
//# sourceMappingURL=workflow-status-CuJAOuKL.js.map
|
package/dist/agent-catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"packageVersion": "1.
|
|
3
|
+
"packageVersion": "1.46.0",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"kind": "component",
|
|
@@ -424,6 +424,20 @@
|
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
426
|
},
|
|
427
|
+
{
|
|
428
|
+
"kind": "component",
|
|
429
|
+
"id": "ai-credits-notice",
|
|
430
|
+
"capabilities": [],
|
|
431
|
+
"state": [],
|
|
432
|
+
"actions": [],
|
|
433
|
+
"domHooks": {
|
|
434
|
+
"root": {
|
|
435
|
+
"attr": "data-component",
|
|
436
|
+
"value": "ai-credits-notice",
|
|
437
|
+
"description": "Marks the element as a kit AiCreditsNotice card body. Carries a sibling `data-mode=\"included|bundles\"` attribute for which notice is showing."
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
},
|
|
427
441
|
{
|
|
428
442
|
"kind": "component",
|
|
429
443
|
"id": "ai-prompt-input",
|
|
@@ -16869,6 +16883,14 @@
|
|
|
16869
16883
|
"as": "bookingRow",
|
|
16870
16884
|
"entity": "appointment"
|
|
16871
16885
|
},
|
|
16886
|
+
{
|
|
16887
|
+
"component": "popover",
|
|
16888
|
+
"as": "backlogSettings"
|
|
16889
|
+
},
|
|
16890
|
+
{
|
|
16891
|
+
"component": "switch",
|
|
16892
|
+
"as": "backlogGapToggle"
|
|
16893
|
+
},
|
|
16872
16894
|
{
|
|
16873
16895
|
"component": "collapsible",
|
|
16874
16896
|
"as": "finderFilters"
|
|
@@ -17358,14 +17380,20 @@
|
|
|
17358
17380
|
{
|
|
17359
17381
|
"name": "triage_online_booking",
|
|
17360
17382
|
"safety": "phi",
|
|
17361
|
-
"description": "Review the online-bookings queue independently of the visible dates. The host owns membership and loading/error state. Show a row on the grid; completion is available only when the host enables it and the user can edit. Review-only rows remain in the queue on selection and cannot be dragged, resized or edited. Unknown last-seen data never marks a booking New. A host addresses one booking with the focusBookingId prop (bump focusBookingKey to repeat it): the tool docks, then the card carrying that data-booking-id takes focus and aria-current; an id outside the queue addresses nothing. An Assign patient or Assign operator segment opens the editor focused on that field.
|
|
17383
|
+
"description": "Review the online-bookings queue independently of the visible dates. The host owns membership and loading/error state. Show a row on the grid; completion is available only when the host enables it and the user can edit. Review-only rows remain in the queue on selection and cannot be dragged, resized or edited. Unknown last-seen data never marks a booking New. A host addresses one booking with the focusBookingId prop (bump focusBookingKey to repeat it): the tool docks, then the card carrying that data-booking-id takes focus and aria-current; an id outside the queue addresses nothing. An Assign patient or Assign operator segment opens the editor focused on that field. A settings cog in the panel header (data-backlog-settings) opens a popover holding three switches — without a patient, without an operator, without a chair, the chair one only where the practice has chairs — all on by default; a card stays listed while at least one of its own gaps is still switched on. Read the cog before reading the list: while any switch is off it carries data-narrowed and its accessible name says the list is filtered, so a short queue is not an empty backlog. Selection only; completing writes patient-identifiable data.",
|
|
17362
17384
|
"descriptionKey": "ui.agent.calendar.workflows.triageOnlineBooking",
|
|
17363
17385
|
"uiActions": [
|
|
17364
17386
|
"calendar.focus_event",
|
|
17365
|
-
"control-room-rail.open"
|
|
17387
|
+
"control-room-rail.open",
|
|
17388
|
+
"popover.open",
|
|
17389
|
+
"popover.close",
|
|
17390
|
+
"switch.set_checked",
|
|
17391
|
+
"switch.toggle"
|
|
17366
17392
|
],
|
|
17367
17393
|
"stateReads": [
|
|
17368
|
-
"control-room-rail.activeToolId"
|
|
17394
|
+
"control-room-rail.activeToolId",
|
|
17395
|
+
"popover.isOpen",
|
|
17396
|
+
"switch.checked"
|
|
17369
17397
|
],
|
|
17370
17398
|
"apiActions": [
|
|
17371
17399
|
"onlineBooking.list",
|
package/dist/agent-i18n/en.json
CHANGED
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
"manageWaitingListEntry": "Add, amend or remove a waiting-list entry. The four-field form opens as a rail SUB-VIEW — from the toolbar split button's plus segment, from Add entry, or from a row's pencil — with a back arrow to the queue. Editing is refused on a row already linked to an appointment, because those fields belong to the appointment; the pencil stays focusable and names that reason. Remove deletes at once with no confirmation, platform parity, and its toast carries an Undo that puts the entry back. Writes patient-identifiable data.",
|
|
190
190
|
"scheduleWaitingPatient": "Give a waiting patient a slot. \"Schedule\" on an unlinked row hands off to the free-slot finder seeded from the entry — operator, chair, duration, patient, care and colour already filled in — and booking a slot opens the editor carrying the entry, so saving books the appointment and takes the entry off the list. A row already linked to an appointment reads \"Reschedule\" and seeds the same finder, but booking there MOVES the existing appointment rather than creating a second one. Writes patient-identifiable data.",
|
|
191
191
|
"findFreeSlot": "Search the practice for bookable time in the finder panel. Operator and chair scope are grouped checklists behind a popover per axis — a select-all row first, operators sectioned under their groups, nothing ticked searching every eligible resource — beside the care, the duration, the date range and, for a care that needs one, a medical-device select. The results list groups the slots under a day heading; when the viewer may write appointments, a click steers the grid to that day and docks the editor prefilled with the date, time, duration, chair, operator and any seeded patient or care; read-only viewers see the list and projection only, under a lock note, with no Book. The 185-day range warning is advisory (the search still runs), \"Show more slots\" pushes the To date out by 30 days and re-searches, and an alert names which business hours are missing when the practice or its operators hold none (it links to the scheduler only where the host supplies that navigation, which this workspace does not). Projected bands open a modal list of original options by click, Enter or Space; only an explicit Book action uses the finder booking path. Read-only viewers can scroll those options without Book. Dismissal restores focus to the band.",
|
|
192
|
-
"triageOnlineBooking": "Review the online-bookings queue independently of the visible dates. The host owns membership and loading/error state. Show a row on the grid; completion is available only when the host enables it and the user can edit. Review-only rows remain in the queue on selection and cannot be dragged, resized or edited. Unknown last-seen data never marks a booking New. A host addresses one booking with the focusBookingId prop (bump focusBookingKey to repeat it): the tool docks, then the card carrying that data-booking-id takes focus and aria-current; an id outside the queue addresses nothing. An Assign patient or Assign operator segment opens the editor focused on that field.
|
|
192
|
+
"triageOnlineBooking": "Review the online-bookings queue independently of the visible dates. The host owns membership and loading/error state. Show a row on the grid; completion is available only when the host enables it and the user can edit. Review-only rows remain in the queue on selection and cannot be dragged, resized or edited. Unknown last-seen data never marks a booking New. A host addresses one booking with the focusBookingId prop (bump focusBookingKey to repeat it): the tool docks, then the card carrying that data-booking-id takes focus and aria-current; an id outside the queue addresses nothing. An Assign patient or Assign operator segment opens the editor focused on that field. A settings cog in the panel header (data-backlog-settings) opens a popover holding three switches — without a patient, without an operator, without a chair, the chair one only where the practice has chairs — all on by default; a card stays listed while at least one of its own gaps is still switched on. Read the cog before reading the list: while any switch is off it carries data-narrowed and its accessible name says the list is filtered, so a short queue is not an empty backlog. Selection only; completing writes patient-identifiable data.",
|
|
193
193
|
"printDaySheet": "Print the front-desk call sheet. The toolbar's printer icon opens a dialog asking which day — one day, never the visible range — and Print renders that day's appointments through the browser, scoped by the filters in force and masked when privacy mode is on. Nothing is sent to a server, but the sheet itself is a patient-identifiable document."
|
|
194
194
|
}
|
|
195
195
|
},
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
/** The practice's current AI allowance, when the host tracks one. */
|
|
3
|
+
export interface AiCreditsNoticeAllowance {
|
|
4
|
+
/** AI actions left in the current period. */
|
|
5
|
+
remaining: number;
|
|
6
|
+
/** The monthly cap. */
|
|
7
|
+
limit: number;
|
|
8
|
+
/** When the allowance next resets. Omit if unknown. */
|
|
9
|
+
resetsOn?: Date;
|
|
10
|
+
}
|
|
11
|
+
interface AiCreditsNoticeSharedProps {
|
|
12
|
+
/**
|
|
13
|
+
* The practice's current AI allowance. In `included` mode it renders as an
|
|
14
|
+
* optional usage line + meter; in `bundles` mode it drives the heading
|
|
15
|
+
* ("{{remaining}} of {{limit}} credits") and the free-tier line in the
|
|
16
|
+
* body. Omit either mode's allowance to fall back to a generic line.
|
|
17
|
+
*/
|
|
18
|
+
allowance?: AiCreditsNoticeAllowance;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface AiCreditsNoticeIncludedProps extends AiCreditsNoticeSharedProps {
|
|
22
|
+
mode: 'included';
|
|
23
|
+
/** Shows a quiet "Learn more" link — wire it once the credits upsell page ships. */
|
|
24
|
+
onLearnMore?: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* Shows a quiet "Don't show again" link. The host decides what "again"
|
|
27
|
+
* means — typically stop rendering `aiCreditsNotice` on the editor for the
|
|
28
|
+
* rest of this mount, and persist the choice if it should survive a
|
|
29
|
+
* reload (see the component's docs for a `usePersistentState` example).
|
|
30
|
+
* Use a storage key scoped to the mode: switching from `included` to
|
|
31
|
+
* `bundles` is a different message and should show once more.
|
|
32
|
+
*/
|
|
33
|
+
onDismiss?: () => void;
|
|
34
|
+
}
|
|
35
|
+
export interface AiCreditsNoticeBundlesProps extends AiCreditsNoticeSharedProps {
|
|
36
|
+
mode: 'bundles';
|
|
37
|
+
/** Opens the host's AI-credits bundle picker. The kit never builds that page itself. */
|
|
38
|
+
onViewBundles: () => void;
|
|
39
|
+
/** Shows a quiet "What each action costs" link. */
|
|
40
|
+
onSeeCosts?: () => void;
|
|
41
|
+
/** Shows a quiet "Don't show again" link. See the `included` prop of the
|
|
42
|
+
* same name — the same mode-scoped-key guidance applies here too. */
|
|
43
|
+
onDismiss?: () => void;
|
|
44
|
+
}
|
|
45
|
+
export type AiCreditsNoticeProps = AiCreditsNoticeIncludedProps | AiCreditsNoticeBundlesProps;
|
|
46
|
+
export declare const AiCreditsNotice: import("react").ForwardRefExoticComponent<(AiCreditsNoticeProps & Omit<HTMLAttributes<HTMLDivElement>, "className">) & import("react").RefAttributes<HTMLDivElement>>;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=ai-credits-notice.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AiCreditsNotice } from './ai-credits-notice';
|
|
2
|
+
export type { AiCreditsNoticeProps, AiCreditsNoticeIncludedProps, AiCreditsNoticeBundlesProps, AiCreditsNoticeAllowance, } from './ai-credits-notice';
|
|
3
|
+
export { aiCreditsNoticeAgent } from './ai-credits-notice.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AgentAdapter } from '../../agent/types';
|
|
2
|
-
import type { AiConsentBannerHandle } from './ai-
|
|
2
|
+
import type { AiConsentBannerHandle } from './ai-permission-notice';
|
|
3
3
|
export declare const aiConsentBannerAgent: AgentAdapter<AiConsentBannerHandle>;
|
|
4
|
-
//# sourceMappingURL=ai-
|
|
4
|
+
//# sourceMappingURL=ai-permission-notice.agent.d.ts.map
|
|
@@ -51,4 +51,4 @@ export interface AiConsentBannerProps extends Omit<ComponentPropsWithoutRef<'div
|
|
|
51
51
|
}
|
|
52
52
|
export declare const AiConsentBanner: import("react").ForwardRefExoticComponent<AiConsentBannerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
53
53
|
export {};
|
|
54
|
-
//# sourceMappingURL=ai-
|
|
54
|
+
//# sourceMappingURL=ai-permission-notice.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AiConsentBanner } from './ai-permission-notice';
|
|
2
|
+
export type { AiConsentBannerProps, AiConsentBannerHandle, AiConsentState, AiConsentBannerHeadingLevel, } from './ai-permission-notice';
|
|
3
|
+
export { aiConsentBannerAgent } from './ai-permission-notice.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -8,9 +8,9 @@ export interface AiSparkleProps {
|
|
|
8
8
|
state: AiSparkleState | null;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* The AI pill's comet
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* The AI pill's comet sparkle: a comet with a six-dot tail riding the
|
|
12
|
+
* host's rounded outline — once on `intro`, looping while an action runs,
|
|
13
|
+
* and a faster lap as the result lands.
|
|
14
14
|
*
|
|
15
15
|
* Purely decorative (`aria-hidden`) and stateless — pass the `state` from
|
|
16
16
|
* `useAiSparkle`. The shimmer layer (a light sweep across the host itself)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as p } from "../../_chunks/appointment-card-
|
|
2
|
-
import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-
|
|
1
|
+
import { A as p } from "../../_chunks/appointment-card-DluZy8Iv.js";
|
|
2
|
+
import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-CLrGGnKR.js";
|
|
3
3
|
import { i } from "../../_chunks/is-safe-url-DkETxeHz.js";
|
|
4
4
|
export {
|
|
5
5
|
p as AppointmentCard,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { D as r, E as l, T as t, a as s, b as d, c as o, d as n, e as i, f as R, i as C, g as T } from "../../_chunks/data-table-
|
|
2
|
-
import { B as g, C as D, a as b, E as x, b as c, R as p, T as u, c as m, r as E, u as f } from "../../_chunks/editable-currency-cell-renderer-
|
|
1
|
+
import { D as r, E as l, T as t, a as s, b as d, c as o, d as n, e as i, f as R, i as C, g as T } from "../../_chunks/data-table-DnKOmEVw.js";
|
|
2
|
+
import { B as g, C as D, a as b, E as x, b as c, R as p, T as u, c as m, r as E, u as f } from "../../_chunks/editable-currency-cell-renderer-OUkUv7U4.js";
|
|
3
3
|
import { D as h, a as A, b as w, I as y, L as I, N as L, c as N, S as P, d as W, e as B, T as U, f as _, g as k, U as v } from "../../_chunks/link-cell-renderer-s3oHzOwi.js";
|
|
4
|
-
import { A as X, a as j } from "../../_chunks/actions-cell-renderer-
|
|
4
|
+
import { A as X, a as j } from "../../_chunks/actions-cell-renderer-B5m9lwgC.js";
|
|
5
5
|
export {
|
|
6
6
|
X as ActionsCellRenderer,
|
|
7
7
|
g as BalanceCellRenderer,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as e, F as o, a as n, b as A, c as i, d as f, e as t, I, f as N, g as T, h as F, i as _, j as E, k as c, l as h, m as r, n as p, o as O, p as S, q as m, r as l, s as d, t as C, u as D } from "../../_chunks/face-scheme-
|
|
1
|
+
import { A as e, F as o, a as n, b as A, c as i, d as f, e as t, I, f as N, g as T, h as F, i as _, j as E, k as c, l as h, m as r, n as p, o as O, p as S, q as m, r as l, s as d, t as C, u as D } from "../../_chunks/face-scheme-mIhwrQXt.js";
|
|
2
2
|
export {
|
|
3
3
|
e as ANNOTATION_TOOL_KIND,
|
|
4
4
|
o as FACE_ANNOTATION_TOOLS,
|
|
@@ -65,6 +65,10 @@ export interface HoverCardContentProps extends Omit<ComponentPropsWithoutRef<typ
|
|
|
65
65
|
export interface HoverCardHeadingProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
66
66
|
as?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
67
67
|
}
|
|
68
|
+
export declare function useHoverCardTiming(): {
|
|
69
|
+
cancelClose: () => void;
|
|
70
|
+
closeWithDelay: () => void;
|
|
71
|
+
};
|
|
68
72
|
export declare const HoverCard: typeof HoverCardRoot & {
|
|
69
73
|
Root: typeof HoverCardRoot;
|
|
70
74
|
Trigger: import("react").ForwardRefExoticComponent<Omit<RadixPopover.PopoverTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { HoverCard } from './hover-card';
|
|
1
|
+
export { HoverCard, useHoverCardTiming } from './hover-card';
|
|
2
2
|
export type { HoverCardProps, HoverCardContentProps, HoverCardHeadingProps, HoverCardTriggerProps, HoverCardAnchorProps, HoverCardHandle, HoverCardSide, } from './hover-card';
|
|
3
3
|
export { hoverCardAgent } from './hover-card.agent';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|