@alfadocs/ui-kit-debug 0.17.0 → 0.17.2

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 (212) hide show
  1. package/dist/_chunks/{accordion-DOmxGEWU.js → accordion-CNcodXuO.js} +6 -6
  2. package/dist/_chunks/{accordion-DOmxGEWU.js.map → accordion-CNcodXuO.js.map} +1 -1
  3. package/dist/_chunks/{ai-prompt-input-DEiQwIMn.js → ai-prompt-input-B-w5Rx3V.js} +184 -181
  4. package/dist/_chunks/ai-prompt-input-B-w5Rx3V.js.map +1 -0
  5. package/dist/_chunks/{alert-pgdXrEO5.js → alert-DBnawbmf.js} +64 -59
  6. package/dist/_chunks/alert-DBnawbmf.js.map +1 -0
  7. package/dist/_chunks/{audio-recorder-CRh4uyFL.js → audio-recorder-DNkQLW1G.js} +3 -3
  8. package/dist/_chunks/{audio-recorder-CRh4uyFL.js.map → audio-recorder-DNkQLW1G.js.map} +1 -1
  9. package/dist/_chunks/{autocomplete-mOg7WLOh.js → autocomplete-BxfabhZ8.js} +167 -164
  10. package/dist/_chunks/autocomplete-BxfabhZ8.js.map +1 -0
  11. package/dist/_chunks/{balance-cell-renderer-DWWtX-VM.js → balance-cell-renderer-DJB6WDPe.js} +2 -2
  12. package/dist/_chunks/{balance-cell-renderer-DWWtX-VM.js.map → balance-cell-renderer-DJB6WDPe.js.map} +1 -1
  13. package/dist/_chunks/{carousel.agent-OTn-kMQg.js → carousel.agent-Xuw9LPZN.js} +14 -7
  14. package/dist/_chunks/{carousel.agent-OTn-kMQg.js.map → carousel.agent-Xuw9LPZN.js.map} +1 -1
  15. package/dist/_chunks/{chat-input-UK-bXU7u.js → chat-input-B3XmFGDw.js} +123 -122
  16. package/dist/_chunks/chat-input-B3XmFGDw.js.map +1 -0
  17. package/dist/_chunks/checkbox-group-Bwmt1ovQ.js +213 -0
  18. package/dist/_chunks/checkbox-group-Bwmt1ovQ.js.map +1 -0
  19. package/dist/_chunks/{checkbox-D5EHnB14.js → checkbox-mwbrPZDY.js} +75 -70
  20. package/dist/_chunks/checkbox-mwbrPZDY.js.map +1 -0
  21. package/dist/_chunks/{collapsible-CuxUBoHJ.js → collapsible-hHiyZp0b.js} +61 -63
  22. package/dist/_chunks/collapsible-hHiyZp0b.js.map +1 -0
  23. package/dist/_chunks/{color-picker-BPfcByHH.js → color-picker-Bm-gzpsh.js} +2 -2
  24. package/dist/_chunks/{color-picker-BPfcByHH.js.map → color-picker-Bm-gzpsh.js.map} +1 -1
  25. package/dist/_chunks/{combobox-D5tWe0t_.js → combobox-Da9eq00i.js} +214 -211
  26. package/dist/_chunks/combobox-Da9eq00i.js.map +1 -0
  27. package/dist/_chunks/{copy-field-BCHAZ8QV.js → copy-field-BAF4mt9h.js} +95 -132
  28. package/dist/_chunks/copy-field-BAF4mt9h.js.map +1 -0
  29. package/dist/_chunks/{date-picker-BlhtBhPo.js → date-picker-BIoSLRly.js} +222 -219
  30. package/dist/_chunks/{date-picker-BlhtBhPo.js.map → date-picker-BIoSLRly.js.map} +1 -1
  31. package/dist/_chunks/{date-range-picker-C2hRu_Ke.js → date-range-picker-9gANFNG9.js} +81 -78
  32. package/dist/_chunks/date-range-picker-9gANFNG9.js.map +1 -0
  33. package/dist/_chunks/{date-time-picker-B67mPZmP.js → date-time-picker-DG7BiGdb.js} +98 -95
  34. package/dist/_chunks/date-time-picker-DG7BiGdb.js.map +1 -0
  35. package/dist/_chunks/{dialog-DRp6Dejy.js → dialog-DUomPCRS.js} +69 -71
  36. package/dist/_chunks/dialog-DUomPCRS.js.map +1 -0
  37. package/dist/_chunks/{dropdown-menu-dyV7gHh_.js → dropdown-menu-DZxwF23X.js} +108 -110
  38. package/dist/_chunks/dropdown-menu-DZxwF23X.js.map +1 -0
  39. package/dist/_chunks/{freemium-paywall-BTEiVkes.js → freemium-paywall-DXc7XlGE.js} +98 -97
  40. package/dist/_chunks/freemium-paywall-DXc7XlGE.js.map +1 -0
  41. package/dist/_chunks/{leo-sidebar-D3TuyH5_.js → leo-sidebar-DIsiTju3.js} +2 -2
  42. package/dist/_chunks/{leo-sidebar-D3TuyH5_.js.map → leo-sidebar-DIsiTju3.js.map} +1 -1
  43. package/dist/_chunks/{list-DcjV0m5B.js → list-BdvDctBz.js} +184 -180
  44. package/dist/_chunks/list-BdvDctBz.js.map +1 -0
  45. package/dist/_chunks/{message-tray-Fsend-du.js → message-tray-BNAS8al4.js} +111 -111
  46. package/dist/_chunks/message-tray-BNAS8al4.js.map +1 -0
  47. package/dist/_chunks/{multi-select-DooDzQIp.js → multi-select-CyspR5ZF.js} +157 -154
  48. package/dist/_chunks/multi-select-CyspR5ZF.js.map +1 -0
  49. package/dist/_chunks/{navigation-menu-DdufF-_4.js → navigation-menu-CyS1fBJ7.js} +85 -87
  50. package/dist/_chunks/navigation-menu-CyS1fBJ7.js.map +1 -0
  51. package/dist/_chunks/{notification-tray-C3dYdLAF.js → notification-tray-D_69dXFY.js} +114 -114
  52. package/dist/_chunks/notification-tray-D_69dXFY.js.map +1 -0
  53. package/dist/_chunks/{number-input-DH00o0DN.js → number-input-BZXu6bPY.js} +92 -89
  54. package/dist/_chunks/number-input-BZXu6bPY.js.map +1 -0
  55. package/dist/_chunks/{otp-input-BBXYvLx5.js → otp-input-BDF_iNpa.js} +92 -93
  56. package/dist/_chunks/otp-input-BDF_iNpa.js.map +1 -0
  57. package/dist/_chunks/{pagination-F1ei4khE.js → pagination-BWaXF7W0.js} +194 -211
  58. package/dist/_chunks/pagination-BWaXF7W0.js.map +1 -0
  59. package/dist/_chunks/{patient-shell-BE0CdPOJ.js → patient-shell-BOOaWZA9.js} +3 -3
  60. package/dist/_chunks/{patient-shell-BE0CdPOJ.js.map → patient-shell-BOOaWZA9.js.map} +1 -1
  61. package/dist/_chunks/{payment-form-CI77oIx1.js → payment-form-BjkuQeqR.js} +2 -2
  62. package/dist/_chunks/{payment-form-CI77oIx1.js.map → payment-form-BjkuQeqR.js.map} +1 -1
  63. package/dist/_chunks/{pdf-viewer-CnEJvmXC.js → pdf-viewer-BG_nsFT5.js} +2 -2
  64. package/dist/_chunks/{pdf-viewer-CnEJvmXC.js.map → pdf-viewer-BG_nsFT5.js.map} +1 -1
  65. package/dist/_chunks/{public-header.agent-sDi9N9su.js → public-header.agent-BIBQzkeV.js} +7 -12
  66. package/dist/_chunks/public-header.agent-BIBQzkeV.js.map +1 -0
  67. package/dist/_chunks/{radio-group-Cz1a4QCA.js → radio-group-BHZOxrIK.js} +4 -4
  68. package/dist/_chunks/{radio-group-Cz1a4QCA.js.map → radio-group-BHZOxrIK.js.map} +1 -1
  69. package/dist/_chunks/{select-Ca6ibiDL.js → select-C92AT_OZ.js} +7 -7
  70. package/dist/_chunks/{select-Ca6ibiDL.js.map → select-C92AT_OZ.js.map} +1 -1
  71. package/dist/_chunks/{sidebar-D8Lq065m.js → sidebar-BqzlRBvC.js} +271 -291
  72. package/dist/_chunks/sidebar-BqzlRBvC.js.map +1 -0
  73. package/dist/_chunks/{slider-CkR6CLun.js → slider-CfEzeseL.js} +4 -4
  74. package/dist/_chunks/{slider-CkR6CLun.js.map → slider-CfEzeseL.js.map} +1 -1
  75. package/dist/_chunks/{tabs-CRCyPpJo.js → tabs-aEQfQV3x.js} +8 -8
  76. package/dist/_chunks/{tabs-CRCyPpJo.js.map → tabs-aEQfQV3x.js.map} +1 -1
  77. package/dist/_chunks/{theme-toggle-B3meAb3y.js → theme-toggle-BswYl0Yp.js} +2 -2
  78. package/dist/_chunks/{theme-toggle-B3meAb3y.js.map → theme-toggle-BswYl0Yp.js.map} +1 -1
  79. package/dist/_chunks/use-controllable-state-BiY4xTzM.js +23 -0
  80. package/dist/_chunks/use-controllable-state-BiY4xTzM.js.map +1 -0
  81. package/dist/_chunks/use-copy-to-clipboard-Cyfc_dlv.js +43 -0
  82. package/dist/_chunks/use-copy-to-clipboard-Cyfc_dlv.js.map +1 -0
  83. package/dist/_chunks/use-debounced-callback-BisrB-Fq.js.map +1 -1
  84. package/dist/_chunks/use-direction-D6rvvG9G.js.map +1 -1
  85. package/dist/_chunks/use-persistent-state-i23OWy6G.js +24 -0
  86. package/dist/_chunks/use-persistent-state-i23OWy6G.js.map +1 -0
  87. package/dist/_chunks/{warning-stack-CeRihME9.js → warning-stack-CDH9TudY.js} +2 -2
  88. package/dist/_chunks/{warning-stack-CeRihME9.js.map → warning-stack-CDH9TudY.js.map} +1 -1
  89. package/dist/_chunks/{workflow-map-D3MvrsZV.js → workflow-map-BeKe23uw.js} +3 -3
  90. package/dist/_chunks/{workflow-map-D3MvrsZV.js.map → workflow-map-BeKe23uw.js.map} +1 -1
  91. package/dist/agent-catalog.json +1 -1
  92. package/dist/components/_shared/use-debounced-callback.d.ts +1 -5
  93. package/dist/components/_shared/use-debounced-callback.d.ts.map +1 -1
  94. package/dist/components/_shared/use-direction.d.ts +1 -18
  95. package/dist/components/_shared/use-direction.d.ts.map +1 -1
  96. package/dist/components/_shared/use-focus-trap.d.ts +1 -31
  97. package/dist/components/_shared/use-focus-trap.d.ts.map +1 -1
  98. package/dist/components/accordion/index.js +1 -1
  99. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  100. package/dist/components/ai-prompt-input/index.js +1 -1
  101. package/dist/components/alert/alert.d.ts.map +1 -1
  102. package/dist/components/alert/index.js +1 -1
  103. package/dist/components/audio-recorder/index.js +1 -1
  104. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  105. package/dist/components/autocomplete/index.js +1 -1
  106. package/dist/components/carousel/carousel.d.ts.map +1 -1
  107. package/dist/components/carousel/index.js +1 -1
  108. package/dist/components/chat-input/chat-input.d.ts.map +1 -1
  109. package/dist/components/chat-input/index.js +1 -1
  110. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  111. package/dist/components/checkbox/index.js +1 -1
  112. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -1
  113. package/dist/components/checkbox-group/index.js +1 -1
  114. package/dist/components/collapsible/collapsible.d.ts.map +1 -1
  115. package/dist/components/collapsible/index.js +1 -1
  116. package/dist/components/color-picker/index.js +1 -1
  117. package/dist/components/combobox/combobox.d.ts.map +1 -1
  118. package/dist/components/combobox/index.js +1 -1
  119. package/dist/components/command-palette/command-palette.d.ts +1 -1
  120. package/dist/components/copy-field/index.js +1 -1
  121. package/dist/components/data-table/index.js +1 -1
  122. package/dist/components/date-picker/date-picker.d.ts.map +1 -1
  123. package/dist/components/date-picker/index.js +1 -1
  124. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  125. package/dist/components/date-range-picker/index.js +1 -1
  126. package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -1
  127. package/dist/components/date-time-picker/index.js +1 -1
  128. package/dist/components/dialog/dialog.d.ts.map +1 -1
  129. package/dist/components/dialog/index.js +1 -1
  130. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  131. package/dist/components/dropdown-menu/index.js +1 -1
  132. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
  133. package/dist/components/freemium-paywall/index.js +1 -1
  134. package/dist/components/icon-button-group/icon-button-group.d.ts +14 -14
  135. package/dist/components/list/index.js +1 -1
  136. package/dist/components/list/list.d.ts.map +1 -1
  137. package/dist/components/message-tray/index.js +1 -1
  138. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  139. package/dist/components/multi-select/index.js +1 -1
  140. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  141. package/dist/components/navigation-menu/index.js +1 -1
  142. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  143. package/dist/components/notification-tray/index.js +1 -1
  144. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  145. package/dist/components/number-input/index.js +1 -1
  146. package/dist/components/number-input/number-input.d.ts.map +1 -1
  147. package/dist/components/otp-input/index.js +1 -1
  148. package/dist/components/otp-input/otp-input.d.ts.map +1 -1
  149. package/dist/components/pagination/index.js +1 -1
  150. package/dist/components/payment-form/index.js +1 -1
  151. package/dist/components/pdf-viewer/index.js +1 -1
  152. package/dist/components/public-header/index.js +1 -1
  153. package/dist/components/public-header/public-header.d.ts +1 -1
  154. package/dist/components/public-header/public-header.d.ts.map +1 -1
  155. package/dist/components/radio-group/index.js +1 -1
  156. package/dist/components/select/index.js +1 -1
  157. package/dist/components/sidebar/index.js +8 -7
  158. package/dist/components/sidebar/index.js.map +1 -1
  159. package/dist/components/sidebar/sidebar.d.ts +1 -1
  160. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  161. package/dist/components/slider/index.js +1 -1
  162. package/dist/components/tabs/index.js +1 -1
  163. package/dist/components/theme-toggle/index.js +1 -1
  164. package/dist/components/warning-stack/index.js +1 -1
  165. package/dist/components/workflow/index.js +1 -1
  166. package/dist/hooks/index.d.ts +8 -0
  167. package/dist/hooks/index.d.ts.map +1 -1
  168. package/dist/hooks/index.js +98 -15
  169. package/dist/hooks/index.js.map +1 -1
  170. package/dist/hooks/use-debounced-callback.d.ts +19 -0
  171. package/dist/hooks/use-debounced-callback.d.ts.map +1 -0
  172. package/dist/hooks/use-debounced-value.d.ts +16 -0
  173. package/dist/hooks/use-debounced-value.d.ts.map +1 -0
  174. package/dist/hooks/use-direction.d.ts +19 -0
  175. package/dist/hooks/use-direction.d.ts.map +1 -0
  176. package/dist/hooks/use-focus-trap.d.ts +32 -0
  177. package/dist/hooks/use-focus-trap.d.ts.map +1 -0
  178. package/dist/hooks/use-isomorphic-layout-effect.d.ts +13 -0
  179. package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
  180. package/dist/hooks/use-persistent-state.d.ts +16 -0
  181. package/dist/hooks/use-persistent-state.d.ts.map +1 -0
  182. package/dist/index.js +493 -492
  183. package/dist/index.js.map +1 -1
  184. package/dist/patterns/leo-assistant/index.js +1 -1
  185. package/dist/patterns/patient-shell/index.js +1 -1
  186. package/dist/tokens.css +1 -1
  187. package/package.json +4 -2
  188. package/dist/_chunks/ai-prompt-input-DEiQwIMn.js.map +0 -1
  189. package/dist/_chunks/alert-pgdXrEO5.js.map +0 -1
  190. package/dist/_chunks/autocomplete-mOg7WLOh.js.map +0 -1
  191. package/dist/_chunks/chat-input-UK-bXU7u.js.map +0 -1
  192. package/dist/_chunks/checkbox-D5EHnB14.js.map +0 -1
  193. package/dist/_chunks/checkbox-group-Qkm3Rg1S.js +0 -208
  194. package/dist/_chunks/checkbox-group-Qkm3Rg1S.js.map +0 -1
  195. package/dist/_chunks/collapsible-CuxUBoHJ.js.map +0 -1
  196. package/dist/_chunks/combobox-D5tWe0t_.js.map +0 -1
  197. package/dist/_chunks/copy-field-BCHAZ8QV.js.map +0 -1
  198. package/dist/_chunks/date-range-picker-C2hRu_Ke.js.map +0 -1
  199. package/dist/_chunks/date-time-picker-B67mPZmP.js.map +0 -1
  200. package/dist/_chunks/dialog-DRp6Dejy.js.map +0 -1
  201. package/dist/_chunks/dropdown-menu-dyV7gHh_.js.map +0 -1
  202. package/dist/_chunks/freemium-paywall-BTEiVkes.js.map +0 -1
  203. package/dist/_chunks/list-DcjV0m5B.js.map +0 -1
  204. package/dist/_chunks/message-tray-Fsend-du.js.map +0 -1
  205. package/dist/_chunks/multi-select-DooDzQIp.js.map +0 -1
  206. package/dist/_chunks/navigation-menu-DdufF-_4.js.map +0 -1
  207. package/dist/_chunks/notification-tray-C3dYdLAF.js.map +0 -1
  208. package/dist/_chunks/number-input-DH00o0DN.js.map +0 -1
  209. package/dist/_chunks/otp-input-BBXYvLx5.js.map +0 -1
  210. package/dist/_chunks/pagination-F1ei4khE.js.map +0 -1
  211. package/dist/_chunks/public-header.agent-sDi9N9su.js.map +0 -1
  212. package/dist/_chunks/sidebar-D8Lq065m.js.map +0 -1
@@ -1,16 +1,17 @@
1
- import { jsx as r, jsxs as u } from "react/jsx-runtime";
2
- import { forwardRef as Q, useState as v, useRef as U, useCallback as X, useMemo as Z, useImperativeHandle as z } from "react";
3
- import { useTranslation as ee } from "react-i18next";
1
+ import { jsx as n, jsxs as f } from "react/jsx-runtime";
2
+ import { forwardRef as J, useState as S, useRef as Q, useCallback as U, useMemo as X, useImperativeHandle as Z } from "react";
3
+ import { useTranslation as z } from "react-i18next";
4
4
  import * as m from "@radix-ui/react-popover";
5
+ import { u as ee } from "./use-controllable-state-BiY4xTzM.js";
5
6
  import { u as te } from "./form-field-context-B3APVHKx.js";
6
- import { a as ae, g as ne, b as re, e as I, c as se, C as oe, d as ie, t as de, p as ce, D as le, f as pe, h as fe } from "./react-day-picker-C5F3-TTX.js";
7
- import { c as ge, b as N, s as ue, f as R, d as me } from "./isSameMonth-5wNF2f4I.js";
7
+ import { a as ae, g as ne, b as re, e as N, c as se, C as oe, d as ie, t as de, p as ce, D as le, f as pe, h as ge } from "./react-day-picker-C5F3-TTX.js";
8
+ import { c as ue, b as I, s as fe, f as b, d as me } from "./isSameMonth-5wNF2f4I.js";
8
9
  import { u as ye } from "./registry-C9nwlNyL.js";
9
- function D(t, s, n) {
10
- return ge(t, -s, n);
10
+ function v(t, r, o) {
11
+ return ue(t, -r, o);
11
12
  }
12
- function he(t, s, n) {
13
- return ae(t, -1, n);
13
+ function he(t, r, o) {
14
+ return ae(t, -1, o);
14
15
  }
15
16
  const ke = {
16
17
  id: "date-range-picker",
@@ -21,11 +22,11 @@ const ke = {
21
22
  descriptionKey: "ui.agent.dateRangePicker.state.range",
22
23
  description: "Currently-selected ISO date range endpoints, each possibly null.",
23
24
  read: (t) => {
24
- var n, l;
25
- const s = t.getRange();
25
+ var o, l;
26
+ const r = t.getRange();
26
27
  return {
27
- from: ((n = s.from) == null ? void 0 : n.toISOString()) ?? null,
28
- to: ((l = s.to) == null ? void 0 : l.toISOString()) ?? null
28
+ from: ((o = r.from) == null ? void 0 : o.toISOString()) ?? null,
29
+ to: ((l = r.to) == null ? void 0 : l.toISOString()) ?? null
29
30
  };
30
31
  }
31
32
  },
@@ -42,8 +43,8 @@ const ke = {
42
43
  argsType: "{ from: string, to: string }",
43
44
  descriptionKey: "ui.agent.dateRangePicker.actions.setRange",
44
45
  description: "Replace the selected range with the given ISO endpoints.",
45
- invoke: (t, s) => {
46
- t.setRange({ from: new Date(s.from), to: new Date(s.to) });
46
+ invoke: (t, r) => {
47
+ t.setRange({ from: new Date(r.from), to: new Date(r.to) });
47
48
  }
48
49
  },
49
50
  clear: {
@@ -83,177 +84,179 @@ const ke = {
83
84
  description: "Sourced from the id prop."
84
85
  }
85
86
  }
86
- }, be = Q(
87
+ }, be = J(
87
88
  ({
88
89
  value: t,
89
- defaultValue: s,
90
- onChange: n,
90
+ defaultValue: r,
91
+ onChange: o,
91
92
  minDate: l,
92
93
  maxDate: T,
93
94
  presets: y,
94
95
  mergePresets: W = !1,
95
- size: P = "md",
96
+ size: R = "md",
96
97
  disabled: V,
97
98
  placeholder: K,
98
99
  className: L,
99
100
  id: F
100
101
  }, j) => {
101
- const { t: o, i18n: A } = ee(), c = te(), h = F ?? c.id, w = c.disabled || V, B = c.invalid ? "error" : "default", i = ne(A.language), H = K ?? o("inputs.dateRangePicker.placeholder", "Select date range"), k = t !== void 0, [_, $] = v(
102
- t ?? s ?? {}
103
- ), a = k ? t : _, [p, f] = v(!1), [Y, M] = v(a.from ?? /* @__PURE__ */ new Date()), q = U(null), d = X(
102
+ const { t: s, i18n: A } = z(), c = te(), h = F ?? c.id, D = c.disabled || V, B = c.invalid ? "error" : "default", i = ne(A.language), H = K ?? s("inputs.dateRangePicker.placeholder", "Select date range"), [_, P] = ee({
103
+ value: t,
104
+ defaultValue: r ?? {},
105
+ onChange: o
106
+ }), a = _ ?? {}, [p, g] = S(!1), [$, w] = S(a.from ?? /* @__PURE__ */ new Date()), Y = Q(null), d = U(
104
107
  (e) => {
105
- k || $(e), n == null || n(e);
108
+ P(e);
106
109
  },
107
- [k, n]
108
- ), E = re(l, T), O = [
110
+ [P]
111
+ ), q = re(l, T), M = [
109
112
  {
110
- label: o("inputs.dateRangePicker.presets.today", "Today"),
113
+ label: s("inputs.dateRangePicker.presets.today", "Today"),
111
114
  range: () => {
112
115
  const e = /* @__PURE__ */ new Date();
113
116
  return { from: e, to: e };
114
117
  }
115
118
  },
116
119
  {
117
- label: o("inputs.dateRangePicker.presets.yesterday", "Yesterday"),
120
+ label: s("inputs.dateRangePicker.presets.yesterday", "Yesterday"),
118
121
  range: () => {
119
- const e = D(/* @__PURE__ */ new Date(), 1);
122
+ const e = v(/* @__PURE__ */ new Date(), 1);
120
123
  return { from: e, to: e };
121
124
  }
122
125
  },
123
126
  {
124
- label: o("inputs.dateRangePicker.presets.last7", "Last 7 days"),
127
+ label: s("inputs.dateRangePicker.presets.last7", "Last 7 days"),
125
128
  range: () => ({
126
- from: D(/* @__PURE__ */ new Date(), 6),
129
+ from: v(/* @__PURE__ */ new Date(), 6),
127
130
  to: /* @__PURE__ */ new Date()
128
131
  })
129
132
  },
130
133
  {
131
- label: o("inputs.dateRangePicker.presets.thisWeek", "This week"),
134
+ label: s("inputs.dateRangePicker.presets.thisWeek", "This week"),
132
135
  range: () => ({
133
- from: N(/* @__PURE__ */ new Date(), { locale: i }),
134
- to: I(/* @__PURE__ */ new Date(), { locale: i })
136
+ from: I(/* @__PURE__ */ new Date(), { locale: i }),
137
+ to: N(/* @__PURE__ */ new Date(), { locale: i })
135
138
  })
136
139
  },
137
140
  {
138
- label: o("inputs.dateRangePicker.presets.lastWeek", "Last week"),
141
+ label: s("inputs.dateRangePicker.presets.lastWeek", "Last week"),
139
142
  range: () => {
140
143
  const e = he(/* @__PURE__ */ new Date());
141
144
  return {
142
- from: N(e, { locale: i }),
143
- to: I(e, { locale: i })
145
+ from: I(e, { locale: i }),
146
+ to: N(e, { locale: i })
144
147
  };
145
148
  }
146
149
  },
147
150
  {
148
- label: o("inputs.dateRangePicker.presets.thisMonth", "This month"),
151
+ label: s("inputs.dateRangePicker.presets.thisMonth", "This month"),
149
152
  range: () => ({
150
- from: ue(/* @__PURE__ */ new Date()),
153
+ from: fe(/* @__PURE__ */ new Date()),
151
154
  to: se(/* @__PURE__ */ new Date())
152
155
  })
153
156
  },
154
157
  {
155
- label: o("inputs.dateRangePicker.presets.last30", "Last 30 days"),
158
+ label: s("inputs.dateRangePicker.presets.last30", "Last 30 days"),
156
159
  range: () => ({
157
- from: D(/* @__PURE__ */ new Date(), 29),
160
+ from: v(/* @__PURE__ */ new Date(), 29),
158
161
  to: /* @__PURE__ */ new Date()
159
162
  })
160
163
  }
161
- ], x = y ? W ? [...O, ...y] : y : O, G = (e) => {
164
+ ], C = y ? W ? [...M, ...y] : y : M, E = (e) => {
162
165
  d(e ? { from: e.from, to: e.to } : {});
163
- }, J = (e) => {
164
- const g = e.range();
165
- d(g), M(g.from), f(!1);
166
- }, S = (() => {
166
+ }, G = (e) => {
167
+ const u = e.range();
168
+ d(u), w(u.from), g(!1);
169
+ }, O = (() => {
167
170
  if (a.from && a.to) {
168
- const e = R(a.from, "MMM d, yyyy", { locale: i }), g = R(a.to, "MMM d, yyyy", { locale: i });
169
- return `${e} – ${g}`;
171
+ const e = b(a.from, "MMM d, yyyy", { locale: i }), u = b(a.to, "MMM d, yyyy", { locale: i });
172
+ return `${e} – ${u}`;
170
173
  }
171
- return a.from ? R(a.from, "MMM d, yyyy", { locale: i }) : "";
172
- })(), C = (() => {
174
+ return a.from ? b(a.from, "MMM d, yyyy", { locale: i }) : "";
175
+ })(), x = (() => {
173
176
  if (a.from && a.to) {
174
177
  const e = me(a.to, a.from) + 1;
175
- return o("inputs.dateRangePicker.days", "{{count}} days", {
178
+ return s("inputs.dateRangePicker.days", "{{count}} days", {
176
179
  count: e
177
180
  });
178
181
  }
179
182
  return "";
180
- })(), b = Z(
183
+ })(), k = X(
181
184
  () => ({
182
185
  getRange: () => a,
183
186
  setRange: (e) => d(e),
184
187
  clear: () => d({}),
185
188
  isOpen: () => p,
186
- open: () => f(!0),
187
- close: () => f(!1)
189
+ open: () => g(!0),
190
+ close: () => g(!1)
188
191
  }),
189
192
  [a, d, p]
190
193
  );
191
- return z(j, () => b, [b]), ye(ke, b, h), /* @__PURE__ */ r(m.Root, { open: p, onOpenChange: f, children: /* @__PURE__ */ u(
194
+ return Z(j, () => k, [k]), ye(ke, k, h), /* @__PURE__ */ n(m.Root, { open: p, onOpenChange: g, children: /* @__PURE__ */ f(
192
195
  "div",
193
196
  {
194
197
  className: L,
195
198
  "data-component": "date-range-picker",
196
199
  "data-component-id": h,
197
200
  children: [
198
- /* @__PURE__ */ r(m.Trigger, { asChild: !0, disabled: w, children: /* @__PURE__ */ u(
201
+ /* @__PURE__ */ n(m.Trigger, { asChild: !0, disabled: D, children: /* @__PURE__ */ f(
199
202
  "button",
200
203
  {
201
- ref: q,
204
+ ref: Y,
202
205
  id: h,
203
206
  type: "button",
204
- disabled: w,
207
+ disabled: D,
205
208
  "aria-describedby": c.describedBy || void 0,
206
209
  "aria-invalid": c.invalid || void 0,
207
210
  "aria-haspopup": "dialog",
208
211
  "aria-expanded": p,
209
- className: de({ size: P, tone: B }),
212
+ className: de({ size: R, tone: B }),
210
213
  children: [
211
- /* @__PURE__ */ r(
214
+ /* @__PURE__ */ n(
212
215
  "span",
213
216
  {
214
- className: S ? "ds:text-foreground" : "ds:text-muted-foreground",
215
- children: S || H
217
+ className: O ? "ds:text-foreground" : "ds:text-muted-foreground",
218
+ children: O || H
216
219
  }
217
220
  ),
218
- /* @__PURE__ */ r(
221
+ /* @__PURE__ */ n(
219
222
  "span",
220
223
  {
221
224
  "aria-hidden": "true",
222
- className: ie({ size: P }),
223
- children: /* @__PURE__ */ r(oe, {})
225
+ className: ie({ size: R }),
226
+ children: /* @__PURE__ */ n(oe, {})
224
227
  }
225
228
  )
226
229
  ]
227
230
  }
228
231
  ) }),
229
- /* @__PURE__ */ r(m.Portal, { children: /* @__PURE__ */ r(
232
+ /* @__PURE__ */ n(m.Portal, { children: /* @__PURE__ */ n(
230
233
  m.Content,
231
234
  {
232
235
  sideOffset: 4,
233
236
  align: "start",
234
- className: fe(),
235
- children: /* @__PURE__ */ u("div", { className: "ds:flex ds:gap-[var(--spacing-md)]", children: [
236
- x.length > 0 ? /* @__PURE__ */ r("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]", children: x.map((e) => /* @__PURE__ */ r(
237
+ className: ge(),
238
+ children: /* @__PURE__ */ f("div", { className: "ds:flex ds:gap-[var(--spacing-md)]", children: [
239
+ C.length > 0 ? /* @__PURE__ */ n("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]", children: C.map((e) => /* @__PURE__ */ n(
237
240
  "button",
238
241
  {
239
242
  type: "button",
240
- onClick: () => J(e),
243
+ onClick: () => G(e),
241
244
  className: ce(),
242
245
  children: e.label
243
246
  },
244
247
  e.label
245
248
  )) }) : null,
246
- /* @__PURE__ */ u("div", { children: [
247
- /* @__PURE__ */ r(
249
+ /* @__PURE__ */ f("div", { children: [
250
+ /* @__PURE__ */ n(
248
251
  le,
249
252
  {
250
253
  mode: "range",
251
254
  selected: a.from ? { from: a.from, to: a.to } : void 0,
252
- onSelect: G,
253
- month: Y,
254
- onMonthChange: M,
255
+ onSelect: E,
256
+ month: $,
257
+ onMonthChange: w,
255
258
  numberOfMonths: 2,
256
- disabled: E,
259
+ disabled: q,
257
260
  locale: i,
258
261
  showOutsideDays: !0,
259
262
  fixedWeeks: !0,
@@ -261,13 +264,13 @@ const ke = {
261
264
  components: { Chevron: pe }
262
265
  }
263
266
  ),
264
- C ? /* @__PURE__ */ r(
267
+ x ? /* @__PURE__ */ n(
265
268
  "div",
266
269
  {
267
270
  role: "status",
268
271
  "aria-live": "polite",
269
272
  className: "type-body-sm ds:text-muted-foreground ds:mt-[var(--spacing-sm)] ds:text-center",
270
- children: C
273
+ children: x
271
274
  }
272
275
  ) : null
273
276
  ] })
@@ -284,4 +287,4 @@ export {
284
287
  be as D,
285
288
  ke as d
286
289
  };
287
- //# sourceMappingURL=date-range-picker-C2hRu_Ke.js.map
290
+ //# sourceMappingURL=date-range-picker-9gANFNG9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-picker-9gANFNG9.js","sources":["../../node_modules/date-fns/subDays.js","../../node_modules/date-fns/subWeeks.js","../../src/components/date-range-picker/date-range-picker.agent.ts","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link subDays} function options.\n */\n\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the days subtracted\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport function subDays(date, amount, options) {\n return addDays(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subDays;\n","import { addWeeks } from \"./addWeeks.js\";\n\n/**\n * The {@link subWeeks} function options.\n */\n\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the weeks subtracted\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport function subWeeks(date, amount, options) {\n return addWeeks(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subWeeks;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DateRangePicker. */\n/* */\n/* DateRangePicker wraps react-day-picker (range mode) inside a Radix */\n/* Popover. The agent surface curates the trigger + popover into a small */\n/* set of range operations — set / clear / open / close. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DateRangePickerHandle } from './date-range-picker';\n\nexport const dateRangePickerAgent: AgentAdapter<DateRangePickerHandle> = {\n id: 'date-range-picker',\n capabilities: ['range_pick', 'open', 'close'],\n state: {\n range: {\n type: '{ from: iso-date | null, to: iso-date | null }',\n descriptionKey: 'ui.agent.dateRangePicker.state.range',\n description:\n 'Currently-selected ISO date range endpoints, each possibly null.',\n read: (handle) => {\n const range = handle.getRange();\n return {\n from: range.from?.toISOString() ?? null,\n to: range.to?.toISOString() ?? null,\n };\n },\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.dateRangePicker.state.isOpen',\n description: 'Whether the range calendar popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_range: {\n safety: 'write',\n argsType: '{ from: string, to: string }',\n descriptionKey: 'ui.agent.dateRangePicker.actions.setRange',\n description: 'Replace the selected range with the given ISO endpoints.',\n invoke: (handle, args: { from: string; to: string }) => {\n handle.setRange({ from: new Date(args.from), to: new Date(args.to) });\n },\n },\n clear: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.dateRangePicker.actions.clear',\n description: 'Clear the selected range.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n descriptionKey: 'ui.agent.dateRangePicker.actions.open',\n description: 'Open the range calendar popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n descriptionKey: 'ui.agent.dateRangePicker.actions.close',\n description: 'Close the range calendar popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-range-picker',\n description: 'Marks the DateRangePicker wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker, type DateRange } from 'react-day-picker';\nimport {\n format as fnsFormat,\n differenceInCalendarDays,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subDays,\n subWeeks,\n} from 'date-fns';\nimport { Calendar } from 'lucide-react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useFormField } from '../form-field/form-field-context';\nimport {\n getDateFnsLocale,\n buildDisabledMatcher,\n CalendarChevron,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n presetButtonVariants,\n} from '../_shared';\nimport { useAgentRegistration } from '../../agent';\nimport { dateRangePickerAgent } from './date-range-picker.agent';\nimport '../../tokens/themes/bridges/react-day-picker.css';\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateRangePreset {\n label: string;\n range: () => { from: Date; to: Date };\n}\n\nexport interface DateRangeValue {\n from?: Date;\n to?: Date;\n}\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DateRangePickerHandle {\n /** Get the current selected range. */\n getRange: () => DateRangeValue;\n /** Replace the selected range. */\n setRange: (range: DateRangeValue) => void;\n /** Clear the selected range. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the range calendar popover. */\n open: () => void;\n /** Close the range calendar popover. */\n close: () => void;\n}\n\nexport interface DateRangePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current range — controlled. */\n value?: DateRangeValue;\n /** Default range — uncontrolled. */\n defaultValue?: DateRangeValue;\n /** Called when the range changes. */\n onChange?: (range: DateRangeValue) => void;\n /** Minimum selectable date. */\n minDate?: Date;\n /** Maximum selectable date. */\n maxDate?: Date;\n /** Custom presets. Replaces defaults unless mergePresets is true. */\n presets?: DateRangePreset[];\n /** Merge custom presets with defaults instead of replacing. */\n mergePresets?: boolean;\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DateRangePicker = forwardRef<\n DateRangePickerHandle,\n DateRangePickerProps\n>(\n (\n {\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n presets: presetsProp,\n mergePresets = false,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = getDateFnsLocale(i18n.language);\n const placeholderText =\n placeholder ??\n t('inputs.dateRangePicker.placeholder', 'Select date range');\n\n const [currentValueRaw, setDateRangeValue] = useControllableState<\n DateRangeValue\n >({\n value,\n defaultValue: defaultValue ?? {},\n onChange,\n });\n const currentValue: DateRangeValue = currentValueRaw ?? {};\n\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue.from ?? new Date());\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (range: DateRangeValue) => {\n setDateRangeValue(range);\n },\n [setDateRangeValue],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n // Default presets\n const defaultPresets: DateRangePreset[] = [\n {\n label: t('inputs.dateRangePicker.presets.today', 'Today'),\n range: () => {\n const today = new Date();\n return { from: today, to: today };\n },\n },\n {\n label: t('inputs.dateRangePicker.presets.yesterday', 'Yesterday'),\n range: () => {\n const yesterday = subDays(new Date(), 1);\n return { from: yesterday, to: yesterday };\n },\n },\n {\n label: t('inputs.dateRangePicker.presets.last7', 'Last 7 days'),\n range: () => ({\n from: subDays(new Date(), 6),\n to: new Date(),\n }),\n },\n {\n label: t('inputs.dateRangePicker.presets.thisWeek', 'This week'),\n range: () => ({\n from: startOfWeek(new Date(), { locale }),\n to: endOfWeek(new Date(), { locale }),\n }),\n },\n {\n label: t('inputs.dateRangePicker.presets.lastWeek', 'Last week'),\n range: () => {\n const lastWeekDay = subWeeks(new Date(), 1);\n return {\n from: startOfWeek(lastWeekDay, { locale }),\n to: endOfWeek(lastWeekDay, { locale }),\n };\n },\n },\n {\n label: t('inputs.dateRangePicker.presets.thisMonth', 'This month'),\n range: () => ({\n from: startOfMonth(new Date()),\n to: endOfMonth(new Date()),\n }),\n },\n {\n label: t('inputs.dateRangePicker.presets.last30', 'Last 30 days'),\n range: () => ({\n from: subDays(new Date(), 29),\n to: new Date(),\n }),\n },\n ];\n\n const effectivePresets = presetsProp\n ? mergePresets\n ? [...defaultPresets, ...presetsProp]\n : presetsProp\n : defaultPresets;\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n if (range) {\n emit({ from: range.from, to: range.to });\n } else {\n emit({});\n }\n };\n\n const handlePresetClick = (preset: DateRangePreset) => {\n const range = preset.range();\n emit(range);\n setMonth(range.from);\n setOpen(false);\n };\n\n // Format display text\n const displayText = (() => {\n if (currentValue.from && currentValue.to) {\n const fromStr = fnsFormat(currentValue.from, 'MMM d, yyyy', { locale });\n const toStr = fnsFormat(currentValue.to, 'MMM d, yyyy', { locale });\n return `${fromStr} – ${toStr}`;\n }\n if (currentValue.from) {\n return fnsFormat(currentValue.from, 'MMM d, yyyy', { locale });\n }\n return '';\n })();\n\n // Range summary for screen readers\n const rangeSummary = (() => {\n if (currentValue.from && currentValue.to) {\n const days =\n differenceInCalendarDays(currentValue.to, currentValue.from) + 1;\n return t('inputs.dateRangePicker.days', '{{count}} days', {\n count: days,\n });\n }\n return '';\n })();\n\n const handle = useMemo<DateRangePickerHandle>(\n () => ({\n getRange: () => currentValue,\n setRange: (range) => emit(range),\n clear: () => emit({}),\n isOpen: () => open,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(dateRangePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div\n className={className}\n data-component=\"date-range-picker\"\n data-component-id={effectiveId}\n >\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props -- FormField propagates invalid state to its trigger; users rely on this for validation announcements */}\n <button\n ref={triggerRef}\n id={effectiveId}\n type=\"button\"\n disabled={effectiveDisabled}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || undefined}\n // `aria-required` is not valid on `<button>` per ARIA 1.2 — the\n // FormField label's visible asterisk + `aria-describedby` link\n // communicate the required state instead.\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={triggerVariants({ size, tone: effectiveTone })}\n >\n <span\n className={\n displayText\n ? 'ds:text-foreground'\n : 'ds:text-muted-foreground'\n }\n >\n {displayText || placeholderText}\n </span>\n <span\n aria-hidden=\"true\"\n className={calendarIconVariants({ size })}\n >\n <Calendar />\n </span>\n </button>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n >\n <div className=\"ds:flex ds:gap-[var(--spacing-md)]\">\n {/* Presets column */}\n {effectivePresets.length > 0 ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]\">\n {effectivePresets.map((preset) => (\n <button\n key={preset.label}\n type=\"button\"\n onClick={() => handlePresetClick(preset)}\n className={presetButtonVariants()}\n >\n {preset.label}\n </button>\n ))}\n </div>\n ) : null}\n\n {/* Dual calendar */}\n <div>\n <DayPicker\n mode=\"range\"\n selected={\n currentValue.from\n ? { from: currentValue.from, to: currentValue.to }\n : undefined\n }\n onSelect={handleRangeSelect}\n month={month}\n onMonthChange={setMonth}\n numberOfMonths={2}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n pagedNavigation\n components={{ Chevron: CalendarChevron }}\n />\n\n {/* Range summary live region */}\n {rangeSummary ? (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className=\"type-body-sm ds:text-muted-foreground ds:mt-[var(--spacing-sm)] ds:text-center\"\n >\n {rangeSummary}\n </div>\n ) : null}\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n"],"names":["subDays","date","amount","options","addDays","subWeeks","addWeeks","dateRangePickerAgent","handle","range","_a","_b","args","DateRangePicker","forwardRef","value","defaultValue","onChange","minDate","maxDate","presetsProp","mergePresets","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","locale","getDateFnsLocale","placeholderText","currentValueRaw","setDateRangeValue","useControllableState","currentValue","open","setOpen","useState","month","setMonth","triggerRef","useRef","emit","useCallback","disabledMatcher","buildDisabledMatcher","defaultPresets","today","yesterday","startOfWeek","endOfWeek","lastWeekDay","startOfMonth","endOfMonth","effectivePresets","handleRangeSelect","handlePresetClick","preset","displayText","fromStr","fnsFormat","toStr","rangeSummary","days","differenceInCalendarDays","useMemo","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","Calendar","popoverContentVariants","presetButtonVariants","DayPicker","CalendarChevron"],"mappings":"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","x_google_ignoreList":[0,1]}