@alfadocs/ui-kit 0.41.2 → 0.42.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 (146) hide show
  1. package/dist/_chunks/address-autocomplete-CSjMrBvu.js +358 -0
  2. package/dist/_chunks/{alia-sidebar-DXsYPinm.js → alia-sidebar-BpX4z_af.js} +2 -2
  3. package/dist/_chunks/{bmi-calculator-DnEr513I.js → bmi-calculator-D4juUcyF.js} +57 -51
  4. package/dist/_chunks/{breadcrumb-CLlhx7qo.js → breadcrumb-OTbaY70e.js} +4 -4
  5. package/dist/_chunks/cycle-calculator-DsZbyzX6.js +191 -0
  6. package/dist/_chunks/{document-scanner-CqS_klIr.js → document-scanner-BqLsGs4Y.js} +7 -7
  7. package/dist/_chunks/{dropdown-menu-BC5ZdOMo.js → dropdown-menu-CUEXqKis.js} +2 -2
  8. package/dist/_chunks/{due-date-calculator-CUspKSTw.js → due-date-calculator-s_CBgaFs.js} +53 -40
  9. package/dist/_chunks/{editable-currency-cell-renderer-DgkCIIcO.js → editable-currency-cell-renderer-BhUkRiPZ.js} +2 -2
  10. package/dist/_chunks/{freemium-paywall-BAk3a6er.js → freemium-paywall-BLXESpH4.js} +2 -2
  11. package/dist/_chunks/{gestational-age-calculator-CsQ05qDy.js → gestational-age-calculator-CWOG3bkI.js} +56 -43
  12. package/dist/_chunks/{header-settings-CBLwUK6t.js → header-settings-Bx0Biimh.js} +2 -2
  13. package/dist/_chunks/index.modern-D2LGACWg.js +1529 -0
  14. package/dist/_chunks/insert-result-DtQQeSSf.js +227 -0
  15. package/dist/_chunks/{kbd-Cglkd7CY.js → kbd-D855ZXIW.js} +2 -2
  16. package/dist/_chunks/map-view-Tb5VfK9Y.js +333 -0
  17. package/dist/_chunks/marketplace-app-shell-kVAVycz_.js +391 -0
  18. package/dist/_chunks/{patient-search-CBq62kmL.js → patient-search-DPe2ZYEL.js} +2 -2
  19. package/dist/_chunks/{patient-shell-DF81lALv.js → patient-shell-lDX3wwu6.js} +2 -2
  20. package/dist/_chunks/{payment-form-Dy3WIIsC.js → payment-form-BzVsG6Ks.js} +5 -5
  21. package/dist/_chunks/{pdf-viewer-Cy6Ul3hZ.js → pdf-viewer-B6MC6VTx.js} +139 -126
  22. package/dist/_chunks/{practice-results-C0d4IL5E.js → practice-results-CrLpEiiW.js} +4 -4
  23. package/dist/_chunks/pregnancy-weight-gain-B7kBK-ZR.js +223 -0
  24. package/dist/_chunks/{public-header.agent-B2dDg2_d.js → public-header.agent-BY6FH71R.js} +2 -2
  25. package/dist/_chunks/radio-group-CLjK-SlK.js +167 -0
  26. package/dist/_chunks/{rich-text-editor-DLbg2852.js → rich-text-editor-DhGIBd4a.js} +10 -10
  27. package/dist/_chunks/{sheet-BV-yuLE2.js → sheet-xbzu4YiY.js} +7 -7
  28. package/dist/_chunks/{sign-document-CpLDZ6Db.js → sign-document-QHfcNKFj.js} +5 -5
  29. package/dist/_chunks/{signature-capture-DoiBd6i3.js → signature-capture-CpMBhqQ9.js} +6 -6
  30. package/dist/_chunks/tab-bar-C4II-7ej.js +86 -0
  31. package/dist/_chunks/{theme-toggle-DpC28kt5.js → theme-toggle-ClATnY4Q.js} +2 -2
  32. package/dist/_chunks/{toast.agent-WHHfw5VX.js → toast.agent-B0MCsvdZ.js} +2 -2
  33. package/dist/_chunks/{unit-converter-EUwO6QYq.js → unit-converter-D1UrEUxa.js} +46 -40
  34. package/dist/_chunks/{workflow-map-C3gB0FvB.js → workflow-map-BFNpzTiw.js} +2 -2
  35. package/dist/agent-catalog.json +1 -1
  36. package/dist/brand/product-lockup/product-lockup.d.ts +16 -0
  37. package/dist/components/_shared/insert-result.d.ts +21 -4
  38. package/dist/components/address-autocomplete/address-autocomplete.d.ts +77 -0
  39. package/dist/components/address-autocomplete/index.d.ts +4 -0
  40. package/dist/components/address-autocomplete/index.js +6 -0
  41. package/dist/components/address-autocomplete/parse-address.d.ts +52 -0
  42. package/dist/components/bmi-calculator/bmi-calculator.d.ts +11 -1
  43. package/dist/components/bmi-calculator/index.js +1 -1
  44. package/dist/components/breadcrumb/index.js +1 -1
  45. package/dist/components/cycle-calculator/cycle-calculator.d.ts +12 -2
  46. package/dist/components/cycle-calculator/index.js +1 -1
  47. package/dist/components/data-table/index.js +1 -1
  48. package/dist/components/document-scanner/index.js +1 -1
  49. package/dist/components/dropdown-menu/index.js +1 -1
  50. package/dist/components/due-date-calculator/due-date-calculator.d.ts +11 -1
  51. package/dist/components/due-date-calculator/index.js +1 -1
  52. package/dist/components/freemium-paywall/index.js +1 -1
  53. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +12 -2
  54. package/dist/components/gestational-age-calculator/index.js +1 -1
  55. package/dist/components/header-settings/index.js +1 -1
  56. package/dist/components/index.d.ts +3 -1
  57. package/dist/components/kbd/index.js +1 -1
  58. package/dist/components/map-view/index.js +1 -1
  59. package/dist/components/matrix-rain/matrix-rain.d.ts +1 -1
  60. package/dist/components/patient-search/index.js +1 -1
  61. package/dist/components/payment-form/index.js +1 -1
  62. package/dist/components/pdf-viewer/index.js +1 -1
  63. package/dist/components/practice-results/index.js +1 -1
  64. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  65. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +12 -2
  66. package/dist/components/public-header/index.js +1 -1
  67. package/dist/components/radio-group/index.js +1 -1
  68. package/dist/components/rich-text-editor/index.js +1 -1
  69. package/dist/components/sheet/index.js +1 -1
  70. package/dist/components/sign-document/index.js +1 -1
  71. package/dist/components/signature-capture/index.js +1 -1
  72. package/dist/components/tab-bar/index.d.ts +3 -0
  73. package/dist/components/tab-bar/index.js +5 -0
  74. package/dist/components/tab-bar/tab-bar.d.ts +61 -0
  75. package/dist/components/theme-toggle/index.js +1 -1
  76. package/dist/components/toast/index.js +1 -1
  77. package/dist/components/unit-converter/index.js +1 -1
  78. package/dist/components/unit-converter/unit-converter.d.ts +11 -1
  79. package/dist/components/workflow/index.js +1 -1
  80. package/dist/i18n/locales/ar.d.ts +17 -0
  81. package/dist/i18n/locales/ar.js +18 -1
  82. package/dist/i18n/locales/de.d.ts +17 -0
  83. package/dist/i18n/locales/de.js +18 -1
  84. package/dist/i18n/locales/el.d.ts +17 -0
  85. package/dist/i18n/locales/el.js +18 -1
  86. package/dist/i18n/locales/en.d.ts +17 -0
  87. package/dist/i18n/locales/en.js +18 -1
  88. package/dist/i18n/locales/es.d.ts +17 -0
  89. package/dist/i18n/locales/es.js +18 -1
  90. package/dist/i18n/locales/fr.d.ts +17 -0
  91. package/dist/i18n/locales/fr.js +18 -1
  92. package/dist/i18n/locales/hi.d.ts +17 -0
  93. package/dist/i18n/locales/hi.js +18 -1
  94. package/dist/i18n/locales/it.d.ts +17 -0
  95. package/dist/i18n/locales/it.js +18 -1
  96. package/dist/i18n/locales/ja.d.ts +17 -0
  97. package/dist/i18n/locales/ja.js +18 -1
  98. package/dist/i18n/locales/nl.d.ts +17 -0
  99. package/dist/i18n/locales/nl.js +18 -1
  100. package/dist/i18n/locales/pl.d.ts +17 -0
  101. package/dist/i18n/locales/pl.js +18 -1
  102. package/dist/i18n/locales/pt.d.ts +17 -0
  103. package/dist/i18n/locales/pt.js +18 -1
  104. package/dist/i18n/locales/ro.d.ts +17 -0
  105. package/dist/i18n/locales/ro.js +18 -1
  106. package/dist/i18n/locales/ru.d.ts +17 -0
  107. package/dist/i18n/locales/ru.js +18 -1
  108. package/dist/i18n/locales/sq.d.ts +17 -0
  109. package/dist/i18n/locales/sq.js +18 -1
  110. package/dist/i18n/locales/sv.d.ts +17 -0
  111. package/dist/i18n/locales/sv.js +18 -1
  112. package/dist/i18n/locales/tr.d.ts +17 -0
  113. package/dist/i18n/locales/tr.js +18 -1
  114. package/dist/i18n/locales/zh.d.ts +17 -0
  115. package/dist/i18n/locales/zh.js +18 -1
  116. package/dist/index.js +604 -599
  117. package/dist/locales/ar.json +18 -1
  118. package/dist/locales/de.json +18 -1
  119. package/dist/locales/el.json +18 -1
  120. package/dist/locales/en.json +18 -1
  121. package/dist/locales/es.json +18 -1
  122. package/dist/locales/fr.json +18 -1
  123. package/dist/locales/hi.json +18 -1
  124. package/dist/locales/it.json +18 -1
  125. package/dist/locales/ja.json +18 -1
  126. package/dist/locales/nl.json +18 -1
  127. package/dist/locales/pl.json +18 -1
  128. package/dist/locales/pt.json +18 -1
  129. package/dist/locales/ro.json +18 -1
  130. package/dist/locales/ru.json +18 -1
  131. package/dist/locales/sq.json +18 -1
  132. package/dist/locales/sv.json +18 -1
  133. package/dist/locales/tr.json +18 -1
  134. package/dist/locales/zh.json +18 -1
  135. package/dist/patterns/alia-assistant/index.js +1 -1
  136. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  137. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +30 -3
  138. package/dist/patterns/patient-shell/index.js +1 -1
  139. package/dist/tokens.css +1 -1
  140. package/package.json +16 -1
  141. package/dist/_chunks/cycle-calculator-B5Uj9QeT.js +0 -185
  142. package/dist/_chunks/insert-result-yJ0QavoN.js +0 -133
  143. package/dist/_chunks/map-view-qJLybrmN.js +0 -1850
  144. package/dist/_chunks/marketplace-app-shell-BlxVizU4.js +0 -296
  145. package/dist/_chunks/pregnancy-weight-gain-BCdi-JSv.js +0 -209
  146. package/dist/_chunks/radio-group-BcF92GEF.js +0 -152
@@ -1,296 +0,0 @@
1
- import { jsxs as t, jsx as e, Fragment as M } from "react/jsx-runtime";
2
- import { forwardRef as f, useState as T } from "react";
3
- import { useTranslation as k } from "react-i18next";
4
- import { A as B } from "./app-frame-BYx1gcV7.js";
5
- import { A as I } from "./avatar-BNQNhoyL.js";
6
- import { A as L } from "./alert-ywPR59NE.js";
7
- import { C as x } from "./card-DPmk26CL.js";
8
- import { D as i } from "./dropdown-menu-BC5ZdOMo.js";
9
- import { H as O, g as j, f as P, e as W, a as R, c as D, d as E } from "./header-CTZWX-tm.js";
10
- import { H as $ } from "./header-settings-CBLwUK6t.js";
11
- import { S as F } from "./sign-in-with-alfadocs-button-DeHBFRNS.js";
12
- import { S as V, a as q, h as G, j as J, k as K, i as Q } from "./sidebar-_vJXI9rB.js";
13
- import { T as U } from "./theme-root-BOO73p5t.js";
14
- import { a as X } from "./tooltip-DvmfrNvB.js";
15
- import { u as Y } from "./use-theme-C2dHKUAN.js";
16
- import { c as N } from "./index-D2ZczOXr.js";
17
- import { L as Z } from "./logo-yituK7sE.js";
18
- const _ = N("ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]"), ee = N(
19
- [
20
- "ds:[font-family:var(--font-serif)]",
21
- "ds:font-semibold",
22
- "ds:leading-none",
23
- "ds:tracking-[0.01em]",
24
- "ds:whitespace-nowrap",
25
- // Forced-colors: drop the transparent text-fill and paint the label
26
- // as solid CanvasText so it never disappears under Windows HCM —
27
- // a gradient/transparent fill has no meaning there.
28
- "ds:forced-colors:text-[CanvasText]",
29
- "ds:forced-colors:[-webkit-text-fill-color:CanvasText]"
30
- ],
31
- {
32
- variants: {
33
- size: {
34
- sm: "ds:text-[calc(var(--logo-size-sm)*0.95)]",
35
- md: "ds:text-[calc(var(--logo-size-md)*0.95)]",
36
- lg: "ds:text-[calc(var(--logo-size-lg)*0.95)]",
37
- xl: "ds:text-[calc(var(--logo-size-xl)*0.95)]"
38
- },
39
- tone: {
40
- // Brand gradient filled into the glyphs via background-clip:text.
41
- // `--gradient-wordmark` rides the theme aliases, so it stays
42
- // AA-safe and adapts per theme on its own (and flattens to a solid
43
- // ink in the accessible / forced-colors blocks — see tokens).
44
- gradient: [
45
- "ds:italic",
46
- "ds:bg-[image:var(--gradient-wordmark)]",
47
- "ds:bg-clip-text",
48
- "ds:text-transparent",
49
- "ds:[-webkit-text-fill-color:transparent]"
50
- ],
51
- // Monochrome: solid currentColor ink, upright, no gradient — for
52
- // print, single-colour work, and coloured chrome (e.g. app-shell
53
- // headers) where the lockup must ride the surrounding ink.
54
- solid: "ds:text-current"
55
- }
56
- },
57
- defaultVariants: { size: "md", tone: "gradient" }
58
- }
59
- ), u = f(
60
- ({ name: s, monochrome: a = !1, size: r = "md", className: n, ...l }, d) => /* @__PURE__ */ t(
61
- "span",
62
- {
63
- ref: d,
64
- role: "img",
65
- "aria-label": `Alfadocs ${s}`.trim(),
66
- className: _({ className: n }),
67
- "data-component": "product-lockup",
68
- ...l,
69
- children: [
70
- /* @__PURE__ */ e(
71
- Z,
72
- {
73
- variant: a ? "monochrome" : "wordmark",
74
- size: r,
75
- decorative: !0
76
- }
77
- ),
78
- /* @__PURE__ */ e(
79
- "span",
80
- {
81
- "aria-hidden": !0,
82
- className: ee({
83
- size: r,
84
- tone: a ? "solid" : "gradient"
85
- }),
86
- children: s
87
- }
88
- )
89
- ]
90
- }
91
- )
92
- );
93
- u.displayName = "ProductLockup";
94
- function ae(s) {
95
- return s > 99 ? "99+" : String(s);
96
- }
97
- function se({
98
- user: s,
99
- labels: a,
100
- onSignOut: r,
101
- onToggleFullscreen: n
102
- }) {
103
- const { t: l } = k(), d = a.fullscreen ?? l("patientShell.settings.fullscreen");
104
- return (
105
- // Non-modal: an account menu shouldn't inert/aria-hide the whole shell
106
- // behind it (which leaves the still-focusable chrome inside an
107
- // aria-hidden region — an `aria-hidden-focus` violation).
108
- /* @__PURE__ */ t(i.Root, { modal: !1, children: [
109
- /* @__PURE__ */ e(i.Trigger, { asChild: !0, children: /* @__PURE__ */ t(
110
- "button",
111
- {
112
- type: "button",
113
- "aria-label": a.accountMenu,
114
- "data-testid": "marketplace-account-trigger",
115
- className: "ds:rounded-full ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)] ds:min-h-[var(--min-target-size)] ds:min-w-[var(--min-target-size)] ds:justify-center ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)] ds:forced-colors:focus-visible:outline-[CanvasText]",
116
- children: [
117
- /* @__PURE__ */ e(I, { name: s.name, src: s.avatarSrc, size: "md" }),
118
- /* @__PURE__ */ e("span", { className: "ds:hidden ds:sm:inline", children: s.name })
119
- ]
120
- }
121
- ) }),
122
- /* @__PURE__ */ t(i.Content, { align: "end", children: [
123
- /* @__PURE__ */ e(i.Label, { children: /* @__PURE__ */ t("span", { className: "ds:flex ds:flex-col", children: [
124
- /* @__PURE__ */ e("span", { className: "ds:font-medium", children: s.name }),
125
- s.email ? /* @__PURE__ */ e("span", { className: "ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--muted-foreground)]", children: s.email }) : null
126
- ] }) }),
127
- n ? /* @__PURE__ */ t(M, { children: [
128
- /* @__PURE__ */ e(i.Separator, {}),
129
- /* @__PURE__ */ e(
130
- i.Item,
131
- {
132
- onSelect: n,
133
- "data-testid": "marketplace-fullscreen",
134
- children: d
135
- }
136
- )
137
- ] }) : null,
138
- /* @__PURE__ */ e(i.Separator, {}),
139
- /* @__PURE__ */ e(
140
- i.Item,
141
- {
142
- onSelect: r,
143
- "data-testid": "marketplace-sign-out",
144
- children: a.signOut
145
- }
146
- )
147
- ] })
148
- ] })
149
- );
150
- }
151
- function te({ nav: s }) {
152
- return /* @__PURE__ */ e(q, { children: s.map((a) => {
153
- const r = typeof a.badgeCount == "number" && a.badgeCount > 0 ? a.badgeCount : void 0;
154
- return /* @__PURE__ */ t(
155
- G,
156
- {
157
- href: a.href,
158
- "aria-label": a.label,
159
- isActive: a.isActive,
160
- children: [
161
- a.icon ? /* @__PURE__ */ e(J, { children: a.icon }) : null,
162
- /* @__PURE__ */ e(K, { children: a.label }),
163
- r !== void 0 ? /* @__PURE__ */ e(Q, { children: ae(r) }) : null
164
- ]
165
- },
166
- a.id
167
- );
168
- }) });
169
- }
170
- const re = f(
171
- ({
172
- productName: s,
173
- productHref: a = "/",
174
- nav: r,
175
- user: n,
176
- labels: l,
177
- onSignOut: d,
178
- onToggleFullscreen: c,
179
- sidebarState: o,
180
- mainAriaLabel: m,
181
- children: p
182
- }, h) => {
183
- const { t: S } = k(), { theme: y, accessibility: C, resolvedTheme: g } = Y(), w = y !== "system" || C !== "system", A = g.startsWith("dark") ? "dark" : "light", z = g.endsWith("-accessible"), [H, v] = T(!1), b = /* @__PURE__ */ e(X, { children: /* @__PURE__ */ e(
184
- B,
185
- {
186
- mainAriaLabel: m,
187
- mainClassName: "ds:bg-[color:var(--app-shell-background)]",
188
- header: /* @__PURE__ */ t(O, { children: [
189
- /* @__PURE__ */ t(j, { children: [
190
- /* @__PURE__ */ e(P, { href: "#main-content" }),
191
- /* @__PURE__ */ e(W, { onMenuOpen: () => v(!0) }),
192
- /* @__PURE__ */ e(
193
- R,
194
- {
195
- href: a,
196
- logo: /* @__PURE__ */ e(u, { name: s, size: "md", monochrome: !0 })
197
- }
198
- )
199
- ] }),
200
- /* @__PURE__ */ e(D, {}),
201
- /* @__PURE__ */ t(E, { children: [
202
- /* @__PURE__ */ e($, { size: "sm" }),
203
- /* @__PURE__ */ e(
204
- se,
205
- {
206
- user: n,
207
- labels: l,
208
- onSignOut: d,
209
- onToggleFullscreen: c
210
- }
211
- )
212
- ] })
213
- ] }),
214
- sidebar: /* @__PURE__ */ e(
215
- V,
216
- {
217
- ...o !== void 0 ? { state: o } : { defaultState: "expanded" },
218
- open: H,
219
- onOpenChange: v,
220
- "aria-label": S("navigation.sidebar.label"),
221
- "data-testid": "marketplace-app-shell-sidebar",
222
- children: /* @__PURE__ */ e(te, { nav: r })
223
- }
224
- ),
225
- children: p
226
- }
227
- ) });
228
- return w ? /* @__PURE__ */ e(
229
- U,
230
- {
231
- ref: h,
232
- theme: A,
233
- accessible: z,
234
- className: "ds:contents",
235
- "data-component": "marketplace-app-shell",
236
- children: b
237
- }
238
- ) : /* @__PURE__ */ e(
239
- "div",
240
- {
241
- ref: h,
242
- className: "ds:contents",
243
- "data-component": "marketplace-app-shell",
244
- children: b
245
- }
246
- );
247
- }
248
- );
249
- re.displayName = "MarketplaceAppShell";
250
- const ne = f(
251
- ({
252
- productName: s,
253
- title: a,
254
- description: r,
255
- connectLabel: n,
256
- status: l = "idle",
257
- error: d,
258
- onConnect: c,
259
- footer: o,
260
- className: m
261
- }, p) => /* @__PURE__ */ e(
262
- "div",
263
- {
264
- ref: p,
265
- "data-component": "connect-with-alfadocs",
266
- className: `ds:flex ds:min-h-dvh ds:items-center ds:justify-center ds:bg-[color:var(--app-shell-background)] ds:p-[var(--spacing-lg)] ${m ?? ""}`,
267
- children: /* @__PURE__ */ e(x, { className: "ds:w-full ds:max-w-[400px]", children: /* @__PURE__ */ t(x.Body, { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-lg)] ds:text-center", children: [
268
- /* @__PURE__ */ e(u, { name: s, size: "lg" }),
269
- /* @__PURE__ */ t("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
270
- /* @__PURE__ */ e("h1", { className: "type-title-card", children: a }),
271
- /* @__PURE__ */ e("p", { className: "type-body-sm ds:text-[color:var(--muted-foreground)]", children: r })
272
- ] }),
273
- l === "error" && d ? /* @__PURE__ */ e(L, { variant: "error", className: "ds:w-full ds:text-start", children: d }) : null,
274
- /* @__PURE__ */ e(
275
- F,
276
- {
277
- intent: "primary",
278
- className: "ds:w-full",
279
- loading: l === "connecting",
280
- onClick: c,
281
- label: n,
282
- "data-testid": "connect-with-alfadocs-button"
283
- }
284
- ),
285
- o ? /* @__PURE__ */ e("div", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: o }) : null
286
- ] }) })
287
- }
288
- )
289
- );
290
- ne.displayName = "ConnectWithAlfadocs";
291
- export {
292
- ne as C,
293
- re as M,
294
- u as P
295
- };
296
- //# sourceMappingURL=marketplace-app-shell-BlxVizU4.js.map
@@ -1,209 +0,0 @@
1
- import { jsxs as s, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as B, useState as f, useMemo as $, useEffect as S } from "react";
3
- import { c as E } from "./index-D2ZczOXr.js";
4
- import { useTranslation as I } from "react-i18next";
5
- import { F as x } from "./form-field-BOm9hK35.js";
6
- import { N as y } from "./number-input-Dj5L3pXK.js";
7
- import { B as A } from "./badge-zsf5i5bH.js";
8
- import { I as F } from "./insert-result-yJ0QavoN.js";
9
- import { b as _, e as R } from "./bmi-BxD-tFzU.js";
10
- const k = {
11
- underweight: { min: 12.5, max: 18 },
12
- normal: { min: 11.5, max: 16 },
13
- overweight: { min: 7, max: 11.5 },
14
- obese: { min: 5, max: 9 }
15
- }, M = {
16
- underweight: { min: 0.44, max: 0.58 },
17
- normal: { min: 0.35, max: 0.5 },
18
- overweight: { min: 0.23, max: 0.33 },
19
- obese: { min: 0.17, max: 0.27 }
20
- }, G = { min: 0.5, max: 2 }, v = 13;
21
- function C(t, i) {
22
- if (i <= 0) return { min: 0, max: 0 };
23
- if (i <= v) {
24
- const l = i / v;
25
- return {
26
- min: G.min * l,
27
- max: G.max * l
28
- };
29
- }
30
- const c = Math.min(i, 40) - v, r = M[t];
31
- return {
32
- min: G.min + r.min * c,
33
- max: G.max + r.max * c
34
- };
35
- }
36
- function j(t) {
37
- const i = _(t.prePregnancyBmi), c = k[i], r = C(
38
- i,
39
- t.gestationalWeeks
40
- ), l = t.currentWeightKg - t.prePregnancyWeightKg, W = l < r.min ? "below" : l > r.max ? "above" : "within";
41
- return { category: i, totalRange: c, recommendedToDate: r, actualGainKg: l, status: W };
42
- }
43
- const V = E("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
44
- variants: {
45
- width: { full: "ds:w-full", auto: "ds:inline-flex" }
46
- },
47
- defaultVariants: { width: "full" }
48
- }), z = {
49
- below: "warning",
50
- within: "success",
51
- above: "warning"
52
- }, H = B(({ onResultChange: t, onInsert: i, id: c, width: r, className: l }, W) => {
53
- const { t: e, i18n: N } = I(), [b, w] = f(null), [o, K] = f(null), [g, P] = f(null), [u, D] = f(null), p = R(o, b), n = $(() => p === null || o === null || g === null || u === null ? null : j({
54
- prePregnancyBmi: p,
55
- prePregnancyWeightKg: o,
56
- currentWeightKg: g,
57
- gestationalWeeks: u
58
- }), [p, o, g, u]), d = $(
59
- () => new Intl.NumberFormat(N.language, {
60
- minimumFractionDigits: 1,
61
- maximumFractionDigits: 1
62
- }),
63
- [N.language]
64
- );
65
- S(() => {
66
- t == null || t(n);
67
- }, [n, t]);
68
- const m = e("pregnancyWeightGain.units.kg"), h = (T) => `${d.format(T.min)} – ${d.format(T.max)} ${m}`;
69
- return /* @__PURE__ */ s(
70
- "div",
71
- {
72
- ref: W,
73
- "data-component": "pregnancy-weight-gain",
74
- "data-component-id": c,
75
- className: V({ width: r, className: l }),
76
- children: [
77
- /* @__PURE__ */ s("div", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2", children: [
78
- /* @__PURE__ */ a(
79
- x,
80
- {
81
- label: `${e("pregnancyWeightGain.height")} (${e("pregnancyWeightGain.units.cm")})`,
82
- children: /* @__PURE__ */ a(
83
- y,
84
- {
85
- mode: "decimal",
86
- min: 0,
87
- step: 0.5,
88
- value: b,
89
- onChange: w
90
- }
91
- )
92
- }
93
- ),
94
- /* @__PURE__ */ a(
95
- x,
96
- {
97
- label: `${e("pregnancyWeightGain.prePregnancyWeight")} (${m})`,
98
- children: /* @__PURE__ */ a(
99
- y,
100
- {
101
- mode: "decimal",
102
- min: 0,
103
- step: 0.1,
104
- value: o,
105
- onChange: K
106
- }
107
- )
108
- }
109
- ),
110
- /* @__PURE__ */ a(
111
- x,
112
- {
113
- label: `${e("pregnancyWeightGain.currentWeight")} (${m})`,
114
- children: /* @__PURE__ */ a(
115
- y,
116
- {
117
- mode: "decimal",
118
- min: 0,
119
- step: 0.1,
120
- value: g,
121
- onChange: P
122
- }
123
- )
124
- }
125
- ),
126
- /* @__PURE__ */ a(x, { label: e("pregnancyWeightGain.gestationalWeeks"), children: /* @__PURE__ */ a(
127
- y,
128
- {
129
- mode: "integer",
130
- min: 0,
131
- max: 42,
132
- value: u,
133
- onChange: D
134
- }
135
- ) })
136
- ] }),
137
- /* @__PURE__ */ a("p", { className: "ds:sr-only", role: "status", "aria-live": "polite", children: n ? `${e("pregnancyWeightGain.actualGain")}: ${d.format(
138
- n.actualGainKg
139
- )} ${m}. ${e(`pregnancyWeightGain.status.${n.status}`)}.` : "" }),
140
- n ? /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
141
- /* @__PURE__ */ s("dl", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2", children: [
142
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
143
- /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("pregnancyWeightGain.prePregnancyBmi") }),
144
- /* @__PURE__ */ s("dd", { className: "type-body ds:text-foreground", children: [
145
- d.format(p ?? 0),
146
- " ·",
147
- " ",
148
- e(`pregnancyWeightGain.category.${n.category}`)
149
- ] })
150
- ] }),
151
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]", children: [
152
- /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("pregnancyWeightGain.actualGain") }),
153
- /* @__PURE__ */ s("dd", { className: "ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]", children: [
154
- /* @__PURE__ */ s("span", { className: "type-metric ds:text-foreground", children: [
155
- d.format(n.actualGainKg),
156
- " ",
157
- m
158
- ] }),
159
- /* @__PURE__ */ a(A, { variant: z[n.status], size: "lg", children: e(`pregnancyWeightGain.status.${n.status}`) })
160
- ] })
161
- ] }),
162
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
163
- /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("pregnancyWeightGain.recommendedToDate") }),
164
- /* @__PURE__ */ a("dd", { className: "type-body ds:text-foreground", children: h(n.recommendedToDate) })
165
- ] }),
166
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
167
- /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("pregnancyWeightGain.recommendedTotal") }),
168
- /* @__PURE__ */ a("dd", { className: "type-body ds:text-foreground", children: h(n.totalRange) })
169
- ] })
170
- ] }),
171
- /* @__PURE__ */ a("p", { className: "type-body-sm ds:text-muted-foreground", children: e("pregnancyWeightGain.disclaimer") }),
172
- i ? /* @__PURE__ */ a(
173
- F,
174
- {
175
- onInsert: i,
176
- card: {
177
- title: e("insert.title.weightGain"),
178
- highlight: e(`pregnancyWeightGain.status.${n.status}`),
179
- fields: [
180
- {
181
- label: e("pregnancyWeightGain.actualGain"),
182
- value: `${d.format(n.actualGainKg)} ${m}`
183
- },
184
- {
185
- label: e("pregnancyWeightGain.recommendedToDate"),
186
- value: h(n.recommendedToDate)
187
- },
188
- {
189
- label: e("pregnancyWeightGain.recommendedTotal"),
190
- value: h(n.totalRange)
191
- }
192
- ]
193
- }
194
- }
195
- ) : null
196
- ] }) : /* @__PURE__ */ a("p", { className: "type-body ds:text-muted-foreground", children: e("pregnancyWeightGain.empty") })
197
- ]
198
- }
199
- );
200
- });
201
- H.displayName = "PregnancyWeightGain";
202
- export {
203
- H as P,
204
- M as R,
205
- k as T,
206
- j as a,
207
- C as r
208
- };
209
- //# sourceMappingURL=pregnancy-weight-gain-BCdi-JSv.js.map
@@ -1,152 +0,0 @@
1
- import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
- import { forwardRef as D, useId as T, useMemo as I, useRef as k, useState as q } from "react";
3
- import * as E from "@radix-ui/react-radio-group";
4
- import { c as F } from "./index-D2ZczOXr.js";
5
- import { a as z } from "./radio-TWf9Q-mp.js";
6
- import { c as J } from "./compose-refs-C0k0tdqF.js";
7
- import { u as L } from "./use-direction-Dp8h70PP.js";
8
- import { u as O } from "./registry-nPAVE19X.js";
9
- import { C as Q } from "./circle-alert-ChA9opNA.js";
10
- const U = {
11
- id: "radio-group",
12
- capabilities: ["select_single"],
13
- state: {
14
- value: {
15
- type: "string",
16
- descriptionKey: "ui.agent.radioGroup.state.value",
17
- description: "Currently selected radio value, or empty string when none.",
18
- read: (o) => o.getValue()
19
- }
20
- },
21
- actions: {
22
- set_value: {
23
- safety: "write",
24
- argsType: "{ value: string }",
25
- descriptionKey: "ui.agent.radioGroup.actions.setValue",
26
- description: "Select the radio with the given value.",
27
- invoke: (o, t) => {
28
- o.setValue(t.value);
29
- }
30
- }
31
- },
32
- domHooks: {
33
- root: {
34
- attr: "data-component",
35
- value: "radio-group",
36
- description: "Marks the RadioGroup root."
37
- },
38
- instanceId: {
39
- attr: "data-component-id",
40
- sourceProp: "id",
41
- description: "Sourced from the id prop."
42
- },
43
- item: {
44
- attr: "data-option-id",
45
- description: "Stable opaque value emitted on each rendered Radio child."
46
- }
47
- }
48
- }, W = F("ds:flex", {
49
- variants: {
50
- variant: {
51
- vertical: "ds:flex-col ds:gap-[var(--spacing-sm)]",
52
- horizontal: "ds:flex-row ds:flex-wrap ds:gap-[var(--spacing-md)]",
53
- card: "ds:flex-col ds:gap-[var(--spacing-md)]"
54
- }
55
- },
56
- defaultVariants: {
57
- variant: "vertical"
58
- }
59
- }), X = D(
60
- ({
61
- children: o,
62
- variant: t = "vertical",
63
- label: u,
64
- description: n,
65
- error: s,
66
- required: c,
67
- disabled: S,
68
- className: j,
69
- id: l,
70
- value: p,
71
- defaultValue: m,
72
- onValueChange: a,
73
- ...A
74
- }, B) => {
75
- const v = T(), f = `${v}-description`, g = `${v}-error`, C = [n ? f : null, s ? g : null].filter(Boolean).join(" ") || void 0, P = t === "horizontal" ? "horizontal" : "vertical", h = I(
76
- () => ({ variant: t }),
77
- [t]
78
- ), x = n ? /* @__PURE__ */ e("p", { id: f, className: "type-body-sm ds:text-muted-foreground", children: n }) : null, R = s ? /* @__PURE__ */ d(
79
- "p",
80
- {
81
- id: g,
82
- role: "alert",
83
- className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] type-body-sm ds:text-destructive",
84
- children: [
85
- /* @__PURE__ */ e(Q, { "aria-hidden": "true", className: "ds:size-4 ds:shrink-0" }),
86
- /* @__PURE__ */ e("span", { children: s })
87
- ]
88
- }
89
- ) : null, y = k(null), $ = J(B, y), H = L(y), r = p !== void 0, [K, M] = q(
90
- m ?? ""
91
- ), N = r ? p ?? "" : K, b = k(N);
92
- b.current = N;
93
- const G = (i) => {
94
- r || M(i), a == null || a(i);
95
- }, _ = I(
96
- () => ({
97
- getValue: () => b.current,
98
- setValue: (i) => G(i)
99
- }),
100
- // eslint-disable-next-line react-hooks/exhaustive-deps
101
- [r, a]
102
- );
103
- O(U, _, l);
104
- const V = /* @__PURE__ */ e(
105
- E.Root,
106
- {
107
- ref: $,
108
- id: l,
109
- orientation: P,
110
- dir: H,
111
- disabled: S,
112
- required: c,
113
- value: r ? p : void 0,
114
- defaultValue: r ? void 0 : m,
115
- onValueChange: G,
116
- "aria-describedby": C,
117
- "aria-invalid": !!s || void 0,
118
- "aria-required": c || void 0,
119
- className: W({ variant: t, className: j }),
120
- "data-component": "radio-group",
121
- "data-component-id": l,
122
- ...A,
123
- children: o
124
- }
125
- ), w = "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-0";
126
- return u ? /* @__PURE__ */ e(z.Provider, { value: h, children: /* @__PURE__ */ d("fieldset", { className: `${w} ds:border-0 ds:p-0 ds:m-0`, children: [
127
- /* @__PURE__ */ d("legend", { className: "type-label ds:text-foreground ds:p-0", children: [
128
- u,
129
- c ? /* @__PURE__ */ e(
130
- "span",
131
- {
132
- "aria-hidden": "true",
133
- className: "ds:text-destructive ds:ms-[var(--spacing-xs)]",
134
- children: "*"
135
- }
136
- ) : null
137
- ] }),
138
- x,
139
- V,
140
- R
141
- ] }) }) : /* @__PURE__ */ e(z.Provider, { value: h, children: /* @__PURE__ */ d("div", { className: w, children: [
142
- x,
143
- V,
144
- R
145
- ] }) });
146
- }
147
- );
148
- X.displayName = "RadioGroup";
149
- export {
150
- X as R
151
- };
152
- //# sourceMappingURL=radio-group-BcF92GEF.js.map