@alfadocs/ui-kit 0.48.0 → 0.49.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 (176) hide show
  1. package/dist/_chunks/{address-autocomplete-CSjMrBvu.js → address-autocomplete-CT-9AOli.js} +2 -2
  2. package/dist/_chunks/{ai-consent-banner-DO5ingMq.js → ai-consent-banner-F2md5JD3.js} +2 -2
  3. package/dist/_chunks/{ai-tools-rail-CxYG04cw.js → ai-tools-rail-CYLWrRmm.js} +6 -6
  4. package/dist/_chunks/{alert-ywPR59NE.js → alert-CUTxnym2.js} +56 -35
  5. package/dist/_chunks/antenatal-schedule-timeline-Dg0m0yFl.js +412 -0
  6. package/dist/_chunks/{ar-DEz65ZJW.js → ar-C68WKG5a.js} +2 -2
  7. package/dist/_chunks/{audio-recorder-DC-v9YFW.js → audio-recorder-DVJXV7_k.js} +2 -2
  8. package/dist/_chunks/bishop-score-2MzAz8NE.js +185 -0
  9. package/dist/_chunks/{booking-WV2GSru5.js → booking-DljH0JkS.js} +5 -5
  10. package/dist/_chunks/circle-arrow-up-CC_85SuH.js +16 -0
  11. package/dist/_chunks/cycle-calculator-oOkj5wlB.js +252 -0
  12. package/dist/_chunks/{date-picker-Bq7xhMA-.js → date-picker-BfHblqwA.js} +2 -2
  13. package/dist/_chunks/{date-picker-variants-DLi1Va_e.js → date-picker-variants-CXEAx3O_.js} +22 -22
  14. package/dist/_chunks/{date-range-picker-DcXuI9y7.js → date-range-picker-hcAMs1wO.js} +3 -3
  15. package/dist/_chunks/{date-time-picker-RimumeLR.js → date-time-picker-H-3Pwqlb.js} +9 -9
  16. package/dist/_chunks/{de-bTBGdjPS.js → de-DK4A9_a8.js} +2 -2
  17. package/dist/_chunks/{document-scanner-BqLsGs4Y.js → document-scanner-Cxqvq7GR.js} +2 -2
  18. package/dist/_chunks/due-date-calculator-tDqZXPWO.js +256 -0
  19. package/dist/_chunks/{editable-currency-cell-renderer-CLil9B29.js → editable-currency-cell-renderer-Bh48OHRv.js} +2 -2
  20. package/dist/_chunks/{el-BWG5RXxa.js → el-B29HXhG5.js} +2 -2
  21. package/dist/_chunks/{es-DfO_G435.js → es-BOwPVwWn.js} +2 -2
  22. package/dist/_chunks/fetal-weight-Da-B4P4k.js +122 -0
  23. package/dist/_chunks/{fr-BTn24bs8.js → fr-DoDBtn0T.js} +2 -2
  24. package/dist/_chunks/{freemium-paywall-DzpD63WY.js → freemium-paywall-BWaLWje-.js} +2 -2
  25. package/dist/_chunks/gestational-age-calculator-DbDfTJU2.js +311 -0
  26. package/dist/_chunks/hcg-doubling-DAnpbale.js +170 -0
  27. package/dist/_chunks/{hi-Dj3oYd84.js → hi-DGByrKby.js} +2 -2
  28. package/dist/_chunks/{isSameWeek-HfxKk6Lz.js → isSameWeek-B1odL2vR.js} +2 -2
  29. package/dist/_chunks/{it-Y85ofIQQ.js → it-B16rEecm.js} +3 -3
  30. package/dist/_chunks/{ja-CQ7J6YoA.js → ja-B0viOgft.js} +2 -2
  31. package/dist/_chunks/{marketplace-app-shell-Gfsf78ge.js → marketplace-app-shell-UKSLx9K_.js} +3 -3
  32. package/dist/_chunks/{nl-D9kHCmp3.js → nl-cBxEX2QU.js} +2 -2
  33. package/dist/_chunks/{patient-search-CocVcGJ3.js → patient-search-BJOmTmDA.js} +2 -2
  34. package/dist/_chunks/{patient-shell-CnT4L8gn.js → patient-shell-DUmhXnFq.js} +2 -2
  35. package/dist/_chunks/{payment-form-BNTx4876.js → payment-form-xmeCkxas.js} +2 -2
  36. package/dist/_chunks/{pdf-viewer-G8SU6Azw.js → pdf-viewer-q1D3Uion.js} +2 -2
  37. package/dist/_chunks/{pl-B3Smqpkr.js → pl-DtS08ioY.js} +3 -3
  38. package/dist/_chunks/{practice-results-BFL_mcDW.js → practice-results-Cq1y8JFD.js} +2 -2
  39. package/dist/_chunks/pregnancy-weight-gain-CCGrvarh.js +322 -0
  40. package/dist/_chunks/product-hub-panel-CkfZBA3t.js +620 -0
  41. package/dist/_chunks/{pt-D3J-1c_7.js → pt-yFXs1VvH.js} +2 -2
  42. package/dist/_chunks/{ro-BKAbbEA3.js → ro-DsCzSrzR.js} +2 -2
  43. package/dist/_chunks/{ru-BeG8f0Ep.js → ru-DgDxL0pc.js} +3 -3
  44. package/dist/_chunks/{sidebar-_vJXI9rB.js → sidebar-h78cTNLh.js} +440 -338
  45. package/dist/_chunks/{sign-document-DPI2pY9V.js → sign-document-CZkAf28g.js} +2 -2
  46. package/dist/_chunks/{sq-_hRPaeUy.js → sq-DHlCYN67.js} +2 -2
  47. package/dist/_chunks/subDays-Bs00akhK.js +8 -0
  48. package/dist/_chunks/{sv-g009fSpe.js → sv-O0QaQs_s.js} +2 -2
  49. package/dist/_chunks/{tr-OKUOuhMW.js → tr-BmNDRuio.js} +2 -2
  50. package/dist/_chunks/warning-stack-CXfoAT-_.js +220 -0
  51. package/dist/_chunks/{workflow-map-ZXw-zsZ8.js → workflow-map-DzX_LI4y.js} +2 -2
  52. package/dist/_chunks/{zh-CN-De4zwEhx.js → zh-CN-CgVJZEzz.js} +3 -3
  53. package/dist/agent-catalog.json +44 -1
  54. package/dist/components/_shared/antenatal-schedule-timeline.d.ts +18 -0
  55. package/dist/components/_shared/antenatal-schedule.d.ts +68 -0
  56. package/dist/components/_shared/index.d.ts +3 -0
  57. package/dist/components/_shared/obstetrics.d.ts +138 -0
  58. package/dist/components/address-autocomplete/index.js +1 -1
  59. package/dist/components/ai-consent-banner/index.js +1 -1
  60. package/dist/components/ai-tools-rail/index.js +1 -1
  61. package/dist/components/alert/alert.d.ts +2 -2
  62. package/dist/components/alert/index.js +1 -1
  63. package/dist/components/audio-recorder/index.js +1 -1
  64. package/dist/components/bishop-score/bishop-score.d.ts +27 -0
  65. package/dist/components/bishop-score/bishop.d.ts +30 -0
  66. package/dist/components/bishop-score/index.d.ts +4 -0
  67. package/dist/components/bishop-score/index.js +10 -0
  68. package/dist/components/booking/index.js +1 -1
  69. package/dist/components/cycle-calculator/cycle.d.ts +5 -0
  70. package/dist/components/cycle-calculator/index.js +1 -1
  71. package/dist/components/data-table/index.js +1 -1
  72. package/dist/components/date-picker/index.js +1 -1
  73. package/dist/components/date-range-picker/index.js +1 -1
  74. package/dist/components/date-time-picker/index.js +1 -1
  75. package/dist/components/document-scanner/index.js +1 -1
  76. package/dist/components/due-date-calculator/due-date-calculator.d.ts +13 -1
  77. package/dist/components/due-date-calculator/gestation.d.ts +1 -59
  78. package/dist/components/due-date-calculator/index.d.ts +1 -1
  79. package/dist/components/due-date-calculator/index.js +16 -10
  80. package/dist/components/fetal-weight/efw.d.ts +25 -0
  81. package/dist/components/fetal-weight/fetal-weight.d.ts +27 -0
  82. package/dist/components/fetal-weight/index.d.ts +4 -0
  83. package/dist/components/fetal-weight/index.js +6 -0
  84. package/dist/components/freemium-paywall/index.js +1 -1
  85. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +25 -1
  86. package/dist/components/gestational-age-calculator/index.js +1 -1
  87. package/dist/components/hcg-doubling/hcg-doubling.d.ts +31 -0
  88. package/dist/components/hcg-doubling/hcg.d.ts +33 -0
  89. package/dist/components/hcg-doubling/index.d.ts +4 -0
  90. package/dist/components/hcg-doubling/index.js +7 -0
  91. package/dist/components/index.d.ts +4 -0
  92. package/dist/components/patient-search/index.js +1 -1
  93. package/dist/components/payment-form/index.js +1 -1
  94. package/dist/components/pdf-viewer/index.js +1 -1
  95. package/dist/components/practice-results/index.js +1 -1
  96. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  97. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +7 -0
  98. package/dist/components/pregnancy-weight-gain/weight-gain.d.ts +33 -8
  99. package/dist/components/product-hub-tray/index.d.ts +8 -0
  100. package/dist/components/product-hub-tray/index.js +10 -0
  101. package/dist/components/product-hub-tray/product-hub-panel.agent.d.ts +4 -0
  102. package/dist/components/product-hub-tray/product-hub-panel.d.ts +54 -0
  103. package/dist/components/product-hub-tray/product-hub-tray.agent.d.ts +4 -0
  104. package/dist/components/product-hub-tray/product-hub-tray.d.ts +115 -0
  105. package/dist/components/sidebar/index.d.ts +2 -2
  106. package/dist/components/sidebar/index.js +12 -11
  107. package/dist/components/sidebar/sidebar.d.ts +14 -1
  108. package/dist/components/sign-document/index.js +1 -1
  109. package/dist/components/warning-stack/index.js +1 -1
  110. package/dist/components/workflow/index.js +1 -1
  111. package/dist/i18n/locales/ar.d.ts +210 -1
  112. package/dist/i18n/locales/ar.js +209 -2
  113. package/dist/i18n/locales/de.d.ts +210 -1
  114. package/dist/i18n/locales/de.js +209 -2
  115. package/dist/i18n/locales/el.d.ts +210 -1
  116. package/dist/i18n/locales/el.js +209 -2
  117. package/dist/i18n/locales/en.d.ts +210 -1
  118. package/dist/i18n/locales/en.js +209 -2
  119. package/dist/i18n/locales/es.d.ts +210 -1
  120. package/dist/i18n/locales/es.js +209 -2
  121. package/dist/i18n/locales/fr.d.ts +210 -1
  122. package/dist/i18n/locales/fr.js +209 -2
  123. package/dist/i18n/locales/hi.d.ts +210 -1
  124. package/dist/i18n/locales/hi.js +209 -2
  125. package/dist/i18n/locales/it.d.ts +210 -1
  126. package/dist/i18n/locales/it.js +209 -2
  127. package/dist/i18n/locales/ja.d.ts +210 -1
  128. package/dist/i18n/locales/ja.js +209 -2
  129. package/dist/i18n/locales/nl.d.ts +210 -1
  130. package/dist/i18n/locales/nl.js +209 -2
  131. package/dist/i18n/locales/pl.d.ts +210 -1
  132. package/dist/i18n/locales/pl.js +209 -2
  133. package/dist/i18n/locales/pt.d.ts +210 -1
  134. package/dist/i18n/locales/pt.js +209 -2
  135. package/dist/i18n/locales/ro.d.ts +210 -1
  136. package/dist/i18n/locales/ro.js +209 -2
  137. package/dist/i18n/locales/ru.d.ts +210 -1
  138. package/dist/i18n/locales/ru.js +209 -2
  139. package/dist/i18n/locales/sq.d.ts +210 -1
  140. package/dist/i18n/locales/sq.js +209 -2
  141. package/dist/i18n/locales/sv.d.ts +210 -1
  142. package/dist/i18n/locales/sv.js +209 -2
  143. package/dist/i18n/locales/tr.d.ts +210 -1
  144. package/dist/i18n/locales/tr.js +209 -2
  145. package/dist/i18n/locales/zh.d.ts +210 -1
  146. package/dist/i18n/locales/zh.js +209 -2
  147. package/dist/index.js +658 -631
  148. package/dist/locales/ar.json +211 -2
  149. package/dist/locales/de.json +211 -2
  150. package/dist/locales/el.json +211 -2
  151. package/dist/locales/en.json +211 -2
  152. package/dist/locales/es.json +211 -2
  153. package/dist/locales/fr.json +211 -2
  154. package/dist/locales/hi.json +211 -2
  155. package/dist/locales/it.json +211 -2
  156. package/dist/locales/ja.json +211 -2
  157. package/dist/locales/nl.json +211 -2
  158. package/dist/locales/pl.json +211 -2
  159. package/dist/locales/pt.json +211 -2
  160. package/dist/locales/ro.json +211 -2
  161. package/dist/locales/ru.json +211 -2
  162. package/dist/locales/sq.json +211 -2
  163. package/dist/locales/sv.json +211 -2
  164. package/dist/locales/tr.json +211 -2
  165. package/dist/locales/zh.json +211 -2
  166. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  167. package/dist/patterns/patient-shell/index.js +1 -1
  168. package/dist/tokens.css +1 -1
  169. package/package.json +17 -1
  170. package/dist/_chunks/cycle-calculator-DYvGm_m1.js +0 -211
  171. package/dist/_chunks/due-date-calculator-BXd3ANj7.js +0 -216
  172. package/dist/_chunks/gestation-mWF4AXea.js +0 -50
  173. package/dist/_chunks/gestational-age-calculator-Crj6FgZw.js +0 -203
  174. package/dist/_chunks/pregnancy-weight-gain-C7dK89jE.js +0 -246
  175. package/dist/_chunks/subDays-Dv7q9S7u.js +0 -8
  176. package/dist/_chunks/warning-stack-DNR3-IbP.js +0 -180
@@ -1,203 +0,0 @@
1
- import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
- import { forwardRef as E, useState as h, useMemo as g, useEffect as L } from "react";
3
- import { c as I } from "./index-D2ZczOXr.js";
4
- import { useTranslation as S } from "react-i18next";
5
- import { R as x } from "./radio-TWf9Q-mp.js";
6
- import { R as B } from "./radio-group-CLjK-SlK.js";
7
- import { F } from "./form-field-BOm9hK35.js";
8
- import { D as M } from "./date-picker-Bq7xhMA-.js";
9
- import { C as A } from "./card-DPmk26CL.js";
10
- import { B as v } from "./badge-zsf5i5bH.js";
11
- import { I as R } from "./insert-result-DNdi_JYW.js";
12
- import { c as H, g as _, G as j } from "./gestation-mWF4AXea.js";
13
- import { s as z } from "./subDays-Dv7q9S7u.js";
14
- import { i as O } from "./date-picker-variants-DLi1Va_e.js";
15
- const V = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
16
- variants: {
17
- width: { full: "ds:w-full", auto: "ds:inline-flex" }
18
- },
19
- defaultVariants: { width: "full" }
20
- }), K = {
21
- preconception: "neutral",
22
- first: "info",
23
- second: "success",
24
- third: "warning",
25
- postterm: "error"
26
- }, P = {
27
- preconception: "--muted",
28
- first: "--info",
29
- second: "--success",
30
- third: "--warning-readable",
31
- postterm: "--destructive"
32
- };
33
- function Y(c) {
34
- return P[c];
35
- }
36
- const q = E(
37
- ({
38
- defaultMethod: c = "lmp",
39
- onResultChange: d,
40
- onInsert: u,
41
- insertVariant: p = "insert",
42
- onCopy: b,
43
- onError: y,
44
- insertBrand: C,
45
- id: N,
46
- width: D,
47
- className: T
48
- }, w) => {
49
- const { t: e, i18n: f } = S(), [o, G] = h(c), [i, $] = h(void 0), n = g(() => /* @__PURE__ */ new Date(), []), a = g(() => {
50
- if (!i) return null;
51
- const s = o === "lmp" ? i : z(i, j), r = H({ method: "lmp", date: s }, n);
52
- return {
53
- result: {
54
- gestationalAge: r.gestationalAge,
55
- trimester: r.trimester,
56
- dueDate: r.dueDate
57
- },
58
- milestones: _(r.gestationalStart)
59
- };
60
- }, [o, i, n]), k = g(
61
- () => new Intl.DateTimeFormat(f.language, { dateStyle: "medium" }),
62
- [f.language]
63
- );
64
- L(() => {
65
- d == null || d((a == null ? void 0 : a.result) ?? null);
66
- }, [a, d]);
67
- const m = (s) => s ? e("gestationalAgeCalculator.gestation", {
68
- weeks: s.weeks,
69
- days: s.days
70
- }) : "—";
71
- return /* @__PURE__ */ l(
72
- "div",
73
- {
74
- ref: w,
75
- "data-component": "gestational-age-calculator",
76
- "data-component-id": N,
77
- className: V({ width: D, className: T }),
78
- children: [
79
- /* @__PURE__ */ l(
80
- B,
81
- {
82
- label: e("gestationalAgeCalculator.method.label"),
83
- variant: "horizontal",
84
- value: o,
85
- onValueChange: (s) => G(s),
86
- children: [
87
- /* @__PURE__ */ t(x, { label: e("gestationalAgeCalculator.method.lmp"), value: "lmp" }),
88
- /* @__PURE__ */ t(x, { label: e("gestationalAgeCalculator.method.edd"), value: "edd" })
89
- ]
90
- }
91
- ),
92
- /* @__PURE__ */ t(
93
- F,
94
- {
95
- label: e(
96
- o === "lmp" ? "gestationalAgeCalculator.lmpDate" : "gestationalAgeCalculator.eddDate"
97
- ),
98
- children: /* @__PURE__ */ t(
99
- M,
100
- {
101
- value: i,
102
- onChange: $,
103
- maxDate: o === "lmp" ? n : void 0
104
- }
105
- )
106
- }
107
- ),
108
- /* @__PURE__ */ t("p", { className: "ds:sr-only", role: "status", "aria-live": "polite", children: a ? `${e("gestationalAgeCalculator.gestationLabel")}: ${m(
109
- a.result.gestationalAge
110
- )}. ${e("gestationalAgeCalculator.trimesterLabel")}: ${e(
111
- `gestationalAgeCalculator.trimester.${a.result.trimester}`
112
- )}.` : "" }),
113
- a ? /* @__PURE__ */ t(A, { variant: "elevated", children: /* @__PURE__ */ l(A.Body, { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
114
- /* @__PURE__ */ l("dl", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2", children: [
115
- /* @__PURE__ */ l("div", { className: "ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]", children: [
116
- /* @__PURE__ */ t("dt", { className: "type-label ds:text-muted-foreground", children: e("gestationalAgeCalculator.trimesterLabel") }),
117
- /* @__PURE__ */ t("dd", { children: /* @__PURE__ */ t(
118
- v,
119
- {
120
- variant: K[a.result.trimester],
121
- size: "lg",
122
- children: e(
123
- `gestationalAgeCalculator.trimester.${a.result.trimester}`
124
- )
125
- }
126
- ) })
127
- ] }),
128
- /* @__PURE__ */ l("div", { className: "ds:flex ds:flex-col ds:items-end ds:gap-[var(--spacing-xs)] ds:text-end", children: [
129
- /* @__PURE__ */ t("dt", { className: "type-label ds:text-muted-foreground", children: e("gestationalAgeCalculator.gestationLabel") }),
130
- /* @__PURE__ */ t("dd", { className: "type-metric ds:text-foreground", children: m(a.result.gestationalAge) })
131
- ] })
132
- ] }),
133
- /* @__PURE__ */ l("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
134
- /* @__PURE__ */ t("span", { className: "type-label ds:text-muted-foreground", children: e("gestationalAgeCalculator.milestonesLabel") }),
135
- /* @__PURE__ */ t("ul", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: a.milestones.map((s) => {
136
- const r = O(n, s.date);
137
- return /* @__PURE__ */ l(
138
- "li",
139
- {
140
- className: "ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-md)]",
141
- children: [
142
- /* @__PURE__ */ t("span", { className: "type-body ds:text-foreground", children: e(`gestationalAgeCalculator.milestone.${s.key}`) }),
143
- /* @__PURE__ */ l("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
144
- /* @__PURE__ */ t("span", { className: "type-body ds:text-muted-foreground", children: k.format(s.date) }),
145
- r ? /* @__PURE__ */ t(v, { variant: "success", children: e("gestationalAgeCalculator.reached") }) : null
146
- ] })
147
- ]
148
- },
149
- s.key
150
- );
151
- }) })
152
- ] }),
153
- p === "copy" || u ? /* @__PURE__ */ t(
154
- R,
155
- {
156
- onInsert: u,
157
- variant: p,
158
- onCopy: b,
159
- onError: y,
160
- card: {
161
- title: e("insert.title.gestationalAge"),
162
- icon: "baby",
163
- highlight: e(
164
- `gestationalAgeCalculator.trimester.${a.result.trimester}`
165
- ),
166
- // Chip shares the trimester's semantic token so the
167
- // inserted PNG chip matches the on-screen trimester badge —
168
- // with the contrast-safe orange override for the
169
- // `--warning` third trimester.
170
- highlightToken: Y(
171
- a.result.trimester
172
- ),
173
- brand: C,
174
- fields: [
175
- {
176
- // Gestational age is an elapsed duration → clock glyph.
177
- icon: "clock",
178
- label: e("gestationalAgeCalculator.gestationLabel"),
179
- value: m(a.result.gestationalAge)
180
- },
181
- {
182
- // Trimester is a clinical-stage classification → tag.
183
- icon: "tag",
184
- label: e("gestationalAgeCalculator.trimesterLabel"),
185
- value: e(
186
- `gestationalAgeCalculator.trimester.${a.result.trimester}`
187
- )
188
- }
189
- ]
190
- }
191
- }
192
- ) : null
193
- ] }) }) : /* @__PURE__ */ t("p", { className: "type-body ds:text-muted-foreground", children: e("gestationalAgeCalculator.empty") })
194
- ]
195
- }
196
- );
197
- }
198
- );
199
- q.displayName = "GestationalAgeCalculator";
200
- export {
201
- q as G
202
- };
203
- //# sourceMappingURL=gestational-age-calculator-Crj6FgZw.js.map
@@ -1,246 +0,0 @@
1
- import { jsxs as s, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as A, useState as f, useMemo as w, useEffect as F } from "react";
3
- import { c as k } from "./index-D2ZczOXr.js";
4
- import { useTranslation as R } from "react-i18next";
5
- import { F as y } from "./form-field-BOm9hK35.js";
6
- import { N as x } from "./number-input-Dj5L3pXK.js";
7
- import { C as $ } from "./card-DPmk26CL.js";
8
- import { B as C } from "./badge-zsf5i5bH.js";
9
- import { I as H } from "./insert-result-DNdi_JYW.js";
10
- import { b as M, e as j } from "./bmi-BxD-tFzU.js";
11
- const L = {
12
- underweight: { min: 12.5, max: 18 },
13
- normal: { min: 11.5, max: 16 },
14
- overweight: { min: 7, max: 11.5 },
15
- obese: { min: 5, max: 9 }
16
- }, O = {
17
- underweight: { min: 0.44, max: 0.58 },
18
- normal: { min: 0.35, max: 0.5 },
19
- overweight: { min: 0.23, max: 0.33 },
20
- obese: { min: 0.17, max: 0.27 }
21
- }, G = { min: 0.5, max: 2 }, v = 13;
22
- function U(t, i) {
23
- if (i <= 0) return { min: 0, max: 0 };
24
- if (i <= v) {
25
- const c = i / v;
26
- return {
27
- min: G.min * c,
28
- max: G.max * c
29
- };
30
- }
31
- const l = Math.min(i, 40) - v, r = O[t];
32
- return {
33
- min: G.min + r.min * l,
34
- max: G.max + r.max * l
35
- };
36
- }
37
- function z(t) {
38
- const i = M(t.prePregnancyBmi), l = L[i], r = U(
39
- i,
40
- t.gestationalWeeks
41
- ), c = t.currentWeightKg - t.prePregnancyWeightKg, W = c < r.min ? "below" : c > r.max ? "above" : "within";
42
- return { category: i, totalRange: l, recommendedToDate: r, actualGainKg: c, status: W };
43
- }
44
- const V = k("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
45
- variants: {
46
- width: { full: "ds:w-full", auto: "ds:inline-flex" }
47
- },
48
- defaultVariants: { width: "full" }
49
- }), q = {
50
- below: "warning",
51
- within: "success",
52
- above: "warning"
53
- }, J = {
54
- below: "--warning-readable",
55
- within: "--success",
56
- above: "--warning-readable"
57
- };
58
- function Q(t) {
59
- return J[t];
60
- }
61
- const X = A(
62
- ({
63
- onResultChange: t,
64
- onInsert: i,
65
- insertVariant: l = "insert",
66
- onCopy: r,
67
- onError: c,
68
- insertBrand: W,
69
- id: K,
70
- width: P,
71
- className: S
72
- }, B) => {
73
- const { t: e, i18n: b } = R(), [N, D] = f(null), [m, I] = f(null), [g, E] = f(null), [u, _] = f(null), p = j(m, N), n = w(() => p === null || m === null || g === null || u === null ? null : z({
74
- prePregnancyBmi: p,
75
- prePregnancyWeightKg: m,
76
- currentWeightKg: g,
77
- gestationalWeeks: u
78
- }), [p, m, g, u]), d = w(
79
- () => new Intl.NumberFormat(b.language, {
80
- minimumFractionDigits: 1,
81
- maximumFractionDigits: 1
82
- }),
83
- [b.language]
84
- );
85
- F(() => {
86
- t == null || t(n);
87
- }, [n, t]);
88
- const o = e("pregnancyWeightGain.units.kg"), h = (T) => `${d.format(T.min)} – ${d.format(T.max)} ${o}`;
89
- return /* @__PURE__ */ s(
90
- "div",
91
- {
92
- ref: B,
93
- "data-component": "pregnancy-weight-gain",
94
- "data-component-id": K,
95
- className: V({ width: P, className: S }),
96
- children: [
97
- /* @__PURE__ */ s("div", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2", children: [
98
- /* @__PURE__ */ a(
99
- y,
100
- {
101
- label: `${e("pregnancyWeightGain.height")} (${e("pregnancyWeightGain.units.cm")})`,
102
- children: /* @__PURE__ */ a(
103
- x,
104
- {
105
- mode: "decimal",
106
- min: 0,
107
- step: 0.5,
108
- value: N,
109
- onChange: D
110
- }
111
- )
112
- }
113
- ),
114
- /* @__PURE__ */ a(
115
- y,
116
- {
117
- label: `${e("pregnancyWeightGain.prePregnancyWeight")} (${o})`,
118
- children: /* @__PURE__ */ a(
119
- x,
120
- {
121
- mode: "decimal",
122
- min: 0,
123
- step: 0.1,
124
- value: m,
125
- onChange: I
126
- }
127
- )
128
- }
129
- ),
130
- /* @__PURE__ */ a(
131
- y,
132
- {
133
- label: `${e("pregnancyWeightGain.currentWeight")} (${o})`,
134
- children: /* @__PURE__ */ a(
135
- x,
136
- {
137
- mode: "decimal",
138
- min: 0,
139
- step: 0.1,
140
- value: g,
141
- onChange: E
142
- }
143
- )
144
- }
145
- ),
146
- /* @__PURE__ */ a(y, { label: e("pregnancyWeightGain.gestationalWeeks"), children: /* @__PURE__ */ a(
147
- x,
148
- {
149
- mode: "integer",
150
- min: 0,
151
- max: 42,
152
- value: u,
153
- onChange: _
154
- }
155
- ) })
156
- ] }),
157
- /* @__PURE__ */ a("p", { className: "ds:sr-only", role: "status", "aria-live": "polite", children: n ? `${e("pregnancyWeightGain.actualGain")}: ${d.format(
158
- n.actualGainKg
159
- )} ${o}. ${e(`pregnancyWeightGain.status.${n.status}`)}.` : "" }),
160
- n ? /* @__PURE__ */ a($, { variant: "elevated", children: /* @__PURE__ */ s($.Body, { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
161
- /* @__PURE__ */ s("dl", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2", children: [
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.prePregnancyBmi") }),
164
- /* @__PURE__ */ s("dd", { className: "type-body ds:text-foreground", children: [
165
- d.format(p ?? 0),
166
- " ·",
167
- " ",
168
- e(`pregnancyWeightGain.category.${n.category}`)
169
- ] })
170
- ] }),
171
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]", children: [
172
- /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("pregnancyWeightGain.actualGain") }),
173
- /* @__PURE__ */ s("dd", { className: "ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]", children: [
174
- /* @__PURE__ */ s("span", { className: "type-metric ds:text-foreground", children: [
175
- d.format(n.actualGainKg),
176
- " ",
177
- o
178
- ] }),
179
- /* @__PURE__ */ a(C, { variant: q[n.status], size: "lg", children: e(`pregnancyWeightGain.status.${n.status}`) })
180
- ] })
181
- ] }),
182
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
183
- /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("pregnancyWeightGain.recommendedToDate") }),
184
- /* @__PURE__ */ a("dd", { className: "type-body ds:text-foreground", children: h(n.recommendedToDate) })
185
- ] }),
186
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
187
- /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("pregnancyWeightGain.recommendedTotal") }),
188
- /* @__PURE__ */ a("dd", { className: "type-body ds:text-foreground", children: h(n.totalRange) })
189
- ] })
190
- ] }),
191
- /* @__PURE__ */ a("p", { className: "type-body-sm ds:text-muted-foreground", children: e("pregnancyWeightGain.disclaimer") }),
192
- l === "copy" || i ? /* @__PURE__ */ a(
193
- H,
194
- {
195
- onInsert: i,
196
- variant: l,
197
- onCopy: r,
198
- onError: c,
199
- card: {
200
- title: e("insert.title.weightGain"),
201
- icon: "baby",
202
- highlight: e(`pregnancyWeightGain.status.${n.status}`),
203
- // Chip shares the gain-status semantic token so the
204
- // inserted PNG chip matches the on-screen status badge —
205
- // with the contrast-safe orange override for the
206
- // `--warning` below/above statuses.
207
- highlightToken: Q(n.status),
208
- brand: W,
209
- fields: [
210
- {
211
- // Actual gain is the headline trend → trending-up glyph.
212
- icon: "trending-up",
213
- label: e("pregnancyWeightGain.actualGain"),
214
- value: `${d.format(n.actualGainKg)} ${o}`
215
- },
216
- {
217
- // Recommended weight band → scale glyph.
218
- icon: "scale",
219
- label: e("pregnancyWeightGain.recommendedToDate"),
220
- value: h(n.recommendedToDate)
221
- },
222
- {
223
- // Recommended total weight band → scale glyph.
224
- icon: "scale",
225
- label: e("pregnancyWeightGain.recommendedTotal"),
226
- value: h(n.totalRange)
227
- }
228
- ]
229
- }
230
- }
231
- ) : null
232
- ] }) }) : /* @__PURE__ */ a("p", { className: "type-body ds:text-muted-foreground", children: e("pregnancyWeightGain.empty") })
233
- ]
234
- }
235
- );
236
- }
237
- );
238
- X.displayName = "PregnancyWeightGain";
239
- export {
240
- X as P,
241
- O as R,
242
- L as T,
243
- z as a,
244
- U as r
245
- };
246
- //# sourceMappingURL=pregnancy-weight-gain-C7dK89jE.js.map
@@ -1,8 +0,0 @@
1
- import { a as o } from "./date-picker-variants-DLi1Va_e.js";
2
- function n(a, s, r) {
3
- return o(a, -s, r);
4
- }
5
- export {
6
- n as s
7
- };
8
- //# sourceMappingURL=subDays-Dv7q9S7u.js.map
@@ -1,180 +0,0 @@
1
- import { jsxs as l, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as M, useId as N, useState as O, useRef as y, useEffect as V, useMemo as _, useCallback as j } from "react";
3
- import { c as W } from "./index-D2ZczOXr.js";
4
- import { useTranslation as q } from "react-i18next";
5
- import { A as u } from "./alert-ywPR59NE.js";
6
- import { B as F } from "./button-DD_0Xdmr.js";
7
- import { C as H } from "./chevron-down-BX_NP2Yh.js";
8
- const L = W(
9
- [
10
- "ds:flex ds:flex-col",
11
- "ds:rounded-[var(--radius-lg)]",
12
- "ds:bg-[color:var(--card)] ds:text-[color:var(--card-foreground)]",
13
- "ds:shadow-[var(--shadow-card)]",
14
- "ds:border ds:border-[color:var(--card-border)] ds:[.theme-accessible_&]:border-2",
15
- "ds:p-[var(--spacing-md)]"
16
- ].join(" "),
17
- {
18
- variants: {
19
- size: {
20
- sm: "ds:gap-[var(--spacing-sm)]",
21
- md: "ds:gap-[var(--spacing-md)]"
22
- },
23
- // `stretch: true` fills the parent layout cell — mirrors the `stretch`
24
- // prop on `Card` so a WarningStack rendered next to a Card in a grid
25
- // row ends up at matching height.
26
- stretch: {
27
- true: "ds:h-full ds:self-stretch",
28
- false: ""
29
- }
30
- },
31
- defaultVariants: {
32
- size: "md",
33
- stretch: !1
34
- }
35
- }
36
- ), J = W("ds:flex ds:flex-col", {
37
- variants: {
38
- size: {
39
- sm: "ds:gap-[var(--spacing-sm)]",
40
- md: "ds:gap-[var(--spacing-md)]"
41
- }
42
- },
43
- defaultVariants: { size: "md" }
44
- }), K = [
45
- "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] ds:self-start"
46
- ].join(" "), P = M(
47
- ({
48
- items: r,
49
- title: h,
50
- description: p,
51
- maxVisible: t,
52
- defaultCollapsed: z = !0,
53
- onDismiss: d,
54
- size: f = "md",
55
- stretch: v = !1,
56
- ariaLabel: A,
57
- emptyState: m,
58
- className: w,
59
- ...b
60
- }, x) => {
61
- const { t: e } = q(), c = N(), k = N(), i = t !== void 0 && r.length > t, [o, B] = O(z), g = y(null), S = y(r.length);
62
- V(() => {
63
- if (!g.current) return;
64
- const n = S.current, s = r.length;
65
- n !== s && (g.current.textContent = e("warningStack.countChanged", {
66
- count: s,
67
- defaultValue: "{{count}} warnings to review"
68
- })), S.current = s;
69
- }, [r.length, e]);
70
- const R = _(() => !i || !o ? r : r.slice(0, t), [r, i, o, t]), E = i ? r.length - (t ?? 0) : 0, I = j(
71
- (n) => (s) => {
72
- s || d == null || d(n);
73
- },
74
- [d]
75
- ), T = j(() => B((n) => !n), []), G = A ?? e("warningStack.regionLabel", "Warnings"), C = h ? /* @__PURE__ */ l("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-3xs)]", children: [
76
- /* @__PURE__ */ a(
77
- "h2",
78
- {
79
- id: c,
80
- className: "ds:text-start type-title-section ds:text-[var(--foreground)]",
81
- children: h
82
- }
83
- ),
84
- p ? /* @__PURE__ */ a("p", { className: "ds:text-start type-body-sm ds:text-[var(--muted-foreground)]", children: p }) : null
85
- ] }) : /* @__PURE__ */ a("h2", { id: c, className: "ds:sr-only", children: G });
86
- return r.length === 0 ? m ? /* @__PURE__ */ l(
87
- "section",
88
- {
89
- ref: x,
90
- "aria-labelledby": c,
91
- "data-component": "warning-stack",
92
- className: [L({ size: f, stretch: v }), w].filter(Boolean).join(" "),
93
- ...b,
94
- children: [
95
- C,
96
- m
97
- ]
98
- }
99
- ) : null : /* @__PURE__ */ l(
100
- "section",
101
- {
102
- ref: x,
103
- "aria-labelledby": c,
104
- "data-component": "warning-stack",
105
- className: [L({ size: f, stretch: v }), w].filter(Boolean).join(" "),
106
- ...b,
107
- children: [
108
- C,
109
- /* @__PURE__ */ a(
110
- "div",
111
- {
112
- ref: g,
113
- "aria-live": "polite",
114
- "aria-atomic": "true",
115
- className: "ds:sr-only"
116
- }
117
- ),
118
- /* @__PURE__ */ a(
119
- "ul",
120
- {
121
- id: k,
122
- className: J({ size: f }),
123
- "aria-label": e("warningStack.listLabel", "Warning list"),
124
- children: R.map((n) => {
125
- const s = n.variant ?? "warning";
126
- return /* @__PURE__ */ a("li", { children: /* @__PURE__ */ l(
127
- u,
128
- {
129
- variant: s,
130
- dismissible: n.dismissible,
131
- icon: n.icon,
132
- onOpenChange: I(n),
133
- children: [
134
- /* @__PURE__ */ a(u.Title, { as: "h3", children: n.title }),
135
- n.description ? /* @__PURE__ */ a(u.Description, { children: n.description }) : null,
136
- n.actions ? /* @__PURE__ */ a(u.Action, { children: n.actions }) : null
137
- ]
138
- }
139
- ) }, n.id);
140
- })
141
- }
142
- ),
143
- i ? /* @__PURE__ */ l(
144
- F,
145
- {
146
- type: "button",
147
- intent: "link",
148
- size: "sm",
149
- "aria-expanded": !o,
150
- "aria-controls": k,
151
- onClick: T,
152
- className: K,
153
- children: [
154
- /* @__PURE__ */ a(
155
- H,
156
- {
157
- "aria-hidden": "true",
158
- className: [
159
- "ds:size-4 ds:transition-transform ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
160
- o ? "" : "ds:rotate-180"
161
- ].join(" ")
162
- }
163
- ),
164
- o ? e("warningStack.showMore", {
165
- count: E,
166
- defaultValue: "Show {{count}} more warnings"
167
- }) : e("warningStack.showLess", "Show less")
168
- ]
169
- }
170
- ) : null
171
- ]
172
- }
173
- );
174
- }
175
- );
176
- P.displayName = "WarningStack";
177
- export {
178
- P as W
179
- };
180
- //# sourceMappingURL=warning-stack-DNR3-IbP.js.map