@alfadocs/ui-kit 0.66.0 → 0.67.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 (153) hide show
  1. package/dist/_chunks/{agenda-card-Bl-SBiCh.js → agenda-card-BxSFkqgY.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-Bh1KfEOG.js → agenda-tray-T-BumlGZ.js} +2 -2
  3. package/dist/_chunks/{ai-consent-banner-Btzmk8OH.js → ai-consent-banner-Dxtx_WAh.js} +2 -2
  4. package/dist/_chunks/{ai-tools-rail-DAfaW8eA.js → ai-tools-rail-DfmewPUN.js} +57 -50
  5. package/dist/_chunks/{alia-sidebar-CN8pA6c-.js → alia-sidebar-Ckv0yCKi.js} +2 -2
  6. package/dist/_chunks/{anamnesis-card-qeLYRG79.js → anamnesis-card-N8pIKWuS.js} +2 -2
  7. package/dist/_chunks/{antenatal-schedule-timeline-BfzFjEyb.js → antenatal-schedule-timeline-35ebkcZT.js} +2 -2
  8. package/dist/_chunks/{appointment-tray-BQnJEora.js → appointment-tray-CQJ3Nbi5.js} +4 -4
  9. package/dist/_chunks/{badge-zsf5i5bH.js → badge-CqGsX32l.js} +46 -42
  10. package/dist/_chunks/{bishop-score-DPN4Ched.js → bishop-score-CjsB9bM-.js} +2 -2
  11. package/dist/_chunks/{bmi-calculator-DuUneHuZ.js → bmi-calculator-n-823_1V.js} +2 -2
  12. package/dist/_chunks/{care-plan-card-D42WD4-T.js → care-plan-card-CJei-nl9.js} +4 -4
  13. package/dist/_chunks/{care-plan-entry-card-BukNI7Uy.js → care-plan-entry-card-EmfrbHu8.js} +4 -4
  14. package/dist/_chunks/{clinical-note-card-BYo437dU.js → clinical-note-card-gtrxv6zn.js} +2 -2
  15. package/dist/_chunks/{color-picker-9tL7pz5y.js → color-picker-B7xsn6tX.js} +186 -167
  16. package/dist/_chunks/{contact-profile-card-CCeJmjbd.js → contact-profile-card-7BMB85T6.js} +2 -2
  17. package/dist/_chunks/{cycle-calculator-D6LTmtQt.js → cycle-calculator-BF0ointe.js} +2 -2
  18. package/dist/_chunks/{dependent-selector-CRWgieHm.js → dependent-selector-DpzGtr_J.js} +2 -2
  19. package/dist/_chunks/{document-scanner-biBS_f6c.js → document-scanner-D2qehl3-.js} +53 -53
  20. package/dist/_chunks/{due-date-calculator-CIG194vq.js → due-date-calculator-DU9AEWNy.js} +3 -3
  21. package/dist/_chunks/{editable-currency-cell-renderer-f3d0Rhue.js → editable-currency-cell-renderer-BVJ04DkB.js} +956 -897
  22. package/dist/_chunks/{fetal-weight-Xf8-ZoDy.js → fetal-weight-BVSzOhuR.js} +2 -2
  23. package/dist/_chunks/{gestational-age-calculator-BGsZaWXW.js → gestational-age-calculator-DBlFdoiP.js} +3 -3
  24. package/dist/_chunks/{hcg-doubling-LH5i6oM7.js → hcg-doubling-if4Q8aSX.js} +2 -2
  25. package/dist/_chunks/{marketplace-app-shell-Cou6XnMJ.js → marketplace-app-shell-Bu-HD3fy.js} +3 -3
  26. package/dist/_chunks/{message-card-Bgcvfj6-.js → message-card-Bx4GmLvf.js} +9 -9
  27. package/dist/_chunks/{message-tray-saAVMeHP.js → message-tray-CVyJajVJ.js} +2 -2
  28. package/dist/_chunks/{operator-hero-CM8949Hd.js → operator-hero-f_KaRhw5.js} +2 -2
  29. package/dist/_chunks/{patient-search-Bw9ONucF.js → patient-search-DR9XUYRQ.js} +2 -2
  30. package/dist/_chunks/{patient-shell-Tgpv0HND.js → patient-shell-DrV_iekt.js} +2 -2
  31. package/dist/_chunks/{patient-summary-card-Bgso0p_l.js → patient-summary-card-ByfIU8N0.js} +4 -4
  32. package/dist/_chunks/{payment-request-card-DBz3hVDz.js → payment-request-card-yTjzKQCU.js} +3 -3
  33. package/dist/_chunks/{periodontal-chart-card-AYyHtU9K.js → periodontal-chart-card-Dh3KgvYG.js} +2 -2
  34. package/dist/_chunks/{practice-results-CVAgY2RZ.js → practice-results-DND2SAt7.js} +2 -2
  35. package/dist/_chunks/{pregnancy-dating-f9aJbiAk.js → pregnancy-dating-QY-sqpvj.js} +3 -3
  36. package/dist/_chunks/{pregnancy-weight-gain-BMRBeA8V.js → pregnancy-weight-gain-DOJXXNYP.js} +2 -2
  37. package/dist/_chunks/rich-text-editor-BOQr5lHx.js +1970 -0
  38. package/dist/_chunks/{scroll-area-BWqCkEGz.js → scroll-area-eccd_Uf-.js} +38 -28
  39. package/dist/_chunks/{sidebar-BFwbx74W.js → sidebar-CGjIk_FQ.js} +25 -22
  40. package/dist/_chunks/{suggestion-chip-C4kxWUIs.js → suggestion-chip-Bk4PmYTg.js} +30 -30
  41. package/dist/_chunks/{tab-bar-Xetknddo.js → tab-bar-B1ovILzh.js} +2 -2
  42. package/dist/_chunks/{tag-CdA0s_VV.js → tag-BQXwuJq1.js} +41 -38
  43. package/dist/_chunks/{transaction-chip-BZCa6XDn.js → transaction-chip-BrW8P50O.js} +19 -19
  44. package/dist/_chunks/{workflow-map-Bt4Of5dT.js → workflow-map-JAZryZJr.js} +2 -2
  45. package/dist/agent-catalog.json +1 -1
  46. package/dist/components/agenda-card/index.js +1 -1
  47. package/dist/components/agenda-tray/index.js +1 -1
  48. package/dist/components/ai-consent-banner/index.js +1 -1
  49. package/dist/components/ai-tools-rail/index.js +1 -1
  50. package/dist/components/anamnesis-card/index.js +1 -1
  51. package/dist/components/appointment-card/index.js +1 -1
  52. package/dist/components/badge/index.js +1 -1
  53. package/dist/components/bishop-score/index.js +1 -1
  54. package/dist/components/bmi-calculator/index.js +1 -1
  55. package/dist/components/care-plan-card/index.js +1 -1
  56. package/dist/components/care-plan-entry-card/index.js +1 -1
  57. package/dist/components/clinical-note-card/index.js +1 -1
  58. package/dist/components/color-picker/index.js +1 -1
  59. package/dist/components/contact-profile-card/index.js +1 -1
  60. package/dist/components/cycle-calculator/index.js +1 -1
  61. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +16 -0
  62. package/dist/components/data-table/cell-renderers/tooth-cell-renderer.d.ts +12 -0
  63. package/dist/components/data-table/data-table.d.ts +1 -1
  64. package/dist/components/data-table/index.d.ts +2 -0
  65. package/dist/components/data-table/index.js +13 -12
  66. package/dist/components/data-table/toolbar.d.ts +5 -1
  67. package/dist/components/dependent-selector/index.js +1 -1
  68. package/dist/components/document-scanner/index.js +1 -1
  69. package/dist/components/due-date-calculator/index.js +2 -2
  70. package/dist/components/fetal-weight/index.js +1 -1
  71. package/dist/components/gestational-age-calculator/index.js +1 -1
  72. package/dist/components/hcg-doubling/index.js +1 -1
  73. package/dist/components/message-card/index.js +1 -1
  74. package/dist/components/message-tray/index.js +1 -1
  75. package/dist/components/operator-hero/index.js +1 -1
  76. package/dist/components/patient-search/index.js +1 -1
  77. package/dist/components/patient-summary-card/index.js +1 -1
  78. package/dist/components/payment-card/index.js +1 -1
  79. package/dist/components/periodontal-chart-card/index.js +1 -1
  80. package/dist/components/practice-results/index.js +1 -1
  81. package/dist/components/pregnancy-dating/index.js +1 -1
  82. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  83. package/dist/components/rich-text-editor/editor-toolbar.d.ts +25 -1
  84. package/dist/components/rich-text-editor/index.js +1 -1
  85. package/dist/components/rich-text-editor/rich-text-editor.d.ts +2 -0
  86. package/dist/components/scroll-area/index.js +1 -1
  87. package/dist/components/sidebar/index.js +1 -1
  88. package/dist/components/suggestion-chip/index.js +1 -1
  89. package/dist/components/tab-bar/index.js +1 -1
  90. package/dist/components/tag/index.js +1 -1
  91. package/dist/components/transaction-chip/index.js +1 -1
  92. package/dist/components/workflow/index.js +1 -1
  93. package/dist/i18n/locales/ar.d.ts +10 -0
  94. package/dist/i18n/locales/ar.js +11 -1
  95. package/dist/i18n/locales/de.d.ts +10 -0
  96. package/dist/i18n/locales/de.js +11 -1
  97. package/dist/i18n/locales/el.d.ts +10 -0
  98. package/dist/i18n/locales/el.js +11 -1
  99. package/dist/i18n/locales/en.d.ts +10 -0
  100. package/dist/i18n/locales/en.js +11 -1
  101. package/dist/i18n/locales/es.d.ts +10 -0
  102. package/dist/i18n/locales/es.js +11 -1
  103. package/dist/i18n/locales/fr.d.ts +10 -0
  104. package/dist/i18n/locales/fr.js +11 -1
  105. package/dist/i18n/locales/hi.d.ts +10 -0
  106. package/dist/i18n/locales/hi.js +11 -1
  107. package/dist/i18n/locales/it.d.ts +10 -0
  108. package/dist/i18n/locales/it.js +11 -1
  109. package/dist/i18n/locales/ja.d.ts +10 -0
  110. package/dist/i18n/locales/ja.js +11 -1
  111. package/dist/i18n/locales/nl.d.ts +10 -0
  112. package/dist/i18n/locales/nl.js +9 -1
  113. package/dist/i18n/locales/pl.d.ts +10 -0
  114. package/dist/i18n/locales/pl.js +11 -1
  115. package/dist/i18n/locales/pt.d.ts +10 -0
  116. package/dist/i18n/locales/pt.js +11 -1
  117. package/dist/i18n/locales/ro.d.ts +10 -0
  118. package/dist/i18n/locales/ro.js +11 -1
  119. package/dist/i18n/locales/ru.d.ts +10 -0
  120. package/dist/i18n/locales/ru.js +11 -1
  121. package/dist/i18n/locales/sq.d.ts +10 -0
  122. package/dist/i18n/locales/sq.js +11 -1
  123. package/dist/i18n/locales/sv.d.ts +10 -0
  124. package/dist/i18n/locales/sv.js +9 -1
  125. package/dist/i18n/locales/tr.d.ts +10 -0
  126. package/dist/i18n/locales/tr.js +11 -1
  127. package/dist/i18n/locales/zh.d.ts +10 -0
  128. package/dist/i18n/locales/zh.js +9 -1
  129. package/dist/index.js +508 -507
  130. package/dist/locales/ar.json +11 -1
  131. package/dist/locales/de.json +11 -1
  132. package/dist/locales/el.json +11 -1
  133. package/dist/locales/en.json +11 -1
  134. package/dist/locales/es.json +11 -1
  135. package/dist/locales/fr.json +11 -1
  136. package/dist/locales/hi.json +11 -1
  137. package/dist/locales/it.json +11 -1
  138. package/dist/locales/ja.json +11 -1
  139. package/dist/locales/nl.json +11 -1
  140. package/dist/locales/pl.json +11 -1
  141. package/dist/locales/pt.json +11 -1
  142. package/dist/locales/ro.json +11 -1
  143. package/dist/locales/ru.json +11 -1
  144. package/dist/locales/sq.json +11 -1
  145. package/dist/locales/sv.json +11 -1
  146. package/dist/locales/tr.json +11 -1
  147. package/dist/locales/zh.json +11 -1
  148. package/dist/patterns/alia-assistant/index.js +1 -1
  149. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  150. package/dist/patterns/patient-shell/index.js +1 -1
  151. package/dist/tokens.css +6 -3
  152. package/package.json +1 -1
  153. package/dist/_chunks/rich-text-editor-B5XQNxe8.js +0 -1586
@@ -3,7 +3,7 @@ import { forwardRef as h } from "react";
3
3
  import { c as x } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as y } from "react-i18next";
5
5
  import { A as N } from "./avatar-BNQNhoyL.js";
6
- import { B as C } from "./badge-zsf5i5bH.js";
6
+ import { B as C } from "./badge-CqGsX32l.js";
7
7
  import { i as w } from "./is-safe-url-DkETxeHz.js";
8
8
  import { C as k } from "./chevron-right-BrpYejk0.js";
9
9
  const L = x(
@@ -144,4 +144,4 @@ z.displayName = "AgendaCard";
144
144
  export {
145
145
  z as A
146
146
  };
147
- //# sourceMappingURL=agenda-card-Bl-SBiCh.js.map
147
+ //# sourceMappingURL=agenda-card-BxSFkqgY.js.map
@@ -5,7 +5,7 @@ import { useTranslation as M } from "react-i18next";
5
5
  import { I as q } from "./icon-button-LqoiKcUN.js";
6
6
  import { S as A } from "./skeleton-CZbwyJAA.js";
7
7
  import { E as D } from "./empty-state-BLy7tigq.js";
8
- import { A as V } from "./agenda-card-Bl-SBiCh.js";
8
+ import { A as V } from "./agenda-card-BxSFkqgY.js";
9
9
  import { u as F } from "./registry-nPAVE19X.js";
10
10
  import { C as G } from "./calendar-days-C4BmpCZg.js";
11
11
  import { P as J } from "./plus-CYKNmfuA.js";
@@ -200,4 +200,4 @@ export {
200
200
  U as A,
201
201
  L as a
202
202
  };
203
- //# sourceMappingURL=agenda-tray-Bh1KfEOG.js.map
203
+ //# sourceMappingURL=agenda-tray-T-BumlGZ.js.map
@@ -3,7 +3,7 @@ import { forwardRef as N, useState as k, useRef as q, useMemo as I } from "react
3
3
  import { c as L } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as R } from "react-i18next";
5
5
  import { A as d } from "./alert-_mUKLmwA.js";
6
- import { B as w } from "./badge-zsf5i5bH.js";
6
+ import { B as w } from "./badge-CqGsX32l.js";
7
7
  import { B as T } from "./button-DD_0Xdmr.js";
8
8
  import { C as V } from "./checkbox-DRcOdmXv.js";
9
9
  import { S as j } from "./spinner-hbwuKwMf.js";
@@ -167,4 +167,4 @@ export {
167
167
  P as A,
168
168
  K as a
169
169
  };
170
- //# sourceMappingURL=ai-consent-banner-Btzmk8OH.js.map
170
+ //# sourceMappingURL=ai-consent-banner-Dxtx_WAh.js.map
@@ -1,9 +1,9 @@
1
- import { jsxs as z, jsx as p } from "react/jsx-runtime";
2
- import { forwardRef as Q, useRef as v, useState as ee, useMemo as A, useCallback as B, useEffect as se, useImperativeHandle as ae } from "react";
3
- import { c as g } from "./index-D2ZczOXr.js";
1
+ import { jsxs as I, jsx as p } from "react/jsx-runtime";
2
+ import { forwardRef as Q, useRef as v, useState as ee, useMemo as z, useCallback as B, useEffect as se, useImperativeHandle as ae } from "react";
3
+ import { c as m } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as ie } from "react-i18next";
5
5
  import { I as ne } from "./icon-button-LqoiKcUN.js";
6
- import { S as te } from "./scroll-area-BWqCkEGz.js";
6
+ import { S as te } from "./scroll-area-eccd_Uf-.js";
7
7
  import { a as oe } from "./tooltip-DvmfrNvB.js";
8
8
  import { u as re } from "./use-controllable-state-BiY4xTzM.js";
9
9
  import { u as de } from "./use-edge-resize-ZnGG7gyO.js";
@@ -64,7 +64,7 @@ const ce = {
64
64
  description: "Stable tool id emitted on each strip IconButton. The active icon also carries data-active set to its id."
65
65
  }
66
66
  }
67
- }, ue = "ds:[inline-size:3rem]", fe = "ds:[inline-size:var(--ai-tools-rail-panel-inline-size,22rem)]", F = "--ai-tools-rail-panel-inline-size", pe = 288, ve = 640, be = 352, ge = g(
67
+ }, ue = "ds:[inline-size:3rem]", fe = "ds:[inline-size:var(--ai-tools-rail-panel-inline-size,22rem)]", F = "--ai-tools-rail-panel-inline-size", pe = 288, ve = 640, be = 352, me = m(
68
68
  ["ds:flex ds:shrink-0 ds:h-full", "ds:bg-[var(--background)]"].join(" "),
69
69
  {
70
70
  variants: {
@@ -73,21 +73,23 @@ const ce = {
73
73
  // (flex-row, panel rendered first). Shadow faces the main area —
74
74
  // no border against main (the rail stays line-free; the only seam
75
75
  // is the strip↔panel divider on the open panel, see render).
76
- end: "ds:flex-row ds:shadow-[var(--shadow-chrome-start)]",
76
+ // Accessible (AAA) theme swaps the soft chrome shadow for a solid 1px
77
+ // border on the content-facing edge (border-s for end-docked).
78
+ end: "ds:flex-row ds:shadow-[var(--shadow-chrome-start)] ds:[.theme-accessible_&]:border-s ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none",
77
79
  // Strip docks inline-start; the panel mounts inline-end of it.
78
- start: "ds:flex-row-reverse ds:shadow-[var(--shadow-chrome-end)]"
80
+ start: "ds:flex-row-reverse ds:shadow-[var(--shadow-chrome-end)] ds:[.theme-accessible_&]:border-e ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none"
79
81
  }
80
82
  },
81
83
  defaultVariants: { side: "end" }
82
84
  }
83
- ), me = g(
85
+ ), ge = m(
84
86
  [
85
87
  "ds:flex ds:shrink-0 ds:flex-col ds:items-center",
86
88
  "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]",
87
89
  "ds:gap-[var(--spacing-xs)]",
88
90
  ue
89
91
  ].join(" ")
90
- ), he = g(
92
+ ), he = m(
91
93
  [
92
94
  "ds:relative ds:flex ds:min-h-0 ds:flex-col ds:h-full",
93
95
  "ds:bg-[var(--background)]",
@@ -96,7 +98,7 @@ const ce = {
96
98
  // consumer adds a transition on the var, suppress it mid-drag.
97
99
  "ds:data-[resizing]:transition-none"
98
100
  ].join(" ")
99
- ), ye = g(
101
+ ), ye = m(
100
102
  [
101
103
  "ds:absolute ds:[inset-block:0] ds:z-[1] ds:select-none ds:touch-none",
102
104
  "ds:[inline-size:var(--resizable-handle-size)] ds:cursor-col-resize",
@@ -120,7 +122,7 @@ const ce = {
120
122
  },
121
123
  defaultVariants: { edge: "inline-start" }
122
124
  }
123
- ), xe = g(
125
+ ), xe = m(
124
126
  [
125
127
  "ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]",
126
128
  "ds:inline-flex ds:items-center ds:justify-center",
@@ -134,17 +136,17 @@ const ce = {
134
136
  "ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]"
135
137
  ].join(" ")
136
138
  );
137
- function Re(n, s) {
139
+ function we(n, s) {
138
140
  return n > 99 ? s : String(n);
139
141
  }
140
- const Te = Q(
142
+ const Re = Q(
141
143
  ({
142
144
  id: n,
143
145
  tools: s,
144
146
  activeToolId: M,
145
147
  defaultActiveToolId: U = null,
146
148
  onActiveToolChange: W,
147
- side: m = "end",
149
+ side: g = "end",
148
150
  railLabel: Z,
149
151
  resizablePanel: h = !1,
150
152
  className: O
@@ -154,13 +156,13 @@ const Te = Q(
154
156
  value: M,
155
157
  defaultValue: U,
156
158
  onChange: W
157
- }), c = X ?? null, R = v([]), y = v(null), [T, k] = ee(0), f = v(!1), w = v(!1), u = A(
159
+ }), c = X ?? null, w = v([]), y = v(null), [R, T] = ee(0), f = v(!1), _ = v(!1), u = z(
158
160
  () => s.findIndex((e) => e.id === c),
159
161
  [s, c]
160
- ), l = u >= 0 ? s[u] : null, Y = A(
162
+ ), l = u >= 0 ? s[u] : null, Y = z(
161
163
  () => s.findIndex((e) => !e.disabled),
162
164
  [s]
163
- ), x = u >= 0 ? u : T >= 0 && !((P = s[T]) != null && P.disabled) ? T : Y, $ = B(
165
+ ), x = u >= 0 ? u : R >= 0 && !((P = s[R]) != null && P.disabled) ? R : Y, $ = B(
164
166
  (e, a) => {
165
167
  const i = s.find((r) => r.id === e);
166
168
  !i || i.disabled || (f.current = a, d(c === e ? null : e));
@@ -177,20 +179,20 @@ const Te = Q(
177
179
  let t = i, o = 0;
178
180
  for (; o < a && ((D = s[t]) != null && D.disabled); )
179
181
  t = r ? (t - 1 + a) % a : (t + 1) % a, o += 1;
180
- (K = s[t]) != null && K.disabled || (e.preventDefault(), k(t), (j = R.current[t]) == null || j.focus());
182
+ (K = s[t]) != null && K.disabled || (e.preventDefault(), T(t), (j = w.current[t]) == null || j.focus());
181
183
  },
182
184
  [s, x]
183
- ), E = v(null);
185
+ ), A = v(null);
184
186
  se(() => {
185
- const e = E.current;
187
+ const e = A.current;
186
188
  if (!e) return;
187
189
  const a = (i) => {
188
190
  if (i.key !== "Escape" || u < 0) return;
189
191
  i.preventDefault();
190
192
  const r = u;
191
- d(null), k(r), requestAnimationFrame(() => {
193
+ d(null), T(r), requestAnimationFrame(() => {
192
194
  var t;
193
- (t = R.current[r]) == null || t.focus();
195
+ (t = w.current[r]) == null || t.focus();
194
196
  });
195
197
  };
196
198
  return e.addEventListener("keydown", a), () => e.removeEventListener("keydown", a);
@@ -198,8 +200,8 @@ const Te = Q(
198
200
  var e;
199
201
  l && f.current && ((e = y.current) == null || e.focus()), f.current = !1;
200
202
  }, [l]);
201
- const _ = m === "end" ? "inline-start" : "inline-end", { separatorProps: N, isResizing: S, isResized: C } = de({
202
- edge: _,
203
+ const E = g === "end" ? "inline-start" : "inline-end", { separatorProps: N, isResizing: S, isResized: C } = de({
204
+ edge: E,
203
205
  targetRef: y,
204
206
  cssProperty: F,
205
207
  minSize: pe,
@@ -216,7 +218,7 @@ const Te = Q(
216
218
  }, [l, h, C, L]);
217
219
  const V = v(c);
218
220
  V.current = c;
219
- const I = A(
221
+ const k = z(
220
222
  () => ({
221
223
  getActiveToolId: () => V.current,
222
224
  setActiveTool: (e) => {
@@ -232,20 +234,20 @@ const Te = Q(
232
234
  }),
233
235
  [s, d]
234
236
  );
235
- ae(q, () => I, [I]), le(ce, I, n);
237
+ ae(q, () => k, [k]), le(ce, k, n);
236
238
  const J = b("aiToolsRail.badgeCountOverflow", {
237
239
  defaultValue: "99+"
238
240
  });
239
- return /* @__PURE__ */ z(
241
+ return /* @__PURE__ */ I(
240
242
  "div",
241
243
  {
242
- ref: E,
244
+ ref: A,
243
245
  "data-component": "ai-tools-rail",
244
246
  "data-component-id": n,
245
- "data-side": m,
246
- className: [ge({ side: m }), O].filter(Boolean).join(" "),
247
+ "data-side": g,
248
+ className: [me({ side: g }), O].filter(Boolean).join(" "),
247
249
  children: [
248
- l ? /* @__PURE__ */ z(
250
+ l ? /* @__PURE__ */ I(
249
251
  "aside",
250
252
  {
251
253
  ref: y,
@@ -259,13 +261,18 @@ const Te = Q(
259
261
  "data-resizing": S ? "" : void 0,
260
262
  className: [
261
263
  he(),
262
- // 1px divider between the panel and the icon strip (the tab
263
- // row). Lives on the panel's STRIP-facing edge, so it only
264
- // renders while the panel is open (the aside is unmounted when
265
- // collapsed) and never doubles as a rail↔main line. `border-e`
266
- // / `border-s` are the real logical border-width utilities
267
- // bare `border-inline-*` emits no CSS in this build.
268
- m === "end" ? "ds:border-e ds:border-[var(--border)]" : "ds:border-s ds:border-[var(--border)]",
264
+ // Subtle shadow not a line — separating the panel from the
265
+ // icon strip (the tab row). The panel casts a soft chrome
266
+ // shadow toward the strip on its strip-facing edge. `z-[1]`
267
+ // lifts it above the adjacent strip (the panel is already
268
+ // `relative`) so the shadow paints at the seam instead of being
269
+ // covered by the strip's opaque background. Only renders while
270
+ // the panel is open (the aside is unmounted when collapsed), so
271
+ // it never doubles as a rail↔main seam. In the accessible (AAA)
272
+ // theme the soft shadow becomes a solid 1px border on that same
273
+ // strip-facing edge.
274
+ "ds:z-[1]",
275
+ g === "end" ? "ds:shadow-[var(--shadow-chrome-end)] ds:[.theme-accessible_&]:border-e ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none" : "ds:shadow-[var(--shadow-chrome-start)] ds:[.theme-accessible_&]:border-s ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none",
269
276
  "ds:focus-visible:outline-none"
270
277
  ].join(" "),
271
278
  children: [
@@ -278,7 +285,7 @@ const Te = Q(
278
285
  defaultValue: "Resize tool panel"
279
286
  }),
280
287
  "data-resizing": S ? "" : void 0,
281
- className: ye({ edge: _ })
288
+ className: ye({ edge: E })
282
289
  }
283
290
  ) : null
284
291
  ]
@@ -290,7 +297,7 @@ const Te = Q(
290
297
  role: "toolbar",
291
298
  "aria-orientation": "vertical",
292
299
  "aria-label": Z ?? b("aiToolsRail.railLabel", { defaultValue: "AI tools" }),
293
- className: me(),
300
+ className: ge(),
294
301
  onKeyDown: G,
295
302
  children: s.map((e, a) => {
296
303
  const i = e.id === c, r = typeof e.badgeCount == "number" && e.badgeCount > 0, t = r ? b("aiToolsRail.toolWithCount", {
@@ -298,12 +305,12 @@ const Te = Q(
298
305
  count: e.badgeCount,
299
306
  defaultValue: "{{tool}}, {{count}} updates"
300
307
  }) : e.label;
301
- return /* @__PURE__ */ z("div", { className: "ds:relative", children: [
308
+ return /* @__PURE__ */ I("div", { className: "ds:relative", children: [
302
309
  /* @__PURE__ */ p(
303
310
  ne,
304
311
  {
305
312
  ref: (o) => {
306
- R.current[a] = o;
313
+ w.current[a] = o;
307
314
  },
308
315
  icon: e.icon,
309
316
  tooltip: e.label,
@@ -317,18 +324,18 @@ const Te = Q(
317
324
  "data-tool-id": e.id,
318
325
  tabIndex: a === x ? 0 : -1,
319
326
  onFocus: () => {
320
- e.disabled || k(a);
327
+ e.disabled || T(a);
321
328
  },
322
- onClick: () => $(e.id, w.current),
329
+ onClick: () => $(e.id, _.current),
323
330
  onKeyDown: (o) => {
324
- (o.key === "Enter" || o.key === " ") && (w.current = !0);
331
+ (o.key === "Enter" || o.key === " ") && (_.current = !0);
325
332
  },
326
333
  onKeyUp: (o) => {
327
- (o.key === "Enter" || o.key === " ") && (w.current = !1);
334
+ (o.key === "Enter" || o.key === " ") && (_.current = !1);
328
335
  }
329
336
  }
330
337
  ),
331
- r ? /* @__PURE__ */ p("span", { "aria-hidden": "true", className: xe(), children: Re(
338
+ r ? /* @__PURE__ */ p("span", { "aria-hidden": "true", className: xe(), children: we(
332
339
  e.badgeCount,
333
340
  J
334
341
  ) }) : null
@@ -341,9 +348,9 @@ const Te = Q(
341
348
  );
342
349
  }
343
350
  );
344
- Te.displayName = "AiToolsRail";
351
+ Re.displayName = "AiToolsRail";
345
352
  export {
346
- Te as A,
353
+ Re as A,
347
354
  ce as a
348
355
  };
349
- //# sourceMappingURL=ai-tools-rail-DAfaW8eA.js.map
356
+ //# sourceMappingURL=ai-tools-rail-DfmewPUN.js.map
@@ -14,7 +14,7 @@ import { C as Ee } from "./chat-message-3V54YipB.js";
14
14
  import { C as ne, P as _e } from "./chat-input-B5zjNEUN.js";
15
15
  import { S as Re } from "./spinner-hbwuKwMf.js";
16
16
  import { S as Pe } from "./streaming-text-BB9mvK4m.js";
17
- import { a as le, S as oe } from "./suggestion-chip-C4kxWUIs.js";
17
+ import { a as le, S as oe } from "./suggestion-chip-Bk4PmYTg.js";
18
18
  import { T as Be } from "./typing-indicator-DHeVN4ob.js";
19
19
  import { P as Ue } from "./progress-kzIRcdaq.js";
20
20
  import { P as De } from "./pencil-CfQX-0Qc.js";
@@ -1123,4 +1123,4 @@ export {
1123
1123
  us as b,
1124
1124
  vs as c
1125
1125
  };
1126
- //# sourceMappingURL=alia-sidebar-CN8pA6c-.js.map
1126
+ //# sourceMappingURL=alia-sidebar-Ckv0yCKi.js.map
@@ -2,7 +2,7 @@ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
2
  import { forwardRef as M, useId as C, useMemo as R } from "react";
3
3
  import { c as q } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as z } from "react-i18next";
5
- import { B as n } from "./badge-zsf5i5bH.js";
5
+ import { B as n } from "./badge-CqGsX32l.js";
6
6
  import { C as N } from "./card-DPmk26CL.js";
7
7
  import { A as G, b as O, c as Q, a as S } from "./accordion-9lJSMMsZ.js";
8
8
  import { D as t } from "./description-list-gkNGWk5G.js";
@@ -153,4 +153,4 @@ J.displayName = "AnamnesisCard";
153
153
  export {
154
154
  J as A
155
155
  };
156
- //# sourceMappingURL=anamnesis-card-qeLYRG79.js.map
156
+ //# sourceMappingURL=anamnesis-card-N8pIKWuS.js.map
@@ -4,7 +4,7 @@ import { jsx as u, jsxs as f } from "react/jsx-runtime";
4
4
  import { useMemo as M } from "react";
5
5
  import { useTranslation as T } from "react-i18next";
6
6
  import { C as I } from "./card-DPmk26CL.js";
7
- import { B as x } from "./badge-zsf5i5bH.js";
7
+ import { B as x } from "./badge-CqGsX32l.js";
8
8
  const _ = 280, S = 14, b = 266, C = 28;
9
9
  function w(t) {
10
10
  if (t < 0) return "preconception";
@@ -410,4 +410,4 @@ export {
410
410
  ht as r,
411
411
  w as t
412
412
  };
413
- //# sourceMappingURL=antenatal-schedule-timeline-BfzFjEyb.js.map
413
+ //# sourceMappingURL=antenatal-schedule-timeline-35ebkcZT.js.map
@@ -6,10 +6,10 @@ import { I as Q } from "./icon-button-LqoiKcUN.js";
6
6
  import { S as X } from "./skeleton-CZbwyJAA.js";
7
7
  import { E as Z } from "./empty-state-BLy7tigq.js";
8
8
  import { A as U } from "./avatar-BNQNhoyL.js";
9
- import { B as P } from "./badge-zsf5i5bH.js";
10
- import { T as ee } from "./tag-CdA0s_VV.js";
9
+ import { B as P } from "./badge-CqGsX32l.js";
10
+ import { T as ee } from "./tag-BQXwuJq1.js";
11
11
  import { T as ae } from "./timestamp-BV2lC-wV.js";
12
- import { T as se } from "./transaction-chip-BZCa6XDn.js";
12
+ import { T as se } from "./transaction-chip-BrW8P50O.js";
13
13
  import { i as re } from "./is-safe-url-DkETxeHz.js";
14
14
  import { V as te } from "./video-BAeICxCT.js";
15
15
  import { M as ne } from "./map-pin-B8STOPMJ.js";
@@ -416,4 +416,4 @@ export {
416
416
  $e as b,
417
417
  he as c
418
418
  };
419
- //# sourceMappingURL=appointment-tray-BQnJEora.js.map
419
+ //# sourceMappingURL=appointment-tray-CQJ3Nbi5.js.map
@@ -1,9 +1,9 @@
1
- import { jsxs as l, jsx as e, Fragment as x } from "react/jsx-runtime";
1
+ import { jsxs as l, jsx as s, Fragment as x } from "react/jsx-runtime";
2
2
  import { forwardRef as w } from "react";
3
- import { c as a } from "./index-D2ZczOXr.js";
3
+ import { c as d } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as h } from "react-i18next";
5
5
  import { T as y } from "./tooltip-DvmfrNvB.js";
6
- const z = a(
6
+ const z = d(
7
7
  [
8
8
  "ds:inline-flex ds:items-center ds:gap-1",
9
9
  // Typography comes from the eyebrow role: Medium 500 + uppercase + expanded tracking.
@@ -26,16 +26,20 @@ const z = a(
26
26
  // neutral chip nearly invisible against a white surface
27
27
  // (~5% grey wash with no perceptible edge). Full opacity
28
28
  // gives ~6:1 surface contrast and the chip reads as a chip.
29
- neutral: "ds:bg-muted ds:text-muted-foreground",
30
- info: "ds:bg-info/15 ds:text-[var(--info-foreground)]",
31
- success: "ds:bg-success/15 ds:text-[var(--success-foreground)]",
32
- warning: "ds:bg-warning/15 ds:text-[var(--warning-foreground)]",
33
- error: "ds:bg-destructive/15 ds:text-[var(--error-foreground)]",
34
- // Solid-fill brand variants — no border, foreground paired with the
35
- // semantic token. Use for trust-signal chips in hero contexts where
36
- // a tonal `info` / `neutral` would blend into the brand backdrop.
37
- brand: "ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)]",
38
- accent: "ds:bg-[var(--accent)] ds:text-[var(--accent-foreground)]"
29
+ // Every chip carries a border so it reads as a defined chip on any
30
+ // surface (matching Tag). Tinted semantic variants take a colour-matched
31
+ // edge at twice the fill opacity; neutral takes the shared `--border`.
32
+ neutral: "ds:bg-muted ds:text-muted-foreground ds:border ds:border-[color:var(--border)]",
33
+ info: "ds:bg-info/15 ds:text-[var(--info-foreground)] ds:border ds:border-[color:var(--info-foreground)]",
34
+ success: "ds:bg-success/15 ds:text-[var(--success-foreground)] ds:border ds:border-[color:var(--success-foreground)]",
35
+ warning: "ds:bg-warning/15 ds:text-[var(--warning-foreground)] ds:border ds:border-[color:var(--warning-foreground)]",
36
+ error: "ds:bg-destructive/15 ds:text-[var(--error-foreground)] ds:border ds:border-[color:var(--error-foreground)]",
37
+ // Solid-fill brand variants carry the same subtle foreground-mix edge as
38
+ // Tag's solid fill, foreground paired with the semantic token. Use for
39
+ // trust-signal chips in hero contexts where a tonal `info` / `neutral`
40
+ // would blend into the brand backdrop.
41
+ brand: "ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)] ds:border ds:border-[color:color-mix(in_srgb,var(--foreground)_15%,transparent)]",
42
+ accent: "ds:bg-[var(--accent)] ds:text-[var(--accent-foreground)] ds:border ds:border-[color:color-mix(in_srgb,var(--foreground)_15%,transparent)]"
39
43
  },
40
44
  size: {
41
45
  sm: "ds:h-4 ds:ps-1 ds:pe-1 ds:[--type-eyebrow-size:var(--font-size-2xs)]",
@@ -53,7 +57,7 @@ const z = a(
53
57
  shape: "pill"
54
58
  }
55
59
  }
56
- ), N = a(
60
+ ), N = d(
57
61
  "ds:text-[length:var(--font-size-dot)] ds:leading-none ds:shrink-0",
58
62
  {
59
63
  variants: {
@@ -71,7 +75,7 @@ const z = a(
71
75
  },
72
76
  defaultVariants: { variant: "neutral" }
73
77
  }
74
- ), V = a("ds:shrink-0 ds:[&>svg]:block", {
78
+ ), V = d("ds:shrink-0 ds:[&>svg]:block", {
75
79
  variants: {
76
80
  size: {
77
81
  // Icons shrink with the compact Badge scale: sm badge is 16 px tall, so
@@ -82,43 +86,43 @@ const z = a(
82
86
  }
83
87
  },
84
88
  defaultVariants: { size: "md" }
85
- }), j = w(
89
+ }), _ = w(
86
90
  ({
87
- variant: t = "neutral",
88
- size: n = "md",
89
- shape: u = "pill",
90
- leading: d,
91
- withDot: g = !1,
92
- truncate: i = !1,
91
+ variant: o = "neutral",
92
+ size: a = "md",
93
+ shape: g = "pill",
94
+ leading: n,
95
+ withDot: u = !1,
96
+ truncate: t = !1,
93
97
  className: f,
94
- children: s,
95
- "aria-label": o,
96
- ...p
97
- }, v) => {
98
- const { t: m } = h(), r = !s && !!o, b = typeof s == "number", c = /* @__PURE__ */ l(
98
+ children: r,
99
+ "aria-label": i,
100
+ ...v
101
+ }, p) => {
102
+ const { t: b } = h(), e = !r && !!i, m = typeof r == "number", c = /* @__PURE__ */ l(
99
103
  "span",
100
104
  {
101
- ref: v,
102
- className: z({ variant: t, size: n, shape: u, className: f }),
105
+ ref: p,
106
+ className: z({ variant: o, size: a, shape: g, className: f }),
103
107
  "data-component": "badge",
104
- role: r ? "img" : void 0,
105
- "aria-label": r ? o : void 0,
106
- ...p,
108
+ role: e ? "img" : void 0,
109
+ "aria-label": e ? i : void 0,
110
+ ...v,
107
111
  children: [
108
- g && /* @__PURE__ */ e("span", { "aria-hidden": "true", className: N({ variant: t }), children: "●" }),
109
- d && /* @__PURE__ */ e("span", { "aria-hidden": "true", className: V({ size: n }), children: d }),
110
- !r && (b ? /* @__PURE__ */ l(x, { children: [
111
- /* @__PURE__ */ e("span", { "aria-hidden": "true", children: s }),
112
- /* @__PURE__ */ e("span", { className: "ds:sr-only", children: m("badge.notifications", { count: s }) })
113
- ] }) : i ? /* @__PURE__ */ e("span", { className: "ds:max-w-[var(--badge-truncate-max-width)] ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap", children: s }) : s)
112
+ u && /* @__PURE__ */ s("span", { "aria-hidden": "true", className: N({ variant: o }), children: "●" }),
113
+ n && /* @__PURE__ */ s("span", { "aria-hidden": "true", className: V({ size: a }), children: n }),
114
+ !e && (m ? /* @__PURE__ */ l(x, { children: [
115
+ /* @__PURE__ */ s("span", { "aria-hidden": "true", children: r }),
116
+ /* @__PURE__ */ s("span", { className: "ds:sr-only", children: b("badge.notifications", { count: r }) })
117
+ ] }) : t ? /* @__PURE__ */ s("span", { className: "ds:max-w-[var(--badge-truncate-max-width)] ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap", children: r }) : r)
114
118
  ]
115
119
  }
116
120
  );
117
- return i && typeof s == "string" ? /* @__PURE__ */ e(y, { label: s, children: c }) : c;
121
+ return t && typeof r == "string" ? /* @__PURE__ */ s(y, { label: r, children: c }) : c;
118
122
  }
119
123
  );
120
- j.displayName = "Badge";
124
+ _.displayName = "Badge";
121
125
  export {
122
- j as B
126
+ _ as B
123
127
  };
124
- //# sourceMappingURL=badge-zsf5i5bH.js.map
128
+ //# sourceMappingURL=badge-CqGsX32l.js.map
@@ -5,7 +5,7 @@ import { useTranslation as F } from "react-i18next";
5
5
  import { F as I } from "./form-field-BOm9hK35.js";
6
6
  import { S as P } from "./select-CEtRcon5.js";
7
7
  import { C as m } from "./card-DPmk26CL.js";
8
- import { B as T } from "./badge-zsf5i5bH.js";
8
+ import { B as T } from "./badge-CqGsX32l.js";
9
9
  import { I as A } from "./insert-result-njqBthzT.js";
10
10
  const b = [
11
11
  "dilation",
@@ -182,4 +182,4 @@ export {
182
182
  D as d,
183
183
  M as e
184
184
  };
185
- //# sourceMappingURL=bishop-score-DPN4Ched.js.map
185
+ //# sourceMappingURL=bishop-score-CjsB9bM-.js.map
@@ -7,7 +7,7 @@ import { R as ia } from "./radio-group-CLjK-SlK.js";
7
7
  import { F as D } from "./form-field-BOm9hK35.js";
8
8
  import { N as p } from "./number-input-Dj5L3pXK.js";
9
9
  import { C as M } from "./card-DPmk26CL.js";
10
- import { B as na } from "./badge-zsf5i5bH.js";
10
+ import { B as na } from "./badge-CqGsX32l.js";
11
11
  import { B as ra, I as sa, b as oa } from "./insert-result-njqBthzT.js";
12
12
  import { b as ca, e as ma, c as da, f as O, l as W, k as ua } from "./bmi-BxD-tFzU.js";
13
13
  const ga = la("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
@@ -255,4 +255,4 @@ pa.displayName = "BmiCalculator";
255
255
  export {
256
256
  pa as B
257
257
  };
258
- //# sourceMappingURL=bmi-calculator-DuUneHuZ.js.map
258
+ //# sourceMappingURL=bmi-calculator-n-823_1V.js.map
@@ -1,13 +1,13 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
2
  import { forwardRef as H, useId as P } from "react";
3
3
  import { useTranslation as M } from "react-i18next";
4
- import { B as N } from "./badge-zsf5i5bH.js";
4
+ import { B as N } from "./badge-CqGsX32l.js";
5
5
  import { L as F } from "./link-DrD_cRUg.js";
6
6
  import { P as A } from "./progress-kzIRcdaq.js";
7
7
  import { T as C } from "./timestamp-BV2lC-wV.js";
8
- import { T as L } from "./transaction-chip-BZCa6XDn.js";
8
+ import { T as L } from "./transaction-chip-BrW8P50O.js";
9
9
  import { A as O, b as G, c as Y, a as $ } from "./accordion-9lJSMMsZ.js";
10
- import { C as q } from "./care-plan-entry-card-BukNI7Uy.js";
10
+ import { C as q } from "./care-plan-entry-card-EmfrbHu8.js";
11
11
  import { u as J } from "./registry-nPAVE19X.js";
12
12
  import { C as Q, e as W } from "./entity-card-COhmqHly.js";
13
13
  import { i as X } from "./is-safe-url-DkETxeHz.js";
@@ -249,4 +249,4 @@ export {
249
249
  de as C,
250
250
  Z as c
251
251
  };
252
- //# sourceMappingURL=care-plan-card-D42WD4-T.js.map
252
+ //# sourceMappingURL=care-plan-card-CJei-nl9.js.map
@@ -1,11 +1,11 @@
1
1
  import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
2
  import { forwardRef as Y, useId as v } from "react";
3
3
  import { useTranslation as R } from "react-i18next";
4
- import { B as c } from "./badge-zsf5i5bH.js";
4
+ import { B as c } from "./badge-CqGsX32l.js";
5
5
  import { P as O } from "./progress-kzIRcdaq.js";
6
- import { T as q } from "./tag-CdA0s_VV.js";
6
+ import { T as q } from "./tag-BQXwuJq1.js";
7
7
  import { T as b } from "./timestamp-BV2lC-wV.js";
8
- import { T as G } from "./transaction-chip-BZCa6XDn.js";
8
+ import { T as G } from "./transaction-chip-BrW8P50O.js";
9
9
  import { T as J } from "./tooth-scheme-BIx1O2aJ.js";
10
10
  import { C as Q, b as X, a as Z } from "./collapsible-X3oaLPU3.js";
11
11
  import { u as ee } from "./registry-nPAVE19X.js";
@@ -315,4 +315,4 @@ export {
315
315
  le as C,
316
316
  re as c
317
317
  };
318
- //# sourceMappingURL=care-plan-entry-card-BukNI7Uy.js.map
318
+ //# sourceMappingURL=care-plan-entry-card-EmfrbHu8.js.map
@@ -3,7 +3,7 @@ import { forwardRef as K, useId as H, useMemo as I } from "react";
3
3
  import { c as _ } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as S } from "react-i18next";
5
5
  import { A as V } from "./avatar-BNQNhoyL.js";
6
- import { B as d } from "./badge-zsf5i5bH.js";
6
+ import { B as d } from "./badge-CqGsX32l.js";
7
7
  import { C as k } from "./card-DPmk26CL.js";
8
8
  import { L as E } from "./link-DrD_cRUg.js";
9
9
  import { T as C } from "./timestamp-BV2lC-wV.js";
@@ -330,4 +330,4 @@ export {
330
330
  Z as C,
331
331
  J as c
332
332
  };
333
- //# sourceMappingURL=clinical-note-card-BYo437dU.js.map
333
+ //# sourceMappingURL=clinical-note-card-gtrxv6zn.js.map