@alfadocs/ui-kit-debug 0.42.0 → 0.44.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.
- package/dist/_chunks/{ar-Cn_NxqkN.js → ar-DEz65ZJW.js} +2 -2
- package/dist/_chunks/{ar-Cn_NxqkN.js.map → ar-DEz65ZJW.js.map} +1 -1
- package/dist/_chunks/bmi-calculator-DFPWL2OJ.js +273 -0
- package/dist/_chunks/bmi-calculator-DFPWL2OJ.js.map +1 -0
- package/dist/_chunks/{booking-4mCw3Mpl.js → booking-CtLwaxkK.js} +4 -4
- package/dist/_chunks/{booking-4mCw3Mpl.js.map → booking-CtLwaxkK.js.map} +1 -1
- package/dist/_chunks/{calculator-dialog-B74fqpFZ.js → calculator-dialog-D-nfvteH.js} +2 -2
- package/dist/_chunks/{calculator-dialog-B74fqpFZ.js.map → calculator-dialog-D-nfvteH.js.map} +1 -1
- package/dist/_chunks/{chart-Cbt0_sKv.js → chart-Cg3e9EH9.js} +101 -99
- package/dist/_chunks/chart-Cg3e9EH9.js.map +1 -0
- package/dist/_chunks/{cycle-calculator-DsZbyzX6.js → cycle-calculator-ChHBcjet.js} +65 -56
- package/dist/_chunks/cycle-calculator-ChHBcjet.js.map +1 -0
- package/dist/_chunks/{date-picker-CvQfs6Xh.js → date-picker-Bq7xhMA-.js} +109 -108
- package/dist/_chunks/{date-picker-CvQfs6Xh.js.map → date-picker-Bq7xhMA-.js.map} +1 -1
- package/dist/_chunks/date-picker-variants-DLi1Va_e.js +3238 -0
- package/dist/_chunks/date-picker-variants-DLi1Va_e.js.map +1 -0
- package/dist/_chunks/{date-range-picker-U9fn1g9d.js → date-range-picker-DcXuI9y7.js} +20 -19
- package/dist/_chunks/date-range-picker-DcXuI9y7.js.map +1 -0
- package/dist/_chunks/{date-time-picker-Cva0ZCWw.js → date-time-picker-RimumeLR.js} +18 -17
- package/dist/_chunks/date-time-picker-RimumeLR.js.map +1 -0
- package/dist/_chunks/{de-BMM2H7Bs.js → de-bTBGdjPS.js} +2 -2
- package/dist/_chunks/{de-BMM2H7Bs.js.map → de-bTBGdjPS.js.map} +1 -1
- package/dist/_chunks/dialog-BTpZV6It.js +223 -0
- package/dist/_chunks/dialog-BTpZV6It.js.map +1 -0
- package/dist/_chunks/{due-date-calculator-s_CBgaFs.js → due-date-calculator-CYXKLoof.js} +65 -45
- package/dist/_chunks/due-date-calculator-CYXKLoof.js.map +1 -0
- package/dist/_chunks/{editable-currency-cell-renderer-BhUkRiPZ.js → editable-currency-cell-renderer-9jqwDv5x.js} +2 -2
- package/dist/_chunks/{editable-currency-cell-renderer-BhUkRiPZ.js.map → editable-currency-cell-renderer-9jqwDv5x.js.map} +1 -1
- package/dist/_chunks/{el-BYPonAaK.js → el-BWG5RXxa.js} +6 -6
- package/dist/_chunks/{el-BYPonAaK.js.map → el-BWG5RXxa.js.map} +1 -1
- package/dist/_chunks/{es-CMkVCQ4F.js → es-DfO_G435.js} +2 -2
- package/dist/_chunks/{es-CMkVCQ4F.js.map → es-DfO_G435.js.map} +1 -1
- package/dist/_chunks/{fr-BcuWxqft.js → fr-BTn24bs8.js} +2 -2
- package/dist/_chunks/{fr-BcuWxqft.js.map → fr-BTn24bs8.js.map} +1 -1
- package/dist/_chunks/{gestation-BXEgDGmP.js → gestation-mWF4AXea.js} +3 -3
- package/dist/_chunks/{gestation-BXEgDGmP.js.map → gestation-mWF4AXea.js.map} +1 -1
- package/dist/_chunks/gestational-age-calculator-sRmoqgVr.js +190 -0
- package/dist/_chunks/gestational-age-calculator-sRmoqgVr.js.map +1 -0
- package/dist/_chunks/{header-CTZWX-tm.js → header-Ce1Br27u.js} +70 -75
- package/dist/_chunks/header-Ce1Br27u.js.map +1 -0
- package/dist/_chunks/{hi-wkq_rQAh.js → hi-Dj3oYd84.js} +2 -2
- package/dist/_chunks/{hi-wkq_rQAh.js.map → hi-Dj3oYd84.js.map} +1 -1
- package/dist/_chunks/insert-result-CoC1oo6R.js +334 -0
- package/dist/_chunks/insert-result-CoC1oo6R.js.map +1 -0
- package/dist/_chunks/{isSameWeek-Bim5ftRd.js → isSameWeek-HfxKk6Lz.js} +2 -2
- package/dist/_chunks/{isSameWeek-Bim5ftRd.js.map → isSameWeek-HfxKk6Lz.js.map} +1 -1
- package/dist/_chunks/{it-GiQrQ9p4.js → it-Y85ofIQQ.js} +7 -7
- package/dist/_chunks/{it-GiQrQ9p4.js.map → it-Y85ofIQQ.js.map} +1 -1
- package/dist/_chunks/{ja-qfYg3Rua.js → ja-CQ7J6YoA.js} +2 -2
- package/dist/_chunks/{ja-qfYg3Rua.js.map → ja-CQ7J6YoA.js.map} +1 -1
- package/dist/_chunks/{marketplace-app-shell-kVAVycz_.js → marketplace-app-shell-Dc5cTIt8.js} +186 -149
- package/dist/_chunks/marketplace-app-shell-Dc5cTIt8.js.map +1 -0
- package/dist/_chunks/{nl-xOogO4sZ.js → nl-D9kHCmp3.js} +2 -2
- package/dist/_chunks/{nl-xOogO4sZ.js.map → nl-D9kHCmp3.js.map} +1 -1
- package/dist/_chunks/{patient-shell-lDX3wwu6.js → patient-shell-CnT4L8gn.js} +2 -2
- package/dist/_chunks/{patient-shell-lDX3wwu6.js.map → patient-shell-CnT4L8gn.js.map} +1 -1
- package/dist/_chunks/{pl-GnOW6eGK.js → pl-B3Smqpkr.js} +3 -3
- package/dist/_chunks/{pl-GnOW6eGK.js.map → pl-B3Smqpkr.js.map} +1 -1
- package/dist/_chunks/{pregnancy-weight-gain-B7kBK-ZR.js → pregnancy-weight-gain-C5YhfYnL.js} +60 -50
- package/dist/_chunks/pregnancy-weight-gain-C5YhfYnL.js.map +1 -0
- package/dist/_chunks/{pt-_bV5b5RW.js → pt-D3J-1c_7.js} +6 -6
- package/dist/_chunks/{pt-_bV5b5RW.js.map → pt-D3J-1c_7.js.map} +1 -1
- package/dist/_chunks/{ro-BEcyh5Nj.js → ro-BKAbbEA3.js} +2 -2
- package/dist/_chunks/{ro-BEcyh5Nj.js.map → ro-BKAbbEA3.js.map} +1 -1
- package/dist/_chunks/{ru-Bi86hqMf.js → ru-BeG8f0Ep.js} +3 -3
- package/dist/_chunks/{ru-Bi86hqMf.js.map → ru-BeG8f0Ep.js.map} +1 -1
- package/dist/_chunks/{sign-document-QHfcNKFj.js → sign-document-B-3k_0LO.js} +165 -137
- package/dist/_chunks/sign-document-B-3k_0LO.js.map +1 -0
- package/dist/_chunks/{sq-BujHSAWu.js → sq-_hRPaeUy.js} +6 -6
- package/dist/_chunks/{sq-BujHSAWu.js.map → sq-_hRPaeUy.js.map} +1 -1
- package/dist/_chunks/subDays-Dv7q9S7u.js +8 -0
- package/dist/_chunks/{subDays-_T9YeKPX.js.map → subDays-Dv7q9S7u.js.map} +1 -1
- package/dist/_chunks/{sv-C8AeDrTA.js → sv-g009fSpe.js} +2 -2
- package/dist/_chunks/{sv-C8AeDrTA.js.map → sv-g009fSpe.js.map} +1 -1
- package/dist/_chunks/{tab-bar-C4II-7ej.js → tab-bar-Xetknddo.js} +53 -34
- package/dist/_chunks/tab-bar-Xetknddo.js.map +1 -0
- package/dist/_chunks/{tr-CMSs_Vgf.js → tr-OKUOuhMW.js} +2 -2
- package/dist/_chunks/{tr-CMSs_Vgf.js.map → tr-OKUOuhMW.js.map} +1 -1
- package/dist/_chunks/{unit-converter-D1UrEUxa.js → unit-converter-Ds9jalbN.js} +78 -67
- package/dist/_chunks/unit-converter-Ds9jalbN.js.map +1 -0
- package/dist/_chunks/{zh-CN-eXB-PFu4.js → zh-CN-De4zwEhx.js} +3 -3
- package/dist/_chunks/{zh-CN-eXB-PFu4.js.map → zh-CN-De4zwEhx.js.map} +1 -1
- package/dist/agent-catalog.json +1 -1
- package/dist/components/_shared/calendar-class-names.d.ts +8 -0
- package/dist/components/_shared/calendar-class-names.d.ts.map +1 -0
- package/dist/components/_shared/index.d.ts +2 -0
- package/dist/components/_shared/index.d.ts.map +1 -1
- package/dist/components/_shared/insert-result.d.ts +149 -4
- package/dist/components/_shared/insert-result.d.ts.map +1 -1
- package/dist/components/badge/badge.d.ts +1 -1
- package/dist/components/bmi-calculator/bmi-calculator.d.ts +6 -0
- package/dist/components/bmi-calculator/bmi-calculator.d.ts.map +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/calculator-dialog/index.js +1 -1
- package/dist/components/card/card.d.ts +1 -1
- package/dist/components/chart/chart.d.ts +10 -0
- package/dist/components/chart/chart.d.ts.map +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/cycle-calculator/cycle-calculator.d.ts +6 -0
- package/dist/components/cycle-calculator/cycle-calculator.d.ts.map +1 -1
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/date-picker.d.ts +0 -1
- package/dist/components/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts +0 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/date-time-picker.d.ts +0 -1
- package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/dialog/dialog.d.ts +1 -0
- package/dist/components/dialog/dialog.d.ts.map +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/due-date-calculator/due-date-calculator.d.ts +6 -0
- package/dist/components/due-date-calculator/due-date-calculator.d.ts.map +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +6 -0
- package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts.map +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/header/header.d.ts +8 -0
- package/dist/components/header/header.d.ts.map +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +6 -0
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts.map +1 -1
- package/dist/components/public-header/public-header.d.ts +1 -1
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/sign-document/sign-document.d.ts +12 -0
- package/dist/components/sign-document/sign-document.d.ts.map +1 -1
- package/dist/components/stat/stat.d.ts +1 -1
- package/dist/components/tab-bar/index.d.ts +1 -1
- package/dist/components/tab-bar/index.d.ts.map +1 -1
- package/dist/components/tab-bar/index.js +1 -1
- package/dist/components/tab-bar/tab-bar.d.ts +44 -1
- package/dist/components/tab-bar/tab-bar.d.ts.map +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/unit-converter/unit-converter.d.ts +6 -0
- package/dist/components/unit-converter/unit-converter.d.ts.map +1 -1
- package/dist/index.js +504 -502
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +57 -1
- package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts.map +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +1411 -2
- package/package.json +1 -1
- package/dist/_chunks/bmi-calculator-D4juUcyF.js +0 -219
- package/dist/_chunks/bmi-calculator-D4juUcyF.js.map +0 -1
- package/dist/_chunks/chart-Cbt0_sKv.js.map +0 -1
- package/dist/_chunks/cycle-calculator-DsZbyzX6.js.map +0 -1
- package/dist/_chunks/date-range-picker-U9fn1g9d.js.map +0 -1
- package/dist/_chunks/date-time-picker-Cva0ZCWw.js.map +0 -1
- package/dist/_chunks/dialog-Cee13rHU.js +0 -215
- package/dist/_chunks/dialog-Cee13rHU.js.map +0 -1
- package/dist/_chunks/due-date-calculator-s_CBgaFs.js.map +0 -1
- package/dist/_chunks/gestational-age-calculator-CWOG3bkI.js +0 -178
- package/dist/_chunks/gestational-age-calculator-CWOG3bkI.js.map +0 -1
- package/dist/_chunks/header-CTZWX-tm.js.map +0 -1
- package/dist/_chunks/insert-result-DtQQeSSf.js +0 -227
- package/dist/_chunks/insert-result-DtQQeSSf.js.map +0 -1
- package/dist/_chunks/marketplace-app-shell-kVAVycz_.js.map +0 -1
- package/dist/_chunks/pregnancy-weight-gain-B7kBK-ZR.js.map +0 -1
- package/dist/_chunks/react-day-picker-CdtIiKjx.js +0 -3174
- package/dist/_chunks/react-day-picker-CdtIiKjx.js.map +0 -1
- package/dist/_chunks/sign-document-QHfcNKFj.js.map +0 -1
- package/dist/_chunks/subDays-_T9YeKPX.js +0 -8
- package/dist/_chunks/tab-bar-C4II-7ej.js.map +0 -1
- package/dist/_chunks/unit-converter-D1UrEUxa.js.map +0 -1
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as F, useState as L, useMemo as
|
|
3
|
-
import { c as
|
|
4
|
-
import { useTranslation as
|
|
5
|
-
import { F as
|
|
6
|
-
import { D as
|
|
7
|
-
import { N as
|
|
2
|
+
import { forwardRef as F, useState as L, useMemo as h, useEffect as H } from "react";
|
|
3
|
+
import { c as $ } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as A } from "react-i18next";
|
|
5
|
+
import { F as w } from "./form-field-BOm9hK35.js";
|
|
6
|
+
import { D as I } from "./date-picker-Bq7xhMA-.js";
|
|
7
|
+
import { N as S } from "./number-input-Dj5L3pXK.js";
|
|
8
|
+
import { C as P } from "./card-DPmk26CL.js";
|
|
8
9
|
import { B as v } from "./badge-zsf5i5bH.js";
|
|
9
|
-
import { I as
|
|
10
|
-
import { a as
|
|
11
|
-
import { C as
|
|
12
|
-
import { H as
|
|
13
|
-
import { c as
|
|
10
|
+
import { I as k } from "./insert-result-CoC1oo6R.js";
|
|
11
|
+
import { a as s } from "./date-picker-variants-DLi1Va_e.js";
|
|
12
|
+
import { C as z } from "./check-DPdL_Sm7.js";
|
|
13
|
+
import { H as B } from "./heart-C0faivFf.js";
|
|
14
|
+
import { c as G } from "./createLucideIcon-CrFbzy84.js";
|
|
14
15
|
/**
|
|
15
16
|
* @license lucide-react v1.8.0 - ISC
|
|
16
17
|
*
|
|
17
18
|
* This source code is licensed under the ISC license.
|
|
18
19
|
* See the LICENSE file in the root directory of this source tree.
|
|
19
20
|
*/
|
|
20
|
-
const
|
|
21
|
+
const Y = [
|
|
21
22
|
[
|
|
22
23
|
"path",
|
|
23
24
|
{
|
|
@@ -25,77 +26,78 @@ const B = [
|
|
|
25
26
|
key: "c7niix"
|
|
26
27
|
}
|
|
27
28
|
]
|
|
28
|
-
],
|
|
29
|
-
function
|
|
30
|
-
const d = n.cycleLength ??
|
|
31
|
-
start:
|
|
32
|
-
end:
|
|
33
|
-
}, f = i
|
|
29
|
+
], j = G("droplet", Y), x = 28, M = 14, U = 1;
|
|
30
|
+
function K(n, c = 3) {
|
|
31
|
+
const d = n.cycleLength ?? x, { lastPeriodStart: i } = n, o = s(i, d - M), u = {
|
|
32
|
+
start: s(o, -5),
|
|
33
|
+
end: s(o, U)
|
|
34
|
+
}, f = s(i, d), p = Array.from(
|
|
34
35
|
{ length: c },
|
|
35
|
-
(C, g) => i
|
|
36
|
+
(C, g) => s(i, d * (g + 1))
|
|
36
37
|
);
|
|
37
38
|
return { nextPeriod: f, ovulation: o, fertileWindow: u, upcomingPeriods: p };
|
|
38
39
|
}
|
|
39
|
-
const
|
|
40
|
+
const O = $("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
|
|
40
41
|
variants: {
|
|
41
42
|
width: { full: "ds:w-full", auto: "ds:inline-flex" }
|
|
42
43
|
},
|
|
43
44
|
defaultVariants: { width: "full" }
|
|
44
|
-
}), V = F(
|
|
45
|
+
}), V = "--accent", q = F(
|
|
45
46
|
({
|
|
46
|
-
defaultCycleLength: n =
|
|
47
|
+
defaultCycleLength: n = x,
|
|
47
48
|
onResultChange: c,
|
|
48
49
|
onInsert: d,
|
|
49
|
-
insertVariant:
|
|
50
|
+
insertVariant: i = "insert",
|
|
50
51
|
onCopy: o,
|
|
51
52
|
onError: u,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
insertBrand: f,
|
|
54
|
+
id: p,
|
|
55
|
+
width: C,
|
|
56
|
+
className: g
|
|
57
|
+
}, b) => {
|
|
58
|
+
const { t: a, i18n: N } = A(), [m, D] = L(void 0), [y, E] = L(
|
|
57
59
|
n
|
|
58
|
-
), t =
|
|
60
|
+
), t = h(() => m ? K({
|
|
59
61
|
lastPeriodStart: m,
|
|
60
|
-
cycleLength: y ??
|
|
61
|
-
}) : null, [m, y]),
|
|
62
|
+
cycleLength: y ?? x
|
|
63
|
+
}) : null, [m, y]), T = h(
|
|
62
64
|
() => new Intl.DateTimeFormat(N.language, { dateStyle: "medium" }),
|
|
63
65
|
[N.language]
|
|
64
66
|
);
|
|
65
|
-
|
|
67
|
+
H(() => {
|
|
66
68
|
c == null || c(t);
|
|
67
69
|
}, [t, c]);
|
|
68
|
-
const
|
|
70
|
+
const _ = h(() => /* @__PURE__ */ new Date(), []), l = (W) => T.format(W);
|
|
69
71
|
return /* @__PURE__ */ r(
|
|
70
72
|
"div",
|
|
71
73
|
{
|
|
72
|
-
ref:
|
|
74
|
+
ref: b,
|
|
73
75
|
"data-component": "cycle-calculator",
|
|
74
|
-
"data-component-id":
|
|
75
|
-
className:
|
|
76
|
+
"data-component-id": p,
|
|
77
|
+
className: O({ width: C, className: g }),
|
|
76
78
|
children: [
|
|
77
79
|
/* @__PURE__ */ r("div", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2", children: [
|
|
78
|
-
/* @__PURE__ */ e(
|
|
79
|
-
|
|
80
|
+
/* @__PURE__ */ e(w, { label: a("cycleCalculator.lastPeriod"), children: /* @__PURE__ */ e(
|
|
81
|
+
I,
|
|
80
82
|
{
|
|
81
83
|
value: m,
|
|
82
|
-
onChange:
|
|
83
|
-
maxDate:
|
|
84
|
+
onChange: D,
|
|
85
|
+
maxDate: _
|
|
84
86
|
}
|
|
85
87
|
) }),
|
|
86
88
|
/* @__PURE__ */ e(
|
|
87
|
-
|
|
89
|
+
w,
|
|
88
90
|
{
|
|
89
91
|
label: a("cycleCalculator.cycleLength"),
|
|
90
92
|
description: a("cycleCalculator.cycleLengthHint"),
|
|
91
93
|
children: /* @__PURE__ */ e(
|
|
92
|
-
|
|
94
|
+
S,
|
|
93
95
|
{
|
|
94
96
|
mode: "integer",
|
|
95
97
|
min: 20,
|
|
96
98
|
max: 45,
|
|
97
99
|
value: y,
|
|
98
|
-
onChange:
|
|
100
|
+
onChange: E
|
|
99
101
|
}
|
|
100
102
|
)
|
|
101
103
|
}
|
|
@@ -104,7 +106,7 @@ const G = S("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
|
|
|
104
106
|
/* @__PURE__ */ e("p", { className: "ds:sr-only", role: "status", "aria-live": "polite", children: t ? `${a("cycleCalculator.ovulation")}: ${l(t.ovulation)}. ${a(
|
|
105
107
|
"cycleCalculator.nextPeriod"
|
|
106
108
|
)}: ${l(t.nextPeriod)}.` : "" }),
|
|
107
|
-
t ? /* @__PURE__ */
|
|
109
|
+
t ? /* @__PURE__ */ e(P, { variant: "elevated", children: /* @__PURE__ */ r(P.Body, { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
108
110
|
/* @__PURE__ */ r("dl", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-3", children: [
|
|
109
111
|
/* @__PURE__ */ r("div", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-xs)] ds:text-center", children: [
|
|
110
112
|
/* @__PURE__ */ e("dt", { className: "type-label ds:text-muted-foreground", children: a("cycleCalculator.ovulation") }),
|
|
@@ -113,7 +115,7 @@ const G = S("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
|
|
|
113
115
|
{
|
|
114
116
|
variant: "success",
|
|
115
117
|
size: "lg",
|
|
116
|
-
leading: /* @__PURE__ */ e(
|
|
118
|
+
leading: /* @__PURE__ */ e(z, { "aria-hidden": !0 }),
|
|
117
119
|
children: l(t.ovulation)
|
|
118
120
|
}
|
|
119
121
|
) })
|
|
@@ -125,7 +127,7 @@ const G = S("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
|
|
|
125
127
|
{
|
|
126
128
|
variant: "accent",
|
|
127
129
|
size: "lg",
|
|
128
|
-
leading: /* @__PURE__ */ e(
|
|
130
|
+
leading: /* @__PURE__ */ e(B, { "aria-hidden": !0 }),
|
|
129
131
|
children: [
|
|
130
132
|
l(t.fertileWindow.start),
|
|
131
133
|
" –",
|
|
@@ -142,21 +144,28 @@ const G = S("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
|
|
|
142
144
|
{
|
|
143
145
|
variant: "error",
|
|
144
146
|
size: "lg",
|
|
145
|
-
leading: /* @__PURE__ */ e(
|
|
147
|
+
leading: /* @__PURE__ */ e(j, { "aria-hidden": !0 }),
|
|
146
148
|
children: l(t.nextPeriod)
|
|
147
149
|
}
|
|
148
150
|
) })
|
|
149
151
|
] })
|
|
150
152
|
] }),
|
|
151
|
-
|
|
152
|
-
|
|
153
|
+
i === "copy" || d ? /* @__PURE__ */ e(
|
|
154
|
+
k,
|
|
153
155
|
{
|
|
154
156
|
onInsert: d,
|
|
155
|
-
variant:
|
|
157
|
+
variant: i,
|
|
156
158
|
onCopy: o,
|
|
157
159
|
onError: u,
|
|
158
160
|
card: {
|
|
159
161
|
title: a("insert.title.cycle"),
|
|
162
|
+
highlight: `${l(t.fertileWindow.start)} – ${l(
|
|
163
|
+
t.fertileWindow.end
|
|
164
|
+
)}`,
|
|
165
|
+
// Chip reuses the on-screen fertile-window badge's accent
|
|
166
|
+
// token so the inserted PNG chip matches the screen.
|
|
167
|
+
highlightToken: V,
|
|
168
|
+
brand: f,
|
|
160
169
|
fields: [
|
|
161
170
|
{
|
|
162
171
|
label: a("cycleCalculator.ovulation"),
|
|
@@ -176,16 +185,16 @@ const G = S("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
|
|
|
176
185
|
}
|
|
177
186
|
}
|
|
178
187
|
) : null
|
|
179
|
-
] }) : /* @__PURE__ */ e("p", { className: "type-body ds:text-muted-foreground", children: a("cycleCalculator.empty") })
|
|
188
|
+
] }) }) : /* @__PURE__ */ e("p", { className: "type-body ds:text-muted-foreground", children: a("cycleCalculator.empty") })
|
|
180
189
|
]
|
|
181
190
|
}
|
|
182
191
|
);
|
|
183
192
|
}
|
|
184
193
|
);
|
|
185
|
-
|
|
194
|
+
q.displayName = "CycleCalculator";
|
|
186
195
|
export {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
196
|
+
q as C,
|
|
197
|
+
M as L,
|
|
198
|
+
K as p
|
|
190
199
|
};
|
|
191
|
-
//# sourceMappingURL=cycle-calculator-
|
|
200
|
+
//# sourceMappingURL=cycle-calculator-ChHBcjet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cycle-calculator-ChHBcjet.js","sources":["../../node_modules/lucide-react/dist/esm/icons/droplet.js","../../src/components/cycle-calculator/cycle.ts","../../src/components/cycle-calculator/cycle-calculator.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z\",\n key: \"c7niix\"\n }\n ]\n];\nconst Droplet = createLucideIcon(\"droplet\", __iconNode);\n\nexport { __iconNode, Droplet as default };\n//# sourceMappingURL=droplet.js.map\n","/* ------------------------------------------------------------------ */\n/* Menstrual-cycle prediction — pure, framework-free, unit-testable. */\n/* */\n/* Uses the standard fixed-luteal-phase model: ovulation falls ~14 days */\n/* before the next period, so on a cycle of length L ovulation is day */\n/* (L − 14). The fertile window spans the 5 days before ovulation */\n/* (sperm survival) through 1 day after (oocyte viability). */\n/* ------------------------------------------------------------------ */\n\nimport { addDays } from 'date-fns';\n\n/** Standard menstrual-cycle length. */\nexport const DEFAULT_CYCLE_LENGTH = 28;\n/** Luteal phase is biologically near-constant at ~14 days. */\nexport const LUTEAL_PHASE_DAYS = 14;\n/** Sperm survive up to ~5 days before ovulation. */\nexport const FERTILE_DAYS_BEFORE = 5;\n/** The oocyte is viable ~1 day after ovulation. */\nexport const FERTILE_DAYS_AFTER = 1;\n\nexport interface CycleInput {\n /** First day of the most recent period. */\n lastPeriodStart: Date;\n /** Average cycle length in days. Defaults to 28. */\n cycleLength?: number;\n /** Period (bleed) length in days. Optional — used for the period range. */\n periodLength?: number;\n}\n\nexport interface DateRange {\n start: Date;\n end: Date;\n}\n\nexport interface CyclePrediction {\n /** Start date of the next period. */\n nextPeriod: Date;\n /** Estimated ovulation date. */\n ovulation: Date;\n /** Fertile window (5 days before ovulation → 1 day after). */\n fertileWindow: DateRange;\n /** Start dates of the next few periods (length = `occurrences`). */\n upcomingPeriods: Date[];\n}\n\n/**\n * Predict ovulation, the fertile window and upcoming periods from the last\n * period's start date. `occurrences` controls how many future periods to\n * list (default 3).\n */\nexport function predictCycle(\n input: CycleInput,\n occurrences = 3,\n): CyclePrediction {\n const cycle = input.cycleLength ?? DEFAULT_CYCLE_LENGTH;\n const { lastPeriodStart } = input;\n\n const ovulation = addDays(lastPeriodStart, cycle - LUTEAL_PHASE_DAYS);\n const fertileWindow: DateRange = {\n start: addDays(ovulation, -FERTILE_DAYS_BEFORE),\n end: addDays(ovulation, FERTILE_DAYS_AFTER),\n };\n const nextPeriod = addDays(lastPeriodStart, cycle);\n const upcomingPeriods = Array.from({ length: occurrences }, (_, i) =>\n addDays(lastPeriodStart, cycle * (i + 1)),\n );\n\n return { nextPeriod, ovulation, fertileWindow, upcomingPeriods };\n}\n","/* ------------------------------------------------------------------ */\n/* CycleCalculator — predict ovulation, fertile window and upcoming */\n/* periods from the last period's start date. */\n/* */\n/* Maths lives in `./cycle` (pure, separately tested). */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Heart, Check, Droplet } from 'lucide-react';\nimport { FormField } from '../form-field';\nimport { DatePicker } from '../date-picker';\nimport { NumberInput } from '../number-input';\nimport { Card } from '../card';\nimport { Badge } from '../badge';\nimport {\n InsertButton,\n type InsertPayload,\n type InsertVariant,\n type InsertMode,\n} from '../_shared/insert-result';\nimport {\n type CyclePrediction,\n predictCycle,\n DEFAULT_CYCLE_LENGTH,\n} from './cycle';\n\nconst rootVariants = cva('ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]', {\n variants: {\n width: { full: 'ds:w-full', auto: 'ds:inline-flex' },\n },\n defaultVariants: { width: 'full' },\n});\n\n/**\n * DS token NAME backing the result-card chip — the fertile window is the\n * headline fertility datum, shown on screen with the `accent` Badge variant\n * (which fills `--accent`). The card chip reuses that token so the inserted\n * PNG chip matches the on-screen fertile-window badge.\n */\nconst HIGHLIGHT_TOKEN = '--accent';\n\nexport interface CycleCalculatorProps extends VariantProps<\n typeof rootVariants\n> {\n /** Initial cycle length in days. Defaults to 28. */\n defaultCycleLength?: number;\n /** Fires whenever a prediction can be computed (and `null` when it can't). */\n onResultChange?: (result: CyclePrediction | null) => void;\n /** When provided, shows the result-action buttons that emit / copy the result. */\n onInsert?: (payload: InsertPayload) => void;\n /**\n * Which verb the result button performs. Defaults to `'insert'`.\n * Use `'copy'` in an app-shell surface (no editor to insert into) — the\n * button writes the result to the clipboard as a multi-format `ClipboardItem`.\n */\n insertVariant?: InsertVariant;\n /** `copy` variant only — fired after a successful clipboard write. */\n onCopy?: (mode: InsertMode) => void;\n /** `copy` variant only — fired if the clipboard write can't proceed. */\n onError?: (error: unknown) => void;\n /**\n * Brand wordmark printed in the inserted/copied result-card footer.\n * Omitted → the default `'AlfaDocs'` wordmark; a string overrides it;\n * `false` removes the brand line.\n */\n insertBrand?: string | false;\n /** Opaque instance id, emitted as `data-component-id`. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\nexport const CycleCalculator = forwardRef<HTMLDivElement, CycleCalculatorProps>(\n (\n {\n defaultCycleLength = DEFAULT_CYCLE_LENGTH,\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n insertBrand,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [lastPeriod, setLastPeriod] = useState<Date | undefined>(undefined);\n const [cycleLength, setCycleLength] = useState<number | null>(\n defaultCycleLength,\n );\n\n const result = useMemo<CyclePrediction | null>(() => {\n if (!lastPeriod) return null;\n return predictCycle({\n lastPeriodStart: lastPeriod,\n cycleLength: cycleLength ?? DEFAULT_CYCLE_LENGTH,\n });\n }, [lastPeriod, cycleLength]);\n\n const dateFormatter = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'medium' }),\n [i18n.language],\n );\n\n useEffect(() => {\n onResultChange?.(result);\n }, [result, onResultChange]);\n\n const today = useMemo(() => new Date(), []);\n\n const fmt = (d: Date): string => dateFormatter.format(d);\n\n return (\n <div\n ref={ref}\n data-component=\"cycle-calculator\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField label={t('cycleCalculator.lastPeriod')}>\n <DatePicker\n value={lastPeriod}\n onChange={setLastPeriod}\n maxDate={today}\n />\n </FormField>\n <FormField\n label={t('cycleCalculator.cycleLength')}\n description={t('cycleCalculator.cycleLengthHint')}\n >\n <NumberInput\n mode=\"integer\"\n min={20}\n max={45}\n value={cycleLength}\n onChange={setCycleLength}\n />\n </FormField>\n </div>\n\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {result\n ? `${t('cycleCalculator.ovulation')}: ${fmt(result.ovulation)}. ${t(\n 'cycleCalculator.nextPeriod',\n )}: ${fmt(result.nextPeriod)}.`\n : ''}\n </p>\n\n {result ? (\n <Card variant=\"elevated\">\n <Card.Body className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n <dl className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-3\">\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-xs)] ds:text-center\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('cycleCalculator.ovulation')}\n </dt>\n <dd>\n <Badge\n variant=\"success\"\n size=\"lg\"\n leading={<Check aria-hidden />}\n >\n {fmt(result.ovulation)}\n </Badge>\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-xs)] ds:text-center\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('cycleCalculator.fertileWindow')}\n </dt>\n <dd>\n <Badge\n variant=\"accent\"\n size=\"lg\"\n leading={<Heart aria-hidden />}\n >\n {fmt(result.fertileWindow.start)} –{' '}\n {fmt(result.fertileWindow.end)}\n </Badge>\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-xs)] ds:text-center\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('cycleCalculator.nextPeriod')}\n </dt>\n <dd>\n <Badge\n variant=\"error\"\n size=\"lg\"\n leading={<Droplet aria-hidden />}\n >\n {fmt(result.nextPeriod)}\n </Badge>\n </dd>\n </div>\n </dl>\n {insertVariant === 'copy' || onInsert ? (\n <InsertButton\n onInsert={onInsert}\n variant={insertVariant}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.cycle'),\n highlight: `${fmt(result.fertileWindow.start)} – ${fmt(\n result.fertileWindow.end,\n )}`,\n // Chip reuses the on-screen fertile-window badge's accent\n // token so the inserted PNG chip matches the screen.\n highlightToken: HIGHLIGHT_TOKEN,\n brand: insertBrand,\n fields: [\n {\n label: t('cycleCalculator.ovulation'),\n value: fmt(result.ovulation),\n },\n {\n label: t('cycleCalculator.fertileWindow'),\n value: `${fmt(result.fertileWindow.start)} – ${fmt(\n result.fertileWindow.end,\n )}`,\n },\n {\n label: t('cycleCalculator.nextPeriod'),\n value: fmt(result.nextPeriod),\n },\n ],\n }}\n />\n ) : null}\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('cycleCalculator.empty')}\n </p>\n )}\n </div>\n );\n },\n);\n\nCycleCalculator.displayName = 'CycleCalculator';\n"],"names":["__iconNode","Droplet","createLucideIcon","DEFAULT_CYCLE_LENGTH","LUTEAL_PHASE_DAYS","FERTILE_DAYS_AFTER","predictCycle","input","occurrences","cycle","lastPeriodStart","ovulation","addDays","fertileWindow","nextPeriod","upcomingPeriods","_","i","rootVariants","cva","HIGHLIGHT_TOKEN","CycleCalculator","forwardRef","defaultCycleLength","onResultChange","onInsert","insertVariant","onCopy","onError","insertBrand","id","width","className","ref","t","i18n","useTranslation","lastPeriod","setLastPeriod","useState","cycleLength","setCycleLength","result","useMemo","dateFormatter","useEffect","today","fmt","d","jsxs","jsx","FormField","DatePicker","NumberInput","Card","Badge","Check","Heart","InsertButton"],"mappings":"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","x_google_ignoreList":[0]}
|