@alfadocs/ui-kit-debug 0.30.5 → 0.31.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 (542) hide show
  1. package/dist/_chunks/{accordion-CNcodXuO.js → accordion-bSU21uTV.js} +3 -3
  2. package/dist/_chunks/{accordion-CNcodXuO.js.map → accordion-bSU21uTV.js.map} +1 -1
  3. package/dist/_chunks/{agenda-card-DO9_yogb.js → agenda-card-UJA6Arbs.js} +3 -3
  4. package/dist/_chunks/{agenda-card-DO9_yogb.js.map → agenda-card-UJA6Arbs.js.map} +1 -1
  5. package/dist/_chunks/{agenda-tray-WLbfMip6.js → agenda-tray-1fAxNOMz.js} +4 -4
  6. package/dist/_chunks/{agenda-tray-WLbfMip6.js.map → agenda-tray-1fAxNOMz.js.map} +1 -1
  7. package/dist/_chunks/{ai-prompt-input-BXlwNnWe.js → ai-prompt-input-C6sCr1Vi.js} +11 -10
  8. package/dist/_chunks/ai-prompt-input-C6sCr1Vi.js.map +1 -0
  9. package/dist/_chunks/{alia-sidebar-C-232sD7.js → alia-sidebar-BEoMl6UL.js} +9 -9
  10. package/dist/_chunks/{alia-sidebar-C-232sD7.js.map → alia-sidebar-BEoMl6UL.js.map} +1 -1
  11. package/dist/_chunks/ar-CEpIJtcO.js +399 -0
  12. package/dist/_chunks/ar-CEpIJtcO.js.map +1 -0
  13. package/dist/_chunks/{audio-recorder-DL800PE_.js → audio-recorder-C1rhKhSN.js} +114 -114
  14. package/dist/_chunks/audio-recorder-C1rhKhSN.js.map +1 -0
  15. package/dist/_chunks/audio-visualiser-l6zPd0AG.js +162 -0
  16. package/dist/_chunks/audio-visualiser-l6zPd0AG.js.map +1 -0
  17. package/dist/_chunks/{autocomplete-CUh0f7Dj.js → autocomplete-DIgdhCGJ.js} +2 -2
  18. package/dist/_chunks/{autocomplete-CUh0f7Dj.js.map → autocomplete-DIgdhCGJ.js.map} +1 -1
  19. package/dist/_chunks/{avatar-D_H4emLo.js → avatar-BNQNhoyL.js} +19 -18
  20. package/dist/_chunks/avatar-BNQNhoyL.js.map +1 -0
  21. package/dist/_chunks/{badge-CIjQ1Us1.js → badge-CptERaHx.js} +2 -2
  22. package/dist/_chunks/{badge-CIjQ1Us1.js.map → badge-CptERaHx.js.map} +1 -1
  23. package/dist/_chunks/{booking-Cw92aqo3.js → booking-BIZ9GSer.js} +149 -160
  24. package/dist/_chunks/booking-BIZ9GSer.js.map +1 -0
  25. package/dist/_chunks/{breadcrumb--YI7lcHA.js → breadcrumb-CLlhx7qo.js} +2 -2
  26. package/dist/_chunks/{breadcrumb--YI7lcHA.js.map → breadcrumb-CLlhx7qo.js.map} +1 -1
  27. package/dist/_chunks/{button-group-Bh2g_Ng-.js → button-group-Ciq6J4IW.js} +15 -14
  28. package/dist/_chunks/button-group-Ciq6J4IW.js.map +1 -0
  29. package/dist/_chunks/{calendar-WWNx448i.js → calendar-YHFknAGv.js} +22 -22
  30. package/dist/_chunks/{calendar-WWNx448i.js.map → calendar-YHFknAGv.js.map} +1 -1
  31. package/dist/_chunks/calendar-clock-CYkcqdwl.js +19 -0
  32. package/dist/_chunks/calendar-clock-CYkcqdwl.js.map +1 -0
  33. package/dist/_chunks/{carousel.agent-C2Icc9_T.js → carousel.agent-DrX96W-1.js} +2 -2
  34. package/dist/_chunks/{carousel.agent-C2Icc9_T.js.map → carousel.agent-DrX96W-1.js.map} +1 -1
  35. package/dist/_chunks/{chart-BLvFl169.js → chart-DLkVn_ex.js} +2 -2
  36. package/dist/_chunks/{chart-BLvFl169.js.map → chart-DLkVn_ex.js.map} +1 -1
  37. package/dist/_chunks/{chat-container-izziXViv.js → chat-container-ogB4OskO.js} +24 -23
  38. package/dist/_chunks/chat-container-ogB4OskO.js.map +1 -0
  39. package/dist/_chunks/{chat-input-cyl_y9bh.js → chat-input-CQe7nR_v.js} +132 -118
  40. package/dist/_chunks/chat-input-CQe7nR_v.js.map +1 -0
  41. package/dist/_chunks/{chat-message-fg221-yx.js → chat-message-D53_fH2w.js} +2 -2
  42. package/dist/_chunks/{chat-message-fg221-yx.js.map → chat-message-D53_fH2w.js.map} +1 -1
  43. package/dist/_chunks/{checkbox-Dgp_cfUr.js → checkbox-DRcOdmXv.js} +3 -3
  44. package/dist/_chunks/{checkbox-Dgp_cfUr.js.map → checkbox-DRcOdmXv.js.map} +1 -1
  45. package/dist/_chunks/{checkbox-group-eVowqKcT.js → checkbox-group-CpUwlHug.js} +3 -3
  46. package/dist/_chunks/{checkbox-group-eVowqKcT.js.map → checkbox-group-CpUwlHug.js.map} +1 -1
  47. package/dist/_chunks/{collapsible-hHiyZp0b.js → collapsible-CERONory.js} +2 -2
  48. package/dist/_chunks/{collapsible-hHiyZp0b.js.map → collapsible-CERONory.js.map} +1 -1
  49. package/dist/_chunks/{color-picker-Bm-gzpsh.js → color-picker-9tL7pz5y.js} +192 -181
  50. package/dist/_chunks/color-picker-9tL7pz5y.js.map +1 -0
  51. package/dist/_chunks/{combobox-Da9eq00i.js → combobox-BC-DFx8G.js} +31 -30
  52. package/dist/_chunks/combobox-BC-DFx8G.js.map +1 -0
  53. package/dist/_chunks/{command-palette-11BieSNq.js → command-palette-BiPAAno-.js} +125 -123
  54. package/dist/_chunks/command-palette-BiPAAno-.js.map +1 -0
  55. package/dist/_chunks/{copy-field-BAF4mt9h.js → copy-field-CCq7j6Zc.js} +2 -2
  56. package/dist/_chunks/{copy-field-BAF4mt9h.js.map → copy-field-CCq7j6Zc.js.map} +1 -1
  57. package/dist/_chunks/{date-picker-D0Ry1dMz.js → date-picker-B94HAV4A.js} +4 -4
  58. package/dist/_chunks/{date-picker-D0Ry1dMz.js.map → date-picker-B94HAV4A.js.map} +1 -1
  59. package/dist/_chunks/{date-range-picker-DYgHzMOo.js → date-range-picker-D4dgDlLU.js} +73 -73
  60. package/dist/_chunks/date-range-picker-D4dgDlLU.js.map +1 -0
  61. package/dist/_chunks/{date-time-picker-CGmGtcyc.js → date-time-picker-D1GEzf8p.js} +5 -5
  62. package/dist/_chunks/{date-time-picker-CGmGtcyc.js.map → date-time-picker-D1GEzf8p.js.map} +1 -1
  63. package/dist/_chunks/de-Dfbeau59.js +477 -0
  64. package/dist/_chunks/de-Dfbeau59.js.map +1 -0
  65. package/dist/_chunks/{description-list-CWjnaDGn.js → description-list-BEbK2g93.js} +2 -2
  66. package/dist/_chunks/{description-list-CWjnaDGn.js.map → description-list-BEbK2g93.js.map} +1 -1
  67. package/dist/_chunks/{dialog-C-lTGVkB.js → dialog-Cee13rHU.js} +3 -3
  68. package/dist/_chunks/{dialog-C-lTGVkB.js.map → dialog-Cee13rHU.js.map} +1 -1
  69. package/dist/_chunks/{dropdown-menu-DZxwF23X.js → dropdown-menu-BC5ZdOMo.js} +3 -3
  70. package/dist/_chunks/{dropdown-menu-DZxwF23X.js.map → dropdown-menu-BC5ZdOMo.js.map} +1 -1
  71. package/dist/_chunks/{editable-currency-cell-renderer-CztRy_21.js → editable-currency-cell-renderer-BpicmolK.js} +308 -322
  72. package/dist/_chunks/editable-currency-cell-renderer-BpicmolK.js.map +1 -0
  73. package/dist/_chunks/el-Dro3J7CP.js +373 -0
  74. package/dist/_chunks/el-Dro3J7CP.js.map +1 -0
  75. package/dist/_chunks/{email-input-DvJ_kPKL.js → email-input-lQivsFrw.js} +3 -3
  76. package/dist/_chunks/{email-input-DvJ_kPKL.js.map → email-input-lQivsFrw.js.map} +1 -1
  77. package/dist/_chunks/es-Dvg8u70B.js +373 -0
  78. package/dist/_chunks/es-Dvg8u70B.js.map +1 -0
  79. package/dist/_chunks/{file-upload-DxAQprcU.js → file-upload-CdozCPct.js} +226 -233
  80. package/dist/_chunks/file-upload-CdozCPct.js.map +1 -0
  81. package/dist/_chunks/fr-VOGjBSPP.js +338 -0
  82. package/dist/_chunks/fr-VOGjBSPP.js.map +1 -0
  83. package/dist/_chunks/{freemium-paywall-B9c8Ylww.js → freemium-paywall-D1N02Oam.js} +4 -4
  84. package/dist/_chunks/{freemium-paywall-B9c8Ylww.js.map → freemium-paywall-D1N02Oam.js.map} +1 -1
  85. package/dist/_chunks/{header-DDj7uGD-.js → header-CTZWX-tm.js} +2 -2
  86. package/dist/_chunks/{header-DDj7uGD-.js.map → header-CTZWX-tm.js.map} +1 -1
  87. package/dist/_chunks/hi-BSDxWU_y.js +433 -0
  88. package/dist/_chunks/hi-BSDxWU_y.js.map +1 -0
  89. package/dist/_chunks/{icon-button-DPEqBKBQ.js → icon-button-CKEOrN37.js} +2 -2
  90. package/dist/_chunks/{icon-button-DPEqBKBQ.js.map → icon-button-CKEOrN37.js.map} +1 -1
  91. package/dist/_chunks/{icon-button-group-DeV3FpNY.js → icon-button-group-C48khLE0.js} +23 -22
  92. package/dist/_chunks/icon-button-group-C48khLE0.js.map +1 -0
  93. package/dist/_chunks/{isSameDay-DHG8Xade.js → isSameDay-DUEiAT0G.js} +2 -2
  94. package/dist/_chunks/{isSameDay-DHG8Xade.js.map → isSameDay-DUEiAT0G.js.map} +1 -1
  95. package/dist/_chunks/isSameWeek-Dfzu29cW.js +14 -0
  96. package/dist/_chunks/isSameWeek-Dfzu29cW.js.map +1 -0
  97. package/dist/_chunks/it-CuonvcI_.js +401 -0
  98. package/dist/_chunks/it-CuonvcI_.js.map +1 -0
  99. package/dist/_chunks/ja-DO57gIOT.js +366 -0
  100. package/dist/_chunks/ja-DO57gIOT.js.map +1 -0
  101. package/dist/_chunks/{key-value-pair-BvDY3zuc.js → key-value-pair-C8DaR3Xs.js} +2 -2
  102. package/dist/_chunks/{key-value-pair-BvDY3zuc.js.map → key-value-pair-C8DaR3Xs.js.map} +1 -1
  103. package/dist/_chunks/{list-BdvDctBz.js → list-BOwqwy03.js} +44 -43
  104. package/dist/_chunks/list-BOwqwy03.js.map +1 -0
  105. package/dist/_chunks/{locale-picker-CY89MChR.js → locale-picker-D99UyZVJ.js} +4 -4
  106. package/dist/_chunks/{locale-picker-CY89MChR.js.map → locale-picker-D99UyZVJ.js.map} +1 -1
  107. package/dist/_chunks/{map-view-DyB8tr6c.js → map-view-WEWqXzof.js} +569 -557
  108. package/dist/_chunks/{map-view-DyB8tr6c.js.map → map-view-WEWqXzof.js.map} +1 -1
  109. package/dist/_chunks/{message-card-D6iyPacd.js → message-card-BbRhZkDI.js} +3 -3
  110. package/dist/_chunks/{message-card-D6iyPacd.js.map → message-card-BbRhZkDI.js.map} +1 -1
  111. package/dist/_chunks/{message-tray-Bh-0ra-Y.js → message-tray-B762TKuv.js} +11 -10
  112. package/dist/_chunks/message-tray-B762TKuv.js.map +1 -0
  113. package/dist/_chunks/{multi-select-dSe6Xtc4.js → multi-select-DOLO3K_z.js} +26 -25
  114. package/dist/_chunks/multi-select-DOLO3K_z.js.map +1 -0
  115. package/dist/_chunks/{navigation-menu-CyS1fBJ7.js → navigation-menu-C6lBYVv9.js} +3 -3
  116. package/dist/_chunks/{navigation-menu-CyS1fBJ7.js.map → navigation-menu-C6lBYVv9.js.map} +1 -1
  117. package/dist/_chunks/nl-DjPaaWaW.js +326 -0
  118. package/dist/_chunks/nl-DjPaaWaW.js.map +1 -0
  119. package/dist/_chunks/{notification-card-vaMaA7Wa.js → notification-card-DMdO4g54.js} +2 -2
  120. package/dist/_chunks/{notification-card-vaMaA7Wa.js.map → notification-card-DMdO4g54.js.map} +1 -1
  121. package/dist/_chunks/{notification-tray-Cnum6LwM.js → notification-tray-Dl3FTleW.js} +17 -16
  122. package/dist/_chunks/notification-tray-Dl3FTleW.js.map +1 -0
  123. package/dist/_chunks/{number-input-BZXu6bPY.js → number-input-Dj5L3pXK.js} +2 -2
  124. package/dist/_chunks/{number-input-BZXu6bPY.js.map → number-input-Dj5L3pXK.js.map} +1 -1
  125. package/dist/_chunks/{otp-input-BDF_iNpa.js → otp-input-BEg_sn8A.js} +2 -2
  126. package/dist/_chunks/{otp-input-BDF_iNpa.js.map → otp-input-BEg_sn8A.js.map} +1 -1
  127. package/dist/_chunks/{pagination-BWaXF7W0.js → pagination-DQOgnxxw.js} +2 -2
  128. package/dist/_chunks/{pagination-BWaXF7W0.js.map → pagination-DQOgnxxw.js.map} +1 -1
  129. package/dist/_chunks/{parseISO-Dk4xa7q6.js → parseISO-DEpUNwxZ.js} +2 -2
  130. package/dist/_chunks/{parseISO-Dk4xa7q6.js.map → parseISO-DEpUNwxZ.js.map} +1 -1
  131. package/dist/_chunks/{patient-search-ZpHN-pgJ.js → patient-search-hFiYbqcl.js} +8 -8
  132. package/dist/_chunks/{patient-search-ZpHN-pgJ.js.map → patient-search-hFiYbqcl.js.map} +1 -1
  133. package/dist/_chunks/{patient-shell-CYaNkbA1.js → patient-shell-CDvMw_Nk.js} +6 -6
  134. package/dist/_chunks/{patient-shell-CYaNkbA1.js.map → patient-shell-CDvMw_Nk.js.map} +1 -1
  135. package/dist/_chunks/{payment-form-Ds3rxvad.js → payment-form-D5rgnZu7.js} +2 -2
  136. package/dist/_chunks/{payment-form-Ds3rxvad.js.map → payment-form-D5rgnZu7.js.map} +1 -1
  137. package/dist/_chunks/{pdf-viewer-CIuaocnq.js → pdf-viewer-DvtEHcEP.js} +347 -320
  138. package/dist/_chunks/{pdf-viewer-CIuaocnq.js.map → pdf-viewer-DvtEHcEP.js.map} +1 -1
  139. package/dist/_chunks/{phone-input-DKSHX7NQ.js → phone-input-DfZbPPvh.js} +217 -201
  140. package/dist/_chunks/phone-input-DfZbPPvh.js.map +1 -0
  141. package/dist/_chunks/pl-Cl4lOx2N.js +514 -0
  142. package/dist/_chunks/pl-Cl4lOx2N.js.map +1 -0
  143. package/dist/_chunks/{popover-BfHSBEKq.js → popover-Devce-tT.js} +3 -3
  144. package/dist/_chunks/{popover-BfHSBEKq.js.map → popover-Devce-tT.js.map} +1 -1
  145. package/dist/_chunks/practice-results-JQunxBIg.js +1618 -0
  146. package/dist/_chunks/practice-results-JQunxBIg.js.map +1 -0
  147. package/dist/_chunks/{privacy-lock-C6Ra5m3p.js → privacy-lock-DD-wHxBg.js} +3 -3
  148. package/dist/_chunks/{privacy-lock-C6Ra5m3p.js.map → privacy-lock-DD-wHxBg.js.map} +1 -1
  149. package/dist/_chunks/{progress-B-PSO5OS.js → progress-kzIRcdaq.js} +11 -10
  150. package/dist/_chunks/progress-kzIRcdaq.js.map +1 -0
  151. package/dist/_chunks/pt-D7qO5CzD.js +370 -0
  152. package/dist/_chunks/pt-D7qO5CzD.js.map +1 -0
  153. package/dist/_chunks/{public-footer.agent-Bc99tE5Z.js → public-footer.agent-Bh0rnx4i.js} +21 -14
  154. package/dist/_chunks/public-footer.agent-Bh0rnx4i.js.map +1 -0
  155. package/dist/_chunks/{public-header.agent-B-B0WDAi.js → public-header.agent-B2dDg2_d.js} +3 -3
  156. package/dist/_chunks/{public-header.agent-B-B0WDAi.js.map → public-header.agent-B2dDg2_d.js.map} +1 -1
  157. package/dist/_chunks/{radio-i4ogu3cq.js → radio-TWf9Q-mp.js} +2 -2
  158. package/dist/_chunks/{radio-i4ogu3cq.js.map → radio-TWf9Q-mp.js.map} +1 -1
  159. package/dist/_chunks/{radio-group-CTlGc36r.js → radio-group-BcF92GEF.js} +4 -4
  160. package/dist/_chunks/{radio-group-CTlGc36r.js.map → radio-group-BcF92GEF.js.map} +1 -1
  161. package/dist/_chunks/{react-day-picker-D3yzgvDB.js → react-day-picker-DsjfS7uI.js} +662 -615
  162. package/dist/_chunks/{react-day-picker-D3yzgvDB.js.map → react-day-picker-DsjfS7uI.js.map} +1 -1
  163. package/dist/_chunks/recaptcha-widget-CFYyLSEX.js +221 -0
  164. package/dist/_chunks/recaptcha-widget-CFYyLSEX.js.map +1 -0
  165. package/dist/_chunks/refresh-cw-CC8jSKMr.js +17 -0
  166. package/dist/_chunks/refresh-cw-CC8jSKMr.js.map +1 -0
  167. package/dist/_chunks/registry-nPAVE19X.js +21 -0
  168. package/dist/_chunks/registry-nPAVE19X.js.map +1 -0
  169. package/dist/_chunks/{resizable-COV-cnth.js → resizable-3vzqDlg6.js} +29 -28
  170. package/dist/_chunks/resizable-3vzqDlg6.js.map +1 -0
  171. package/dist/_chunks/{reviews-panel-bKEUKSic.js → reviews-panel-yanuBZs-.js} +4 -4
  172. package/dist/_chunks/{reviews-panel-bKEUKSic.js.map → reviews-panel-yanuBZs-.js.map} +1 -1
  173. package/dist/_chunks/{rich-text-editor-J-wAz9eN.js → rich-text-editor-CHmr9Bz8.js} +2 -2
  174. package/dist/_chunks/{rich-text-editor-J-wAz9eN.js.map → rich-text-editor-CHmr9Bz8.js.map} +1 -1
  175. package/dist/_chunks/ro-CP2-VJ_O.js +361 -0
  176. package/dist/_chunks/ro-CP2-VJ_O.js.map +1 -0
  177. package/dist/_chunks/ru-RPn9_Lpq.js +561 -0
  178. package/dist/_chunks/ru-RPn9_Lpq.js.map +1 -0
  179. package/dist/_chunks/{scroll-area-DEDU-lp-.js → scroll-area-BWqCkEGz.js} +2 -2
  180. package/dist/_chunks/{scroll-area-DEDU-lp-.js.map → scroll-area-BWqCkEGz.js.map} +1 -1
  181. package/dist/_chunks/{search-bar-BRMW1-WG.js → search-bar-CP6wUJFY.js} +3 -3
  182. package/dist/_chunks/{search-bar-BRMW1-WG.js.map → search-bar-CP6wUJFY.js.map} +1 -1
  183. package/dist/_chunks/{search-input-CIA6pPfn.js → search-input-C1C3jQpD.js} +24 -23
  184. package/dist/_chunks/search-input-C1C3jQpD.js.map +1 -0
  185. package/dist/_chunks/{select-C92AT_OZ.js → select-hsCaJSX3.js} +3 -3
  186. package/dist/_chunks/{select-C92AT_OZ.js.map → select-hsCaJSX3.js.map} +1 -1
  187. package/dist/_chunks/{sheet-D8Yl0nKR.js → sheet-BV-yuLE2.js} +3 -3
  188. package/dist/_chunks/{sheet-D8Yl0nKR.js.map → sheet-BV-yuLE2.js.map} +1 -1
  189. package/dist/_chunks/{sidebar-DkyC6GvS.js → sidebar-BbR8f6oe.js} +3 -3
  190. package/dist/_chunks/{sidebar-DkyC6GvS.js.map → sidebar-BbR8f6oe.js.map} +1 -1
  191. package/dist/_chunks/{signature-capture-DjMlFOzS.js → signature-capture-C-fF71xI.js} +213 -205
  192. package/dist/_chunks/signature-capture-C-fF71xI.js.map +1 -0
  193. package/dist/_chunks/{slider-CfEzeseL.js → slider-BHWzXdjt.js} +3 -3
  194. package/dist/_chunks/{slider-CfEzeseL.js.map → slider-BHWzXdjt.js.map} +1 -1
  195. package/dist/_chunks/{slot-grid-Q94gVmhn.js → slot-grid-Dz13dH82.js} +4 -4
  196. package/dist/_chunks/{slot-grid-Q94gVmhn.js.map → slot-grid-Dz13dH82.js.map} +1 -1
  197. package/dist/_chunks/smile-BSYLAHy6.js +17 -0
  198. package/dist/_chunks/smile-BSYLAHy6.js.map +1 -0
  199. package/dist/_chunks/{sparkline-B5Ms55PZ.js → sparkline-DEROcSl0.js} +2 -2
  200. package/dist/_chunks/{sparkline-B5Ms55PZ.js.map → sparkline-DEROcSl0.js.map} +1 -1
  201. package/dist/_chunks/sq-AQvefouo.js +355 -0
  202. package/dist/_chunks/sq-AQvefouo.js.map +1 -0
  203. package/dist/_chunks/{stepper-progress-jFY8BSf7.js → stepper-progress-DDjq5nei.js} +16 -15
  204. package/dist/_chunks/stepper-progress-DDjq5nei.js.map +1 -0
  205. package/dist/_chunks/streaming-text-GH07yIYh.js +127 -0
  206. package/dist/_chunks/streaming-text-GH07yIYh.js.map +1 -0
  207. package/dist/_chunks/sv-zkx9eBtD.js +376 -0
  208. package/dist/_chunks/sv-zkx9eBtD.js.map +1 -0
  209. package/dist/_chunks/{switch-D916VW86.js → switch-BJ6HD3Mn.js} +2 -2
  210. package/dist/_chunks/{switch-D916VW86.js.map → switch-BJ6HD3Mn.js.map} +1 -1
  211. package/dist/_chunks/{tabs-aEQfQV3x.js → tabs-BpPYVme_.js} +4 -4
  212. package/dist/_chunks/{tabs-aEQfQV3x.js.map → tabs-BpPYVme_.js.map} +1 -1
  213. package/dist/_chunks/{tag-bBPAvXyh.js → tag-CyoaEmf_.js} +2 -2
  214. package/dist/_chunks/{tag-bBPAvXyh.js.map → tag-CyoaEmf_.js.map} +1 -1
  215. package/dist/_chunks/{task-tray-6NlryfMJ.js → task-tray-DRK0b0Qb.js} +3 -3
  216. package/dist/_chunks/{task-tray-6NlryfMJ.js.map → task-tray-DRK0b0Qb.js.map} +1 -1
  217. package/dist/_chunks/{text-area-D5GAe8pV.js → text-area-BIx0tZ05.js} +27 -26
  218. package/dist/_chunks/text-area-BIx0tZ05.js.map +1 -0
  219. package/dist/_chunks/{text-input-CakysYnD.js → text-input-BaClJL8Y.js} +2 -2
  220. package/dist/_chunks/{text-input-CakysYnD.js.map → text-input-BaClJL8Y.js.map} +1 -1
  221. package/dist/_chunks/{theme-toggle-JoeMs_ws.js → theme-toggle-DpC28kt5.js} +6 -6
  222. package/dist/_chunks/{theme-toggle-JoeMs_ws.js.map → theme-toggle-DpC28kt5.js.map} +1 -1
  223. package/dist/_chunks/{time-picker-DeVZkIY2.js → time-picker-B5umYwfv.js} +2 -2
  224. package/dist/_chunks/{time-picker-DeVZkIY2.js.map → time-picker-B5umYwfv.js.map} +1 -1
  225. package/dist/_chunks/{timeline-CR7HjZCK.js → timeline-D0Wo7v_o.js} +3 -3
  226. package/dist/_chunks/{timeline-CR7HjZCK.js.map → timeline-D0Wo7v_o.js.map} +1 -1
  227. package/dist/_chunks/{toast.agent-DVpKt38p.js → toast.agent-WHHfw5VX.js} +322 -320
  228. package/dist/_chunks/{toast.agent-DVpKt38p.js.map → toast.agent-WHHfw5VX.js.map} +1 -1
  229. package/dist/_chunks/{tooltip-ClJd0ciy.js → tooltip-DvmfrNvB.js} +29 -20
  230. package/dist/_chunks/tooltip-DvmfrNvB.js.map +1 -0
  231. package/dist/_chunks/{tooth-scheme-3mITSXiZ.js → tooth-scheme-CxlsLjfN.js} +2 -2
  232. package/dist/_chunks/{tooth-scheme-3mITSXiZ.js.map → tooth-scheme-CxlsLjfN.js.map} +1 -1
  233. package/dist/_chunks/tr-Dmr412Ac.js +378 -0
  234. package/dist/_chunks/tr-Dmr412Ac.js.map +1 -0
  235. package/dist/_chunks/{transaction-chip-z9ENE50O.js → transaction-chip-B8ujzowA.js} +47 -60
  236. package/dist/_chunks/transaction-chip-B8ujzowA.js.map +1 -0
  237. package/dist/_chunks/{transcript-panel-QUQ9XJmf.js → transcript-panel-DyhTpAP7.js} +21 -20
  238. package/dist/_chunks/transcript-panel-DyhTpAP7.js.map +1 -0
  239. package/dist/_chunks/{use-direction-D6rvvG9G.js → use-direction-Dp8h70PP.js} +7 -6
  240. package/dist/_chunks/use-direction-Dp8h70PP.js.map +1 -0
  241. package/dist/_chunks/use-isomorphic-layout-effect-BGfaCOP1.js +6 -0
  242. package/dist/_chunks/use-isomorphic-layout-effect-BGfaCOP1.js.map +1 -0
  243. package/dist/_chunks/use-media-query-CcAx5SMM.js +16 -0
  244. package/dist/_chunks/use-media-query-CcAx5SMM.js.map +1 -0
  245. package/dist/_chunks/{use-password-requirements-E0sSfx5X.js → use-password-requirements-DsgduV1x.js} +3 -3
  246. package/dist/_chunks/{use-password-requirements-E0sSfx5X.js.map → use-password-requirements-DsgduV1x.js.map} +1 -1
  247. package/dist/_chunks/use-scroll-to-first-error-4Za-u5Nw.js +43 -0
  248. package/dist/_chunks/use-scroll-to-first-error-4Za-u5Nw.js.map +1 -0
  249. package/dist/_chunks/{workflow-map-DlWBJJBt.js → workflow-map-BSvQS3be.js} +6 -6
  250. package/dist/_chunks/{workflow-map-DlWBJJBt.js.map → workflow-map-BSvQS3be.js.map} +1 -1
  251. package/dist/_chunks/zh-CN-DxVt64Zk.js +388 -0
  252. package/dist/_chunks/zh-CN-DxVt64Zk.js.map +1 -0
  253. package/dist/agent/registry.d.ts +1 -6
  254. package/dist/agent/registry.d.ts.map +1 -1
  255. package/dist/agent-catalog.json +42 -1
  256. package/dist/components/_shared/date-locale.d.ts +7 -2
  257. package/dist/components/_shared/date-locale.d.ts.map +1 -1
  258. package/dist/components/_shared/index.d.ts +1 -1
  259. package/dist/components/_shared/index.d.ts.map +1 -1
  260. package/dist/components/accordion/index.js +1 -1
  261. package/dist/components/agenda-card/index.js +1 -1
  262. package/dist/components/agenda-tray/index.js +1 -1
  263. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  264. package/dist/components/ai-prompt-input/index.js +1 -1
  265. package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -1
  266. package/dist/components/audio-recorder/index.js +1 -1
  267. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -1
  268. package/dist/components/audio-visualiser/index.js +1 -1
  269. package/dist/components/autocomplete/index.js +1 -1
  270. package/dist/components/avatar/avatar.d.ts.map +1 -1
  271. package/dist/components/avatar/index.js +1 -1
  272. package/dist/components/badge/index.js +1 -1
  273. package/dist/components/booking/index.js +1 -1
  274. package/dist/components/breadcrumb/index.js +1 -1
  275. package/dist/components/button/index.js +1 -1
  276. package/dist/components/button-group/button-group.d.ts.map +1 -1
  277. package/dist/components/button-group/index.js +1 -1
  278. package/dist/components/calendar/calendar.d.ts.map +1 -1
  279. package/dist/components/calendar/index.js +1 -1
  280. package/dist/components/carousel/index.js +1 -1
  281. package/dist/components/chart/index.js +1 -1
  282. package/dist/components/chat-container/chat-container.d.ts.map +1 -1
  283. package/dist/components/chat-container/index.js +1 -1
  284. package/dist/components/chat-input/chat-input.d.ts.map +1 -1
  285. package/dist/components/chat-input/index.js +1 -1
  286. package/dist/components/chat-message/index.js +1 -1
  287. package/dist/components/checkbox/index.js +1 -1
  288. package/dist/components/checkbox-group/index.js +1 -1
  289. package/dist/components/collapsible/index.js +1 -1
  290. package/dist/components/color-picker/color-picker.d.ts.map +1 -1
  291. package/dist/components/color-picker/index.js +1 -1
  292. package/dist/components/combobox/combobox.d.ts.map +1 -1
  293. package/dist/components/combobox/index.js +1 -1
  294. package/dist/components/command-palette/command-palette.d.ts.map +1 -1
  295. package/dist/components/command-palette/index.js +1 -1
  296. package/dist/components/copy-field/index.js +1 -1
  297. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -1
  298. package/dist/components/data-table/data-table.d.ts.map +1 -1
  299. package/dist/components/data-table/index.js +1 -1
  300. package/dist/components/date-picker/index.js +1 -1
  301. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  302. package/dist/components/date-range-picker/index.js +1 -1
  303. package/dist/components/date-time-picker/index.js +1 -1
  304. package/dist/components/description-list/index.js +1 -1
  305. package/dist/components/dialog/index.js +1 -1
  306. package/dist/components/dropdown-menu/index.js +1 -1
  307. package/dist/components/email-input/index.js +1 -1
  308. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  309. package/dist/components/file-upload/index.js +1 -1
  310. package/dist/components/freemium-paywall/index.js +1 -1
  311. package/dist/components/header/index.js +1 -1
  312. package/dist/components/header-settings/index.js +6 -6
  313. package/dist/components/icon-button/index.js +1 -1
  314. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  315. package/dist/components/icon-button-group/index.js +1 -1
  316. package/dist/components/index.d.ts +1 -0
  317. package/dist/components/index.d.ts.map +1 -1
  318. package/dist/components/key-value-pair/index.js +1 -1
  319. package/dist/components/list/index.js +1 -1
  320. package/dist/components/list/list.d.ts.map +1 -1
  321. package/dist/components/locale-picker/index.js +1 -1
  322. package/dist/components/map-view/index.js +1 -1
  323. package/dist/components/map-view/map-view.d.ts +10 -0
  324. package/dist/components/map-view/map-view.d.ts.map +1 -1
  325. package/dist/components/message-card/index.js +1 -1
  326. package/dist/components/message-tray/index.js +1 -1
  327. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  328. package/dist/components/multi-select/index.js +1 -1
  329. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  330. package/dist/components/navigation-menu/index.js +1 -1
  331. package/dist/components/notification-card/index.js +1 -1
  332. package/dist/components/notification-tray/index.js +1 -1
  333. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  334. package/dist/components/number-input/index.js +1 -1
  335. package/dist/components/otp-input/index.js +1 -1
  336. package/dist/components/pagination/index.js +1 -1
  337. package/dist/components/password-input/index.js +1 -1
  338. package/dist/components/patient-search/index.js +1 -1
  339. package/dist/components/payment-form/index.js +1 -1
  340. package/dist/components/pdf-viewer/index.js +1 -1
  341. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  342. package/dist/components/phone-input/index.js +1 -1
  343. package/dist/components/phone-input/phone-input.d.ts.map +1 -1
  344. package/dist/components/popover/index.js +1 -1
  345. package/dist/components/practice-results/index.d.ts +4 -0
  346. package/dist/components/practice-results/index.d.ts.map +1 -0
  347. package/dist/components/practice-results/index.js +6 -0
  348. package/dist/components/practice-results/index.js.map +1 -0
  349. package/dist/components/practice-results/practice-results.agent.d.ts +4 -0
  350. package/dist/components/practice-results/practice-results.agent.d.ts.map +1 -0
  351. package/dist/components/practice-results/practice-results.d.ts +159 -0
  352. package/dist/components/practice-results/practice-results.d.ts.map +1 -0
  353. package/dist/components/privacy-lock/index.js +1 -1
  354. package/dist/components/progress/index.js +1 -1
  355. package/dist/components/progress/progress.d.ts.map +1 -1
  356. package/dist/components/public-footer/index.js +1 -1
  357. package/dist/components/public-footer/public-footer.d.ts.map +1 -1
  358. package/dist/components/public-header/index.js +1 -1
  359. package/dist/components/radio/index.js +1 -1
  360. package/dist/components/radio-group/index.js +2 -2
  361. package/dist/components/recaptcha-widget/index.js +1 -1
  362. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +1 -1
  363. package/dist/components/resizable/index.js +1 -1
  364. package/dist/components/resizable/resizable.d.ts.map +1 -1
  365. package/dist/components/reviews-panel/index.js +1 -1
  366. package/dist/components/rich-text-editor/index.js +1 -1
  367. package/dist/components/scroll-area/index.js +1 -1
  368. package/dist/components/search-bar/index.js +1 -1
  369. package/dist/components/search-input/index.js +1 -1
  370. package/dist/components/select/index.js +1 -1
  371. package/dist/components/sheet/index.js +1 -1
  372. package/dist/components/sidebar/index.js +1 -1
  373. package/dist/components/signature-capture/index.js +1 -1
  374. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  375. package/dist/components/slider/index.js +1 -1
  376. package/dist/components/slot-grid/index.js +1 -1
  377. package/dist/components/sparkline/index.js +1 -1
  378. package/dist/components/stepper-progress/index.js +1 -1
  379. package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -1
  380. package/dist/components/streaming-text/index.js +1 -1
  381. package/dist/components/streaming-text/streaming-text.d.ts.map +1 -1
  382. package/dist/components/switch/index.js +1 -1
  383. package/dist/components/tabs/index.js +1 -1
  384. package/dist/components/tag/index.js +1 -1
  385. package/dist/components/task-tray/index.js +1 -1
  386. package/dist/components/text-area/index.js +1 -1
  387. package/dist/components/text-area/text-area.d.ts.map +1 -1
  388. package/dist/components/text-input/index.js +1 -1
  389. package/dist/components/theme-toggle/index.js +1 -1
  390. package/dist/components/time-picker/index.js +1 -1
  391. package/dist/components/timeline/index.js +1 -1
  392. package/dist/components/toast/index.js +1 -1
  393. package/dist/components/toast/toast.d.ts.map +1 -1
  394. package/dist/components/tooltip/index.js +1 -1
  395. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  396. package/dist/components/tooth-scheme/index.js +1 -1
  397. package/dist/components/transaction-chip/index.js +1 -1
  398. package/dist/components/transcript-panel/index.js +1 -1
  399. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
  400. package/dist/components/workflow/index.js +1 -1
  401. package/dist/hooks/index.js +69 -66
  402. package/dist/hooks/index.js.map +1 -1
  403. package/dist/hooks/use-debounced-value.d.ts.map +1 -1
  404. package/dist/hooks/use-direction.d.ts.map +1 -1
  405. package/dist/hooks/use-focus-trap.d.ts.map +1 -1
  406. package/dist/hooks/use-scroll-to-first-error.d.ts.map +1 -1
  407. package/dist/i18n/locales/ar.d.ts +92 -0
  408. package/dist/i18n/locales/ar.d.ts.map +1 -1
  409. package/dist/i18n/locales/ar.js +82 -0
  410. package/dist/i18n/locales/ar.js.map +1 -1
  411. package/dist/i18n/locales/de.d.ts +92 -0
  412. package/dist/i18n/locales/de.d.ts.map +1 -1
  413. package/dist/i18n/locales/de.js +81 -0
  414. package/dist/i18n/locales/de.js.map +1 -1
  415. package/dist/i18n/locales/el.d.ts +92 -0
  416. package/dist/i18n/locales/el.d.ts.map +1 -1
  417. package/dist/i18n/locales/el.js +82 -0
  418. package/dist/i18n/locales/el.js.map +1 -1
  419. package/dist/i18n/locales/en.d.ts +92 -0
  420. package/dist/i18n/locales/en.d.ts.map +1 -1
  421. package/dist/i18n/locales/en.js +92 -0
  422. package/dist/i18n/locales/en.js.map +1 -1
  423. package/dist/i18n/locales/es.d.ts +92 -0
  424. package/dist/i18n/locales/es.d.ts.map +1 -1
  425. package/dist/i18n/locales/es.js +81 -0
  426. package/dist/i18n/locales/es.js.map +1 -1
  427. package/dist/i18n/locales/fr.d.ts +92 -0
  428. package/dist/i18n/locales/fr.d.ts.map +1 -1
  429. package/dist/i18n/locales/fr.js +81 -0
  430. package/dist/i18n/locales/fr.js.map +1 -1
  431. package/dist/i18n/locales/hi.d.ts +92 -0
  432. package/dist/i18n/locales/hi.d.ts.map +1 -1
  433. package/dist/i18n/locales/hi.js +82 -0
  434. package/dist/i18n/locales/hi.js.map +1 -1
  435. package/dist/i18n/locales/it.d.ts +92 -0
  436. package/dist/i18n/locales/it.d.ts.map +1 -1
  437. package/dist/i18n/locales/it.js +81 -0
  438. package/dist/i18n/locales/it.js.map +1 -1
  439. package/dist/i18n/locales/ja.d.ts +92 -0
  440. package/dist/i18n/locales/ja.d.ts.map +1 -1
  441. package/dist/i18n/locales/ja.js +82 -0
  442. package/dist/i18n/locales/ja.js.map +1 -1
  443. package/dist/i18n/locales/nl.d.ts +92 -0
  444. package/dist/i18n/locales/nl.d.ts.map +1 -1
  445. package/dist/i18n/locales/nl.js +81 -0
  446. package/dist/i18n/locales/nl.js.map +1 -1
  447. package/dist/i18n/locales/pl.d.ts +92 -0
  448. package/dist/i18n/locales/pl.d.ts.map +1 -1
  449. package/dist/i18n/locales/pl.js +82 -0
  450. package/dist/i18n/locales/pl.js.map +1 -1
  451. package/dist/i18n/locales/pt.d.ts +92 -0
  452. package/dist/i18n/locales/pt.d.ts.map +1 -1
  453. package/dist/i18n/locales/pt.js +83 -0
  454. package/dist/i18n/locales/pt.js.map +1 -1
  455. package/dist/i18n/locales/ro.d.ts +92 -0
  456. package/dist/i18n/locales/ro.d.ts.map +1 -1
  457. package/dist/i18n/locales/ro.js +82 -0
  458. package/dist/i18n/locales/ro.js.map +1 -1
  459. package/dist/i18n/locales/ru.d.ts +92 -0
  460. package/dist/i18n/locales/ru.d.ts.map +1 -1
  461. package/dist/i18n/locales/ru.js +82 -0
  462. package/dist/i18n/locales/ru.js.map +1 -1
  463. package/dist/i18n/locales/sq.d.ts +92 -0
  464. package/dist/i18n/locales/sq.d.ts.map +1 -1
  465. package/dist/i18n/locales/sq.js +82 -0
  466. package/dist/i18n/locales/sq.js.map +1 -1
  467. package/dist/i18n/locales/sv.d.ts +92 -0
  468. package/dist/i18n/locales/sv.d.ts.map +1 -1
  469. package/dist/i18n/locales/sv.js +82 -0
  470. package/dist/i18n/locales/sv.js.map +1 -1
  471. package/dist/i18n/locales/tr.d.ts +92 -0
  472. package/dist/i18n/locales/tr.d.ts.map +1 -1
  473. package/dist/i18n/locales/tr.js +82 -0
  474. package/dist/i18n/locales/tr.js.map +1 -1
  475. package/dist/i18n/locales/zh.d.ts +92 -0
  476. package/dist/i18n/locales/zh.d.ts.map +1 -1
  477. package/dist/i18n/locales/zh.js +82 -0
  478. package/dist/i18n/locales/zh.js.map +1 -1
  479. package/dist/index.js +532 -528
  480. package/dist/index.js.map +1 -1
  481. package/dist/locales/ar.json +92 -0
  482. package/dist/locales/de.json +92 -0
  483. package/dist/locales/el.json +92 -0
  484. package/dist/locales/en.json +92 -0
  485. package/dist/locales/es.json +92 -0
  486. package/dist/locales/fr.json +92 -0
  487. package/dist/locales/hi.json +92 -0
  488. package/dist/locales/it.json +92 -0
  489. package/dist/locales/ja.json +92 -0
  490. package/dist/locales/nl.json +92 -0
  491. package/dist/locales/pl.json +92 -0
  492. package/dist/locales/pt.json +92 -0
  493. package/dist/locales/ro.json +92 -0
  494. package/dist/locales/ru.json +92 -0
  495. package/dist/locales/sq.json +92 -0
  496. package/dist/locales/sv.json +92 -0
  497. package/dist/locales/tr.json +92 -0
  498. package/dist/locales/zh.json +92 -0
  499. package/dist/patterns/alia-assistant/index.js +1 -1
  500. package/dist/patterns/patient-shell/index.js +1 -1
  501. package/dist/tokens.css +1 -1
  502. package/package.json +5 -2
  503. package/dist/_chunks/ai-prompt-input-BXlwNnWe.js.map +0 -1
  504. package/dist/_chunks/audio-recorder-DL800PE_.js.map +0 -1
  505. package/dist/_chunks/audio-visualiser-I-T4Z7EU.js +0 -145
  506. package/dist/_chunks/audio-visualiser-I-T4Z7EU.js.map +0 -1
  507. package/dist/_chunks/avatar-D_H4emLo.js.map +0 -1
  508. package/dist/_chunks/booking-Cw92aqo3.js.map +0 -1
  509. package/dist/_chunks/button-group-Bh2g_Ng-.js.map +0 -1
  510. package/dist/_chunks/chat-container-izziXViv.js.map +0 -1
  511. package/dist/_chunks/chat-input-cyl_y9bh.js.map +0 -1
  512. package/dist/_chunks/color-picker-Bm-gzpsh.js.map +0 -1
  513. package/dist/_chunks/combobox-Da9eq00i.js.map +0 -1
  514. package/dist/_chunks/command-palette-11BieSNq.js.map +0 -1
  515. package/dist/_chunks/date-range-picker-DYgHzMOo.js.map +0 -1
  516. package/dist/_chunks/editable-currency-cell-renderer-CztRy_21.js.map +0 -1
  517. package/dist/_chunks/file-upload-DxAQprcU.js.map +0 -1
  518. package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +0 -1
  519. package/dist/_chunks/list-BdvDctBz.js.map +0 -1
  520. package/dist/_chunks/message-tray-Bh-0ra-Y.js.map +0 -1
  521. package/dist/_chunks/multi-select-dSe6Xtc4.js.map +0 -1
  522. package/dist/_chunks/notification-tray-Cnum6LwM.js.map +0 -1
  523. package/dist/_chunks/phone-input-DKSHX7NQ.js.map +0 -1
  524. package/dist/_chunks/progress-B-PSO5OS.js.map +0 -1
  525. package/dist/_chunks/public-footer.agent-Bc99tE5Z.js.map +0 -1
  526. package/dist/_chunks/recaptcha-widget-BtBNb6tB.js +0 -192
  527. package/dist/_chunks/recaptcha-widget-BtBNb6tB.js.map +0 -1
  528. package/dist/_chunks/registry-C9nwlNyL.js +0 -21
  529. package/dist/_chunks/registry-C9nwlNyL.js.map +0 -1
  530. package/dist/_chunks/resizable-COV-cnth.js.map +0 -1
  531. package/dist/_chunks/search-input-CIA6pPfn.js.map +0 -1
  532. package/dist/_chunks/signature-capture-DjMlFOzS.js.map +0 -1
  533. package/dist/_chunks/stepper-progress-jFY8BSf7.js.map +0 -1
  534. package/dist/_chunks/streaming-text-BgjCTVOw.js +0 -105
  535. package/dist/_chunks/streaming-text-BgjCTVOw.js.map +0 -1
  536. package/dist/_chunks/text-area-D5GAe8pV.js.map +0 -1
  537. package/dist/_chunks/tooltip-ClJd0ciy.js.map +0 -1
  538. package/dist/_chunks/transaction-chip-z9ENE50O.js.map +0 -1
  539. package/dist/_chunks/transcript-panel-QUQ9XJmf.js.map +0 -1
  540. package/dist/_chunks/use-direction-D6rvvG9G.js.map +0 -1
  541. package/dist/_chunks/use-scroll-to-first-error-BrK7dKB_.js +0 -55
  542. package/dist/_chunks/use-scroll-to-first-error-BrK7dKB_.js.map +0 -1
@@ -1,18 +1,18 @@
1
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";
2
+ import { forwardRef as Q, useState as I, useRef as U, useCallback as X, useMemo as Z, useImperativeHandle as z } from "react";
3
+ import { useTranslation as ee } from "react-i18next";
4
4
  import * as m from "@radix-ui/react-popover";
5
- import { u as ee } from "./use-controllable-state-BiY4xTzM.js";
6
- import { u as te } from "./form-field-context-B3APVHKx.js";
7
- import { a as ae, b as ne, g as re, c as se, e as N, s as I, d as oe, f as ie, h as b, i as de, C as ce, j as le, t as pe, p as ge, D as ue, k as fe, l as me } from "./react-day-picker-D3yzgvDB.js";
8
- import { u as ye } from "./registry-C9nwlNyL.js";
9
- function v(t, r, o) {
10
- return ae(t, -r, o);
5
+ import { u as te } from "./use-controllable-state-BiY4xTzM.js";
6
+ import { u as ae } from "./form-field-context-B3APVHKx.js";
7
+ import { a as ne, b as re, u as se, g as oe, c as ie, e as T, s as W, d as de, f as ce, h as v, i as le, C as pe, j as ge, t as ue, p as fe, D as me, k as he, l as ke } from "./react-day-picker-DsjfS7uI.js";
8
+ import { u as ye } from "./registry-nPAVE19X.js";
9
+ function R(t, r, o) {
10
+ return ne(t, -r, o);
11
11
  }
12
- function he(t, r, o) {
13
- return ne(t, -1, o);
12
+ function be(t, r, o) {
13
+ return re(t, -1, o);
14
14
  }
15
- const ke = {
15
+ const ve = {
16
16
  id: "date-range-picker",
17
17
  capabilities: ["range_pick", "open", "close"],
18
18
  state: {
@@ -83,31 +83,31 @@ const ke = {
83
83
  description: "Sourced from the id prop."
84
84
  }
85
85
  }
86
- }, be = J(
86
+ }, Re = Q(
87
87
  ({
88
88
  value: t,
89
89
  defaultValue: r,
90
90
  onChange: o,
91
91
  minDate: l,
92
- maxDate: T,
93
- presets: y,
94
- mergePresets: W = !1,
95
- size: R = "md",
96
- disabled: V,
97
- placeholder: K,
98
- className: L,
99
- id: j
100
- }, F) => {
101
- const { t: s, i18n: A } = z(), c = te(), h = j ?? c.id, D = c.disabled || V, B = c.invalid ? "error" : "default", i = re(A.language), H = K ?? s("inputs.dateRangePicker.placeholder", "Select date range"), [_, P] = ee({
92
+ maxDate: V,
93
+ presets: h,
94
+ mergePresets: K = !1,
95
+ size: D = "md",
96
+ disabled: F,
97
+ placeholder: L,
98
+ className: j,
99
+ id: A
100
+ }, B) => {
101
+ const { t: s, i18n: P } = ee(), c = ae(), k = A ?? c.id, w = c.disabled || F, H = c.invalid ? "error" : "default", i = se(P.language), y = oe(P.language), _ = L ?? s("inputs.dateRangePicker.placeholder", "Select date range"), [$, C] = te({
102
102
  value: t,
103
103
  defaultValue: r ?? {},
104
104
  onChange: o
105
- }), a = _ ?? {}, [p, g] = S(!1), [$, w] = S(a.from ?? /* @__PURE__ */ new Date()), Y = Q(null), d = U(
105
+ }), a = $ ?? {}, [p, g] = I(!1), [Y, O] = I(a.from ?? /* @__PURE__ */ new Date()), q = U(null), d = X(
106
106
  (e) => {
107
- P(e);
107
+ C(e);
108
108
  },
109
- [P]
110
- ), q = se(l, T), M = [
109
+ [C]
110
+ ), E = ie(l, V), x = [
111
111
  {
112
112
  label: s("inputs.dateRangePicker.presets.today", "Today"),
113
113
  range: () => {
@@ -118,68 +118,68 @@ const ke = {
118
118
  {
119
119
  label: s("inputs.dateRangePicker.presets.yesterday", "Yesterday"),
120
120
  range: () => {
121
- const e = v(/* @__PURE__ */ new Date(), 1);
121
+ const e = R(/* @__PURE__ */ new Date(), 1);
122
122
  return { from: e, to: e };
123
123
  }
124
124
  },
125
125
  {
126
126
  label: s("inputs.dateRangePicker.presets.last7", "Last 7 days"),
127
127
  range: () => ({
128
- from: v(/* @__PURE__ */ new Date(), 6),
128
+ from: R(/* @__PURE__ */ new Date(), 6),
129
129
  to: /* @__PURE__ */ new Date()
130
130
  })
131
131
  },
132
132
  {
133
133
  label: s("inputs.dateRangePicker.presets.thisWeek", "This week"),
134
134
  range: () => ({
135
- from: I(/* @__PURE__ */ new Date(), { locale: i }),
136
- to: N(/* @__PURE__ */ new Date(), { locale: i })
135
+ from: W(/* @__PURE__ */ new Date(), { locale: i }),
136
+ to: T(/* @__PURE__ */ new Date(), { locale: i })
137
137
  })
138
138
  },
139
139
  {
140
140
  label: s("inputs.dateRangePicker.presets.lastWeek", "Last week"),
141
141
  range: () => {
142
- const e = he(/* @__PURE__ */ new Date());
142
+ const e = be(/* @__PURE__ */ new Date());
143
143
  return {
144
- from: I(e, { locale: i }),
145
- to: N(e, { locale: i })
144
+ from: W(e, { locale: i }),
145
+ to: T(e, { locale: i })
146
146
  };
147
147
  }
148
148
  },
149
149
  {
150
150
  label: s("inputs.dateRangePicker.presets.thisMonth", "This month"),
151
151
  range: () => ({
152
- from: ie(/* @__PURE__ */ new Date()),
153
- to: oe(/* @__PURE__ */ new Date())
152
+ from: ce(/* @__PURE__ */ new Date()),
153
+ to: de(/* @__PURE__ */ new Date())
154
154
  })
155
155
  },
156
156
  {
157
157
  label: s("inputs.dateRangePicker.presets.last30", "Last 30 days"),
158
158
  range: () => ({
159
- from: v(/* @__PURE__ */ new Date(), 29),
159
+ from: R(/* @__PURE__ */ new Date(), 29),
160
160
  to: /* @__PURE__ */ new Date()
161
161
  })
162
162
  }
163
- ], C = y ? W ? [...M, ...y] : y : M, E = (e) => {
163
+ ], S = h ? K ? [...x, ...h] : h : x, G = (e) => {
164
164
  d(e ? { from: e.from, to: e.to } : {});
165
- }, G = (e) => {
165
+ }, J = (e) => {
166
166
  const u = e.range();
167
- d(u), w(u.from), g(!1);
168
- }, O = (() => {
167
+ d(u), O(u.from), g(!1);
168
+ }, M = (() => {
169
169
  if (a.from && a.to) {
170
- const e = b(a.from, "MMM d, yyyy", { locale: i }), u = b(a.to, "MMM d, yyyy", { locale: i });
170
+ const e = v(a.from, y, { locale: i }), u = v(a.to, y, { locale: i });
171
171
  return `${e} – ${u}`;
172
172
  }
173
- return a.from ? b(a.from, "MMM d, yyyy", { locale: i }) : "";
174
- })(), x = (() => {
173
+ return a.from ? v(a.from, y, { locale: i }) : "";
174
+ })(), N = (() => {
175
175
  if (a.from && a.to) {
176
- const e = de(a.to, a.from) + 1;
176
+ const e = le(a.to, a.from) + 1;
177
177
  return s("inputs.dateRangePicker.days", "{{count}} days", {
178
178
  count: e
179
179
  });
180
180
  }
181
181
  return "";
182
- })(), k = X(
182
+ })(), b = Z(
183
183
  () => ({
184
184
  getRange: () => a,
185
185
  setRange: (e) => d(e),
@@ -190,39 +190,39 @@ const ke = {
190
190
  }),
191
191
  [a, d, p]
192
192
  );
193
- return Z(F, () => k, [k]), ye(ke, k, h), /* @__PURE__ */ n(m.Root, { open: p, onOpenChange: g, children: /* @__PURE__ */ f(
193
+ return z(B, () => b, [b]), ye(ve, b, k), /* @__PURE__ */ n(m.Root, { open: p, onOpenChange: g, children: /* @__PURE__ */ f(
194
194
  "div",
195
195
  {
196
- className: L,
196
+ className: j,
197
197
  "data-component": "date-range-picker",
198
- "data-component-id": h,
198
+ "data-component-id": k,
199
199
  children: [
200
- /* @__PURE__ */ n(m.Trigger, { asChild: !0, disabled: D, children: /* @__PURE__ */ f(
200
+ /* @__PURE__ */ n(m.Trigger, { asChild: !0, disabled: w, children: /* @__PURE__ */ f(
201
201
  "button",
202
202
  {
203
- ref: Y,
204
- id: h,
203
+ ref: q,
204
+ id: k,
205
205
  type: "button",
206
- disabled: D,
206
+ disabled: w,
207
207
  "aria-describedby": c.describedBy || void 0,
208
208
  "aria-invalid": c.invalid || void 0,
209
209
  "aria-haspopup": "dialog",
210
210
  "aria-expanded": p,
211
- className: pe({ size: R, tone: B }),
211
+ className: ue({ size: D, tone: H }),
212
212
  children: [
213
213
  /* @__PURE__ */ n(
214
214
  "span",
215
215
  {
216
- className: O ? "ds:text-foreground" : "ds:text-muted-foreground",
217
- children: O || H
216
+ className: M ? "ds:text-foreground" : "ds:text-muted-foreground",
217
+ children: M || _
218
218
  }
219
219
  ),
220
220
  /* @__PURE__ */ n(
221
221
  "span",
222
222
  {
223
223
  "aria-hidden": "true",
224
- className: le({ size: R }),
225
- children: /* @__PURE__ */ n(ce, {})
224
+ className: ge({ size: D }),
225
+ children: /* @__PURE__ */ n(pe, {})
226
226
  }
227
227
  )
228
228
  ]
@@ -233,43 +233,43 @@ const ke = {
233
233
  {
234
234
  sideOffset: 4,
235
235
  align: "start",
236
- className: me(),
236
+ className: ke(),
237
237
  children: /* @__PURE__ */ f("div", { className: "ds:flex ds:gap-[var(--spacing-md)]", children: [
238
- 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(
238
+ S.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: S.map((e) => /* @__PURE__ */ n(
239
239
  "button",
240
240
  {
241
241
  type: "button",
242
- onClick: () => G(e),
243
- className: ge(),
242
+ onClick: () => J(e),
243
+ className: fe(),
244
244
  children: e.label
245
245
  },
246
246
  e.label
247
247
  )) }) : null,
248
248
  /* @__PURE__ */ f("div", { children: [
249
249
  /* @__PURE__ */ n(
250
- ue,
250
+ me,
251
251
  {
252
252
  mode: "range",
253
253
  selected: a.from ? { from: a.from, to: a.to } : void 0,
254
- onSelect: E,
255
- month: $,
256
- onMonthChange: w,
254
+ onSelect: G,
255
+ month: Y,
256
+ onMonthChange: O,
257
257
  numberOfMonths: 2,
258
- disabled: q,
258
+ disabled: E,
259
259
  locale: i,
260
260
  showOutsideDays: !0,
261
261
  fixedWeeks: !0,
262
262
  pagedNavigation: !0,
263
- components: { Chevron: fe }
263
+ components: { Chevron: he }
264
264
  }
265
265
  ),
266
- x ? /* @__PURE__ */ n(
266
+ N ? /* @__PURE__ */ n(
267
267
  "div",
268
268
  {
269
269
  role: "status",
270
270
  "aria-live": "polite",
271
271
  className: "type-body-sm ds:text-muted-foreground ds:mt-[var(--spacing-sm)] ds:text-center",
272
- children: x
272
+ children: N
273
273
  }
274
274
  ) : null
275
275
  ] })
@@ -281,9 +281,9 @@ const ke = {
281
281
  ) });
282
282
  }
283
283
  );
284
- be.displayName = "DateRangePicker";
284
+ Re.displayName = "DateRangePicker";
285
285
  export {
286
- be as D,
287
- ke as d
286
+ Re as D,
287
+ ve as d
288
288
  };
289
- //# sourceMappingURL=date-range-picker-DYgHzMOo.js.map
289
+ //# sourceMappingURL=date-range-picker-D4dgDlLU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-picker-D4dgDlLU.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 useDateFnsLocale,\n getShortDateFormat,\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 = useDateFnsLocale(i18n.language);\n const dateFormat = getShortDateFormat(i18n.language);\n const placeholderText =\n placeholder ??\n t('inputs.dateRangePicker.placeholder', 'Select date range');\n\n const [currentValueRaw, setDateRangeValue] =\n useControllableState<DateRangeValue>({\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 // Use the locale-aware short format helper so Italian/German/Japanese\n // users see DD/MM/YYYY rather than the English-only \"MMM d, yyyy\".\n const displayText = (() => {\n if (currentValue.from && currentValue.to) {\n const fromStr = fnsFormat(currentValue.from, dateFormat, { locale });\n const toStr = fnsFormat(currentValue.to, dateFormat, { locale });\n return `${fromStr} – ${toStr}`;\n }\n if (currentValue.from) {\n return fnsFormat(currentValue.from, dateFormat, { 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","useDateFnsLocale","dateFormat","getShortDateFormat","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]}
@@ -5,10 +5,10 @@ import { useTranslation as ue } from "react-i18next";
5
5
  import * as k from "@radix-ui/react-popover";
6
6
  import { u as me } from "./use-controllable-state-BiY4xTzM.js";
7
7
  import { u as pe } from "./form-field-context-B3APVHKx.js";
8
- import { T as fe } from "./time-picker-DeVZkIY2.js";
9
- import { g as ge, c as he, m as ve, n as be, h as ye, C as Te, j as ke, t as we, D as De, k as Ce, l as Pe } from "./react-day-picker-D3yzgvDB.js";
10
- import { u as xe } from "./registry-C9nwlNyL.js";
11
- import { t as j } from "./isSameDay-DHG8Xade.js";
8
+ import { T as fe } from "./time-picker-B5umYwfv.js";
9
+ import { u as ge, c as he, m as ve, n as be, h as ye, C as Te, j as ke, t as we, D as De, k as Ce, l as Pe } from "./react-day-picker-DsjfS7uI.js";
10
+ import { u as xe } from "./registry-nPAVE19X.js";
11
+ import { t as j } from "./isSameDay-DUEiAT0G.js";
12
12
  function K(e, t, r) {
13
13
  const i = j(e, r == null ? void 0 : r.in);
14
14
  return i.setHours(t), i;
@@ -307,4 +307,4 @@ export {
307
307
  Se as D,
308
308
  Oe as d
309
309
  };
310
- //# sourceMappingURL=date-time-picker-CGmGtcyc.js.map
310
+ //# sourceMappingURL=date-time-picker-D1GEzf8p.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-picker-CGmGtcyc.js","sources":["../../node_modules/date-fns/setHours.js","../../node_modules/date-fns/setMinutes.js","../../src/components/date-time-picker/date-time-picker.agent.ts","../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setHours} function options.\n */\n\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to 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 hours - The hours of the new date\n * @param options - An object with options\n *\n * @returns The new date with the hours set\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport function setHours(date, hours, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(hours);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setHours;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setMinutes} function options.\n */\n\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, returned from the context function, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param minutes - The minutes of the new date\n * @param options - An object with options\n *\n * @returns The new date with the minutes set\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport function setMinutes(date, minutes, options) {\n const date_ = toDate(date, options?.in);\n date_.setMinutes(minutes);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default setMinutes;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DateTimePicker. */\n/* */\n/* DateTimePicker composes a react-day-picker calendar grid with the */\n/* TimePicker segments inside a single Radix Popover. The agent surface */\n/* exposes a combined datetime — set / clear / open / close. The handle */\n/* is the curated surface; consumers don't address the inner sub-widgets.*/\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DateTimePickerHandle } from './date-time-picker';\n\nexport const dateTimePickerAgent: AgentAdapter<DateTimePickerHandle> = {\n id: 'date-time-picker',\n capabilities: ['pick', 'open', 'close'],\n state: {\n value: {\n type: 'iso-datetime',\n descriptionKey: 'ui.agent.dateTimePicker.state.value',\n description: 'Currently-selected ISO datetime, or null.',\n read: (handle) => handle.getValue()?.toISOString() ?? null,\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.dateTimePicker.state.isOpen',\n description: 'Whether the datetime popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_datetime: {\n safety: 'write',\n argsType: '{ datetime: string }',\n descriptionKey: 'ui.agent.dateTimePicker.actions.setDatetime',\n description: 'Select a specific datetime (ISO string).',\n invoke: (handle, args: { datetime: string }) => {\n handle.setValue(new Date(args.datetime));\n },\n },\n clear: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.dateTimePicker.actions.clear',\n description: 'Clear the selected datetime.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n descriptionKey: 'ui.agent.dateTimePicker.actions.open',\n description: 'Open the datetime popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n descriptionKey: 'ui.agent.dateTimePicker.actions.close',\n description: 'Close the datetime popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-time-picker',\n description: 'Marks the DateTimePicker 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 { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker } from 'react-day-picker';\nimport {\n format as fnsFormat,\n isBefore,\n isAfter,\n setHours,\n setMinutes,\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} from '../_shared';\nimport { TimePicker } from '../time-picker/time-picker';\nimport type { TimeValue } from '../_shared/time';\nimport { useAgentRegistration } from '../../agent';\nimport { dateTimePickerAgent } from './date-time-picker.agent';\nimport '../../tokens/themes/bridges/react-day-picker.css';\n\n/* -------------------------------------------------------------------------- */\n/* Imperative handle */\n/* -------------------------------------------------------------------------- */\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DateTimePickerHandle {\n /** Get the current selected datetime, or undefined. */\n getValue: () => Date | undefined;\n /** Set the selected datetime. */\n setValue: (date: Date | undefined) => void;\n /** Clear the selected datetime. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the popover. */\n open: () => void;\n /** Close the popover. */\n close: () => void;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------------- */\n\n/** Get timezone short name. */\nfunction getTimezoneLabel(locale: string, timezone?: string): string {\n try {\n const opts: Intl.DateTimeFormatOptions = { timeZoneName: 'short' };\n if (timezone && timezone !== 'local') {\n opts.timeZone = timezone === 'utc' ? 'UTC' : timezone;\n }\n const parts = new Intl.DateTimeFormat(locale, opts).formatToParts(\n new Date(),\n );\n return parts.find((p) => p.type === 'timeZoneName')?.value ?? '';\n } catch {\n return '';\n }\n}\n\n/** Check if a timezone differs from the browser's. */\nfunction tzDiffersFromBrowser(timezone?: string): boolean {\n if (!timezone || timezone === 'local') return false;\n try {\n const browserTz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n if (timezone === 'utc') return browserTz !== 'UTC';\n return browserTz !== timezone;\n } catch {\n return false;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* CVA variants */\n/* -------------------------------------------------------------------------- */\n\nconst applyButtonVariants = cva(\n [\n 'ds:w-full ds:rounded-[var(--radius-sm)]',\n 'ds:bg-primary ds:text-primary-foreground',\n 'ds:hover:bg-primary-hover ds:cursor-pointer',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-8 ds:text-[length:var(--font-size-sm)]',\n md: 'ds:h-[var(--min-target-size)] ds:text-[length:var(--font-size-base)]',\n lg: 'ds:h-12 ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateTimePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current datetime — controlled. */\n value?: Date;\n /** Default datetime — uncontrolled. */\n defaultValue?: Date;\n /** Called when the datetime changes. */\n onChange?: (date: Date | undefined) => void;\n /** Timezone — IANA string, 'local', or 'utc'. */\n timezone?: string;\n /** Show timezone annotation. Defaults to true when tz differs from browser. */\n showTimezone?: boolean;\n /** Minimum datetime. */\n minDate?: Date;\n /** Maximum datetime. */\n maxDate?: Date;\n /** Force 12h/24h mode. */\n hour12?: boolean;\n /** Minute step for TimePicker. */\n minuteStep?: 1 | 5 | 10 | 15 | 30;\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 DateTimePicker = forwardRef<\n DateTimePickerHandle,\n DateTimePickerProps\n>(\n (\n {\n value,\n defaultValue,\n onChange,\n timezone,\n showTimezone: showTimezoneProp,\n minDate,\n maxDate,\n hour12,\n minuteStep = 1,\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.dateTimePicker.placeholder', 'Select date and time');\n const applyLabel = t('inputs.dateTimePicker.apply', 'Apply');\n const outOfRangeLabel = t(\n 'inputs.dateTimePicker.outOfRange',\n 'Date/time is out of allowed range',\n );\n\n const showTimezone =\n showTimezoneProp !== undefined\n ? showTimezoneProp\n : tzDiffersFromBrowser(timezone);\n const timezoneLabel = showTimezone\n ? getTimezoneLabel(i18n.language, timezone)\n : '';\n\n const [currentValueRaw, setDateTimeValue] = useControllableState<\n Date | undefined\n >({\n value,\n defaultValue,\n onChange,\n });\n const currentValue = currentValueRaw;\n\n // Draft state while popover is open\n const [draftDate, setDraftDate] = useState<Date | undefined>(currentValue);\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue ?? new Date());\n const [rangeError, setRangeError] = useState(false);\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (date: Date | undefined) => {\n setDateTimeValue(date);\n },\n [setDateTimeValue],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n /** Check if a full datetime is within range. */\n const isInRange = useCallback(\n (date: Date): boolean => {\n if (minDate && isBefore(date, minDate)) return false;\n if (maxDate && isAfter(date, maxDate)) return false;\n return true;\n },\n [minDate, maxDate],\n );\n\n // Sync draft when popover opens\n const handleOpenChange = (nextOpen: boolean) => {\n if (nextOpen) {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n }\n setOpen(nextOpen);\n };\n\n const handleDaySelect = (date: Date | undefined) => {\n if (!date) return;\n const prev = draftDate ?? new Date();\n const merged = setMinutes(\n setHours(date, prev.getHours()),\n prev.getMinutes(),\n );\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleTimeChange = (time: TimeValue) => {\n const prev = draftDate ?? new Date();\n const merged = setMinutes(setHours(prev, time.hours), time.minutes);\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleApply = () => {\n if (!draftDate) return;\n if (!isInRange(draftDate)) {\n setRangeError(true);\n return;\n }\n emit(draftDate);\n setOpen(false);\n triggerRef.current?.focus();\n };\n\n // Format display text\n const displayText = currentValue\n ? fnsFormat(currentValue, 'MMM d, yyyy HH:mm', { locale })\n : '';\n\n const calendarLabel = t('inputs.datePicker.gridLabel', 'Calendar');\n const timeLabel = t('inputs.timePicker.groupLabel', 'Time');\n\n const handle = useMemo<DateTimePickerHandle>(\n () => ({\n getValue: () => currentValue,\n setValue: (date) => emit(date),\n clear: () => emit(undefined),\n isOpen: () => open,\n // Mirror the trigger's open behaviour so draft state seeds correctly.\n open: () => {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n setOpen(true);\n },\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(dateTimePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={handleOpenChange}>\n <div\n className={className}\n data-component=\"date-time-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:flex-col ds:sm:flex-row ds:gap-[var(--spacing-md)]\">\n {/* Calendar region */}\n <div role=\"region\" aria-label={calendarLabel}>\n <DayPicker\n mode=\"single\"\n selected={draftDate}\n onSelect={handleDaySelect}\n month={month}\n onMonthChange={setMonth}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n components={{ Chevron: CalendarChevron }}\n />\n </div>\n\n {/* Time + Apply region */}\n <div\n role=\"region\"\n aria-label={timeLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:sm:border-s ds:sm:border-border ds:sm:ps-[var(--spacing-md)] ds:min-w-[10rem]\"\n >\n <TimePicker\n value={\n draftDate\n ? {\n hours: draftDate.getHours(),\n minutes: draftDate.getMinutes(),\n }\n : { hours: 0, minutes: 0 }\n }\n onChange={handleTimeChange}\n hour12={hour12}\n minuteStep={minuteStep}\n size={size}\n />\n\n {/* Timezone annotation */}\n {timezoneLabel ? (\n <span className=\"type-meta ds:text-muted-foreground\">\n {timezoneLabel}\n </span>\n ) : null}\n\n {/* Range error */}\n {rangeError ? (\n <span\n role=\"alert\"\n className=\"type-meta ds:text-destructive\"\n >\n {outOfRangeLabel}\n </span>\n ) : null}\n\n {/* Apply button */}\n <button\n type=\"button\"\n onClick={handleApply}\n disabled={!draftDate || rangeError}\n className={applyButtonVariants({ size })}\n >\n {applyLabel}\n </button>\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateTimePicker.displayName = 'DateTimePicker';\n"],"names":["setHours","date","hours","options","_date","toDate","setMinutes","minutes","date_","dateTimePickerAgent","handle","_a","args","getTimezoneLabel","locale","timezone","opts","p","tzDiffersFromBrowser","browserTz","applyButtonVariants","cva","DateTimePicker","forwardRef","value","defaultValue","onChange","showTimezoneProp","minDate","maxDate","hour12","minuteStep","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","getDateFnsLocale","placeholderText","applyLabel","outOfRangeLabel","timezoneLabel","currentValueRaw","setDateTimeValue","useControllableState","currentValue","draftDate","setDraftDate","useState","open","setOpen","month","setMonth","rangeError","setRangeError","triggerRef","useRef","emit","useCallback","disabledMatcher","buildDisabledMatcher","isInRange","isBefore","isAfter","handleOpenChange","nextOpen","handleDaySelect","prev","merged","handleTimeChange","time","handleApply","displayText","fnsFormat","calendarLabel","timeLabel","useMemo","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","Calendar","popoverContentVariants","DayPicker","CalendarChevron","TimePicker"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"date-time-picker-D1GEzf8p.js","sources":["../../node_modules/date-fns/setHours.js","../../node_modules/date-fns/setMinutes.js","../../src/components/date-time-picker/date-time-picker.agent.ts","../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setHours} function options.\n */\n\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to 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 hours - The hours of the new date\n * @param options - An object with options\n *\n * @returns The new date with the hours set\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport function setHours(date, hours, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(hours);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setHours;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setMinutes} function options.\n */\n\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, returned from the context function, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param minutes - The minutes of the new date\n * @param options - An object with options\n *\n * @returns The new date with the minutes set\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport function setMinutes(date, minutes, options) {\n const date_ = toDate(date, options?.in);\n date_.setMinutes(minutes);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default setMinutes;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DateTimePicker. */\n/* */\n/* DateTimePicker composes a react-day-picker calendar grid with the */\n/* TimePicker segments inside a single Radix Popover. The agent surface */\n/* exposes a combined datetime — set / clear / open / close. The handle */\n/* is the curated surface; consumers don't address the inner sub-widgets.*/\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DateTimePickerHandle } from './date-time-picker';\n\nexport const dateTimePickerAgent: AgentAdapter<DateTimePickerHandle> = {\n id: 'date-time-picker',\n capabilities: ['pick', 'open', 'close'],\n state: {\n value: {\n type: 'iso-datetime',\n descriptionKey: 'ui.agent.dateTimePicker.state.value',\n description: 'Currently-selected ISO datetime, or null.',\n read: (handle) => handle.getValue()?.toISOString() ?? null,\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.dateTimePicker.state.isOpen',\n description: 'Whether the datetime popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_datetime: {\n safety: 'write',\n argsType: '{ datetime: string }',\n descriptionKey: 'ui.agent.dateTimePicker.actions.setDatetime',\n description: 'Select a specific datetime (ISO string).',\n invoke: (handle, args: { datetime: string }) => {\n handle.setValue(new Date(args.datetime));\n },\n },\n clear: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.dateTimePicker.actions.clear',\n description: 'Clear the selected datetime.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n descriptionKey: 'ui.agent.dateTimePicker.actions.open',\n description: 'Open the datetime popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n descriptionKey: 'ui.agent.dateTimePicker.actions.close',\n description: 'Close the datetime popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-time-picker',\n description: 'Marks the DateTimePicker 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 { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker } from 'react-day-picker';\nimport {\n format as fnsFormat,\n isBefore,\n isAfter,\n setHours,\n setMinutes,\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 useDateFnsLocale,\n buildDisabledMatcher,\n CalendarChevron,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n} from '../_shared';\nimport { TimePicker } from '../time-picker/time-picker';\nimport type { TimeValue } from '../_shared/time';\nimport { useAgentRegistration } from '../../agent';\nimport { dateTimePickerAgent } from './date-time-picker.agent';\nimport '../../tokens/themes/bridges/react-day-picker.css';\n\n/* -------------------------------------------------------------------------- */\n/* Imperative handle */\n/* -------------------------------------------------------------------------- */\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DateTimePickerHandle {\n /** Get the current selected datetime, or undefined. */\n getValue: () => Date | undefined;\n /** Set the selected datetime. */\n setValue: (date: Date | undefined) => void;\n /** Clear the selected datetime. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the popover. */\n open: () => void;\n /** Close the popover. */\n close: () => void;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------------- */\n\n/** Get timezone short name. */\nfunction getTimezoneLabel(locale: string, timezone?: string): string {\n try {\n const opts: Intl.DateTimeFormatOptions = { timeZoneName: 'short' };\n if (timezone && timezone !== 'local') {\n opts.timeZone = timezone === 'utc' ? 'UTC' : timezone;\n }\n const parts = new Intl.DateTimeFormat(locale, opts).formatToParts(\n new Date(),\n );\n return parts.find((p) => p.type === 'timeZoneName')?.value ?? '';\n } catch {\n return '';\n }\n}\n\n/** Check if a timezone differs from the browser's. */\nfunction tzDiffersFromBrowser(timezone?: string): boolean {\n if (!timezone || timezone === 'local') return false;\n try {\n const browserTz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n if (timezone === 'utc') return browserTz !== 'UTC';\n return browserTz !== timezone;\n } catch {\n return false;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* CVA variants */\n/* -------------------------------------------------------------------------- */\n\nconst applyButtonVariants = cva(\n [\n 'ds:w-full ds:rounded-[var(--radius-sm)]',\n 'ds:bg-primary ds:text-primary-foreground',\n 'ds:hover:bg-primary-hover ds:cursor-pointer',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-8 ds:text-[length:var(--font-size-sm)]',\n md: 'ds:h-[var(--min-target-size)] ds:text-[length:var(--font-size-base)]',\n lg: 'ds:h-12 ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateTimePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current datetime — controlled. */\n value?: Date;\n /** Default datetime — uncontrolled. */\n defaultValue?: Date;\n /** Called when the datetime changes. */\n onChange?: (date: Date | undefined) => void;\n /** Timezone — IANA string, 'local', or 'utc'. */\n timezone?: string;\n /** Show timezone annotation. Defaults to true when tz differs from browser. */\n showTimezone?: boolean;\n /** Minimum datetime. */\n minDate?: Date;\n /** Maximum datetime. */\n maxDate?: Date;\n /** Force 12h/24h mode. */\n hour12?: boolean;\n /** Minute step for TimePicker. */\n minuteStep?: 1 | 5 | 10 | 15 | 30;\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 DateTimePicker = forwardRef<\n DateTimePickerHandle,\n DateTimePickerProps\n>(\n (\n {\n value,\n defaultValue,\n onChange,\n timezone,\n showTimezone: showTimezoneProp,\n minDate,\n maxDate,\n hour12,\n minuteStep = 1,\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 = useDateFnsLocale(i18n.language);\n const placeholderText =\n placeholder ??\n t('inputs.dateTimePicker.placeholder', 'Select date and time');\n const applyLabel = t('inputs.dateTimePicker.apply', 'Apply');\n const outOfRangeLabel = t(\n 'inputs.dateTimePicker.outOfRange',\n 'Date/time is out of allowed range',\n );\n\n const showTimezone =\n showTimezoneProp !== undefined\n ? showTimezoneProp\n : tzDiffersFromBrowser(timezone);\n const timezoneLabel = showTimezone\n ? getTimezoneLabel(i18n.language, timezone)\n : '';\n\n const [currentValueRaw, setDateTimeValue] = useControllableState<\n Date | undefined\n >({\n value,\n defaultValue,\n onChange,\n });\n const currentValue = currentValueRaw;\n\n // Draft state while popover is open\n const [draftDate, setDraftDate] = useState<Date | undefined>(currentValue);\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue ?? new Date());\n const [rangeError, setRangeError] = useState(false);\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (date: Date | undefined) => {\n setDateTimeValue(date);\n },\n [setDateTimeValue],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n /** Check if a full datetime is within range. */\n const isInRange = useCallback(\n (date: Date): boolean => {\n if (minDate && isBefore(date, minDate)) return false;\n if (maxDate && isAfter(date, maxDate)) return false;\n return true;\n },\n [minDate, maxDate],\n );\n\n // Sync draft when popover opens\n const handleOpenChange = (nextOpen: boolean) => {\n if (nextOpen) {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n }\n setOpen(nextOpen);\n };\n\n const handleDaySelect = (date: Date | undefined) => {\n if (!date) return;\n const prev = draftDate ?? new Date();\n const merged = setMinutes(\n setHours(date, prev.getHours()),\n prev.getMinutes(),\n );\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleTimeChange = (time: TimeValue) => {\n const prev = draftDate ?? new Date();\n const merged = setMinutes(setHours(prev, time.hours), time.minutes);\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleApply = () => {\n if (!draftDate) return;\n if (!isInRange(draftDate)) {\n setRangeError(true);\n return;\n }\n emit(draftDate);\n setOpen(false);\n triggerRef.current?.focus();\n };\n\n // Format display text\n const displayText = currentValue\n ? fnsFormat(currentValue, 'MMM d, yyyy HH:mm', { locale })\n : '';\n\n const calendarLabel = t('inputs.datePicker.gridLabel', 'Calendar');\n const timeLabel = t('inputs.timePicker.groupLabel', 'Time');\n\n const handle = useMemo<DateTimePickerHandle>(\n () => ({\n getValue: () => currentValue,\n setValue: (date) => emit(date),\n clear: () => emit(undefined),\n isOpen: () => open,\n // Mirror the trigger's open behaviour so draft state seeds correctly.\n open: () => {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n setOpen(true);\n },\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(dateTimePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={handleOpenChange}>\n <div\n className={className}\n data-component=\"date-time-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:flex-col ds:sm:flex-row ds:gap-[var(--spacing-md)]\">\n {/* Calendar region */}\n <div role=\"region\" aria-label={calendarLabel}>\n <DayPicker\n mode=\"single\"\n selected={draftDate}\n onSelect={handleDaySelect}\n month={month}\n onMonthChange={setMonth}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n components={{ Chevron: CalendarChevron }}\n />\n </div>\n\n {/* Time + Apply region */}\n <div\n role=\"region\"\n aria-label={timeLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:sm:border-s ds:sm:border-border ds:sm:ps-[var(--spacing-md)] ds:min-w-[10rem]\"\n >\n <TimePicker\n value={\n draftDate\n ? {\n hours: draftDate.getHours(),\n minutes: draftDate.getMinutes(),\n }\n : { hours: 0, minutes: 0 }\n }\n onChange={handleTimeChange}\n hour12={hour12}\n minuteStep={minuteStep}\n size={size}\n />\n\n {/* Timezone annotation */}\n {timezoneLabel ? (\n <span className=\"type-meta ds:text-muted-foreground\">\n {timezoneLabel}\n </span>\n ) : null}\n\n {/* Range error */}\n {rangeError ? (\n <span\n role=\"alert\"\n className=\"type-meta ds:text-destructive\"\n >\n {outOfRangeLabel}\n </span>\n ) : null}\n\n {/* Apply button */}\n <button\n type=\"button\"\n onClick={handleApply}\n disabled={!draftDate || rangeError}\n className={applyButtonVariants({ size })}\n >\n {applyLabel}\n </button>\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateTimePicker.displayName = 'DateTimePicker';\n"],"names":["setHours","date","hours","options","_date","toDate","setMinutes","minutes","date_","dateTimePickerAgent","handle","_a","args","getTimezoneLabel","locale","timezone","opts","p","tzDiffersFromBrowser","browserTz","applyButtonVariants","cva","DateTimePicker","forwardRef","value","defaultValue","onChange","showTimezoneProp","minDate","maxDate","hour12","minuteStep","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","useDateFnsLocale","placeholderText","applyLabel","outOfRangeLabel","timezoneLabel","currentValueRaw","setDateTimeValue","useControllableState","currentValue","draftDate","setDraftDate","useState","open","setOpen","month","setMonth","rangeError","setRangeError","triggerRef","useRef","emit","useCallback","disabledMatcher","buildDisabledMatcher","isInRange","isBefore","isAfter","handleOpenChange","nextOpen","handleDaySelect","prev","merged","handleTimeChange","time","handleApply","displayText","fnsFormat","calendarLabel","timeLabel","useMemo","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","Calendar","popoverContentVariants","DayPicker","CalendarChevron","TimePicker"],"mappings":"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","x_google_ignoreList":[0,1]}