@alfadocs/ui-kit 1.45.0 → 1.47.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-C4MwImkS.js +3362 -0
- 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-DDnQmiIL.js +12427 -0
- 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/{freemium-paywall-Cz-O9lQD.js → freemium-paywall-BaW5ODc9.js} +2 -2
- 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-yrgkSeEY.js} +2 -2
- package/dist/_chunks/{patient-field-row-BRSOKvme.js → patient-field-row-DCMkFGqI.js} +3 -3
- package/dist/_chunks/{patient-summary-card-BhmKB2KR.js → patient-summary-card-CmEFflGS.js} +59 -45
- package/dist/_chunks/payment-form-DqJFiplX.js +881 -0
- package/dist/_chunks/{phone-input-BsZIoE36.js → phone-input-IWrGOCwm.js} +40 -39
- package/dist/_chunks/rich-text-editor-BwDV2XkZ.js +4153 -0
- package/dist/_chunks/{stepper-accordion-DmVykr5F.js → stepper-accordion-jMR8NaOB.js} +2 -1
- 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 +36 -7
- package/dist/agent-i18n/en.json +3 -3
- 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/booking-types.d.ts +60 -1
- package/dist/components/booking/booking.d.ts +1 -1
- package/dist/components/booking/details-form.d.ts +5 -1
- package/dist/components/booking/index.d.ts +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/booking/payment.d.ts +9 -0
- package/dist/components/booking/use-booking-payment.d.ts +14 -0
- 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/freemium-paywall/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/payment-form/index.d.ts +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/payment-form/payment-form.d.ts +35 -3
- package/dist/components/phone-input/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/stepper-accordion/index.js +1 -1
- 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 +67 -1
- package/dist/i18n/locales/ar.js +69 -3
- package/dist/i18n/locales/de.d.ts +67 -1
- package/dist/i18n/locales/de.js +69 -3
- package/dist/i18n/locales/el.d.ts +67 -1
- package/dist/i18n/locales/el.js +69 -3
- package/dist/i18n/locales/en.d.ts +67 -1
- package/dist/i18n/locales/en.js +69 -3
- package/dist/i18n/locales/es.d.ts +67 -1
- package/dist/i18n/locales/es.js +69 -3
- package/dist/i18n/locales/fr.d.ts +67 -1
- package/dist/i18n/locales/fr.js +69 -3
- package/dist/i18n/locales/hi.d.ts +67 -1
- package/dist/i18n/locales/hi.js +69 -3
- package/dist/i18n/locales/it.d.ts +67 -1
- package/dist/i18n/locales/it.js +69 -3
- package/dist/i18n/locales/ja.d.ts +67 -1
- package/dist/i18n/locales/ja.js +69 -3
- package/dist/i18n/locales/nl.d.ts +67 -1
- package/dist/i18n/locales/nl.js +69 -3
- package/dist/i18n/locales/pl.d.ts +67 -1
- package/dist/i18n/locales/pl.js +69 -3
- package/dist/i18n/locales/pt.d.ts +67 -1
- package/dist/i18n/locales/pt.js +69 -3
- package/dist/i18n/locales/ro.d.ts +67 -1
- package/dist/i18n/locales/ro.js +69 -3
- package/dist/i18n/locales/ru.d.ts +67 -1
- package/dist/i18n/locales/ru.js +69 -3
- package/dist/i18n/locales/sq.d.ts +67 -1
- package/dist/i18n/locales/sq.js +69 -3
- package/dist/i18n/locales/sv.d.ts +67 -1
- package/dist/i18n/locales/sv.js +69 -3
- package/dist/i18n/locales/tr.d.ts +67 -1
- package/dist/i18n/locales/tr.js +69 -3
- package/dist/i18n/locales/zh.d.ts +67 -1
- package/dist/i18n/locales/zh.js +69 -3
- package/dist/index.js +648 -641
- package/dist/locales/ar.json +69 -3
- package/dist/locales/de.json +69 -3
- package/dist/locales/el.json +69 -3
- package/dist/locales/en.json +69 -3
- package/dist/locales/es.json +69 -3
- package/dist/locales/fr.json +69 -3
- package/dist/locales/hi.json +69 -3
- package/dist/locales/it.json +69 -3
- package/dist/locales/ja.json +69 -3
- package/dist/locales/nl.json +69 -3
- package/dist/locales/pl.json +69 -3
- package/dist/locales/pt.json +69 -3
- package/dist/locales/ro.json +69 -3
- package/dist/locales/ru.json +69 -3
- package/dist/locales/sq.json +69 -3
- package/dist/locales/sv.json +69 -3
- package/dist/locales/tr.json +69 -3
- package/dist/locales/zh.json +69 -3
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/calendar/calendar-editor-fields.d.ts +33 -0
- package/dist/patterns/calendar/calendar-sticky-offset.d.ts +20 -0
- package/dist/patterns/calendar/calendar-workspace.d.ts +6 -4
- package/dist/patterns/calendar/calendar.data.d.ts +26 -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 +25 -9
- 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/booking-D43ASl8y.js +0 -3034
- package/dist/_chunks/button-group-R32U7SyV.js +0 -307
- package/dist/_chunks/calendar-workspace-B7KvZ1_D.js +0 -12161
- package/dist/_chunks/payment-form-BHMDqW9C.js +0 -767
- 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
|
@@ -176,6 +176,7 @@ const K = [
|
|
|
176
176
|
value: w(n),
|
|
177
177
|
onValueChange: I,
|
|
178
178
|
collapsible: !1,
|
|
179
|
+
role: "group",
|
|
179
180
|
"aria-label": V,
|
|
180
181
|
id: x,
|
|
181
182
|
"data-component": "stepper-accordion",
|
|
@@ -247,4 +248,4 @@ oe.displayName = "StepperAccordion";
|
|
|
247
248
|
export {
|
|
248
249
|
oe as S
|
|
249
250
|
};
|
|
250
|
-
//# sourceMappingURL=stepper-accordion-
|
|
251
|
+
//# sourceMappingURL=stepper-accordion-jMR8NaOB.js.map
|
|
@@ -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.47.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",
|
|
@@ -1281,7 +1295,8 @@
|
|
|
1281
1295
|
"safety": "destructive",
|
|
1282
1296
|
"idempotent": true,
|
|
1283
1297
|
"errors": [
|
|
1284
|
-
"Resetting after submit has no effect — the flow is on step 8."
|
|
1298
|
+
"Resetting after submit has no effect — the flow is on step 8.",
|
|
1299
|
+
"Refused while a payment session is open (step 7): the consumer must cancel the hold first."
|
|
1285
1300
|
],
|
|
1286
1301
|
"description": "Clear the booking value back to an empty state. Use to abandon an in-progress flow.",
|
|
1287
1302
|
"descriptionKey": "ui.agent.booking.actions.reset"
|
|
@@ -8917,7 +8932,7 @@
|
|
|
8917
8932
|
{
|
|
8918
8933
|
"name": "complete",
|
|
8919
8934
|
"type": "boolean",
|
|
8920
|
-
"description": "True when Stripe reports the payment fields as complete. Read this before `submit` — outside preview mode the submit control is disabled while it is false, so the call will not be accepted.",
|
|
8935
|
+
"description": "True when Stripe reports the payment fields, and any required billing address, as complete. Read this before `submit` — outside preview mode the submit control is disabled while it is false, so the call will not be accepted.",
|
|
8921
8936
|
"descriptionKey": "ui.agent.paymentForm.state.complete"
|
|
8922
8937
|
},
|
|
8923
8938
|
{
|
|
@@ -8952,7 +8967,7 @@
|
|
|
8952
8967
|
"name": "reset",
|
|
8953
8968
|
"safety": "destructive",
|
|
8954
8969
|
"idempotent": true,
|
|
8955
|
-
"description": "
|
|
8970
|
+
"description": "Clear recoverable errors and return their status to \"idle\". Stripe fields remain unchanged. Pending or paid attempts cannot be reset and require a new session.",
|
|
8956
8971
|
"descriptionKey": "ui.agent.paymentForm.actions.reset"
|
|
8957
8972
|
}
|
|
8958
8973
|
],
|
|
@@ -16869,6 +16884,14 @@
|
|
|
16869
16884
|
"as": "bookingRow",
|
|
16870
16885
|
"entity": "appointment"
|
|
16871
16886
|
},
|
|
16887
|
+
{
|
|
16888
|
+
"component": "popover",
|
|
16889
|
+
"as": "backlogSettings"
|
|
16890
|
+
},
|
|
16891
|
+
{
|
|
16892
|
+
"component": "switch",
|
|
16893
|
+
"as": "backlogGapToggle"
|
|
16894
|
+
},
|
|
16872
16895
|
{
|
|
16873
16896
|
"component": "collapsible",
|
|
16874
16897
|
"as": "finderFilters"
|
|
@@ -17358,14 +17381,20 @@
|
|
|
17358
17381
|
{
|
|
17359
17382
|
"name": "triage_online_booking",
|
|
17360
17383
|
"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.
|
|
17384
|
+
"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
17385
|
"descriptionKey": "ui.agent.calendar.workflows.triageOnlineBooking",
|
|
17363
17386
|
"uiActions": [
|
|
17364
17387
|
"calendar.focus_event",
|
|
17365
|
-
"control-room-rail.open"
|
|
17388
|
+
"control-room-rail.open",
|
|
17389
|
+
"popover.open",
|
|
17390
|
+
"popover.close",
|
|
17391
|
+
"switch.set_checked",
|
|
17392
|
+
"switch.toggle"
|
|
17366
17393
|
],
|
|
17367
17394
|
"stateReads": [
|
|
17368
|
-
"control-room-rail.activeToolId"
|
|
17395
|
+
"control-room-rail.activeToolId",
|
|
17396
|
+
"popover.isOpen",
|
|
17397
|
+
"switch.checked"
|
|
17369
17398
|
],
|
|
17370
17399
|
"apiActions": [
|
|
17371
17400
|
"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
|
},
|
|
@@ -942,13 +942,13 @@
|
|
|
942
942
|
"paymentForm": {
|
|
943
943
|
"state": {
|
|
944
944
|
"status": "Lifecycle of the current payment attempt. `succeeded` is only reached once Stripe confirmed the PaymentIntent; `failed` covers validation, decline and processor errors alike. Still `idle` after `submit` means the attempt never fired — Stripe had not mounted.",
|
|
945
|
-
"complete": "True when Stripe reports the payment fields as complete. Read this before `submit` — outside preview mode the submit control is disabled while it is false, so the call will not be accepted.",
|
|
945
|
+
"complete": "True when Stripe reports the payment fields, and any required billing address, as complete. Read this before `submit` — outside preview mode the submit control is disabled while it is false, so the call will not be accepted.",
|
|
946
946
|
"errorKey": "i18n key of the current error (e.g. `payment.error.cardDeclined`), or null. The key is the structural datum — the translated message is free text and is never exposed.",
|
|
947
947
|
"paymentIntentId": "Opaque Stripe PaymentIntent id once a charge succeeded, else null. The receipt — the attribution handle for the money that moved. Never the client secret."
|
|
948
948
|
},
|
|
949
949
|
"actions": {
|
|
950
950
|
"submit": "Submit the payment. Charges the configured payment method — irreversible. Resolves once the attempt has settled; the outcome is never in the resolved value, so read `status`, then `errorKey` on failure or `paymentIntentId` on success.",
|
|
951
|
-
"reset": "
|
|
951
|
+
"reset": "Clear recoverable errors and return their status to \"idle\". Stripe fields remain unchanged. Pending or paid attempts cannot be reset and require a new session."
|
|
952
952
|
}
|
|
953
953
|
},
|
|
954
954
|
"pdfViewer": {
|
|
@@ -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,
|