@alfadocs/ui-kit-debug 0.42.0 → 0.43.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 (159) hide show
  1. package/dist/_chunks/{ar-Cn_NxqkN.js → ar-DEz65ZJW.js} +2 -2
  2. package/dist/_chunks/{ar-Cn_NxqkN.js.map → ar-DEz65ZJW.js.map} +1 -1
  3. package/dist/_chunks/bmi-calculator-DuVSFDuw.js +259 -0
  4. package/dist/_chunks/bmi-calculator-DuVSFDuw.js.map +1 -0
  5. package/dist/_chunks/{booking-4mCw3Mpl.js → booking-CtLwaxkK.js} +4 -4
  6. package/dist/_chunks/{booking-4mCw3Mpl.js.map → booking-CtLwaxkK.js.map} +1 -1
  7. package/dist/_chunks/{calculator-dialog-B74fqpFZ.js → calculator-dialog-DdexHrTP.js} +2 -2
  8. package/dist/_chunks/{calculator-dialog-B74fqpFZ.js.map → calculator-dialog-DdexHrTP.js.map} +1 -1
  9. package/dist/_chunks/{chart-Cbt0_sKv.js → chart-Cg3e9EH9.js} +101 -99
  10. package/dist/_chunks/chart-Cg3e9EH9.js.map +1 -0
  11. package/dist/_chunks/{cycle-calculator-DsZbyzX6.js → cycle-calculator-Dln-y1k_.js} +43 -42
  12. package/dist/_chunks/cycle-calculator-Dln-y1k_.js.map +1 -0
  13. package/dist/_chunks/{date-picker-CvQfs6Xh.js → date-picker-Bq7xhMA-.js} +109 -108
  14. package/dist/_chunks/{date-picker-CvQfs6Xh.js.map → date-picker-Bq7xhMA-.js.map} +1 -1
  15. package/dist/_chunks/date-picker-variants-DLi1Va_e.js +3238 -0
  16. package/dist/_chunks/date-picker-variants-DLi1Va_e.js.map +1 -0
  17. package/dist/_chunks/{date-range-picker-U9fn1g9d.js → date-range-picker-DcXuI9y7.js} +20 -19
  18. package/dist/_chunks/date-range-picker-DcXuI9y7.js.map +1 -0
  19. package/dist/_chunks/{date-time-picker-Cva0ZCWw.js → date-time-picker-RimumeLR.js} +18 -17
  20. package/dist/_chunks/date-time-picker-RimumeLR.js.map +1 -0
  21. package/dist/_chunks/{de-BMM2H7Bs.js → de-bTBGdjPS.js} +2 -2
  22. package/dist/_chunks/{de-BMM2H7Bs.js.map → de-bTBGdjPS.js.map} +1 -1
  23. package/dist/_chunks/{dialog-Cee13rHU.js → dialog-DOYgd75U.js} +46 -37
  24. package/dist/_chunks/dialog-DOYgd75U.js.map +1 -0
  25. package/dist/_chunks/{due-date-calculator-s_CBgaFs.js → due-date-calculator-Cc4dRqTI.js} +46 -38
  26. package/dist/_chunks/due-date-calculator-Cc4dRqTI.js.map +1 -0
  27. package/dist/_chunks/{editable-currency-cell-renderer-BhUkRiPZ.js → editable-currency-cell-renderer-9jqwDv5x.js} +2 -2
  28. package/dist/_chunks/{editable-currency-cell-renderer-BhUkRiPZ.js.map → editable-currency-cell-renderer-9jqwDv5x.js.map} +1 -1
  29. package/dist/_chunks/{el-BYPonAaK.js → el-BWG5RXxa.js} +6 -6
  30. package/dist/_chunks/{el-BYPonAaK.js.map → el-BWG5RXxa.js.map} +1 -1
  31. package/dist/_chunks/{es-CMkVCQ4F.js → es-DfO_G435.js} +2 -2
  32. package/dist/_chunks/{es-CMkVCQ4F.js.map → es-DfO_G435.js.map} +1 -1
  33. package/dist/_chunks/{fr-BcuWxqft.js → fr-BTn24bs8.js} +2 -2
  34. package/dist/_chunks/{fr-BcuWxqft.js.map → fr-BTn24bs8.js.map} +1 -1
  35. package/dist/_chunks/{gestation-BXEgDGmP.js → gestation-mWF4AXea.js} +3 -3
  36. package/dist/_chunks/{gestation-BXEgDGmP.js.map → gestation-mWF4AXea.js.map} +1 -1
  37. package/dist/_chunks/{gestational-age-calculator-CWOG3bkI.js → gestational-age-calculator-ZMSrzkRW.js} +42 -41
  38. package/dist/_chunks/gestational-age-calculator-ZMSrzkRW.js.map +1 -0
  39. package/dist/_chunks/{header-CTZWX-tm.js → header-Ce1Br27u.js} +70 -75
  40. package/dist/_chunks/header-Ce1Br27u.js.map +1 -0
  41. package/dist/_chunks/{hi-wkq_rQAh.js → hi-Dj3oYd84.js} +2 -2
  42. package/dist/_chunks/{hi-wkq_rQAh.js.map → hi-Dj3oYd84.js.map} +1 -1
  43. package/dist/_chunks/{insert-result-DtQQeSSf.js → insert-result-DisOY2G-.js} +91 -75
  44. package/dist/_chunks/insert-result-DisOY2G-.js.map +1 -0
  45. package/dist/_chunks/{isSameWeek-Bim5ftRd.js → isSameWeek-HfxKk6Lz.js} +2 -2
  46. package/dist/_chunks/{isSameWeek-Bim5ftRd.js.map → isSameWeek-HfxKk6Lz.js.map} +1 -1
  47. package/dist/_chunks/{it-GiQrQ9p4.js → it-Y85ofIQQ.js} +7 -7
  48. package/dist/_chunks/{it-GiQrQ9p4.js.map → it-Y85ofIQQ.js.map} +1 -1
  49. package/dist/_chunks/{ja-qfYg3Rua.js → ja-CQ7J6YoA.js} +2 -2
  50. package/dist/_chunks/{ja-qfYg3Rua.js.map → ja-CQ7J6YoA.js.map} +1 -1
  51. package/dist/_chunks/{marketplace-app-shell-kVAVycz_.js → marketplace-app-shell-Dc5cTIt8.js} +186 -149
  52. package/dist/_chunks/marketplace-app-shell-Dc5cTIt8.js.map +1 -0
  53. package/dist/_chunks/{nl-xOogO4sZ.js → nl-D9kHCmp3.js} +2 -2
  54. package/dist/_chunks/{nl-xOogO4sZ.js.map → nl-D9kHCmp3.js.map} +1 -1
  55. package/dist/_chunks/{patient-shell-lDX3wwu6.js → patient-shell-CnT4L8gn.js} +2 -2
  56. package/dist/_chunks/{patient-shell-lDX3wwu6.js.map → patient-shell-CnT4L8gn.js.map} +1 -1
  57. package/dist/_chunks/{pl-GnOW6eGK.js → pl-B3Smqpkr.js} +3 -3
  58. package/dist/_chunks/{pl-GnOW6eGK.js.map → pl-B3Smqpkr.js.map} +1 -1
  59. package/dist/_chunks/{pregnancy-weight-gain-B7kBK-ZR.js → pregnancy-weight-gain-zZL5Ir2-.js} +49 -48
  60. package/dist/_chunks/pregnancy-weight-gain-zZL5Ir2-.js.map +1 -0
  61. package/dist/_chunks/{pt-_bV5b5RW.js → pt-D3J-1c_7.js} +6 -6
  62. package/dist/_chunks/{pt-_bV5b5RW.js.map → pt-D3J-1c_7.js.map} +1 -1
  63. package/dist/_chunks/{ro-BEcyh5Nj.js → ro-BKAbbEA3.js} +2 -2
  64. package/dist/_chunks/{ro-BEcyh5Nj.js.map → ro-BKAbbEA3.js.map} +1 -1
  65. package/dist/_chunks/{ru-Bi86hqMf.js → ru-BeG8f0Ep.js} +3 -3
  66. package/dist/_chunks/{ru-Bi86hqMf.js.map → ru-BeG8f0Ep.js.map} +1 -1
  67. package/dist/_chunks/{sign-document-QHfcNKFj.js → sign-document-B-3k_0LO.js} +165 -137
  68. package/dist/_chunks/sign-document-B-3k_0LO.js.map +1 -0
  69. package/dist/_chunks/{sq-BujHSAWu.js → sq-_hRPaeUy.js} +6 -6
  70. package/dist/_chunks/{sq-BujHSAWu.js.map → sq-_hRPaeUy.js.map} +1 -1
  71. package/dist/_chunks/subDays-Dv7q9S7u.js +8 -0
  72. package/dist/_chunks/{subDays-_T9YeKPX.js.map → subDays-Dv7q9S7u.js.map} +1 -1
  73. package/dist/_chunks/{sv-C8AeDrTA.js → sv-g009fSpe.js} +2 -2
  74. package/dist/_chunks/{sv-C8AeDrTA.js.map → sv-g009fSpe.js.map} +1 -1
  75. package/dist/_chunks/{tab-bar-C4II-7ej.js → tab-bar-Xetknddo.js} +53 -34
  76. package/dist/_chunks/tab-bar-Xetknddo.js.map +1 -0
  77. package/dist/_chunks/{tr-CMSs_Vgf.js → tr-OKUOuhMW.js} +2 -2
  78. package/dist/_chunks/{tr-CMSs_Vgf.js.map → tr-OKUOuhMW.js.map} +1 -1
  79. package/dist/_chunks/{unit-converter-D1UrEUxa.js → unit-converter-CuXCXJhK.js} +2 -2
  80. package/dist/_chunks/{unit-converter-D1UrEUxa.js.map → unit-converter-CuXCXJhK.js.map} +1 -1
  81. package/dist/_chunks/{zh-CN-eXB-PFu4.js → zh-CN-De4zwEhx.js} +3 -3
  82. package/dist/_chunks/{zh-CN-eXB-PFu4.js.map → zh-CN-De4zwEhx.js.map} +1 -1
  83. package/dist/agent-catalog.json +1 -1
  84. package/dist/components/_shared/calendar-class-names.d.ts +8 -0
  85. package/dist/components/_shared/calendar-class-names.d.ts.map +1 -0
  86. package/dist/components/_shared/index.d.ts +2 -0
  87. package/dist/components/_shared/index.d.ts.map +1 -1
  88. package/dist/components/_shared/insert-result.d.ts +57 -2
  89. package/dist/components/_shared/insert-result.d.ts.map +1 -1
  90. package/dist/components/badge/badge.d.ts +1 -1
  91. package/dist/components/bmi-calculator/bmi-calculator.d.ts.map +1 -1
  92. package/dist/components/bmi-calculator/index.js +1 -1
  93. package/dist/components/booking/index.js +1 -1
  94. package/dist/components/calculator-dialog/index.js +1 -1
  95. package/dist/components/card/card.d.ts +1 -1
  96. package/dist/components/chart/chart.d.ts +10 -0
  97. package/dist/components/chart/chart.d.ts.map +1 -1
  98. package/dist/components/chart/index.js +1 -1
  99. package/dist/components/cycle-calculator/cycle-calculator.d.ts.map +1 -1
  100. package/dist/components/cycle-calculator/index.js +1 -1
  101. package/dist/components/data-table/index.js +1 -1
  102. package/dist/components/date-picker/date-picker.d.ts +0 -1
  103. package/dist/components/date-picker/date-picker.d.ts.map +1 -1
  104. package/dist/components/date-picker/index.js +1 -1
  105. package/dist/components/date-range-picker/date-range-picker.d.ts +0 -1
  106. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  107. package/dist/components/date-range-picker/index.js +1 -1
  108. package/dist/components/date-time-picker/date-time-picker.d.ts +0 -1
  109. package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -1
  110. package/dist/components/date-time-picker/index.js +1 -1
  111. package/dist/components/dialog/dialog.d.ts.map +1 -1
  112. package/dist/components/dialog/index.js +1 -1
  113. package/dist/components/due-date-calculator/due-date-calculator.d.ts.map +1 -1
  114. package/dist/components/due-date-calculator/index.js +2 -2
  115. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts.map +1 -1
  116. package/dist/components/gestational-age-calculator/index.js +1 -1
  117. package/dist/components/header/header.d.ts +8 -0
  118. package/dist/components/header/header.d.ts.map +1 -1
  119. package/dist/components/header/index.js +1 -1
  120. package/dist/components/index.d.ts +1 -1
  121. package/dist/components/index.d.ts.map +1 -1
  122. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  123. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts.map +1 -1
  124. package/dist/components/public-header/public-header.d.ts +1 -1
  125. package/dist/components/sign-document/index.js +1 -1
  126. package/dist/components/sign-document/sign-document.d.ts +12 -0
  127. package/dist/components/sign-document/sign-document.d.ts.map +1 -1
  128. package/dist/components/stat/stat.d.ts +1 -1
  129. package/dist/components/tab-bar/index.d.ts +1 -1
  130. package/dist/components/tab-bar/index.d.ts.map +1 -1
  131. package/dist/components/tab-bar/index.js +1 -1
  132. package/dist/components/tab-bar/tab-bar.d.ts +44 -1
  133. package/dist/components/tab-bar/tab-bar.d.ts.map +1 -1
  134. package/dist/components/unit-converter/index.js +1 -1
  135. package/dist/index.js +495 -494
  136. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  137. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +57 -1
  138. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts.map +1 -1
  139. package/dist/patterns/patient-shell/index.js +1 -1
  140. package/dist/tokens.css +1411 -2
  141. package/package.json +1 -1
  142. package/dist/_chunks/bmi-calculator-D4juUcyF.js +0 -219
  143. package/dist/_chunks/bmi-calculator-D4juUcyF.js.map +0 -1
  144. package/dist/_chunks/chart-Cbt0_sKv.js.map +0 -1
  145. package/dist/_chunks/cycle-calculator-DsZbyzX6.js.map +0 -1
  146. package/dist/_chunks/date-range-picker-U9fn1g9d.js.map +0 -1
  147. package/dist/_chunks/date-time-picker-Cva0ZCWw.js.map +0 -1
  148. package/dist/_chunks/dialog-Cee13rHU.js.map +0 -1
  149. package/dist/_chunks/due-date-calculator-s_CBgaFs.js.map +0 -1
  150. package/dist/_chunks/gestational-age-calculator-CWOG3bkI.js.map +0 -1
  151. package/dist/_chunks/header-CTZWX-tm.js.map +0 -1
  152. package/dist/_chunks/insert-result-DtQQeSSf.js.map +0 -1
  153. package/dist/_chunks/marketplace-app-shell-kVAVycz_.js.map +0 -1
  154. package/dist/_chunks/pregnancy-weight-gain-B7kBK-ZR.js.map +0 -1
  155. package/dist/_chunks/react-day-picker-CdtIiKjx.js +0 -3174
  156. package/dist/_chunks/react-day-picker-CdtIiKjx.js.map +0 -1
  157. package/dist/_chunks/sign-document-QHfcNKFj.js.map +0 -1
  158. package/dist/_chunks/subDays-_T9YeKPX.js +0 -8
  159. package/dist/_chunks/tab-bar-C4II-7ej.js.map +0 -1
@@ -1,13 +1,13 @@
1
1
  import { jsx as s, jsxs as v } from "react/jsx-runtime";
2
- import { useRef as R, useEffect as T, useMemo as O, forwardRef as d, useContext as j, createContext as z } from "react";
2
+ import { useRef as R, useEffect as T, useMemo as O, forwardRef as d, useContext as j, createContext as E } from "react";
3
3
  import * as t from "@radix-ui/react-dialog";
4
- import { c as k } from "./index-D2ZczOXr.js";
5
- import { useTranslation as E } from "react-i18next";
6
- import { I } from "./icon-button-CKEOrN37.js";
7
- import { u as B } from "./use-controllable-state-BiY4xTzM.js";
8
- import { u as S } from "./registry-nPAVE19X.js";
9
- import { X as A } from "./x-CCcI3eJp.js";
10
- const H = {
4
+ import { c as _ } from "./index-D2ZczOXr.js";
5
+ import { useTranslation as k } from "react-i18next";
6
+ import { I as z } from "./icon-button-CKEOrN37.js";
7
+ import { u as I } from "./use-controllable-state-BiY4xTzM.js";
8
+ import { u as B } from "./registry-nPAVE19X.js";
9
+ import { X as S } from "./x-CCcI3eJp.js";
10
+ const A = {
11
11
  id: "dialog",
12
12
  capabilities: ["open", "close", "dismiss"],
13
13
  state: {
@@ -48,14 +48,14 @@ const H = {
48
48
  description: "Sourced from the id prop on Dialog.Root."
49
49
  }
50
50
  }
51
- }, V = [
52
- "ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]",
53
- "ds:bg-[var(--background)]/[var(--opacity-70)]",
51
+ }, H = [
52
+ "ds-dialog__backdrop",
54
53
  "ds:backdrop-blur-sm",
55
54
  "ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0",
56
55
  "ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0",
57
56
  "ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
58
- ].join(" "), F = [
57
+ ].join(" "), V = [
58
+ "ds-dialog",
59
59
  "ds:fixed ds:z-[var(--z-modal)]",
60
60
  "ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]",
61
61
  "ds:shadow-[var(--shadow-xl)]",
@@ -64,7 +64,7 @@ const H = {
64
64
  "ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0 ds:data-[state=open]:zoom-in-95",
65
65
  "ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=closed]:zoom-out-95",
66
66
  "ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
67
- ].join(" "), g = "ds:start-1/2 ds:top-1/2 ds:-translate-x-1/2 ds:-translate-y-1/2 ds:w-[calc(100%-var(--spacing-lg)*2)]", L = k(F, {
67
+ ].join(" "), g = "ds:start-1/2 ds:top-1/2 ds:-translate-x-1/2 ds:-translate-y-1/2 ds:w-[calc(100%-var(--spacing-lg)*2)]", F = _(V, {
68
68
  variants: {
69
69
  size: {
70
70
  sm: `${g} ds:max-w-[448px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,
@@ -74,7 +74,7 @@ const H = {
74
74
  }
75
75
  },
76
76
  defaultVariants: { size: "md" }
77
- }), f = z(void 0), u = ({
77
+ }), f = E(void 0), u = ({
78
78
  children: o,
79
79
  id: e,
80
80
  open: a,
@@ -82,7 +82,7 @@ const H = {
82
82
  onOpenChange: c,
83
83
  ...p
84
84
  }) => {
85
- const [m, n] = B({
85
+ const [m, n] = I({
86
86
  value: a,
87
87
  defaultValue: r ?? !1,
88
88
  onChange: c
@@ -98,14 +98,14 @@ const H = {
98
98
  }),
99
99
  [n]
100
100
  );
101
- return S(H, N, e), /* @__PURE__ */ s(f.Provider, { value: e, children: /* @__PURE__ */ s(t.Root, { open: i, onOpenChange: n, ...p, children: o }) });
101
+ return B(A, N, e), /* @__PURE__ */ s(f.Provider, { value: e, children: /* @__PURE__ */ s(t.Root, { open: i, onOpenChange: n, ...p, children: o }) });
102
102
  };
103
103
  u.displayName = "Dialog.Root";
104
104
  const h = d(({ children: o, ...e }, a) => /* @__PURE__ */ s(t.Trigger, { ref: a, ...e, children: o }));
105
105
  h.displayName = "Dialog.Trigger";
106
106
  const x = d(({ children: o, ...e }, a) => /* @__PURE__ */ s(t.Close, { ref: a, ...e, children: o }));
107
107
  x.displayName = "Dialog.Close";
108
- const y = d(
108
+ const D = d(
109
109
  ({
110
110
  size: o = "md",
111
111
  variant: e = "default",
@@ -114,13 +114,13 @@ const y = d(
114
114
  children: c,
115
115
  ...p
116
116
  }, m) => {
117
- const { t: n } = E(), i = j(f), l = e === "alert" ? { role: "alertdialog" } : {};
117
+ const { t: n } = k(), i = j(f), l = e === "alert" ? { role: "alertdialog" } : {};
118
118
  return /* @__PURE__ */ v(t.Portal, { children: [
119
119
  /* @__PURE__ */ s(
120
120
  t.Overlay,
121
121
  {
122
122
  "data-component": "dialog-overlay",
123
- className: V
123
+ className: H
124
124
  }
125
125
  ),
126
126
  /* @__PURE__ */ v(
@@ -130,14 +130,19 @@ const y = d(
130
130
  ...l,
131
131
  "data-component": "dialog",
132
132
  "data-component-id": i,
133
- className: L({ size: o, className: r }),
133
+ className: F({ size: o, className: r }),
134
134
  ...p,
135
135
  children: [
136
136
  c,
137
- !a && /* @__PURE__ */ s("div", { className: "ds:absolute ds:end-[var(--spacing-md)] ds:top-[var(--spacing-md)]", children: /* @__PURE__ */ s(t.Close, { asChild: !0, children: /* @__PURE__ */ s(
138
- I,
137
+ !a && // Positioning wrapper. The interactive close is an IconButton
138
+ // (ghost / sm) — same lucide `X` glyph, 32px target, 16px icon,
139
+ // hover wash and focus ring that the vanilla `.ds-dialog__close`
140
+ // contract reproduces from the same tokens, so the React and
141
+ // non-React close buttons render identically.
142
+ /* @__PURE__ */ s("div", { className: "ds:absolute ds:end-[var(--spacing-md)] ds:top-[var(--spacing-md)]", children: /* @__PURE__ */ s(t.Close, { asChild: !0, children: /* @__PURE__ */ s(
143
+ z,
139
144
  {
140
- icon: /* @__PURE__ */ s(A, {}),
145
+ icon: /* @__PURE__ */ s(S, {}),
141
146
  intent: "ghost",
142
147
  size: "sm",
143
148
  "aria-label": n("common.close", "Close")
@@ -149,13 +154,17 @@ const y = d(
149
154
  ] });
150
155
  }
151
156
  );
152
- y.displayName = "Dialog.Content";
153
- const D = d(
157
+ D.displayName = "Dialog.Content";
158
+ const y = d(
154
159
  ({ className: o, ...e }, a) => /* @__PURE__ */ s(
155
160
  "div",
156
161
  {
157
162
  ref: a,
158
163
  className: [
164
+ // `ds-dialog__header` is the shared vanilla contract (src/styles.css);
165
+ // the Tailwind utilities reproduce it for hosts that render through
166
+ // this component, keeping the two surfaces identical.
167
+ "ds-dialog__header",
159
168
  "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:pe-[var(--spacing-xl)]",
160
169
  o
161
170
  ].filter(Boolean).join(" "),
@@ -163,17 +172,17 @@ const D = d(
163
172
  }
164
173
  )
165
174
  );
166
- D.displayName = "Dialog.Header";
167
- const b = d(({ className: o, ...e }, a) => /* @__PURE__ */ s(
175
+ y.displayName = "Dialog.Header";
176
+ const C = d(({ className: o, ...e }, a) => /* @__PURE__ */ s(
168
177
  t.Title,
169
178
  {
170
179
  ref: a,
171
- className: ["type-title-card ds:break-words", o].filter(Boolean).join(" "),
180
+ className: ["ds-dialog__title type-title-card ds:break-words", o].filter(Boolean).join(" "),
172
181
  ...e
173
182
  }
174
183
  ));
175
- b.displayName = "Dialog.Title";
176
- const C = d(({ className: o, ...e }, a) => /* @__PURE__ */ s(
184
+ C.displayName = "Dialog.Title";
185
+ const b = d(({ className: o, ...e }, a) => /* @__PURE__ */ s(
177
186
  t.Description,
178
187
  {
179
188
  ref: a,
@@ -181,7 +190,7 @@ const C = d(({ className: o, ...e }, a) => /* @__PURE__ */ s(
181
190
  ...e
182
191
  }
183
192
  ));
184
- C.displayName = "Dialog.Description";
193
+ b.displayName = "Dialog.Description";
185
194
  const w = d(
186
195
  ({ className: o, divider: e = !1, ...a }, r) => /* @__PURE__ */ s(
187
196
  "div",
@@ -201,15 +210,15 @@ w.displayName = "Dialog.Footer";
201
210
  const J = Object.assign(u, {
202
211
  Root: u,
203
212
  Trigger: h,
204
- Content: y,
205
- Header: D,
206
- Title: b,
207
- Description: C,
213
+ Content: D,
214
+ Header: y,
215
+ Title: C,
216
+ Description: b,
208
217
  Footer: w,
209
218
  Close: x
210
219
  });
211
220
  export {
212
221
  J as D,
213
- H as d
222
+ A as d
214
223
  };
215
- //# sourceMappingURL=dialog-Cee13rHU.js.map
224
+ //# sourceMappingURL=dialog-DOYgd75U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-DOYgd75U.js","sources":["../../src/components/dialog/dialog.agent.ts","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { DialogHandle } from './dialog';\n\n/**\n * Dialog wraps Radix Dialog. The curated handle (`DialogHandle`) bridges the\n * Radix controlled-or-uncontrolled `open` state so an agent can observe and\n * drive the dialog without owning the React state itself.\n */\nexport const dialogAgent: AgentAdapter<DialogHandle> = {\n id: 'dialog',\n capabilities: ['open', 'close', 'dismiss'],\n state: {\n isOpen: {\n type: 'boolean',\n description: 'True when the dialog is currently open.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n open: {\n safety: 'read',\n description: 'Open the dialog.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'write',\n description: 'Close the dialog. Reversible by reopening.',\n invoke: (handle) => {\n handle.close();\n },\n },\n dismiss: {\n safety: 'destructive',\n description:\n 'Dismiss the dialog. Loses any in-progress input that has not been committed.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'dialog' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on Dialog.Root.',\n },\n },\n};\n","import {\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useMemo,\n useRef,\n type ComponentPropsWithoutRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { X } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport { dialogAgent } from './dialog.agent';\n\n// The `ds-dialog__*` class names below are the framework-agnostic contract\n// defined in src/styles.css (@layer ui-kit-components). The React component\n// renders them ALONGSIDE its Tailwind utilities so a vanilla (non-React)\n// host that hand-authors the same markup matches this component exactly and\n// the two surfaces can't drift. The Tailwind utilities still drive the\n// animation hooks and focus-management chrome Radix needs; the `ds-dialog__*`\n// classes carry the token-driven skin (scrim, radius, elevation, padding,\n// close-button sizing) so they work even without Tailwind utilities present.\nconst OVERLAY_CLASSES = [\n 'ds-dialog__backdrop',\n 'ds:backdrop-blur-sm',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst CONTENT_BASE = [\n 'ds-dialog',\n 'ds:fixed ds:z-[var(--z-modal)]',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:shadow-[var(--shadow-xl)]',\n 'ds:p-[var(--spacing-lg)]',\n 'ds:focus-visible:outline-none',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0 ds:data-[state=open]:zoom-in-95',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0 ds:data-[state=closed]:zoom-out-95',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst CENTERED =\n 'ds:start-1/2 ds:top-1/2 ds:-translate-x-1/2 ds:-translate-y-1/2 ds:w-[calc(100%-var(--spacing-lg)*2)]';\n\nconst contentVariants = cva(CONTENT_BASE, {\n variants: {\n size: {\n sm: `${CENTERED} ds:max-w-[448px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n md: `${CENTERED} ds:max-w-[560px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n lg: `${CENTERED} ds:max-w-[720px] ds:rounded-[var(--radius-lg)] ds:overflow-y-auto ds:max-h-[85dvh]`,\n fullscreen:\n 'ds:start-0 ds:top-0 ds:w-[100dvw] ds:h-[100dvh] ds:max-w-none ds:rounded-none ds:overflow-y-auto',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\n// Curated agent-readiness handle — see dialog.agent.ts.\nexport interface DialogHandle {\n getIsOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nexport interface DialogRootProps extends ComponentPropsWithoutRef<\n typeof RadixDialog.Root\n> {\n /** Opaque instance id — forwarded to Dialog.Content as `data-component-id`. */\n id?: string;\n}\n\nconst DialogIdContext = createContext<string | undefined>(undefined);\n\nconst DialogRoot = ({\n children,\n id,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...props\n}: DialogRootProps) => {\n const [openRaw, setOpen] = useControllableState<boolean>({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n });\n const open = openRaw ?? false;\n\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n }, [open]);\n\n const handle = useMemo<DialogHandle>(\n () => ({\n getIsOpen: () => openRef.current,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(dialogAgent, handle, id);\n\n return (\n <DialogIdContext.Provider value={id}>\n <RadixDialog.Root open={open} onOpenChange={setOpen} {...props}>\n {children}\n </RadixDialog.Root>\n </DialogIdContext.Provider>\n );\n};\nDialogRoot.displayName = 'Dialog.Root';\n\nconst DialogTrigger = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Trigger>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Trigger ref={ref} {...props}>\n {children}\n </RadixDialog.Trigger>\n));\nDialogTrigger.displayName = 'Dialog.Trigger';\n\nconst DialogClose = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Close>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Close ref={ref} {...props}>\n {children}\n </RadixDialog.Close>\n));\nDialogClose.displayName = 'Dialog.Close';\n\nexport interface DialogContentProps\n extends\n Omit<ComponentPropsWithoutRef<typeof RadixDialog.Content>, 'role'>,\n VariantProps<typeof contentVariants> {\n size?: 'sm' | 'md' | 'lg' | 'fullscreen';\n variant?: 'default' | 'alert' | 'confirmation';\n hideCloseButton?: boolean;\n className?: string;\n children: ReactNode;\n}\n\nconst DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n (\n {\n size = 'md',\n variant = 'default',\n hideCloseButton = true,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const instanceId = useContext(DialogIdContext);\n // Only forward `role` when we actually need to override Radix's default\n // (`role=\"dialog\"`). Passing `role={undefined}` explicitly wins over\n // Radix's internal assignment and strips the attribute entirely.\n const roleOverride =\n variant === 'alert' ? { role: 'alertdialog' as const } : {};\n\n return (\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n data-component=\"dialog-overlay\"\n className={OVERLAY_CLASSES}\n />\n <RadixDialog.Content\n ref={ref}\n {...roleOverride}\n data-component=\"dialog\"\n data-component-id={instanceId}\n className={contentVariants({ size, className })}\n {...props}\n >\n {children}\n\n {!hideCloseButton && (\n // Positioning wrapper. The interactive close is an IconButton\n // (ghost / sm) — same lucide `X` glyph, 32px target, 16px icon,\n // hover wash and focus ring that the vanilla `.ds-dialog__close`\n // contract reproduces from the same tokens, so the React and\n // non-React close buttons render identically.\n <div className=\"ds:absolute ds:end-[var(--spacing-md)] ds:top-[var(--spacing-md)]\">\n <RadixDialog.Close asChild>\n <IconButton\n icon={<X />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('common.close', 'Close')}\n />\n </RadixDialog.Close>\n </div>\n )}\n </RadixDialog.Content>\n </RadixDialog.Portal>\n );\n },\n);\nDialogContent.displayName = 'Dialog.Content';\n\nconst DialogHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n // `ds-dialog__header` is the shared vanilla contract (src/styles.css);\n // the Tailwind utilities reproduce it for hosts that render through\n // this component, keeping the two surfaces identical.\n 'ds-dialog__header',\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:pe-[var(--spacing-xl)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nDialogHeader.displayName = 'Dialog.Header';\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Title>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Title\n ref={ref}\n className={['ds-dialog__title type-title-card ds:break-words', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nDialogTitle.displayName = 'Dialog.Title';\n\nconst DialogDescription = forwardRef<\n HTMLParagraphElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Description>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Description\n ref={ref}\n className={['type-body-sm ds:text-[var(--muted-foreground)]', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nDialogDescription.displayName = 'Dialog.Description';\n\ninterface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {\n divider?: boolean;\n}\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(\n ({ className, divider = false, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:items-center ds:justify-end ds:gap-[var(--spacing-sm)]',\n 'ds:mt-[var(--spacing-md)]',\n divider &&\n 'ds:border-t ds:border-[color:var(--border)] ds:pt-[var(--spacing-md)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nDialogFooter.displayName = 'Dialog.Footer';\n\nexport const Dialog = Object.assign(DialogRoot, {\n Root: DialogRoot,\n Trigger: DialogTrigger,\n Content: DialogContent,\n Header: DialogHeader,\n Title: DialogTitle,\n Description: DialogDescription,\n Footer: DialogFooter,\n Close: DialogClose,\n});\n\nexport type { DialogFooterProps };\n"],"names":["dialogAgent","handle","OVERLAY_CLASSES","CONTENT_BASE","CENTERED","contentVariants","cva","DialogIdContext","createContext","DialogRoot","children","id","openProp","defaultOpen","onOpenChange","props","openRaw","setOpen","useControllableState","open","openRef","useRef","useEffect","useMemo","useAgentRegistration","jsx","RadixDialog","DialogTrigger","forwardRef","ref","DialogClose","DialogContent","size","variant","hideCloseButton","className","t","useTranslation","instanceId","useContext","roleOverride","jsxs","IconButton","X","DialogHeader","DialogTitle","DialogDescription","DialogFooter","divider","Dialog"],"mappings":";;;;;;;;;AAQO,MAAMA,IAA0C;AAAA,EACrD,IAAI;AAAA,EACJ,cAAc,CAAC,QAAQ,SAAS,SAAS;AAAA,EACzC,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,MAAM,CAACC,MAAWA,EAAO,UAAA;AAAA,IAAU;AAAA,EACrC;AAAA,EAEF,SAAS;AAAA,IACP,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,KAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,MAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,aACE;AAAA,MACF,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,MAAA;AAAA,MACT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,IACR,MAAM,EAAE,MAAM,kBAAkB,OAAO,SAAA;AAAA,IACvC,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GCtBMC,IAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAEJC,IAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAEJC,IACJ,yGAEIC,IAAkBC,EAAIH,GAAc;AAAA,EACxC,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI,GAAGC,CAAQ;AAAA,MACf,IAAI,GAAGA,CAAQ;AAAA,MACf,IAAI,GAAGA,CAAQ;AAAA,MACf,YACE;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,iBAAiB,EAAE,MAAM,KAAA;AAC3B,CAAC,GAgBKG,IAAkBC,EAAkC,MAAS,GAE7DC,IAAa,CAAC;AAAA,EAClB,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,MAAMC;AAAA,EACN,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAuB;AACrB,QAAM,CAACC,GAASC,CAAO,IAAIC,EAA8B;AAAA,IACvD,OAAON;AAAA,IACP,cAAcC,KAAe;AAAA,IAC7B,UAAUC;AAAA,EAAA,CACX,GACKK,IAAOH,KAAW,IAElBI,IAAUC,EAAOF,CAAI;AAC3B,EAAAG,EAAU,MAAM;AACd,IAAAF,EAAQ,UAAUD;AAAA,EACpB,GAAG,CAACA,CAAI,CAAC;AAET,QAAMlB,IAASsB;AAAA,IACb,OAAO;AAAA,MACL,WAAW,MAAMH,EAAQ;AAAA,MACzB,MAAM,MAAMH,EAAQ,EAAI;AAAA,MACxB,OAAO,MAAMA,EAAQ,EAAK;AAAA,IAAA;AAAA,IAE5B,CAACA,CAAO;AAAA,EAAA;AAEV,SAAAO,EAAqBxB,GAAaC,GAAQU,CAAE,qBAGzCJ,EAAgB,UAAhB,EAAyB,OAAOI,GAC/B,UAAA,gBAAAc,EAACC,EAAY,MAAZ,EAAiB,MAAAP,GAAY,cAAcF,GAAU,GAAGF,GACtD,UAAAL,GACH,GACF;AAEJ;AACAD,EAAW,cAAc;AAEzB,MAAMkB,IAAgBC,EAGpB,CAAC,EAAE,UAAAlB,GAAU,GAAGK,EAAA,GAASc,MACzB,gBAAAJ,EAACC,EAAY,SAAZ,EAAoB,KAAAG,GAAW,GAAGd,GAChC,UAAAL,GACH,CACD;AACDiB,EAAc,cAAc;AAE5B,MAAMG,IAAcF,EAGlB,CAAC,EAAE,UAAAlB,GAAU,GAAGK,EAAA,GAASc,MACzB,gBAAAJ,EAACC,EAAY,OAAZ,EAAkB,KAAAG,GAAW,GAAGd,GAC9B,UAAAL,GACH,CACD;AACDoB,EAAY,cAAc;AAa1B,MAAMC,IAAgBH;AAAA,EACpB,CACE;AAAA,IACE,MAAAI,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,iBAAAC,IAAkB;AAAA,IAClB,WAAAC;AAAA,IACA,UAAAzB;AAAA,IACA,GAAGK;AAAA,EAAA,GAELc,MACG;AACH,UAAM,EAAE,GAAAO,EAAA,IAAMC,EAAA,GACRC,IAAaC,EAAWhC,CAAe,GAIvCiC,IACJP,MAAY,UAAU,EAAE,MAAM,cAAA,IAA2B,CAAA;AAE3D,WACE,gBAAAQ,EAACf,EAAY,QAAZ,EACC,UAAA;AAAA,MAAA,gBAAAD;AAAA,QAACC,EAAY;AAAA,QAAZ;AAAA,UACC,kBAAe;AAAA,UACf,WAAWxB;AAAA,QAAA;AAAA,MAAA;AAAA,MAEb,gBAAAuC;AAAA,QAACf,EAAY;AAAA,QAAZ;AAAA,UACC,KAAAG;AAAA,UACC,GAAGW;AAAA,UACJ,kBAAe;AAAA,UACf,qBAAmBF;AAAA,UACnB,WAAWjC,EAAgB,EAAE,MAAA2B,GAAM,WAAAG,GAAW;AAAA,UAC7C,GAAGpB;AAAA,UAEH,UAAA;AAAA,YAAAL;AAAA,YAEA,CAACwB;AAAA;AAAA;AAAA;AAAA;AAAA,YAMA,gBAAAT,EAAC,SAAI,WAAU,qEACb,4BAACC,EAAY,OAAZ,EAAkB,SAAO,IACxB,UAAA,gBAAAD;AAAA,cAACiB;AAAA,cAAA;AAAA,gBACC,wBAAOC,GAAA,EAAE;AAAA,gBACT,QAAO;AAAA,gBACP,MAAK;AAAA,gBACL,cAAYP,EAAE,gBAAgB,OAAO;AAAA,cAAA;AAAA,YAAA,GAEzC,EAAA,CACF;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ,GACF;AAAA,EAEJ;AACF;AACAL,EAAc,cAAc;AAE5B,MAAMa,IAAehB;AAAA,EACnB,CAAC,EAAE,WAAAO,GAAW,GAAGpB,EAAA,GAASc,MACxB,gBAAAJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAI;AAAA,MACA,WAAW;AAAA;AAAA;AAAA;AAAA,QAIT;AAAA,QACA;AAAA,QACAM;AAAA,MAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MACV,GAAGpB;AAAA,IAAA;AAAA,EAAA;AAGV;AACA6B,EAAa,cAAc;AAE3B,MAAMC,IAAcjB,EAGlB,CAAC,EAAE,WAAAO,GAAW,GAAGpB,EAAA,GAASc,MAC1B,gBAAAJ;AAAA,EAACC,EAAY;AAAA,EAAZ;AAAA,IACC,KAAAG;AAAA,IACA,WAAW,CAAC,mDAAmDM,CAAS,EACrE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IACV,GAAGpB;AAAA,EAAA;AACN,CACD;AACD8B,EAAY,cAAc;AAE1B,MAAMC,IAAoBlB,EAGxB,CAAC,EAAE,WAAAO,GAAW,GAAGpB,EAAA,GAASc,MAC1B,gBAAAJ;AAAA,EAACC,EAAY;AAAA,EAAZ;AAAA,IACC,KAAAG;AAAA,IACA,WAAW,CAAC,kDAAkDM,CAAS,EACpE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IACV,GAAGpB;AAAA,EAAA;AACN,CACD;AACD+B,EAAkB,cAAc;AAMhC,MAAMC,IAAenB;AAAA,EACnB,CAAC,EAAE,WAAAO,GAAW,SAAAa,IAAU,IAAO,GAAGjC,EAAA,GAASc,MACzC,gBAAAJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAI;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACAmB,KACE;AAAA,QACFb;AAAA,MAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MACV,GAAGpB;AAAA,IAAA;AAAA,EAAA;AAGV;AACAgC,EAAa,cAAc;AAEpB,MAAME,IAAS,OAAO,OAAOxC,GAAY;AAAA,EAC9C,MAAMA;AAAA,EACN,SAASkB;AAAA,EACT,SAASI;AAAA,EACT,QAAQa;AAAA,EACR,OAAOC;AAAA,EACP,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,OAAOjB;AACT,CAAC;"}
@@ -1,45 +1,46 @@
1
1
  import { jsxs as l, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as B, useState as i, useMemo as g, useEffect as _ } from "react";
3
- import { c as I } from "./index-D2ZczOXr.js";
4
- import { useTranslation as S } from "react-i18next";
2
+ import { forwardRef as _, useState as i, useMemo as g, useEffect as I } from "react";
3
+ import { c as S } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as z } from "react-i18next";
5
5
  import { R as s } from "./radio-TWf9Q-mp.js";
6
6
  import { R as h } from "./radio-group-CLjK-SlK.js";
7
7
  import { F as v } from "./form-field-BOm9hK35.js";
8
- import { D as z } from "./date-picker-CvQfs6Xh.js";
9
- import { N as G } from "./number-input-Dj5L3pXK.js";
10
- import { B as M } from "./badge-zsf5i5bH.js";
11
- import { I as R } from "./insert-result-DtQQeSSf.js";
12
- import { D as b, c as V } from "./gestation-BXEgDGmP.js";
13
- const j = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
8
+ import { D as G } from "./date-picker-Bq7xhMA-.js";
9
+ import { N as M } from "./number-input-Dj5L3pXK.js";
10
+ import { C } from "./card-DPmk26CL.js";
11
+ import { B as R } from "./badge-zsf5i5bH.js";
12
+ import { I as V } from "./insert-result-DisOY2G-.js";
13
+ import { D as b, c as j } from "./gestation-mWF4AXea.js";
14
+ const H = S("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
14
15
  variants: {
15
16
  width: { full: "ds:w-full", auto: "ds:inline-flex" }
16
17
  },
17
18
  defaultVariants: { width: "full" }
18
- }), H = {
19
+ }), Y = {
19
20
  preconception: "neutral",
20
21
  first: "info",
21
22
  second: "success",
22
23
  third: "warning",
23
24
  postterm: "error"
24
- }, Y = {
25
+ }, K = {
25
26
  lmp: "dueDateCalculator.lmpDate",
26
27
  conception: "dueDateCalculator.conceptionDate",
27
28
  ivf: "dueDateCalculator.transferDate"
28
- }, K = B(
29
+ }, P = _(
29
30
  ({
30
- defaultMethod: C = "lmp",
31
+ defaultMethod: y = "lmp",
31
32
  onResultChange: d,
32
33
  onInsert: p,
33
34
  insertVariant: D = "insert",
34
- onCopy: y,
35
- onError: x,
36
- id: N,
37
- width: L,
38
- className: A
39
- }, w) => {
40
- const { t: e, i18n: f } = S(), [r, E] = i(C), [o, T] = i(void 0), [u, $] = i(
35
+ onCopy: x,
36
+ onError: N,
37
+ id: L,
38
+ width: A,
39
+ className: w
40
+ }, E) => {
41
+ const { t: e, i18n: f } = z(), [r, T] = i(y), [o, $] = i(void 0), [u, B] = i(
41
42
  b
42
- ), [n, F] = i(5), t = g(() => o ? V(
43
+ ), [n, F] = i(5), t = g(() => o ? j(
43
44
  {
44
45
  method: r,
45
46
  date: o,
@@ -51,17 +52,17 @@ const j = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
51
52
  () => new Intl.DateTimeFormat(f.language, { dateStyle: "long" }),
52
53
  [f.language]
53
54
  );
54
- _(() => {
55
+ I(() => {
55
56
  d == null || d(t);
56
57
  }, [t, d]);
57
58
  const k = g(() => /* @__PURE__ */ new Date(), []);
58
59
  return /* @__PURE__ */ l(
59
60
  "div",
60
61
  {
61
- ref: w,
62
+ ref: E,
62
63
  "data-component": "due-date-calculator",
63
- "data-component-id": N,
64
- className: j({ width: L, className: A }),
64
+ "data-component-id": L,
65
+ className: H({ width: A, className: w }),
65
66
  children: [
66
67
  /* @__PURE__ */ l(
67
68
  h,
@@ -69,7 +70,7 @@ const j = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
69
70
  label: e("dueDateCalculator.method.label"),
70
71
  variant: "horizontal",
71
72
  value: r,
72
- onValueChange: (m) => E(m),
73
+ onValueChange: (m) => T(m),
73
74
  children: [
74
75
  /* @__PURE__ */ a(s, { label: e("dueDateCalculator.method.lmp"), value: "lmp" }),
75
76
  /* @__PURE__ */ a(
@@ -84,20 +85,20 @@ const j = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
84
85
  }
85
86
  ),
86
87
  /* @__PURE__ */ l("div", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2", children: [
87
- /* @__PURE__ */ a(v, { label: e(Y[r]), children: /* @__PURE__ */ a(z, { value: o, onChange: T, maxDate: k }) }),
88
+ /* @__PURE__ */ a(v, { label: e(K[r]), children: /* @__PURE__ */ a(G, { value: o, onChange: $, maxDate: k }) }),
88
89
  r === "lmp" && /* @__PURE__ */ a(
89
90
  v,
90
91
  {
91
92
  label: e("dueDateCalculator.cycleLength"),
92
93
  description: e("dueDateCalculator.cycleLengthHint"),
93
94
  children: /* @__PURE__ */ a(
94
- G,
95
+ M,
95
96
  {
96
97
  mode: "integer",
97
98
  min: 20,
98
99
  max: 45,
99
100
  value: u,
100
- onChange: $
101
+ onChange: B
101
102
  }
102
103
  )
103
104
  }
@@ -121,11 +122,18 @@ const j = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
121
122
  )}. ${e("dueDateCalculator.result.trimesterLabel")}: ${e(
122
123
  `dueDateCalculator.trimester.${t.trimester}`
123
124
  )}.` : "" }),
124
- t ? /* @__PURE__ */ l("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
125
+ t ? /* @__PURE__ */ a(C, { variant: "elevated", children: /* @__PURE__ */ l(C.Body, { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
125
126
  /* @__PURE__ */ l("dl", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-3", children: [
126
127
  /* @__PURE__ */ l("div", { className: "ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]", children: [
127
128
  /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("dueDateCalculator.result.trimesterLabel") }),
128
- /* @__PURE__ */ a("dd", { children: /* @__PURE__ */ a(M, { variant: H[t.trimester], size: "lg", children: e(`dueDateCalculator.trimester.${t.trimester}`) }) })
129
+ /* @__PURE__ */ a("dd", { children: /* @__PURE__ */ a(
130
+ R,
131
+ {
132
+ variant: Y[t.trimester],
133
+ size: "lg",
134
+ children: e(`dueDateCalculator.trimester.${t.trimester}`)
135
+ }
136
+ ) })
129
137
  ] }),
130
138
  /* @__PURE__ */ l("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
131
139
  /* @__PURE__ */ a("dt", { className: "type-label ds:text-muted-foreground", children: e("dueDateCalculator.result.gestationLabel") }),
@@ -140,12 +148,12 @@ const j = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
140
148
  ] })
141
149
  ] }),
142
150
  D === "copy" || p ? /* @__PURE__ */ a(
143
- R,
151
+ V,
144
152
  {
145
153
  variant: D,
146
154
  onInsert: p,
147
- onCopy: y,
148
- onError: x,
155
+ onCopy: x,
156
+ onError: N,
149
157
  card: {
150
158
  title: e("insert.title.dueDate"),
151
159
  highlight: c.format(t.dueDate),
@@ -171,14 +179,14 @@ const j = I("ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", {
171
179
  }
172
180
  }
173
181
  ) : null
174
- ] }) : /* @__PURE__ */ a("p", { className: "type-body ds:text-muted-foreground", children: e("dueDateCalculator.empty") })
182
+ ] }) }) : /* @__PURE__ */ a("p", { className: "type-body ds:text-muted-foreground", children: e("dueDateCalculator.empty") })
175
183
  ]
176
184
  }
177
185
  );
178
186
  }
179
187
  );
180
- K.displayName = "DueDateCalculator";
188
+ P.displayName = "DueDateCalculator";
181
189
  export {
182
- K as D
190
+ P as D
183
191
  };
184
- //# sourceMappingURL=due-date-calculator-s_CBgaFs.js.map
192
+ //# sourceMappingURL=due-date-calculator-Cc4dRqTI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"due-date-calculator-Cc4dRqTI.js","sources":["../../src/components/due-date-calculator/due-date-calculator.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* DueDateCalculator — estimate the date of delivery from one of three */\n/* dating methods, with current gestational age + trimester. */\n/* */\n/* - Maths lives in `./gestation` (pure, separately tested). */\n/* - Three methods: LMP (Naegele, cycle-length adjustable), conception, */\n/* and IVF transfer (Day-3 vs Day-5 embryo). */\n/* - The reference date can't be in the future, so the DatePicker caps */\n/* at today. */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { RadioGroup, Radio } from '../radio-group';\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 DueDateMethod,\n type EmbryoAge,\n type Trimester,\n type DueDateResult,\n computeDueDate,\n DEFAULT_CYCLE_LENGTH,\n} from './gestation';\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\nconst TRIMESTER_BADGE: Record<\n Trimester,\n 'neutral' | 'info' | 'success' | 'warning' | 'error'\n> = {\n preconception: 'neutral',\n first: 'info',\n second: 'success',\n third: 'warning',\n postterm: 'error',\n};\n\n/** Reference-date i18n key per method. */\nconst DATE_LABEL_KEY: Record<DueDateMethod, string> = {\n lmp: 'dueDateCalculator.lmpDate',\n conception: 'dueDateCalculator.conceptionDate',\n ivf: 'dueDateCalculator.transferDate',\n};\n\nexport interface DueDateCalculatorProps extends VariantProps<\n typeof rootVariants\n> {\n /** Initial dating method. Defaults to `'lmp'`. */\n defaultMethod?: DueDateMethod;\n /** Fires whenever a due date can be computed (and with `null` when it can't). */\n onResultChange?: (result: DueDateResult | null) => void;\n /** When provided, shows an \"Insert\" button that emits the result for an editor. */\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 /** 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 DueDateCalculator = forwardRef<\n HTMLDivElement,\n DueDateCalculatorProps\n>(\n (\n {\n defaultMethod = 'lmp',\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [method, setMethod] = useState<DueDateMethod>(defaultMethod);\n const [refDate, setRefDate] = useState<Date | undefined>(undefined);\n const [cycleLength, setCycleLength] = useState<number | null>(\n DEFAULT_CYCLE_LENGTH,\n );\n const [embryoAge, setEmbryoAge] = useState<EmbryoAge>(5);\n\n // `today` is captured once per render; the result re-derives from it.\n const result = useMemo<DueDateResult | null>(() => {\n if (!refDate) return null;\n return computeDueDate(\n {\n method,\n date: refDate,\n cycleLength: cycleLength ?? DEFAULT_CYCLE_LENGTH,\n embryoAge,\n },\n new Date(),\n );\n }, [method, refDate, cycleLength, embryoAge]);\n\n const dateFormatter = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'long' }),\n [i18n.language],\n );\n\n useEffect(() => {\n onResultChange?.(result);\n }, [result, onResultChange]);\n\n const today = useMemo(() => new Date(), []);\n\n return (\n <div\n ref={ref}\n data-component=\"due-date-calculator\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <RadioGroup\n label={t('dueDateCalculator.method.label')}\n variant=\"horizontal\"\n value={method}\n onValueChange={(next) => setMethod(next as DueDateMethod)}\n >\n <Radio label={t('dueDateCalculator.method.lmp')} value=\"lmp\" />\n <Radio\n label={t('dueDateCalculator.method.conception')}\n value=\"conception\"\n />\n <Radio label={t('dueDateCalculator.method.ivf')} value=\"ivf\" />\n </RadioGroup>\n\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField label={t(DATE_LABEL_KEY[method])}>\n <DatePicker value={refDate} onChange={setRefDate} maxDate={today} />\n </FormField>\n\n {method === 'lmp' && (\n <FormField\n label={t('dueDateCalculator.cycleLength')}\n description={t('dueDateCalculator.cycleLengthHint')}\n >\n <NumberInput\n mode=\"integer\"\n min={20}\n max={45}\n value={cycleLength}\n onChange={setCycleLength}\n />\n </FormField>\n )}\n\n {method === 'ivf' && (\n <RadioGroup\n label={t('dueDateCalculator.embryoAge')}\n variant=\"horizontal\"\n value={String(embryoAge)}\n onValueChange={(next) => setEmbryoAge(Number(next) as EmbryoAge)}\n >\n <Radio label={t('dueDateCalculator.day3')} value=\"3\" />\n <Radio label={t('dueDateCalculator.day5')} value=\"5\" />\n </RadioGroup>\n )}\n </div>\n\n {/* Concise polite announcement when a due date resolves. */}\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {result\n ? `${t('dueDateCalculator.result.dueDateLabel')}: ${dateFormatter.format(\n result.dueDate,\n )}. ${t('dueDateCalculator.result.trimesterLabel')}: ${t(\n `dueDateCalculator.trimester.${result.trimester}`,\n )}.`\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-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('dueDateCalculator.result.trimesterLabel')}\n </dt>\n <dd>\n <Badge\n variant={TRIMESTER_BADGE[result.trimester]}\n size=\"lg\"\n >\n {t(`dueDateCalculator.trimester.${result.trimester}`)}\n </Badge>\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('dueDateCalculator.result.gestationLabel')}\n </dt>\n <dd className=\"type-body ds:text-foreground\">\n {result.gestationalAge\n ? t('dueDateCalculator.result.gestation', {\n weeks: result.gestationalAge.weeks,\n days: result.gestationalAge.days,\n })\n : '—'}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('dueDateCalculator.result.dueDateLabel')}\n </dt>\n <dd className=\"type-metric ds:text-foreground\">\n {dateFormatter.format(result.dueDate)}\n </dd>\n </div>\n </dl>\n {insertVariant === 'copy' || onInsert ? (\n <InsertButton\n variant={insertVariant}\n onInsert={onInsert}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.dueDate'),\n highlight: dateFormatter.format(result.dueDate),\n fields: [\n {\n label: t('dueDateCalculator.result.dueDateLabel'),\n value: dateFormatter.format(result.dueDate),\n },\n {\n label: t('dueDateCalculator.result.gestationLabel'),\n value: result.gestationalAge\n ? t('dueDateCalculator.result.gestation', {\n weeks: result.gestationalAge.weeks,\n days: result.gestationalAge.days,\n })\n : '—',\n },\n {\n label: t('dueDateCalculator.result.trimesterLabel'),\n value: t(\n `dueDateCalculator.trimester.${result.trimester}`,\n ),\n },\n ],\n }}\n />\n ) : null}\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('dueDateCalculator.empty')}\n </p>\n )}\n </div>\n );\n },\n);\n\nDueDateCalculator.displayName = 'DueDateCalculator';\n"],"names":["rootVariants","cva","TRIMESTER_BADGE","DATE_LABEL_KEY","DueDateCalculator","forwardRef","defaultMethod","onResultChange","onInsert","insertVariant","onCopy","onError","id","width","className","ref","t","i18n","useTranslation","method","setMethod","useState","refDate","setRefDate","cycleLength","setCycleLength","DEFAULT_CYCLE_LENGTH","embryoAge","setEmbryoAge","result","useMemo","computeDueDate","dateFormatter","useEffect","today","jsxs","RadioGroup","next","jsx","Radio","FormField","DatePicker","NumberInput","Card","Badge","InsertButton"],"mappings":"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"}
@@ -26,7 +26,7 @@ import { S as Ie } from "./select-hsCaJSX3.js";
26
26
  import { u as zt } from "./use-prefers-reduced-motion-BMwIQRjB.js";
27
27
  import { u as At } from "./use-theme-C2dHKUAN.js";
28
28
  import { u as Pt } from "./registry-nPAVE19X.js";
29
- import { D as ze } from "./date-range-picker-U9fn1g9d.js";
29
+ import { D as ze } from "./date-range-picker-DcXuI9y7.js";
30
30
  import { M as Ot } from "./multi-select-DOLO3K_z.js";
31
31
  import { A as Ae } from "./autocomplete-DIgdhCGJ.js";
32
32
  import { N as ee } from "./number-input-Dj5L3pXK.js";
@@ -2332,4 +2332,4 @@ export {
2332
2332
  Be as q,
2333
2333
  xn as u
2334
2334
  };
2335
- //# sourceMappingURL=editable-currency-cell-renderer-BhUkRiPZ.js.map
2335
+ //# sourceMappingURL=editable-currency-cell-renderer-9jqwDv5x.js.map