@alfadocs/ui-kit 1.55.0 → 1.56.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 (169) hide show
  1. package/dist/_chunks/{alia-sidebar-DS0b54Mv.js → alia-sidebar-DOei4Iyu.js} +2 -2
  2. package/dist/_chunks/{anamnesis-summary-rows-Dtw5Hpg4.js → anamnesis-summary-rows-CQ-XGr0T.js} +3 -3
  3. package/dist/_chunks/{balance-badge-cell-zP-iN-Pd.js → balance-badge-cell-DmDcXw0c.js} +3 -3
  4. package/dist/_chunks/{bmi-calculator-DTZhRhXe.js → bmi-calculator-C0UTxB7R.js} +2 -2
  5. package/dist/_chunks/{booking-uZO10TLK.js → booking-WyNGKPE2.js} +2 -2
  6. package/dist/_chunks/{breadcrumb-xgVpPH2H.js → breadcrumb-Boan-5n8.js} +39 -39
  7. package/dist/_chunks/{calculator-dialog-BRjZMWuE.js → calculator-dialog-pCPWta7h.js} +2 -2
  8. package/dist/_chunks/{calendar-workspace-DVajSkKA.js → calendar-workspace-Du2ryaI-.js} +8 -8
  9. package/dist/_chunks/{care-plan-header-BeMYMiI7.js → care-plan-header-DUX_SVvF.js} +2 -2
  10. package/dist/_chunks/chart-HsF1KHbx.js +909 -0
  11. package/dist/_chunks/{contact-profile-card-C5DbP_X3.js → contact-profile-card-Ci8lBQ6a.js} +2 -2
  12. package/dist/_chunks/dashboard-grid-DfEY2qci.js +844 -0
  13. package/dist/_chunks/{data-table-C6T31E33.js → data-table-D8fuhqO1.js} +1 -1
  14. package/dist/_chunks/{date-range-picker-BOvHwWO5.js → date-range-picker-CtUOI38x.js} +188 -182
  15. package/dist/_chunks/{dependent-selector-Bet3XAFj.js → dependent-selector-DgaAQc-c.js} +91 -86
  16. package/dist/_chunks/{dialog-D52AI4nF.js → dialog-CUzbnKLw.js} +86 -69
  17. package/dist/_chunks/{due-date-calculator-DXDJbUzo.js → due-date-calculator-CSjklbyw.js} +2 -2
  18. package/dist/_chunks/{file-manager-dIJQUZvq.js → file-manager-Cc_uO8r2.js} +4 -4
  19. package/dist/_chunks/{freemium-paywall-B6ojVXq7.js → freemium-paywall-DIKuhX8b.js} +90 -86
  20. package/dist/_chunks/{gestational-age-calculator-BfGpt3du.js → gestational-age-calculator-DqVeJke2.js} +2 -2
  21. package/dist/_chunks/{heatmap-BARGZZt2.js → heatmap-Gf9r7Tn1.js} +2 -2
  22. package/dist/_chunks/{help-me-write-templates-B7L3zGsE.js → help-me-write-templates-fV-Apf72.js} +2 -2
  23. package/dist/_chunks/{key-value-pair-Ax8IJr1M.js → key-value-pair-BNNITp6S.js} +25 -19
  24. package/dist/_chunks/{kit-extensions-C9-v8Dih.js → kit-extensions-Byfxy6sy.js} +4 -4
  25. package/dist/_chunks/{link-cell-renderer-DlBVPMTi.js → link-cell-renderer-TeJNvymP.js} +2 -2
  26. package/dist/_chunks/non-modal-tab-exit-D2Bd93Bq.js +65 -0
  27. package/dist/_chunks/{notes-panel-I8ntrrUW.js → notes-panel-DceRhthG.js} +3 -3
  28. package/dist/_chunks/{patient-summary-card-3dspc2tR.js → patient-summary-card-9nQWTQf6.js} +7 -3
  29. package/dist/_chunks/{payment-automation-upsell-DEUfM7EU.js → payment-automation-upsell-DiHovmUL.js} +2 -2
  30. package/dist/_chunks/{payment-request-card-DAGqh9Yx.js → payment-request-card-CwDpwXUC.js} +2 -2
  31. package/dist/_chunks/{periodontal-chart-BqwLxy2m.js → periodontal-chart-DD5C0M3l.js} +2 -2
  32. package/dist/_chunks/{periodontal-chart-card-CWZ1YM1h.js → periodontal-chart-card-CxdXvsPU.js} +2 -2
  33. package/dist/_chunks/{periodontal-diagnosis-C9IuvLId.js → periodontal-diagnosis-D-PJv7KS.js} +2 -2
  34. package/dist/_chunks/{position-grid-D2D5_Tze.js → position-grid-CBB88EaH.js} +38 -36
  35. package/dist/_chunks/{practice-results-DxOgbPDy.js → practice-results-Dhbo-fc_.js} +2 -2
  36. package/dist/_chunks/{pregnancy-dating-R3q5n1Wh.js → pregnancy-dating-Bfu0Cq4H.js} +2 -2
  37. package/dist/_chunks/{pregnancy-weight-gain-DwmNklDU.js → pregnancy-weight-gain-CUUrBTBo.js} +2 -2
  38. package/dist/_chunks/{public-header.agent-BWusjxY8.js → public-header.agent-pr2hyiND.js} +2 -2
  39. package/dist/_chunks/{radio-group-BT97ty7o.js → radio-group-DicxWJXP.js} +111 -106
  40. package/dist/_chunks/{radiograph-panel.agent-BA90I3Mu.js → radiograph-panel.agent-DkUokbEa.js} +3 -3
  41. package/dist/_chunks/{rich-text-editor-Blp4smUr.js → rich-text-editor-CkFfmA3v.js} +2 -2
  42. package/dist/_chunks/{sheet-CNFW8mYZ.js → sheet-C7SwIxwB.js} +95 -79
  43. package/dist/_chunks/{signature-request-rgMsgo-C.js → signature-request-DhbpB9N9.js} +2 -2
  44. package/dist/_chunks/{stat-51CDL4au.js → stat-DmjGfXND.js} +117 -108
  45. package/dist/_chunks/{stepper-accordion-D7lnBGh2.js → stepper-accordion-DDTSOUHc.js} +17 -6
  46. package/dist/_chunks/{task-editor-Ctxsa1BY.js → task-editor-ByyRu29Y.js} +3 -3
  47. package/dist/_chunks/{use-appointment-details-read-DinTrRIW.js → use-appointment-details-read-JsDM48tf.js} +2 -2
  48. package/dist/_chunks/use-select-on-arrow-Cr4iBuW5.js +26 -0
  49. package/dist/_chunks/{widget-picker-D8RiWrJd.js → widget-picker-DXYBMTfe.js} +2 -2
  50. package/dist/_chunks/{workflow-map-D3mezmGB.js → workflow-map-Demlpy39.js} +2 -2
  51. package/dist/agent-catalog.json +27 -10
  52. package/dist/agent-i18n/en.json +8 -7
  53. package/dist/components/_shared/non-modal-tab-exit.d.ts +8 -0
  54. package/dist/components/_shared/use-apex-chart-semantics.d.ts +6 -0
  55. package/dist/components/_shared/use-select-on-arrow.d.ts +20 -0
  56. package/dist/components/appointment-details-panel/index.js +1 -1
  57. package/dist/components/bmi-calculator/index.js +1 -1
  58. package/dist/components/booking/index.js +1 -1
  59. package/dist/components/breadcrumb/index.js +1 -1
  60. package/dist/components/calculator-dialog/index.js +1 -1
  61. package/dist/components/care-plan-header/index.js +1 -1
  62. package/dist/components/chart/chart.d.ts +10 -5
  63. package/dist/components/chart/index.js +1 -1
  64. package/dist/components/contact-profile-card/index.js +1 -1
  65. package/dist/components/dashboard-grid/dashboard-grid-engine.d.ts +22 -0
  66. package/dist/components/dashboard-grid/dashboard-grid.d.ts +48 -4
  67. package/dist/components/dashboard-grid/index.js +1 -1
  68. package/dist/components/data-table/index.js +2 -2
  69. package/dist/components/date-range-picker/index.js +1 -1
  70. package/dist/components/dependent-selector/index.js +1 -1
  71. package/dist/components/dialog/dialog.d.ts +2 -2
  72. package/dist/components/dialog/index.js +1 -1
  73. package/dist/components/due-date-calculator/index.js +1 -1
  74. package/dist/components/file-manager/index.js +1 -1
  75. package/dist/components/freemium-paywall/index.js +1 -1
  76. package/dist/components/gestational-age-calculator/index.js +1 -1
  77. package/dist/components/heatmap/index.js +1 -1
  78. package/dist/components/key-value-pair/index.js +1 -1
  79. package/dist/components/notes-panel/index.js +1 -1
  80. package/dist/components/patient-summary-card/index.js +1 -1
  81. package/dist/components/patient-table/index.js +1 -1
  82. package/dist/components/payment-card/index.js +1 -1
  83. package/dist/components/periodontal-chart/index.js +1 -1
  84. package/dist/components/periodontal-chart-card/index.js +1 -1
  85. package/dist/components/periodontal-diagnosis/index.js +1 -1
  86. package/dist/components/position-grid/index.js +1 -1
  87. package/dist/components/practice-results/index.js +1 -1
  88. package/dist/components/pregnancy-dating/index.js +1 -1
  89. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  90. package/dist/components/public-header/index.js +1 -1
  91. package/dist/components/radio-group/index.js +1 -1
  92. package/dist/components/radiograph-panel/index.js +1 -1
  93. package/dist/components/rich-text-editor/index.js +2 -2
  94. package/dist/components/sheet/index.js +1 -1
  95. package/dist/components/sheet/sheet.d.ts +2 -2
  96. package/dist/components/stat/index.d.ts +1 -1
  97. package/dist/components/stat/index.js +1 -1
  98. package/dist/components/stat/stat.d.ts +9 -0
  99. package/dist/components/stepper-accordion/index.js +1 -1
  100. package/dist/components/task-editor/index.js +1 -1
  101. package/dist/components/widget-picker/index.js +1 -1
  102. package/dist/components/workflow/index.js +1 -1
  103. package/dist/host-legacy.css +13 -2
  104. package/dist/i18n/locales/ar.d.ts +3 -2
  105. package/dist/i18n/locales/ar.js +5 -4
  106. package/dist/i18n/locales/de.d.ts +3 -2
  107. package/dist/i18n/locales/de.js +5 -4
  108. package/dist/i18n/locales/el.d.ts +3 -2
  109. package/dist/i18n/locales/el.js +5 -4
  110. package/dist/i18n/locales/en.d.ts +3 -2
  111. package/dist/i18n/locales/en.js +5 -4
  112. package/dist/i18n/locales/es.d.ts +3 -2
  113. package/dist/i18n/locales/es.js +5 -4
  114. package/dist/i18n/locales/fr.d.ts +3 -2
  115. package/dist/i18n/locales/fr.js +5 -4
  116. package/dist/i18n/locales/hi.d.ts +3 -2
  117. package/dist/i18n/locales/hi.js +5 -4
  118. package/dist/i18n/locales/it.d.ts +3 -2
  119. package/dist/i18n/locales/it.js +5 -4
  120. package/dist/i18n/locales/ja.d.ts +3 -2
  121. package/dist/i18n/locales/ja.js +5 -4
  122. package/dist/i18n/locales/nl.d.ts +3 -2
  123. package/dist/i18n/locales/nl.js +5 -4
  124. package/dist/i18n/locales/pl.d.ts +3 -2
  125. package/dist/i18n/locales/pl.js +5 -4
  126. package/dist/i18n/locales/pt.d.ts +3 -2
  127. package/dist/i18n/locales/pt.js +5 -4
  128. package/dist/i18n/locales/ro.d.ts +3 -2
  129. package/dist/i18n/locales/ro.js +5 -4
  130. package/dist/i18n/locales/ru.d.ts +3 -2
  131. package/dist/i18n/locales/ru.js +5 -4
  132. package/dist/i18n/locales/sq.d.ts +3 -2
  133. package/dist/i18n/locales/sq.js +5 -4
  134. package/dist/i18n/locales/sv.d.ts +3 -2
  135. package/dist/i18n/locales/sv.js +5 -4
  136. package/dist/i18n/locales/tr.d.ts +3 -2
  137. package/dist/i18n/locales/tr.js +5 -4
  138. package/dist/i18n/locales/zh.d.ts +3 -2
  139. package/dist/i18n/locales/zh.js +5 -4
  140. package/dist/index.js +48 -48
  141. package/dist/locales/ar.json +5 -4
  142. package/dist/locales/de.json +5 -4
  143. package/dist/locales/el.json +5 -4
  144. package/dist/locales/en.json +5 -4
  145. package/dist/locales/es.json +5 -4
  146. package/dist/locales/fr.json +5 -4
  147. package/dist/locales/hi.json +5 -4
  148. package/dist/locales/it.json +5 -4
  149. package/dist/locales/ja.json +5 -4
  150. package/dist/locales/nl.json +5 -4
  151. package/dist/locales/pl.json +5 -4
  152. package/dist/locales/pt.json +5 -4
  153. package/dist/locales/ro.json +5 -4
  154. package/dist/locales/ru.json +5 -4
  155. package/dist/locales/sq.json +5 -4
  156. package/dist/locales/sv.json +5 -4
  157. package/dist/locales/tr.json +5 -4
  158. package/dist/locales/zh.json +5 -4
  159. package/dist/patterns/alia-assistant/index.js +1 -1
  160. package/dist/patterns/anamnesis/index.js +1 -1
  161. package/dist/patterns/calendar/index.js +1 -1
  162. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +2 -2
  163. package/dist/patterns/help-me-write-templates/index.js +1 -1
  164. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  165. package/dist/patterns/signature-request/index.js +1 -1
  166. package/dist/tokens.css +13 -2
  167. package/package.json +1 -1
  168. package/dist/_chunks/chart-C2RBJERE.js +0 -705
  169. package/dist/_chunks/dashboard-grid-SAGoyCtL.js +0 -691
@@ -1,17 +1,18 @@
1
1
  import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
- import { forwardRef as _, useId as k, useRef as c, useImperativeHandle as E, useMemo as J } from "react";
2
+ import { forwardRef as E, useId as I, useRef as c, useImperativeHandle as J, useMemo as Q } from "react";
3
3
  import * as i from "@radix-ui/react-alert-dialog";
4
- import * as I from "@radix-ui/react-radio-group";
5
- import { c as Q } from "./index-D2ZczOXr.js";
6
- import { useTranslation as X } from "react-i18next";
7
- import { u as Y } from "./use-controllable-state-BiY4xTzM.js";
8
- import { u as Z } from "./registry-DvAUVLHh.js";
4
+ import * as K from "@radix-ui/react-radio-group";
5
+ import { c as X } from "./index-D2ZczOXr.js";
6
+ import { useTranslation as Y } from "react-i18next";
7
+ import { u as Z } from "./use-controllable-state-BiY4xTzM.js";
8
+ import { u as $ } from "./use-select-on-arrow-Cr4iBuW5.js";
9
+ import { u as ee } from "./registry-DvAUVLHh.js";
9
10
  import { B as R } from "./button-Bn16lcFM.js";
10
- import { P as $ } from "./progress-D_g_Sl2g.js";
11
- import { f as ee } from "./payment-form-v6zZuV1_.js";
12
- import { T as ae } from "./triangle-alert-CBnO6nq_.js";
13
- import { C as se } from "./check-DrFSN__t.js";
14
- const re = {
11
+ import { P as se } from "./progress-D_g_Sl2g.js";
12
+ import { f as ae } from "./payment-form-v6zZuV1_.js";
13
+ import { T as re } from "./triangle-alert-CBnO6nq_.js";
14
+ import { C as te } from "./check-DrFSN__t.js";
15
+ const de = {
15
16
  id: "freemium-paywall",
16
17
  capabilities: ["submit", "dismiss"],
17
18
  state: {
@@ -19,13 +20,13 @@ const re = {
19
20
  type: "boolean",
20
21
  descriptionKey: "ui.agent.freemiumPaywall.state.isOpen",
21
22
  description: "True when the paywall dialog is open.",
22
- read: (s) => s.isOpen()
23
+ read: (r) => r.isOpen()
23
24
  },
24
25
  selectedPlanId: {
25
26
  type: "string | null",
26
27
  descriptionKey: "ui.agent.freemiumPaywall.state.selectedPlanId",
27
28
  description: "Opaque id of the currently-selected plan.",
28
- read: (s) => s.getSelectedPlanId()
29
+ read: (r) => r.getSelectedPlanId()
29
30
  }
30
31
  },
31
32
  actions: {
@@ -37,8 +38,8 @@ const re = {
37
38
  descriptionKey: "ui.agent.freemiumPaywall.actions.upgrade",
38
39
  description: "Fire onUpgrade with the currently-selected plan id.",
39
40
  errors: ["No plan selected — upgrade is a no-op until a plan is chosen."],
40
- invoke: (s) => {
41
- s.upgrade();
41
+ invoke: (r) => {
42
+ r.upgrade();
42
43
  }
43
44
  },
44
45
  dismiss: {
@@ -46,8 +47,8 @@ const re = {
46
47
  // Backs the `dismiss` capability.
47
48
  descriptionKey: "ui.agent.freemiumPaywall.actions.dismiss",
48
49
  description: "Dismiss the paywall via the Not Now action. Irreversible from the same UI.",
49
- invoke: (s) => {
50
- s.dismiss();
50
+ invoke: (r) => {
51
+ r.dismiss();
51
52
  }
52
53
  }
53
54
  },
@@ -63,7 +64,7 @@ const re = {
63
64
  description: "Sourced from the id prop."
64
65
  }
65
66
  }
66
- }, te = Q(
67
+ }, ie = X(
67
68
  [
68
69
  "ds:fixed ds:z-[var(--z-modal)] ds:overflow-auto",
69
70
  "ds:bg-[color:var(--popover)] ds:text-[color:var(--popover-foreground)]",
@@ -90,55 +91,55 @@ const re = {
90
91
  },
91
92
  defaultVariants: { layout: "centered", density: "full" }
92
93
  }
93
- ), de = _(
94
+ ), le = E(
94
95
  ({
95
- open: s,
96
+ open: r,
96
97
  onOpenChange: m,
97
98
  plans: p,
98
99
  selectedPlanId: C,
99
- defaultSelectedPlanId: K,
100
- onSelectedPlanChange: j,
101
- usage: r,
102
- onUpgrade: A,
100
+ defaultSelectedPlanId: A,
101
+ onSelectedPlanChange: S,
102
+ usage: t,
103
+ onUpgrade: j,
103
104
  onCancel: n,
104
105
  title: F,
105
- description: S,
106
+ description: O,
106
107
  id: u,
107
108
  layout: z = "centered",
108
109
  density: T = "full",
109
- className: M
110
- }, O) => {
111
- var x;
112
- const { t: a, i18n: L } = X("ui"), f = k(), v = k(), [V, D] = Y({
110
+ className: D
111
+ }, M) => {
112
+ var N;
113
+ const { t: s, i18n: L } = Y("ui"), f = I(), v = I(), [V, H] = Z({
113
114
  value: C,
114
- defaultValue: K ?? ((x = p[0]) == null ? void 0 : x.id) ?? "",
115
- onChange: j
116
- }), l = V ?? "", g = () => {
115
+ defaultValue: A ?? ((N = p[0]) == null ? void 0 : N.id) ?? "",
116
+ onChange: S
117
+ }), l = V ?? "", g = $(), h = () => {
117
118
  n == null || n(), m(!1);
118
- }, h = () => {
119
- l && A(l);
120
- }, y = c(s);
121
- y.current = s;
119
+ }, y = () => {
120
+ l && j(l);
121
+ }, w = c(r);
122
+ w.current = r;
122
123
  const b = c(l);
123
124
  b.current = l;
124
- const w = c(null);
125
- E(O, () => w.current, []);
126
- const H = J(
125
+ const x = c(null);
126
+ J(M, () => x.current, []);
127
+ const U = Q(
127
128
  () => ({
128
- isOpen: () => y.current,
129
+ isOpen: () => w.current,
129
130
  getSelectedPlanId: () => b.current || null,
130
- upgrade: () => h(),
131
- dismiss: () => g()
131
+ upgrade: () => y(),
132
+ dismiss: () => h()
132
133
  }),
133
134
  // eslint-disable-next-line react-hooks/exhaustive-deps
134
135
  []
135
136
  );
136
- Z(re, H, u);
137
- const U = r ? Math.min(
137
+ ee(de, U, u);
138
+ const B = t ? Math.min(
138
139
  100,
139
- Math.max(0, r.used / Math.max(1, r.limit) * 100)
140
- ) : 0, o = r ? r.used >= r.limit : !1;
141
- return /* @__PURE__ */ e(i.Root, { open: s, onOpenChange: m, children: /* @__PURE__ */ d(i.Portal, { children: [
140
+ Math.max(0, t.used / Math.max(1, t.limit) * 100)
141
+ ) : 0, o = t ? t.used >= t.limit : !1;
142
+ return /* @__PURE__ */ e(i.Root, { open: r, onOpenChange: m, children: /* @__PURE__ */ d(i.Portal, { children: [
142
143
  /* @__PURE__ */ e(
143
144
  i.Overlay,
144
145
  {
@@ -155,19 +156,19 @@ const re = {
155
156
  /* @__PURE__ */ d(
156
157
  i.Content,
157
158
  {
158
- ref: w,
159
+ ref: x,
159
160
  "aria-labelledby": f,
160
161
  "aria-describedby": v,
161
- className: te({ layout: z, density: T, className: M }),
162
+ className: ie({ layout: z, density: T, className: D }),
162
163
  "data-component": "freemium-paywall",
163
164
  "data-component-id": u,
164
165
  children: [
165
- /* @__PURE__ */ e(i.Title, { id: f, asChild: !0, children: /* @__PURE__ */ e("h2", { className: "type-title-card", children: F ?? a("paywall.title") }) }),
166
- /* @__PURE__ */ e(i.Description, { id: v, asChild: !0, children: /* @__PURE__ */ e("p", { className: "ds:mt-[var(--spacing-xs)] ds:text-[color:var(--muted-foreground)]", children: S ?? a("paywall.description") }) }),
167
- r ? /* @__PURE__ */ d("div", { className: "ds:mt-[var(--spacing-md)]", children: [
166
+ /* @__PURE__ */ e(i.Title, { id: f, asChild: !0, children: /* @__PURE__ */ e("h2", { className: "type-title-card", children: F ?? s("paywall.title") }) }),
167
+ /* @__PURE__ */ e(i.Description, { id: v, asChild: !0, children: /* @__PURE__ */ e("p", { className: "ds:mt-[var(--spacing-xs)] ds:text-[color:var(--muted-foreground)]", children: O ?? s("paywall.description") }) }),
168
+ t ? /* @__PURE__ */ d("div", { className: "ds:mt-[var(--spacing-md)]", children: [
168
169
  /* @__PURE__ */ d("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)] ds:mb-[var(--spacing-xs)]", children: [
169
170
  o ? /* @__PURE__ */ e(
170
- ae,
171
+ re,
171
172
  {
172
173
  "aria-hidden": "true",
173
174
  className: "ds:size-4 ds:text-[color:var(--destructive)]"
@@ -180,43 +181,46 @@ const re = {
180
181
  "type-body-sm",
181
182
  o ? "ds:text-[color:var(--destructive)]" : "ds:text-[color:var(--muted-foreground)]"
182
183
  ].join(" "),
183
- children: o ? a("paywall.usageFull") : a("paywall.usageLabel", {
184
- used: r.used,
185
- limit: r.limit
184
+ children: o ? s("paywall.usageFull") : s("paywall.usageLabel", {
185
+ used: t.used,
186
+ limit: t.limit
186
187
  })
187
188
  }
188
189
  )
189
190
  ] }),
190
191
  /* @__PURE__ */ e(
191
- $,
192
+ se,
192
193
  {
193
- value: U,
194
+ value: B,
194
195
  max: 100,
195
- ariaLabel: a("paywall.usageLabel", {
196
- used: r.used,
197
- limit: r.limit
196
+ ariaLabel: s("paywall.usageLabel", {
197
+ used: t.used,
198
+ limit: t.limit
198
199
  }),
199
200
  className: o ? "ds:[&_[role=progressbar]>*]:bg-[color:var(--destructive)]" : ""
200
201
  }
201
202
  )
202
203
  ] }) : null,
203
204
  /* @__PURE__ */ e(
204
- I.Root,
205
+ K.Root,
205
206
  {
206
207
  value: l,
207
- onValueChange: D,
208
- "aria-label": a("paywall.title"),
208
+ onValueChange: (a) => {
209
+ g.noteSelection(), H(a);
210
+ },
211
+ onKeyDown: g.onKeyDown,
212
+ "aria-label": s("paywall.title"),
209
213
  className: "ds:mt-[var(--spacing-md)] ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
210
- children: p.map((t) => {
211
- const N = ee(
212
- t.priceAmount,
213
- t.currency,
214
+ children: p.map((a) => {
215
+ const P = ae(
216
+ a.priceAmount,
217
+ a.currency,
214
218
  L.language
215
- ), P = t.perKey ? a(t.perKey) : void 0, B = P ? a("paywall.pricePer", { price: N, period: P }) : N, q = a(t.nameKey);
219
+ ), k = a.perKey ? s(a.perKey) : void 0, q = k ? s("paywall.pricePer", { price: P, period: k }) : P, G = s(a.nameKey);
216
220
  return /* @__PURE__ */ d(
217
- I.Item,
221
+ K.Item,
218
222
  {
219
- value: t.id,
223
+ value: a.id,
220
224
  className: [
221
225
  "ds:group ds:relative ds:flex ds:flex-col ds:items-stretch",
222
226
  "ds:rounded-[var(--radius-md)] ds:[:where(&)]:border-[length:var(--surface-border-width,var(--border-width-sm))] ds:border-[color:var(--card-border)]",
@@ -229,43 +233,43 @@ const re = {
229
233
  ].join(" "),
230
234
  children: [
231
235
  /* @__PURE__ */ d("span", { className: "ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
232
- /* @__PURE__ */ e("span", { className: "ds:font-semibold", children: q }),
233
- /* @__PURE__ */ e("span", { className: "ds:tabular-nums", children: B })
236
+ /* @__PURE__ */ e("span", { className: "ds:font-semibold", children: G }),
237
+ /* @__PURE__ */ e("span", { className: "ds:tabular-nums", children: q })
234
238
  ] }),
235
- t.featuresKeys && t.featuresKeys.length > 0 ? /* @__PURE__ */ e(
239
+ a.featuresKeys && a.featuresKeys.length > 0 ? /* @__PURE__ */ e(
236
240
  "ul",
237
241
  {
238
- "aria-label": a("paywall.features"),
242
+ "aria-label": s("paywall.features"),
239
243
  className: "ds:mt-[var(--spacing-xs)] ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]",
240
- children: t.featuresKeys.map((G, W) => /* @__PURE__ */ d(
244
+ children: a.featuresKeys.map((W, _) => /* @__PURE__ */ d(
241
245
  "li",
242
246
  {
243
247
  className: "ds:flex ds:items-start ds:gap-[var(--spacing-xs)] type-body-sm",
244
248
  children: [
245
249
  /* @__PURE__ */ e(
246
- se,
250
+ te,
247
251
  {
248
252
  "aria-hidden": "true",
249
253
  className: "ds:size-4 ds:shrink-0 ds:text-[color:var(--primary)] ds:mt-[1px]"
250
254
  }
251
255
  ),
252
- /* @__PURE__ */ e("span", { children: a(G) })
256
+ /* @__PURE__ */ e("span", { children: s(W) })
253
257
  ]
254
258
  },
255
- W
259
+ _
256
260
  ))
257
261
  }
258
262
  ) : null
259
263
  ]
260
264
  },
261
- t.id
265
+ a.id
262
266
  );
263
267
  })
264
268
  }
265
269
  ),
266
270
  /* @__PURE__ */ d("div", { className: "ds:mt-[var(--spacing-lg)] ds:flex ds:items-center ds:gap-[var(--spacing-sm)] ds:justify-end", children: [
267
- /* @__PURE__ */ e(i.Cancel, { asChild: !0, children: /* @__PURE__ */ e(R, { intent: "outline", onClick: g, children: a("paywall.notNow") }) }),
268
- /* @__PURE__ */ e(i.Action, { asChild: !0, children: /* @__PURE__ */ e(R, { intent: "primary", onClick: h, children: a("paywall.upgrade") }) })
271
+ /* @__PURE__ */ e(i.Cancel, { asChild: !0, children: /* @__PURE__ */ e(R, { intent: "outline", onClick: h, children: s("paywall.notNow") }) }),
272
+ /* @__PURE__ */ e(i.Action, { asChild: !0, children: /* @__PURE__ */ e(R, { intent: "primary", onClick: y, children: s("paywall.upgrade") }) })
269
273
  ] })
270
274
  ]
271
275
  }
@@ -273,9 +277,9 @@ const re = {
273
277
  ] }) });
274
278
  }
275
279
  );
276
- de.displayName = "FreemiumPaywall";
280
+ le.displayName = "FreemiumPaywall";
277
281
  export {
278
- de as F,
279
- re as f
282
+ le as F,
283
+ de as f
280
284
  };
281
- //# sourceMappingURL=freemium-paywall-B6ojVXq7.js.map
285
+ //# sourceMappingURL=freemium-paywall-DIKuhX8b.js.map
@@ -4,7 +4,7 @@ import { c as de } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as ce } from "react-i18next";
5
5
  import { u as ue } from "./registry-DvAUVLHh.js";
6
6
  import { R as d } from "./radio-BBbMdbE_.js";
7
- import { R as S } from "./radio-group-BT97ty7o.js";
7
+ import { R as S } from "./radio-group-DicxWJXP.js";
8
8
  import { F as k } from "./form-field-Ani72sVY.js";
9
9
  import { D as _ } from "./date-picker-wRAcq2lt.js";
10
10
  import { S as me } from "./select-Ce5RMk93.js";
@@ -485,4 +485,4 @@ Re.displayName = "GestationalAgeCalculator";
485
485
  export {
486
486
  Re as G
487
487
  };
488
- //# sourceMappingURL=gestational-age-calculator-BfGpt3du.js.map
488
+ //# sourceMappingURL=gestational-age-calculator-DqVeJke2.js.map
@@ -2036,7 +2036,7 @@ const ea = fa(
2036
2036
  }
2037
2037
  );
2038
2038
  ea.displayName = "HeatmapLegend";
2039
- const ta = () => import("./data-table-C6T31E33.js").then((e) => e.h).then((e) => ({
2039
+ const ta = () => import("./data-table-D8fuhqO1.js").then((e) => e.h).then((e) => ({
2040
2040
  default: e.DataTable
2041
2041
  })), Mr = va(ta);
2042
2042
  function ha() {
@@ -2862,4 +2862,4 @@ export {
2862
2862
  Na as b,
2863
2863
  Ya as h
2864
2864
  };
2865
- //# sourceMappingURL=heatmap-BARGZZt2.js.map
2865
+ //# sourceMappingURL=heatmap-Gf9r7Tn1.js.map
@@ -5,7 +5,7 @@ import { c as ce } from "./index-D2ZczOXr.js";
5
5
  import { A as O } from "./alert-BhCstf2h.js";
6
6
  import { B as N } from "./button-Bn16lcFM.js";
7
7
  import { I as B } from "./icon-button-COX76Jdj.js";
8
- import { D as x } from "./dialog-D52AI4nF.js";
8
+ import { D as x } from "./dialog-CUzbnKLw.js";
9
9
  import { E as de } from "./editor-overlay-NMxzcO6J.js";
10
10
  import { E as me } from "./empty-state-gNG3qYCX.js";
11
11
  import { F as Z } from "./form-field-Ani72sVY.js";
@@ -744,4 +744,4 @@ export {
744
744
  Le as c,
745
745
  mr as u
746
746
  };
747
- //# sourceMappingURL=help-me-write-templates-B7L3zGsE.js.map
747
+ //# sourceMappingURL=help-me-write-templates-fV-Apf72.js.map
@@ -1,11 +1,11 @@
1
- import { jsx as a, jsxs as i, Fragment as y } from "react/jsx-runtime";
2
- import { forwardRef as g, useState as f, useCallback as K } from "react";
3
- import { c as h } from "./index-D2ZczOXr.js";
1
+ import { jsx as a, jsxs as i, Fragment as f } from "react/jsx-runtime";
2
+ import { forwardRef as h, useState as y, useCallback as K } from "react";
3
+ import { c as v } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as T } from "react-i18next";
5
5
  import { I as j } from "./icon-button-COX76Jdj.js";
6
6
  import { C as _ } from "./check-DrFSN__t.js";
7
7
  import { C as A } from "./copy-vRpqqHtY.js";
8
- const B = h(
8
+ const B = v(
9
9
  "type-body ds:text-foreground ds:min-w-0 ds:[unicode-bidi:isolate]",
10
10
  {
11
11
  variants: {
@@ -47,7 +47,7 @@ const B = h(
47
47
  mono: !1
48
48
  }
49
49
  }
50
- ), L = h("ds:flex", {
50
+ ), L = v("ds:flex", {
51
51
  variants: {
52
52
  layout: {
53
53
  horizontal: "ds:flex-row ds:items-center ds:gap-[var(--spacing-sm)]",
@@ -66,25 +66,25 @@ const B = h(
66
66
  layout: "horizontal",
67
67
  hasIcon: !1
68
68
  }
69
- }), S = g(
69
+ }), S = h(
70
70
  ({
71
71
  label: t,
72
72
  labelNode: l,
73
73
  value: e,
74
74
  layout: s = "horizontal",
75
75
  alignValue: n = "start",
76
- mono: v = !1,
76
+ mono: g = !1,
77
77
  copyable: k = !1,
78
78
  copyText: x,
79
79
  icon: d,
80
80
  className: V,
81
81
  ...C
82
82
  }, z) => {
83
- const { t: o } = T("ui"), [N, p] = f(!1), [b, r] = f(""), c = x ?? (typeof e == "string" ? e : void 0), w = K(async () => {
83
+ const { t: o } = T("ui"), [N, u] = y(!1), [b, r] = y(""), c = x ?? (typeof e == "string" ? e : void 0), w = K(async () => {
84
84
  if (c)
85
85
  try {
86
- await navigator.clipboard.writeText(c), p(!0), r(o("keyValuePair.copied")), setTimeout(() => {
87
- p(!1), r("");
86
+ await navigator.clipboard.writeText(c), u(!0), r(o("keyValuePair.copied")), setTimeout(() => {
87
+ u(!1), r("");
88
88
  }, 2e3);
89
89
  } catch {
90
90
  r(o("keyValuePair.notAvailable")), setTimeout(() => r(""), 3e3);
@@ -92,8 +92,8 @@ const B = h(
92
92
  }, [c, o]), P = B({
93
93
  layout: s,
94
94
  alignValue: n,
95
- mono: v
96
- }), u = d != null, I = "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-0 ds:flex-1", m = /* @__PURE__ */ i(y, { children: [
95
+ mono: g
96
+ }), m = d != null, I = "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-0 ds:flex-1", p = /* @__PURE__ */ i(f, { children: [
97
97
  /* @__PURE__ */ i("span", { className: "type-label ds:text-muted-foreground ds:shrink-0", children: [
98
98
  l ?? t,
99
99
  /* @__PURE__ */ a("span", { className: "ds:sr-only", children: ": " })
@@ -122,11 +122,12 @@ const B = h(
122
122
  "div",
123
123
  {
124
124
  ref: z,
125
- className: L({ layout: s, hasIcon: u, className: V }),
125
+ className: L({ layout: s, hasIcon: m, className: V }),
126
126
  "data-component": "key-value-pair",
127
+ "data-has-icon": m ? "" : void 0,
127
128
  ...C,
128
129
  children: [
129
- u ? /* @__PURE__ */ i(y, { children: [
130
+ m ? /* @__PURE__ */ i(f, { children: [
130
131
  /* @__PURE__ */ a(
131
132
  "span",
132
133
  {
@@ -135,8 +136,8 @@ const B = h(
135
136
  children: d
136
137
  }
137
138
  ),
138
- s === "horizontal" ? m : /* @__PURE__ */ a("div", { className: I, children: m })
139
- ] }) : m,
139
+ s === "horizontal" ? p : /* @__PURE__ */ a("div", { className: I, children: p })
140
+ ] }) : p,
140
141
  /* @__PURE__ */ a("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: b })
141
142
  ]
142
143
  }
@@ -148,14 +149,19 @@ const F = {
148
149
  sm: "ds:gap-y-[var(--spacing-sm)]",
149
150
  md: "ds:gap-y-[var(--spacing-md)]",
150
151
  lg: "ds:gap-y-[var(--spacing-lg)]"
151
- }, G = g(
152
+ }, G = h(
152
153
  ({ children: t, className: l, rowGap: e = "md", ...s }, n) => /* @__PURE__ */ a(
153
154
  "div",
154
155
  {
155
156
  ref: n,
156
157
  "data-component": "key-value-list",
157
158
  className: [
158
- "ds:grid ds:grid-cols-[auto_auto_minmax(0,1fr)]",
159
+ // The label track reads a custom property, and an icon list only
160
+ // sets that property: it never re-declares the template, so a
161
+ // host's own column layout (PatientSummaryCard's two fields per
162
+ // row from 672px) still wins exactly as before.
163
+ "ds:grid ds:grid-cols-[auto_var(--kvl-label-track,auto)_minmax(0,1fr)]",
164
+ "ds:has-[>[data-has-icon]]:[--kvl-label-track:fit-content(40%)]",
159
165
  "ds:gap-x-[var(--spacing-md)]",
160
166
  F[e],
161
167
  // Each direct `data-component="key-value-pair"` child becomes
@@ -186,4 +192,4 @@ export {
186
192
  G as K,
187
193
  S as a
188
194
  };
189
- //# sourceMappingURL=key-value-pair-Ax8IJr1M.js.map
195
+ //# sourceMappingURL=key-value-pair-BNNITp6S.js.map
@@ -1,7 +1,7 @@
1
1
  import { createElement as e } from "react";
2
- import { P as i } from "./pregnancy-dating-R3q5n1Wh.js";
3
- import { P as o } from "./pregnancy-weight-gain-DwmNklDU.js";
4
- import { G as r } from "./gestational-age-calculator-BfGpt3du.js";
2
+ import { P as i } from "./pregnancy-dating-Bfu0Cq4H.js";
3
+ import { P as o } from "./pregnancy-weight-gain-CUUrBTBo.js";
4
+ import { G as r } from "./gestational-age-calculator-DqVeJke2.js";
5
5
  import { C as c } from "./cycle-calculator-Dgfqr4Q4.js";
6
6
  import { F as s } from "./fetal-weight-BWaqqjea.js";
7
7
  import { c as a } from "./createLucideIcon-DhHxpK9K.js";
@@ -91,4 +91,4 @@ const k = [
91
91
  export {
92
92
  I as k
93
93
  };
94
- //# sourceMappingURL=kit-extensions-C9-v8Dih.js.map
94
+ //# sourceMappingURL=kit-extensions-Byfxy6sy.js.map
@@ -1,7 +1,7 @@
1
1
  import { jsx as u, jsxs as R } from "react/jsx-runtime";
2
2
  import { useState as x, useEffect as w, useCallback as W, useMemo as E, useRef as ee } from "react";
3
3
  import { useGridFilter as V } from "ag-grid-react";
4
- import { D as te } from "./date-range-picker-BOvHwWO5.js";
4
+ import { D as te } from "./date-range-picker-CtUOI38x.js";
5
5
  import { useTranslation as M } from "react-i18next";
6
6
  import { C as le } from "./checkbox--ndmyokr.js";
7
7
  import { B as j } from "./button-Bn16lcFM.js";
@@ -864,4 +864,4 @@ export {
864
864
  Ke as g,
865
865
  k as h
866
866
  };
867
- //# sourceMappingURL=link-cell-renderer-DlBVPMTi.js.map
867
+ //# sourceMappingURL=link-cell-renderer-TeJNvymP.js.map
@@ -0,0 +1,65 @@
1
+ import { useCallback as f } from "react";
2
+ const l = "data-radix-focus-guard";
3
+ function s(e) {
4
+ return e.hidden || e.disabled === !0 || e.tagName === "INPUT" && e.type === "hidden" ? !1 : e.tabIndex >= 0;
5
+ }
6
+ function c(e, r) {
7
+ if (getComputedStyle(e).visibility === "hidden") return !0;
8
+ let t = e;
9
+ for (; t; ) {
10
+ if (r !== void 0 && t === r) return !1;
11
+ if (getComputedStyle(t).display === "none") return !0;
12
+ t = t.parentElement;
13
+ }
14
+ return !1;
15
+ }
16
+ function E(e, r) {
17
+ const t = e.ownerDocument.createTreeWalker(
18
+ e,
19
+ NodeFilter.SHOW_ELEMENT,
20
+ {
21
+ acceptNode: (i) => s(i) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP
22
+ }
23
+ ), n = [];
24
+ for (; t.nextNode(); ) n.push(t.currentNode);
25
+ return r === "last" && n.reverse(), n.find((i) => !c(i, e));
26
+ }
27
+ function N(e) {
28
+ return c(e) || (e.focus(), e.ownerDocument.activeElement !== e) ? !1 : (e.tagName === "INPUT" && e.select(), !0);
29
+ }
30
+ function T(e, r) {
31
+ const t = e.ownerDocument, n = t.createTreeWalker(t.body, NodeFilter.SHOW_ELEMENT, {
32
+ acceptNode: (u) => {
33
+ const o = u;
34
+ return o === e || o.hidden || o.hasAttribute("inert") ? NodeFilter.FILTER_REJECT : s(o) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
35
+ }
36
+ });
37
+ let i = e;
38
+ if (!r) for (; i.lastChild; ) i = i.lastChild;
39
+ n.currentNode = i;
40
+ let a = null;
41
+ const d = () => r ? n.previousNode() : n.nextNode();
42
+ for (let u = d(); u; u = d()) {
43
+ const o = u;
44
+ if (o.hasAttribute(l)) a = o;
45
+ else if (N(o)) return "moved";
46
+ }
47
+ return a ? (a.focus(), t.activeElement === a ? "native" : "none") : "none";
48
+ }
49
+ function b(e) {
50
+ return f(
51
+ (r) => {
52
+ if (!e || r.defaultPrevented || r.key !== "Tab" || r.altKey || r.ctrlKey || r.metaKey)
53
+ return;
54
+ const t = r.currentTarget, n = t.ownerDocument.activeElement;
55
+ if (!n || !t.contains(n)) return;
56
+ const i = r.shiftKey, a = E(t, i ? "first" : "last");
57
+ (n === a || n === t && (!a || i)) && T(t, i) === "moved" && r.preventDefault();
58
+ },
59
+ [e]
60
+ );
61
+ }
62
+ export {
63
+ b as u
64
+ };
65
+ //# sourceMappingURL=non-modal-tab-exit-D2Bd93Bq.js.map
@@ -5,7 +5,7 @@ import { useTranslation as kn } from "react-i18next";
5
5
  import { g as mt, h as Rt } from "./handled-rejection-6gqCf5vt.js";
6
6
  import { u as zn } from "./registry-DvAUVLHh.js";
7
7
  import { C as Hn } from "./clinical-note-card-14JIoUR0.js";
8
- import { R as Mn } from "./rich-text-editor-Blp4smUr.js";
8
+ import { R as Mn } from "./rich-text-editor-CkFfmA3v.js";
9
9
  import { T as Wn } from "./text-area-COMVJ1yE.js";
10
10
  import { A as j } from "./alert-BhCstf2h.js";
11
11
  import { B as te } from "./button-Bn16lcFM.js";
@@ -14,7 +14,7 @@ import { S as $n } from "./switch-D--x7n6h.js";
14
14
  import { T as Bn } from "./tooltip-Cp-PLePW.js";
15
15
  import { C as yt } from "./card-DMO2nkt4.js";
16
16
  import { C as Kn, S as ve } from "./skeleton-B1KTdJ4N.js";
17
- import { D as L } from "./dialog-D52AI4nF.js";
17
+ import { D as L } from "./dialog-CUzbnKLw.js";
18
18
  import { P as In } from "./panel-header-D_mTdhUp.js";
19
19
  import { a as Yn, u as Gn, R as Jn } from "./use-list-reflow-C7O4Uqnl.js";
20
20
  import { u as Qn } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
@@ -1109,4 +1109,4 @@ const jr = qn(
1109
1109
  export {
1110
1110
  jr as N
1111
1111
  };
1112
- //# sourceMappingURL=notes-panel-I8ntrrUW.js.map
1112
+ //# sourceMappingURL=notes-panel-DceRhthG.js.map
@@ -6,7 +6,7 @@ import { A as re } from "./avatar-WZY3eGE7.js";
6
6
  import { B as D } from "./badge-hnBt8o7n.js";
7
7
  import { I as Ue } from "./icon-button-COX76Jdj.js";
8
8
  import { C as le } from "./card-DMO2nkt4.js";
9
- import { K as Be, a as Re } from "./key-value-pair-Ax8IJr1M.js";
9
+ import { K as Be, a as Re } from "./key-value-pair-BNNITp6S.js";
10
10
  import { L as V } from "./link-2HokYuIi.js";
11
11
  import { S as k } from "./skeleton-B1KTdJ4N.js";
12
12
  import { T as oe } from "./tag-CS5cXpfx.js";
@@ -489,11 +489,15 @@ const ga = {
489
489
  // each column keeps its own subgrid label/value alignment.
490
490
  // 672px, not the `@2xl` rem alias: container-query `rem` follows the
491
491
  // host root font-size, so a non-16px root moves the threshold.
492
+ // Each label column stops at 20% of the card (every field has an
493
+ // icon, so labels sit in the middle track of each group): a long
494
+ // label wraps instead of squeezing its value, as KeyValueList's
495
+ // single-column cap does at 40%.
492
496
  /* @__PURE__ */ e("div", { className: "ds:@container/pfields", children: /* @__PURE__ */ e(
493
497
  Be,
494
498
  {
495
499
  rowGap: "sm",
496
- className: "ds:@[672px]/pfields:grid-cols-[repeat(2,auto_auto_minmax(0,1fr))]",
500
+ className: "ds:@[672px]/pfields:grid-cols-[repeat(2,auto_fit-content(20%)_minmax(0,1fr))]",
497
501
  children: te.map((a) => /* @__PURE__ */ e(
498
502
  Re,
499
503
  {
@@ -544,4 +548,4 @@ export {
544
548
  Ca as P,
545
549
  ma as p
546
550
  };
547
- //# sourceMappingURL=patient-summary-card-3dspc2tR.js.map
551
+ //# sourceMappingURL=patient-summary-card-9nQWTQf6.js.map