@alfadocs/ui-kit 0.46.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/_chunks/{agenda-card-CFyWSX7Z.js → agenda-card-BaSfVfrL.js} +25 -29
  2. package/dist/_chunks/{agenda-tray-Dyj9ChHC.js → agenda-tray-DQayYmQ0.js} +50 -67
  3. package/dist/_chunks/ai-consent-banner-DO5ingMq.js +169 -0
  4. package/dist/_chunks/ai-tools-rail-CxYG04cw.js +280 -0
  5. package/dist/_chunks/alia-sidebar-DlvyXgVC.js +1126 -0
  6. package/dist/_chunks/anamnesis-card-CmkBVAln.js +156 -0
  7. package/dist/_chunks/appointment-tray-BwDHhWWC.js +419 -0
  8. package/dist/_chunks/{audio-recorder-C1rhKhSN.js → audio-recorder-DC-v9YFW.js} +81 -91
  9. package/dist/_chunks/{bmi-calculator-CQqXTVNL.js → bmi-calculator-DdylQzT6.js} +2 -2
  10. package/dist/_chunks/{booking-DlDVuWMd.js → booking-WV2GSru5.js} +291 -303
  11. package/dist/_chunks/{calculator-dialog-D-nfvteH.js → calculator-dialog-CFk4I91b.js} +2 -2
  12. package/dist/_chunks/calendar-days-C4BmpCZg.js +23 -0
  13. package/dist/_chunks/{calendar-YHFknAGv.js → calendar-oYWOCrnf.js} +195 -210
  14. package/dist/_chunks/care-plan-card-QmNpGggC.js +252 -0
  15. package/dist/_chunks/care-plan-entry-card-Cnra7vUc.js +318 -0
  16. package/dist/_chunks/{chat-input-CQe7nR_v.js → chat-input-CFwc7JxL.js} +2 -1
  17. package/dist/_chunks/{chat-message-ASgGtj-L.js → chat-message-Dm8U2RY1.js} +81 -74
  18. package/dist/_chunks/clinical-note-card-BYo437dU.js +333 -0
  19. package/dist/_chunks/code-block-HoddNOKJ.js +106 -0
  20. package/dist/_chunks/{contact-profile-card-DHyuAPXM.js → contact-profile-card-DvvVfAA2.js} +102 -115
  21. package/dist/_chunks/{cycle-calculator-KxA8dqDf.js → cycle-calculator-DYvGm_m1.js} +2 -2
  22. package/dist/_chunks/{dialog-BTpZV6It.js → dialog-DMGnSelc.js} +55 -55
  23. package/dist/_chunks/download-CDF1sbL9.js +16 -0
  24. package/dist/_chunks/{due-date-calculator-mFxpHLml.js → due-date-calculator-BXd3ANj7.js} +2 -2
  25. package/dist/_chunks/{editable-currency-cell-renderer-BEBUQl9P.js → editable-currency-cell-renderer-CLil9B29.js} +283 -293
  26. package/dist/_chunks/entity-card-COhmqHly.js +69 -0
  27. package/dist/_chunks/{gestational-age-calculator-gWI_uRA1.js → gestational-age-calculator-Crj6FgZw.js} +2 -2
  28. package/dist/_chunks/{insert-result-C5ABnzDl.js → insert-result-DNdi_JYW.js} +140 -168
  29. package/dist/_chunks/is-safe-url-DkETxeHz.js +7 -0
  30. package/dist/_chunks/languages-DsVf_WzT.js +19 -0
  31. package/dist/_chunks/layers-pzGcbLPj.js +34 -0
  32. package/dist/_chunks/{message-card-DSPw5ghw.js → message-card-Dvl1TgaN.js} +15 -19
  33. package/dist/_chunks/{message-tray-hSQff9u4.js → message-tray-Dl6GQaaV.js} +2 -2
  34. package/dist/_chunks/mic-B4Gog3Gi.js +16 -0
  35. package/dist/_chunks/operator-hero-CM8949Hd.js +198 -0
  36. package/dist/_chunks/patient-summary-card-BnTqxcTr.js +443 -0
  37. package/dist/_chunks/payment-request-card-B_lyobd0.js +478 -0
  38. package/dist/_chunks/{pdf-viewer-CWEXTlwq.js → pdf-viewer-G8SU6Azw.js} +3 -3
  39. package/dist/_chunks/pencil-CfQX-0Qc.js +21 -0
  40. package/dist/_chunks/periodontal-chart-card-BYs9hax1.js +455 -0
  41. package/dist/_chunks/phone-Bi5yUm4I.js +20 -0
  42. package/dist/_chunks/{practice-results-DDi-kvaD.js → practice-results-BFL_mcDW.js} +3 -2
  43. package/dist/_chunks/{pregnancy-weight-gain-BtEHaSqy.js → pregnancy-weight-gain-C7dK89jE.js} +2 -2
  44. package/dist/_chunks/scan-line-lGioFwLC.js +18 -0
  45. package/dist/_chunks/shield-check-BjCGH_Sr.js +21 -0
  46. package/dist/_chunks/{sign-document-BCyLpFHJ.js → sign-document-DPI2pY9V.js} +2 -2
  47. package/dist/_chunks/{streaming-text-GH07yIYh.js → streaming-text-CfhDqtIT.js} +49 -45
  48. package/dist/_chunks/{transaction-chip-B8ujzowA.js → transaction-chip-BZCa6XDn.js} +8 -6
  49. package/dist/_chunks/{unit-converter-u3CwNDpP.js → unit-converter-jWp3Z85y.js} +2 -2
  50. package/dist/_chunks/user-cog-BS_qc8nA.js +24 -0
  51. package/dist/_chunks/video-BAeICxCT.js +21 -0
  52. package/dist/_chunks/{workflow-map-BFNpzTiw.js → workflow-map-ZXw-zsZ8.js} +186 -219
  53. package/dist/agent-catalog.json +324 -1
  54. package/dist/components/_shared/code-block.d.ts +39 -0
  55. package/dist/components/_shared/entity-card/entity-card.d.ts +40 -0
  56. package/dist/components/_shared/entity-card/index.d.ts +3 -0
  57. package/dist/components/_shared/index.d.ts +2 -0
  58. package/dist/components/_shared/is-safe-url.d.ts +13 -0
  59. package/dist/components/agenda-card/agenda-card.d.ts +1 -2
  60. package/dist/components/agenda-card/index.d.ts +2 -1
  61. package/dist/components/agenda-card/index.js +6 -5
  62. package/dist/components/agenda-tray/index.js +1 -1
  63. package/dist/components/ai-consent-banner/ai-consent-banner.agent.d.ts +4 -0
  64. package/dist/components/ai-consent-banner/ai-consent-banner.d.ts +45 -0
  65. package/dist/components/ai-consent-banner/index.d.ts +4 -0
  66. package/dist/components/ai-consent-banner/index.js +6 -0
  67. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +4 -0
  68. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +60 -0
  69. package/dist/components/ai-tools-rail/index.d.ts +4 -0
  70. package/dist/components/ai-tools-rail/index.js +6 -0
  71. package/dist/components/anamnesis-card/anamnesis-card.d.ts +68 -0
  72. package/dist/components/anamnesis-card/index.d.ts +3 -0
  73. package/dist/components/anamnesis-card/index.js +5 -0
  74. package/dist/components/appointment-card/appointment-card.agent.d.ts +3 -0
  75. package/dist/components/appointment-card/appointment-card.d.ts +93 -0
  76. package/dist/components/appointment-card/appointment-tray.agent.d.ts +4 -0
  77. package/dist/components/appointment-card/appointment-tray.d.ts +48 -0
  78. package/dist/components/appointment-card/index.d.ts +8 -0
  79. package/dist/components/appointment-card/index.js +10 -0
  80. package/dist/components/audio-recorder/index.js +1 -1
  81. package/dist/components/badge/badge.d.ts +1 -1
  82. package/dist/components/bmi-calculator/index.js +1 -1
  83. package/dist/components/booking/index.js +1 -1
  84. package/dist/components/calculator-dialog/index.js +1 -1
  85. package/dist/components/calendar/index.js +1 -1
  86. package/dist/components/card/card.d.ts +1 -1
  87. package/dist/components/care-plan-card/care-plan-card.agent.d.ts +4 -0
  88. package/dist/components/care-plan-card/care-plan-card.d.ts +102 -0
  89. package/dist/components/care-plan-card/index.d.ts +4 -0
  90. package/dist/components/care-plan-card/index.js +6 -0
  91. package/dist/components/care-plan-entry-card/care-plan-entry-card.agent.d.ts +4 -0
  92. package/dist/components/care-plan-entry-card/care-plan-entry-card.d.ts +110 -0
  93. package/dist/components/care-plan-entry-card/index.d.ts +4 -0
  94. package/dist/components/care-plan-entry-card/index.js +6 -0
  95. package/dist/components/chat-input/index.js +1 -1
  96. package/dist/components/chat-message/chat-message.d.ts +13 -0
  97. package/dist/components/chat-message/index.js +1 -1
  98. package/dist/components/clinical-note-card/clinical-note-card.agent.d.ts +4 -0
  99. package/dist/components/clinical-note-card/clinical-note-card.d.ts +98 -0
  100. package/dist/components/clinical-note-card/index.d.ts +4 -0
  101. package/dist/components/clinical-note-card/index.js +6 -0
  102. package/dist/components/contact-profile-card/index.js +1 -1
  103. package/dist/components/cycle-calculator/index.js +1 -1
  104. package/dist/components/data-table/index.js +1 -1
  105. package/dist/components/dialog/dialog.d.ts +7 -0
  106. package/dist/components/dialog/index.js +1 -1
  107. package/dist/components/due-date-calculator/index.js +1 -1
  108. package/dist/components/gestational-age-calculator/index.js +1 -1
  109. package/dist/components/index.d.ts +10 -0
  110. package/dist/components/message-card/index.js +5 -4
  111. package/dist/components/message-card/message-card.d.ts +1 -2
  112. package/dist/components/message-tray/index.js +1 -1
  113. package/dist/components/operator-hero/index.js +1 -1
  114. package/dist/components/operator-hero/operator-hero.d.ts +9 -0
  115. package/dist/components/patient-summary-card/index.d.ts +4 -0
  116. package/dist/components/patient-summary-card/index.js +6 -0
  117. package/dist/components/patient-summary-card/patient-summary-card.agent.d.ts +4 -0
  118. package/dist/components/patient-summary-card/patient-summary-card.d.ts +120 -0
  119. package/dist/components/payment-card/index.d.ts +7 -0
  120. package/dist/components/payment-card/index.js +8 -0
  121. package/dist/components/payment-card/payment-card.agent.d.ts +4 -0
  122. package/dist/components/payment-card/payment-card.d.ts +71 -0
  123. package/dist/components/payment-card/payment-request-card.agent.d.ts +4 -0
  124. package/dist/components/payment-card/payment-request-card.d.ts +43 -0
  125. package/dist/components/pdf-viewer/index.js +1 -1
  126. package/dist/components/periodontal-chart-card/index.d.ts +4 -0
  127. package/dist/components/periodontal-chart-card/index.js +7 -0
  128. package/dist/components/periodontal-chart-card/periodontal-chart-card.agent.d.ts +4 -0
  129. package/dist/components/periodontal-chart-card/periodontal-chart-card.d.ts +74 -0
  130. package/dist/components/practice-results/index.js +1 -1
  131. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  132. package/dist/components/public-header/public-header.d.ts +1 -1
  133. package/dist/components/sign-document/index.js +1 -1
  134. package/dist/components/stat/stat.d.ts +1 -1
  135. package/dist/components/streaming-text/index.js +1 -1
  136. package/dist/components/transaction-chip/index.js +1 -1
  137. package/dist/components/unit-converter/index.js +1 -1
  138. package/dist/components/workflow/index.js +1 -1
  139. package/dist/i18n/locales/ar.d.ts +366 -0
  140. package/dist/i18n/locales/ar.js +367 -1
  141. package/dist/i18n/locales/de.d.ts +366 -0
  142. package/dist/i18n/locales/de.js +367 -1
  143. package/dist/i18n/locales/el.d.ts +366 -0
  144. package/dist/i18n/locales/el.js +367 -1
  145. package/dist/i18n/locales/en.d.ts +366 -0
  146. package/dist/i18n/locales/en.js +367 -1
  147. package/dist/i18n/locales/es.d.ts +366 -0
  148. package/dist/i18n/locales/es.js +367 -1
  149. package/dist/i18n/locales/fr.d.ts +366 -0
  150. package/dist/i18n/locales/fr.js +367 -1
  151. package/dist/i18n/locales/hi.d.ts +366 -0
  152. package/dist/i18n/locales/hi.js +367 -1
  153. package/dist/i18n/locales/it.d.ts +366 -0
  154. package/dist/i18n/locales/it.js +367 -1
  155. package/dist/i18n/locales/ja.d.ts +366 -0
  156. package/dist/i18n/locales/ja.js +367 -1
  157. package/dist/i18n/locales/nl.d.ts +366 -0
  158. package/dist/i18n/locales/nl.js +367 -1
  159. package/dist/i18n/locales/pl.d.ts +366 -0
  160. package/dist/i18n/locales/pl.js +367 -1
  161. package/dist/i18n/locales/pt.d.ts +366 -0
  162. package/dist/i18n/locales/pt.js +367 -1
  163. package/dist/i18n/locales/ro.d.ts +366 -0
  164. package/dist/i18n/locales/ro.js +367 -1
  165. package/dist/i18n/locales/ru.d.ts +366 -0
  166. package/dist/i18n/locales/ru.js +367 -1
  167. package/dist/i18n/locales/sq.d.ts +366 -0
  168. package/dist/i18n/locales/sq.js +367 -1
  169. package/dist/i18n/locales/sv.d.ts +366 -0
  170. package/dist/i18n/locales/sv.js +367 -1
  171. package/dist/i18n/locales/tr.d.ts +366 -0
  172. package/dist/i18n/locales/tr.js +367 -1
  173. package/dist/i18n/locales/zh.d.ts +366 -0
  174. package/dist/i18n/locales/zh.js +367 -1
  175. package/dist/index.js +527 -491
  176. package/dist/locales/ar.json +367 -1
  177. package/dist/locales/de.json +367 -1
  178. package/dist/locales/el.json +367 -1
  179. package/dist/locales/en.json +367 -1
  180. package/dist/locales/es.json +367 -1
  181. package/dist/locales/fr.json +367 -1
  182. package/dist/locales/hi.json +367 -1
  183. package/dist/locales/it.json +367 -1
  184. package/dist/locales/ja.json +367 -1
  185. package/dist/locales/nl.json +367 -1
  186. package/dist/locales/pl.json +367 -1
  187. package/dist/locales/pt.json +367 -1
  188. package/dist/locales/ro.json +367 -1
  189. package/dist/locales/ru.json +367 -1
  190. package/dist/locales/sq.json +367 -1
  191. package/dist/locales/sv.json +367 -1
  192. package/dist/locales/tr.json +367 -1
  193. package/dist/locales/zh.json +367 -1
  194. package/dist/patterns/alia-assistant/alia-types.d.ts +76 -0
  195. package/dist/patterns/alia-assistant/index.js +1 -1
  196. package/dist/tokens.css +1 -1
  197. package/package.json +42 -1
  198. package/dist/_chunks/alia-sidebar-Be8FhKYd.js +0 -837
  199. package/dist/_chunks/operator-hero-7LiiP7zi.js +0 -171
  200. package/dist/_chunks/shield-check-C73ma9Cs.js +0 -36
@@ -0,0 +1,7 @@
1
+ function e(t) {
2
+ return /^(https?:\/\/(?!\/)|\/(?!\/)|#)/.test(t);
3
+ }
4
+ export {
5
+ e as i
6
+ };
7
+ //# sourceMappingURL=is-safe-url-DkETxeHz.js.map
@@ -0,0 +1,19 @@
1
+ import { c as e } from "./createLucideIcon-CrFbzy84.js";
2
+ /**
3
+ * @license lucide-react v1.8.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const a = [
9
+ ["path", { d: "m5 8 6 6", key: "1wu5hv" }],
10
+ ["path", { d: "m4 14 6-6 2-3", key: "1k1g8d" }],
11
+ ["path", { d: "M2 5h12", key: "or177f" }],
12
+ ["path", { d: "M7 2h1", key: "1t2jsx" }],
13
+ ["path", { d: "m22 22-5-10-5 10", key: "don7ne" }],
14
+ ["path", { d: "M14 18h6", key: "1m8k6r" }]
15
+ ], d = e("languages", a);
16
+ export {
17
+ d as L
18
+ };
19
+ //# sourceMappingURL=languages-DsVf_WzT.js.map
@@ -0,0 +1,34 @@
1
+ import { c as a } from "./createLucideIcon-CrFbzy84.js";
2
+ /**
3
+ * @license lucide-react v1.8.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const e = [
9
+ [
10
+ "path",
11
+ {
12
+ d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
13
+ key: "zw3jo"
14
+ }
15
+ ],
16
+ [
17
+ "path",
18
+ {
19
+ d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
20
+ key: "1wduqc"
21
+ }
22
+ ],
23
+ [
24
+ "path",
25
+ {
26
+ d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
27
+ key: "kqbvx6"
28
+ }
29
+ ]
30
+ ], c = a("layers", e);
31
+ export {
32
+ c as L
33
+ };
34
+ //# sourceMappingURL=layers-pzGcbLPj.js.map
@@ -1,13 +1,14 @@
1
1
  import { jsx as a, jsxs as l } from "react/jsx-runtime";
2
- import { forwardRef as _, useMemo as B, useState as L, useRef as U, useCallback as W } from "react";
3
- import { c as D } from "./index-D2ZczOXr.js";
4
- import { useTranslation as E } from "react-i18next";
2
+ import { forwardRef as _, useMemo as B, useState as L, useRef as U, useCallback as E } from "react";
3
+ import { c as W } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as D } from "react-i18next";
5
5
  import { I as H } from "./icon-button-CKEOrN37.js";
6
6
  import { B as k } from "./button-DD_0Xdmr.js";
7
7
  import { A as X } from "./avatar-BNQNhoyL.js";
8
8
  import { T as q } from "./timestamp-BV2lC-wV.js";
9
- import { X as G } from "./x-CCcI3eJp.js";
10
- const J = D(
9
+ import { i as G } from "./is-safe-url-DkETxeHz.js";
10
+ import { X as J } from "./x-CCcI3eJp.js";
11
+ const O = W(
11
12
  [
12
13
  "ds:relative ds:flex ds:gap-[var(--spacing-sm)]",
13
14
  "ds:rounded-[var(--radius-sm)]",
@@ -68,11 +69,7 @@ const J = D(
68
69
  "ds:focus-visible:after:outline-[color:var(--ring)]",
69
70
  "ds:focus-visible:after:outline-offset-[length:var(--focus-ring-offset)]",
70
71
  "ds:forced-colors:focus-visible:after:outline-[CanvasText]"
71
- ].join(" ");
72
- function O(e) {
73
- return /^(https?:\/\/(?!\/)|\/(?!\/)|#)/.test(e);
74
- }
75
- const Q = _(
72
+ ].join(" "), Q = _(
76
73
  ({
77
74
  item: e,
78
75
  variant: d = "compact",
@@ -85,13 +82,13 @@ const Q = _(
85
82
  className: T,
86
83
  ...z
87
84
  }, K) => {
88
- const { t: n, i18n: v } = E(), M = B(() => {
85
+ const { t: n, i18n: v } = D(), S = B(() => {
89
86
  const s = new Date(e.sentAt);
90
87
  return Number.isNaN(s.getTime()) ? "" : new Intl.DateTimeFormat(v.language, {
91
88
  dateStyle: "medium",
92
89
  timeStyle: "short"
93
90
  }).format(s);
94
- }, [e.sentAt, v.language]), f = b !== void 0, [S, V] = L(!1), m = U(null), x = f ? b : S, w = typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches, y = W(
91
+ }, [e.sentAt, v.language]), f = b !== void 0, [M, V] = L(!1), m = U(null), x = f ? b : M, w = typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches, y = E(
95
92
  (s) => {
96
93
  if (s == null || s.preventDefault(), s == null || s.stopPropagation(), !o) return;
97
94
  if (f || w) {
@@ -112,10 +109,10 @@ const Q = _(
112
109
  }) : "", C = n("messageCard.itemLabel", {
113
110
  sender: e.sender.name,
114
111
  subjectFragment: I,
115
- time: M,
112
+ time: S,
116
113
  unreadSuffix: P,
117
114
  defaultValue: "Message from {{sender}}{{subjectFragment}}, {{time}}{{unreadSuffix}}"
118
- }), p = !!e.url && O(e.url), i = /* @__PURE__ */ a(
115
+ }), p = !!e.url && G(e.url), i = /* @__PURE__ */ a(
119
116
  "span",
120
117
  {
121
118
  className: [
@@ -168,7 +165,7 @@ const Q = _(
168
165
  "data-read": e.read ? "true" : "false",
169
166
  "data-leaving": x ? "true" : void 0,
170
167
  "aria-hidden": x || void 0,
171
- className: J({ variant: d, size: h, state: F, className: T }),
168
+ className: O({ variant: d, size: h, state: F, className: T }),
172
169
  ...z,
173
170
  children: [
174
171
  /* @__PURE__ */ a(
@@ -261,7 +258,7 @@ const Q = _(
261
258
  d === "compact" && o ? /* @__PURE__ */ a("span", { className: "ds:relative ds:z-[1] ds:opacity-0 ds:group-hover:opacity-100 ds:group-focus-within:opacity-100 ds:transition-opacity ds:motion-reduce:transition-none", children: /* @__PURE__ */ a(
262
259
  H,
263
260
  {
264
- icon: /* @__PURE__ */ a(G, {}),
261
+ icon: /* @__PURE__ */ a(J, {}),
265
262
  intent: "ghost",
266
263
  size: "sm",
267
264
  "aria-label": n("messageCard.dismiss", "Dismiss message"),
@@ -275,7 +272,6 @@ const Q = _(
275
272
  );
276
273
  Q.displayName = "MessageCard";
277
274
  export {
278
- Q as M,
279
- O as i
275
+ Q as M
280
276
  };
281
- //# sourceMappingURL=message-card-DSPw5ghw.js.map
277
+ //# sourceMappingURL=message-card-Dvl1TgaN.js.map
@@ -9,7 +9,7 @@ import { I as me } from "./icon-button-CKEOrN37.js";
9
9
  import { B as E } from "./button-DD_0Xdmr.js";
10
10
  import { S as L } from "./separator-CYU_bGFn.js";
11
11
  import { S as f } from "./skeleton-CZbwyJAA.js";
12
- import { M as pe } from "./message-card-DSPw5ghw.js";
12
+ import { M as pe } from "./message-card-Dvl1TgaN.js";
13
13
  import { u as ue } from "./registry-nPAVE19X.js";
14
14
  import { M as F } from "./mail-C8irm52s.js";
15
15
  const ge = {
@@ -412,4 +412,4 @@ export {
412
412
  be as M,
413
413
  ge as m
414
414
  };
415
- //# sourceMappingURL=message-tray-hSQff9u4.js.map
415
+ //# sourceMappingURL=message-tray-Dl6GQaaV.js.map
@@ -0,0 +1,16 @@
1
+ import { c } from "./createLucideIcon-CrFbzy84.js";
2
+ /**
3
+ * @license lucide-react v1.8.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const e = [
9
+ ["path", { d: "M12 19v3", key: "npa21l" }],
10
+ ["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }],
11
+ ["rect", { x: "9", y: "2", width: "6", height: "13", rx: "3", key: "s6n7sd" }]
12
+ ], o = c("mic", e);
13
+ export {
14
+ o as M
15
+ };
16
+ //# sourceMappingURL=mic-B4Gog3Gi.js.map
@@ -0,0 +1,198 @@
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as R, useId as A, useRef as O } from "react";
3
+ import { c as P } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as z } from "react-i18next";
5
+ import { A as j } from "./avatar-BNQNhoyL.js";
6
+ import { B as I } from "./badge-zsf5i5bH.js";
7
+ import { C as T } from "./card-DPmk26CL.js";
8
+ import { R as B } from "./rating-BRD7O74e.js";
9
+ import { u as F } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
10
+ import { u as K } from "./registry-nPAVE19X.js";
11
+ import { c as S } from "./entity-card-COhmqHly.js";
12
+ const V = {
13
+ id: "operator-hero",
14
+ capabilities: ["view_change"],
15
+ state: {
16
+ name: {
17
+ type: "string",
18
+ descriptionKey: "ui.agent.operatorHero.state.name",
19
+ description: "Operator display name currently rendered.",
20
+ read: (r) => r.getName()
21
+ },
22
+ hasColor: {
23
+ type: "boolean",
24
+ descriptionKey: "ui.agent.operatorHero.state.hasColor",
25
+ description: "Whether a calendar-colour identity dot is rendered. Structural flag only — never the colour id or any PHI.",
26
+ read: (r) => r.getHasColor()
27
+ }
28
+ },
29
+ actions: {},
30
+ domHooks: {
31
+ root: {
32
+ attr: "data-component",
33
+ value: "operator-hero",
34
+ description: "Marks the OperatorHero root region."
35
+ },
36
+ instanceId: {
37
+ attr: "data-component-id",
38
+ sourceProp: "id",
39
+ description: "Sourced from the id prop."
40
+ }
41
+ }
42
+ }, E = P("ds:w-full ds:text-[color:var(--foreground)]", {
43
+ variants: {
44
+ // Density toggle. Default `comfortable` matches the practice hero's
45
+ // visual weight minus the cover strip. `compact` is for embedded
46
+ // surfaces (booking aside, ROI Dashboard practice panel) where the
47
+ // hero needs to fit in <12rem vertical.
48
+ density: {
49
+ comfortable: "",
50
+ compact: ""
51
+ },
52
+ // Matches the kit's other `surface` props (Booking, ReviewsPanel,
53
+ // ContactProfileCard). `'elevated'` wraps in `<Card>`.
54
+ surface: {
55
+ flat: "",
56
+ elevated: ""
57
+ }
58
+ },
59
+ defaultVariants: {
60
+ density: "comfortable",
61
+ surface: "elevated"
62
+ }
63
+ }), M = R(
64
+ ({
65
+ name: r,
66
+ colorId: l,
67
+ tagline: p,
68
+ imageUrl: h,
69
+ rating: a,
70
+ badges: i,
71
+ actionSlot: m,
72
+ density: s = "comfortable",
73
+ surface: v = "elevated",
74
+ "aria-label": x,
75
+ id: n,
76
+ className: b,
77
+ ...y
78
+ }, N) => {
79
+ const { t: c } = z(), u = A(), H = x ?? c("operatorHero.regionLabel"), d = l != null, f = O(null);
80
+ K(
81
+ V,
82
+ { getName: () => r, getHasColor: () => d },
83
+ n
84
+ ), F(() => {
85
+ const o = f.current;
86
+ o && (d ? o.style.setProperty("--operator-hero-color", S(l)) : o.style.removeProperty("--operator-hero-color"));
87
+ }, [d, l]);
88
+ const C = a ? c("operatorHero.ratingLabel", {
89
+ value: a.value.toFixed(1),
90
+ count: a.count
91
+ }) : void 0, k = s === "comfortable" ? "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]" : "ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", w = s === "comfortable" ? "2xl" : "xl", L = s === "comfortable" ? "type-title-page" : "type-title-card", g = /* @__PURE__ */ t(
92
+ "div",
93
+ {
94
+ className: [
95
+ "ds:flex ds:items-start ds:gap-[var(--spacing-lg)]",
96
+ k,
97
+ "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]"
98
+ ].join(" "),
99
+ children: [
100
+ /* @__PURE__ */ e(
101
+ j,
102
+ {
103
+ size: w,
104
+ name: r,
105
+ src: h,
106
+ className: "ds:shrink-0"
107
+ }
108
+ ),
109
+ /* @__PURE__ */ t("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
110
+ /* @__PURE__ */ t("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)] ds:flex-wrap", children: [
111
+ /* @__PURE__ */ t(
112
+ "h1",
113
+ {
114
+ id: u,
115
+ className: `${L} ds:m-0 ds:flex ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[color:var(--foreground)]`,
116
+ children: [
117
+ d ? /* @__PURE__ */ e(
118
+ "span",
119
+ {
120
+ ref: f,
121
+ role: "img",
122
+ "aria-label": c("operatorHero.colorLabel", "Calendar colour"),
123
+ className: "ds:inline-block ds:size-[var(--spacing-sm)] ds:shrink-0 ds:rounded-[var(--radius-full)] ds:bg-[var(--operator-hero-color)]"
124
+ }
125
+ ) : null,
126
+ r
127
+ ]
128
+ }
129
+ ),
130
+ m ? /* @__PURE__ */ e("div", { className: "ds:ms-auto ds:flex ds:shrink-0 ds:items-center ds:gap-[var(--spacing-xs)]", children: m }) : null
131
+ ] }),
132
+ p ? /* @__PURE__ */ e("p", { className: "type-body ds:m-0 ds:text-[color:var(--foreground)]", children: p }) : null,
133
+ a ? /* @__PURE__ */ t(
134
+ "div",
135
+ {
136
+ className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]",
137
+ "aria-label": C,
138
+ children: [
139
+ /* @__PURE__ */ e(
140
+ B,
141
+ {
142
+ value: a.value,
143
+ max: 5,
144
+ size: s === "comfortable" ? "md" : "sm"
145
+ }
146
+ ),
147
+ /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[color:var(--muted-foreground)]", children: [
148
+ a.value.toFixed(1),
149
+ " · ",
150
+ a.count
151
+ ] })
152
+ ]
153
+ }
154
+ ) : null,
155
+ i && i.length > 0 ? /* @__PURE__ */ e(
156
+ "div",
157
+ {
158
+ role: "list",
159
+ className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-2xs)] ds:mt-[var(--spacing-2xs)]",
160
+ children: i.map((o) => /* @__PURE__ */ e(
161
+ I,
162
+ {
163
+ variant: o.variant ?? "neutral",
164
+ role: "listitem",
165
+ children: o.label
166
+ },
167
+ o.key
168
+ ))
169
+ }
170
+ ) : null
171
+ ] })
172
+ ]
173
+ }
174
+ );
175
+ return /* @__PURE__ */ e(
176
+ "div",
177
+ {
178
+ ref: N,
179
+ role: "region",
180
+ "aria-label": H,
181
+ "aria-labelledby": u,
182
+ "data-component": "operator-hero",
183
+ "data-component-id": n,
184
+ "data-density": s,
185
+ id: n,
186
+ className: E({ surface: v, density: s, className: b }),
187
+ ...y,
188
+ children: v === "elevated" ? /* @__PURE__ */ e(T, { variant: "elevated", children: g }) : g
189
+ }
190
+ );
191
+ }
192
+ );
193
+ M.displayName = "OperatorHero";
194
+ export {
195
+ M as O,
196
+ V as o
197
+ };
198
+ //# sourceMappingURL=operator-hero-CM8949Hd.js.map