@alfadocs/ui-kit-debug 0.72.2 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/dist/_chunks/{agenda-tray-loL2A3Cx.js → agenda-tray-CVf-jfWU.js} +3 -3
  2. package/dist/_chunks/{agenda-tray-loL2A3Cx.js.map → agenda-tray-CVf-jfWU.js.map} +1 -1
  3. package/dist/_chunks/{ai-consent-banner-Bke9m8VS.js → ai-consent-banner-DUhr1yNj.js} +2 -2
  4. package/dist/_chunks/{ai-consent-banner-Bke9m8VS.js.map → ai-consent-banner-DUhr1yNj.js.map} +1 -1
  5. package/dist/_chunks/{ai-prompt-input-TVI95hJD.js → ai-prompt-input-DFm58UjY.js} +2 -2
  6. package/dist/_chunks/{ai-prompt-input-TVI95hJD.js.map → ai-prompt-input-DFm58UjY.js.map} +1 -1
  7. package/dist/_chunks/{alia-sidebar-BV5lBSFR.js → alia-sidebar-w6B0TEx7.js} +8 -8
  8. package/dist/_chunks/{alia-sidebar-BV5lBSFR.js.map → alia-sidebar-w6B0TEx7.js.map} +1 -1
  9. package/dist/_chunks/{anamnesis-card-CWO4Ui9c.js → anamnesis-card-CJ5MNbkc.js} +2 -2
  10. package/dist/_chunks/{anamnesis-card-CWO4Ui9c.js.map → anamnesis-card-CJ5MNbkc.js.map} +1 -1
  11. package/dist/_chunks/{antenatal-schedule-timeline-CY-VsLok.js → antenatal-schedule-timeline-BzJZqS-8.js} +3 -3
  12. package/dist/_chunks/{antenatal-schedule-timeline-CY-VsLok.js.map → antenatal-schedule-timeline-BzJZqS-8.js.map} +1 -1
  13. package/dist/_chunks/{appointment-card-Cy4FOkGP.js → appointment-card-DgKI5QKD.js} +2 -2
  14. package/dist/_chunks/{appointment-card-Cy4FOkGP.js.map → appointment-card-DgKI5QKD.js.map} +1 -1
  15. package/dist/_chunks/{appointment-timeline-BWAPPk8F.js → appointment-timeline-DQTG0btW.js} +6 -6
  16. package/dist/_chunks/{appointment-timeline-BWAPPk8F.js.map → appointment-timeline-DQTG0btW.js.map} +1 -1
  17. package/dist/_chunks/{appointment-tray-D3mk04TT.js → appointment-tray-ezyCZN8v.js} +4 -4
  18. package/dist/_chunks/{appointment-tray-D3mk04TT.js.map → appointment-tray-ezyCZN8v.js.map} +1 -1
  19. package/dist/_chunks/{ar-BOqyIfoY.js → ar-B1GhtlBP.js} +2 -2
  20. package/dist/_chunks/{ar-BOqyIfoY.js.map → ar-B1GhtlBP.js.map} +1 -1
  21. package/dist/_chunks/arrow-up-right-C2v_MKsK.js +15 -0
  22. package/dist/_chunks/arrow-up-right-C2v_MKsK.js.map +1 -0
  23. package/dist/_chunks/{audio-recorder-BbjG55dP.js → audio-recorder-CjAY0GAc.js} +3 -3
  24. package/dist/_chunks/{audio-recorder-BbjG55dP.js.map → audio-recorder-CjAY0GAc.js.map} +1 -1
  25. package/dist/_chunks/{benefit-card-Xnxj4Gmo.js → benefit-card-DB1Kdrmc.js} +4 -2
  26. package/dist/_chunks/benefit-card-DB1Kdrmc.js.map +1 -0
  27. package/dist/_chunks/{bishop-score-C6eoak_j.js → bishop-score-Bs6t6Zv1.js} +2 -2
  28. package/dist/_chunks/{bishop-score-C6eoak_j.js.map → bishop-score-Bs6t6Zv1.js.map} +1 -1
  29. package/dist/_chunks/{bmi-calculator-BmQfoEGP.js → bmi-calculator-Bk2GAju7.js} +2 -2
  30. package/dist/_chunks/{bmi-calculator-BmQfoEGP.js.map → bmi-calculator-Bk2GAju7.js.map} +1 -1
  31. package/dist/_chunks/{booking-B62CMY5k.js → booking-CWnZhZ5g.js} +8 -8
  32. package/dist/_chunks/{booking-B62CMY5k.js.map → booking-CWnZhZ5g.js.map} +1 -1
  33. package/dist/_chunks/{button-DD_0Xdmr.js → button-CPGiR_bH.js} +56 -35
  34. package/dist/_chunks/button-CPGiR_bH.js.map +1 -0
  35. package/dist/_chunks/button-group-DzV5wgnx.js +289 -0
  36. package/dist/_chunks/button-group-DzV5wgnx.js.map +1 -0
  37. package/dist/_chunks/camera-VSklPDCv.js +21 -0
  38. package/dist/_chunks/camera-VSklPDCv.js.map +1 -0
  39. package/dist/_chunks/{care-plan-card-DhXbfGzE.js → care-plan-card-CfIP3Vc1.js} +3 -3
  40. package/dist/_chunks/{care-plan-card-DhXbfGzE.js.map → care-plan-card-CfIP3Vc1.js.map} +1 -1
  41. package/dist/_chunks/{care-plan-entry-card-D3YGD6rj.js → care-plan-entry-card-CRbS-G00.js} +3 -3
  42. package/dist/_chunks/{care-plan-entry-card-D3YGD6rj.js.map → care-plan-entry-card-CRbS-G00.js.map} +1 -1
  43. package/dist/_chunks/{care-plan-header-DtQxyfOb.js → care-plan-header-BXvRpGG8.js} +2 -2
  44. package/dist/_chunks/{care-plan-header-DtQxyfOb.js.map → care-plan-header-BXvRpGG8.js.map} +1 -1
  45. package/dist/_chunks/{carousel.agent-j7hWxJWr.js → carousel.agent-CtAAdsAd.js} +2 -2
  46. package/dist/_chunks/{carousel.agent-j7hWxJWr.js.map → carousel.agent-CtAAdsAd.js.map} +1 -1
  47. package/dist/_chunks/{chat-container-BVCoN06N.js → chat-container-HlFnoEIl.js} +4 -2
  48. package/dist/_chunks/{chat-container-BVCoN06N.js.map → chat-container-HlFnoEIl.js.map} +1 -1
  49. package/dist/_chunks/{chat-input-Btq_uuMZ.js → chat-input-BTCDqUDX.js} +2 -2
  50. package/dist/_chunks/{chat-input-Btq_uuMZ.js.map → chat-input-BTCDqUDX.js.map} +1 -1
  51. package/dist/_chunks/{chat-message-DXjjM8z9.js → chat-message-CdjWqZjo.js} +3 -3
  52. package/dist/_chunks/{chat-message-DXjjM8z9.js.map → chat-message-CdjWqZjo.js.map} +1 -1
  53. package/dist/_chunks/{code-block-Cwi7e3HM.js → code-block-BwanBjRh.js} +2 -2
  54. package/dist/_chunks/{code-block-Cwi7e3HM.js.map → code-block-BwanBjRh.js.map} +1 -1
  55. package/dist/_chunks/{connection-status-0HajXMXM.js → connection-status-oEUyrvev.js} +3 -3
  56. package/dist/_chunks/{connection-status-0HajXMXM.js.map → connection-status-oEUyrvev.js.map} +1 -1
  57. package/dist/_chunks/{contact-profile-card-IggiUVpN.js → contact-profile-card-veMV3W4J.js} +2 -2
  58. package/dist/_chunks/{contact-profile-card-IggiUVpN.js.map → contact-profile-card-veMV3W4J.js.map} +1 -1
  59. package/dist/_chunks/{control-room-rail-DaGcsdZ6.js → control-room-rail-CdfrZ6Vr.js} +3 -3
  60. package/dist/_chunks/{control-room-rail-DaGcsdZ6.js.map → control-room-rail-CdfrZ6Vr.js.map} +1 -1
  61. package/dist/_chunks/{copy-field-PAp0-Wr5.js → copy-field-DBc9QquW.js} +2 -2
  62. package/dist/_chunks/{copy-field-PAp0-Wr5.js.map → copy-field-DBc9QquW.js.map} +1 -1
  63. package/dist/_chunks/{cycle-calculator-BNILyVas.js → cycle-calculator-OQp8Ik5U.js} +4 -4
  64. package/dist/_chunks/{cycle-calculator-BNILyVas.js.map → cycle-calculator-OQp8Ik5U.js.map} +1 -1
  65. package/dist/_chunks/{date-picker-CVkD_lOi.js → date-picker-DzQS8mvt.js} +2 -2
  66. package/dist/_chunks/{date-picker-CVkD_lOi.js.map → date-picker-DzQS8mvt.js.map} +1 -1
  67. package/dist/_chunks/{date-picker-variants-DLg-ZrIo.js → date-picker-variants-CYQAm1Gk.js} +116 -115
  68. package/dist/_chunks/{date-picker-variants-DLg-ZrIo.js.map → date-picker-variants-CYQAm1Gk.js.map} +1 -1
  69. package/dist/_chunks/{date-range-picker-Dw12DgV8.js → date-range-picker-Cbz1SKhm.js} +3 -3
  70. package/dist/_chunks/{date-range-picker-Dw12DgV8.js.map → date-range-picker-Cbz1SKhm.js.map} +1 -1
  71. package/dist/_chunks/{date-time-picker-Cd_OJtOy.js → date-time-picker-B5IpU-nd.js} +2 -2
  72. package/dist/_chunks/{date-time-picker-Cd_OJtOy.js.map → date-time-picker-B5IpU-nd.js.map} +1 -1
  73. package/dist/_chunks/{de-DFLsUxeV.js → de-DETDHQ0o.js} +2 -2
  74. package/dist/_chunks/{de-DFLsUxeV.js.map → de-DETDHQ0o.js.map} +1 -1
  75. package/dist/_chunks/{description-list-CmBVxIF5.js → description-list-ClNLdRMy.js} +2 -2
  76. package/dist/_chunks/{description-list-CmBVxIF5.js.map → description-list-ClNLdRMy.js.map} +1 -1
  77. package/dist/_chunks/{document-scanner-B23j4w7X.js → document-scanner-BE6Jz4Ob.js} +198 -230
  78. package/dist/_chunks/document-scanner-BE6Jz4Ob.js.map +1 -0
  79. package/dist/_chunks/{due-date-calculator-CmdAl_JO.js → due-date-calculator-DASNRgnH.js} +4 -4
  80. package/dist/_chunks/{due-date-calculator-CmdAl_JO.js.map → due-date-calculator-DASNRgnH.js.map} +1 -1
  81. package/dist/_chunks/{editable-currency-cell-renderer-z9fJFw6Z.js → editable-currency-cell-renderer-GwfA9tTR.js} +3 -3
  82. package/dist/_chunks/{editable-currency-cell-renderer-z9fJFw6Z.js.map → editable-currency-cell-renderer-GwfA9tTR.js.map} +1 -1
  83. package/dist/_chunks/{editor-overlay-BIOzr8v7.js → editor-overlay-DE3esyio.js} +2 -2
  84. package/dist/_chunks/{editor-overlay-BIOzr8v7.js.map → editor-overlay-DE3esyio.js.map} +1 -1
  85. package/dist/_chunks/{el-OVjBKytp.js → el-HV3jOI0z.js} +2 -2
  86. package/dist/_chunks/{el-OVjBKytp.js.map → el-HV3jOI0z.js.map} +1 -1
  87. package/dist/_chunks/{empty-state-BLy7tigq.js → empty-state-CrLsi0XI.js} +2 -2
  88. package/dist/_chunks/{empty-state-BLy7tigq.js.map → empty-state-CrLsi0XI.js.map} +1 -1
  89. package/dist/_chunks/{entity-summary-DpGziDv5.js → entity-summary--vP698Jn.js} +3 -3
  90. package/dist/_chunks/{entity-summary-DpGziDv5.js.map → entity-summary--vP698Jn.js.map} +1 -1
  91. package/dist/_chunks/eraser-CHOGQfVv.js +21 -0
  92. package/dist/_chunks/eraser-CHOGQfVv.js.map +1 -0
  93. package/dist/_chunks/{es-DKDNrHXG.js → es-Dpo7Olwo.js} +2 -2
  94. package/dist/_chunks/{es-DKDNrHXG.js.map → es-Dpo7Olwo.js.map} +1 -1
  95. package/dist/_chunks/face-scheme-C0rk21gg.js +3146 -0
  96. package/dist/_chunks/face-scheme-C0rk21gg.js.map +1 -0
  97. package/dist/_chunks/{fetal-weight-CVAH8sJ3.js → fetal-weight-1F9N4IMx.js} +2 -2
  98. package/dist/_chunks/{fetal-weight-CVAH8sJ3.js.map → fetal-weight-1F9N4IMx.js.map} +1 -1
  99. package/dist/_chunks/{field-array-CDzc3hTM.js → field-array-DH3Mb1i8.js} +3 -3
  100. package/dist/_chunks/{field-array-CDzc3hTM.js.map → field-array-DH3Mb1i8.js.map} +1 -1
  101. package/dist/_chunks/{field-value-Dj3i52H2.js → field-value-DCXJXKab.js} +5 -5
  102. package/dist/_chunks/{field-value-Dj3i52H2.js.map → field-value-DCXJXKab.js.map} +1 -1
  103. package/dist/_chunks/{file-upload-Kw1rdvFw.js → file-upload-B2SXhRiN.js} +104 -111
  104. package/dist/_chunks/file-upload-B2SXhRiN.js.map +1 -0
  105. package/dist/_chunks/{finished-terminal-Di4gtZ50.js → finished-terminal-C0_mefrf.js} +11 -11
  106. package/dist/_chunks/finished-terminal-C0_mefrf.js.map +1 -0
  107. package/dist/_chunks/{fiscal-code-input-DKNXFXs3.js → fiscal-code-input-DWA6C8x8.js} +2 -2
  108. package/dist/_chunks/{fiscal-code-input-DKNXFXs3.js.map → fiscal-code-input-DWA6C8x8.js.map} +1 -1
  109. package/dist/_chunks/{fr-BfMvQh-v.js → fr-CgD4Jvtq.js} +2 -2
  110. package/dist/_chunks/{fr-BfMvQh-v.js.map → fr-CgD4Jvtq.js.map} +1 -1
  111. package/dist/_chunks/{freemium-paywall-DFoeedwh.js → freemium-paywall-CmV642PA.js} +7 -3
  112. package/dist/_chunks/freemium-paywall-CmV642PA.js.map +1 -0
  113. package/dist/_chunks/{gestational-age-calculator-BwCBPAGX.js → gestational-age-calculator-C9Dfis4I.js} +6 -6
  114. package/dist/_chunks/{gestational-age-calculator-BwCBPAGX.js.map → gestational-age-calculator-C9Dfis4I.js.map} +1 -1
  115. package/dist/_chunks/{hcg-doubling-CSsWxEJc.js → hcg-doubling-Dqj-EqMT.js} +3 -3
  116. package/dist/_chunks/{hcg-doubling-CSsWxEJc.js.map → hcg-doubling-Dqj-EqMT.js.map} +1 -1
  117. package/dist/_chunks/{header-DaXWDw0M.js → header-CjwasYnn.js} +88 -79
  118. package/dist/_chunks/header-CjwasYnn.js.map +1 -0
  119. package/dist/_chunks/{header-settings-B0G_u-wV.js → header-settings-CRQDCYgr.js} +4 -4
  120. package/dist/_chunks/{header-settings-B0G_u-wV.js.map → header-settings-CRQDCYgr.js.map} +1 -1
  121. package/dist/_chunks/{hi-C0GEMwlD.js → hi-Bf8CAP6b.js} +2 -2
  122. package/dist/_chunks/{hi-C0GEMwlD.js.map → hi-Bf8CAP6b.js.map} +1 -1
  123. package/dist/_chunks/highlighter-DSkckT2Q.js +15 -0
  124. package/dist/_chunks/highlighter-DSkckT2Q.js.map +1 -0
  125. package/dist/_chunks/{icon-button-LqoiKcUN.js → icon-button-C_kbcd7I.js} +2 -2
  126. package/dist/_chunks/{icon-button-LqoiKcUN.js.map → icon-button-C_kbcd7I.js.map} +1 -1
  127. package/dist/_chunks/icon-button-group-C_lqXTAj.js +391 -0
  128. package/dist/_chunks/icon-button-group-C_lqXTAj.js.map +1 -0
  129. package/dist/_chunks/{icon-picker-Di6uYDG-.js → icon-picker-BePK27S-.js} +3 -3
  130. package/dist/_chunks/{icon-picker-Di6uYDG-.js.map → icon-picker-BePK27S-.js.map} +1 -1
  131. package/dist/_chunks/{image-cropper-CdmWFrMC.js → image-cropper-DKe4AORY.js} +2 -2
  132. package/dist/_chunks/{image-cropper-CdmWFrMC.js.map → image-cropper-DKe4AORY.js.map} +1 -1
  133. package/dist/_chunks/{insert-result-C7xSDb8q.js → insert-result-D074GtHX.js} +58 -68
  134. package/dist/_chunks/insert-result-D074GtHX.js.map +1 -0
  135. package/dist/_chunks/{isSameWeek-HddDAyJG.js → isSameWeek-BYl5poz_.js} +2 -2
  136. package/dist/_chunks/{isSameWeek-HddDAyJG.js.map → isSameWeek-BYl5poz_.js.map} +1 -1
  137. package/dist/_chunks/{it-5f4hiT2e.js → it-mt1V2DFS.js} +3 -3
  138. package/dist/_chunks/{it-5f4hiT2e.js.map → it-mt1V2DFS.js.map} +1 -1
  139. package/dist/_chunks/{ja-U0_2inl_.js → ja-CbOHn2TO.js} +2 -2
  140. package/dist/_chunks/{ja-U0_2inl_.js.map → ja-CbOHn2TO.js.map} +1 -1
  141. package/dist/_chunks/{key-value-pair-Byyyc_9J.js → key-value-pair-LHKfDT_9.js} +2 -2
  142. package/dist/_chunks/{key-value-pair-Byyyc_9J.js.map → key-value-pair-LHKfDT_9.js.map} +1 -1
  143. package/dist/_chunks/{link-cell-renderer-BCppbMec.js → link-cell-renderer-CLI7sBkX.js} +803 -778
  144. package/dist/_chunks/link-cell-renderer-CLI7sBkX.js.map +1 -0
  145. package/dist/_chunks/{locale-picker-DzF7Q5Y8.js → locale-picker-Cbfqc0_N.js} +3 -3
  146. package/dist/_chunks/{locale-picker-DzF7Q5Y8.js.map → locale-picker-Cbfqc0_N.js.map} +1 -1
  147. package/dist/_chunks/{map-view-ByPvWG_9.js → map-view-CsaHfoo6.js} +2 -2
  148. package/dist/_chunks/{map-view-ByPvWG_9.js.map → map-view-CsaHfoo6.js.map} +1 -1
  149. package/dist/_chunks/{marketplace-app-shell-BCYiOvKZ.js → marketplace-app-shell-Dm6S-hun.js} +6 -6
  150. package/dist/_chunks/marketplace-app-shell-Dm6S-hun.js.map +1 -0
  151. package/dist/_chunks/{message-card-BZnnffyB.js → message-card-ievotOFa.js} +3 -3
  152. package/dist/_chunks/{message-card-BZnnffyB.js.map → message-card-ievotOFa.js.map} +1 -1
  153. package/dist/_chunks/{message-tray-cUHOCdU0.js → message-tray-BFlu8clI.js} +4 -4
  154. package/dist/_chunks/{message-tray-cUHOCdU0.js.map → message-tray-BFlu8clI.js.map} +1 -1
  155. package/dist/_chunks/{nl-CDVnnx1U.js → nl-C6Y0QXnm.js} +2 -2
  156. package/dist/_chunks/{nl-CDVnnx1U.js.map → nl-C6Y0QXnm.js.map} +1 -1
  157. package/dist/_chunks/{notes-panel-CMyjUXD4.js → notes-panel-B_8-Mebz.js} +3 -3
  158. package/dist/_chunks/{notes-panel-CMyjUXD4.js.map → notes-panel-B_8-Mebz.js.map} +1 -1
  159. package/dist/_chunks/{notification-card-BHJ07FkH.js → notification-card-D29_sVA1.js} +3 -3
  160. package/dist/_chunks/{notification-card-BHJ07FkH.js.map → notification-card-D29_sVA1.js.map} +1 -1
  161. package/dist/_chunks/{notification-tray-Dzm1c3Wy.js → notification-tray-CzIzz3bX.js} +4 -4
  162. package/dist/_chunks/{notification-tray-Dzm1c3Wy.js.map → notification-tray-CzIzz3bX.js.map} +1 -1
  163. package/dist/_chunks/optical-prescription-BQ75_kf6.js +1260 -0
  164. package/dist/_chunks/optical-prescription-BQ75_kf6.js.map +1 -0
  165. package/dist/_chunks/{patient-details-pU_E5xM2.js → patient-details-JkOI3Ijd.js} +6 -6
  166. package/dist/_chunks/{patient-details-pU_E5xM2.js.map → patient-details-JkOI3Ijd.js.map} +1 -1
  167. package/dist/_chunks/{patient-search-X9SUZGpy.js → patient-search-BaUJ_Y-N.js} +47 -45
  168. package/dist/_chunks/patient-search-BaUJ_Y-N.js.map +1 -0
  169. package/dist/_chunks/{patient-summary-card--t3BjTdU.js → patient-summary-card-CQOLMH3E.js} +4 -4
  170. package/dist/_chunks/{patient-summary-card--t3BjTdU.js.map → patient-summary-card-CQOLMH3E.js.map} +1 -1
  171. package/dist/_chunks/{patient-table-BgWgNIMf.js → patient-table-B_mOe-ZT.js} +2 -2
  172. package/dist/_chunks/{patient-table-BgWgNIMf.js.map → patient-table-B_mOe-ZT.js.map} +1 -1
  173. package/dist/_chunks/{payment-request-card-2ts7ITxd.js → payment-request-card-C0fqlKqO.js} +25 -24
  174. package/dist/_chunks/{payment-request-card-2ts7ITxd.js.map → payment-request-card-C0fqlKqO.js.map} +1 -1
  175. package/dist/_chunks/pen-line-D0De5zdl.js +21 -0
  176. package/dist/_chunks/pen-line-D0De5zdl.js.map +1 -0
  177. package/dist/_chunks/{periodontal-chart-card-6c6Lt4ws.js → periodontal-chart-card-WVjJAheq.js} +2 -2
  178. package/dist/_chunks/{periodontal-chart-card-6c6Lt4ws.js.map → periodontal-chart-card-WVjJAheq.js.map} +1 -1
  179. package/dist/_chunks/{pl-BWNumNrg.js → pl-BdazJAOp.js} +3 -3
  180. package/dist/_chunks/{pl-BWNumNrg.js.map → pl-BdazJAOp.js.map} +1 -1
  181. package/dist/_chunks/{popover-uJ6BvEU3.js → popover-DGTKfLWh.js} +2 -2
  182. package/dist/_chunks/{popover-uJ6BvEU3.js.map → popover-DGTKfLWh.js.map} +1 -1
  183. package/dist/_chunks/{practice-results-CSEHTH2V.js → practice-results-BCr7jMt1.js} +5 -5
  184. package/dist/_chunks/{practice-results-CSEHTH2V.js.map → practice-results-BCr7jMt1.js.map} +1 -1
  185. package/dist/_chunks/{pregnancy-dating-CxVAA6_4.js → pregnancy-dating-IsDVfqJX.js} +6 -6
  186. package/dist/_chunks/{pregnancy-dating-CxVAA6_4.js.map → pregnancy-dating-IsDVfqJX.js.map} +1 -1
  187. package/dist/_chunks/{pregnancy-weight-gain-C7zyrwow.js → pregnancy-weight-gain-B-CkVYnU.js} +2 -2
  188. package/dist/_chunks/{pregnancy-weight-gain-C7zyrwow.js.map → pregnancy-weight-gain-B-CkVYnU.js.map} +1 -1
  189. package/dist/_chunks/{privacy-lock-DrRmK8C7.js → privacy-lock-YYBiI_bY.js} +3 -3
  190. package/dist/_chunks/{privacy-lock-DrRmK8C7.js.map → privacy-lock-YYBiI_bY.js.map} +1 -1
  191. package/dist/_chunks/{product-hub-panel-CaZqttvm.js → product-hub-panel-CTld1r5V.js} +3 -3
  192. package/dist/_chunks/{product-hub-panel-CaZqttvm.js.map → product-hub-panel-CTld1r5V.js.map} +1 -1
  193. package/dist/_chunks/{pt-zqdQuryr.js → pt-B3UKvhHp.js} +2 -2
  194. package/dist/_chunks/{pt-zqdQuryr.js.map → pt-B3UKvhHp.js.map} +1 -1
  195. package/dist/_chunks/{public-header.agent-C-opZaOw.js → public-header.agent-rX_VA6hd.js} +107 -103
  196. package/dist/_chunks/public-header.agent-rX_VA6hd.js.map +1 -0
  197. package/dist/_chunks/{radiograph-panel.agent-D1x33moc.js → radiograph-panel.agent-e488ooH8.js} +40 -57
  198. package/dist/_chunks/radiograph-panel.agent-e488ooH8.js.map +1 -0
  199. package/dist/_chunks/{reviews-panel-liUj6OPX.js → reviews-panel-DmOjvmyH.js} +4 -4
  200. package/dist/_chunks/{reviews-panel-liUj6OPX.js.map → reviews-panel-DmOjvmyH.js.map} +1 -1
  201. package/dist/_chunks/{rich-text-editor-DUgznqOf.js → rich-text-editor-CgA2bYwi.js} +186 -195
  202. package/dist/_chunks/rich-text-editor-CgA2bYwi.js.map +1 -0
  203. package/dist/_chunks/{ro-CornQr64.js → ro-DVTEQpPK.js} +2 -2
  204. package/dist/_chunks/{ro-CornQr64.js.map → ro-DVTEQpPK.js.map} +1 -1
  205. package/dist/_chunks/{ru-CKAXNYVD.js → ru-C-Mp40SC.js} +3 -3
  206. package/dist/_chunks/{ru-CKAXNYVD.js.map → ru-C-Mp40SC.js.map} +1 -1
  207. package/dist/_chunks/{session-countdown-qr8EO5QY.js → session-countdown-C8AsE072.js} +2 -2
  208. package/dist/_chunks/{session-countdown-qr8EO5QY.js.map → session-countdown-C8AsE072.js.map} +1 -1
  209. package/dist/_chunks/{sheet-B_X54aZo.js → sheet-D5K0LB3q.js} +2 -2
  210. package/dist/_chunks/{sheet-B_X54aZo.js.map → sheet-D5K0LB3q.js.map} +1 -1
  211. package/dist/_chunks/{sidebar-B0OBmJrC.js → sidebar-CtU35PIX.js} +70 -67
  212. package/dist/_chunks/sidebar-CtU35PIX.js.map +1 -0
  213. package/dist/_chunks/{sign-document-nK03S73h.js → sign-document-Bfk0WpWV.js} +2 -2
  214. package/dist/_chunks/{sign-document-nK03S73h.js.map → sign-document-Bfk0WpWV.js.map} +1 -1
  215. package/dist/_chunks/{sign-in-with-alfadocs-button-LppxjlFt.js → sign-in-with-alfadocs-button-UlYefZpI.js} +2 -2
  216. package/dist/_chunks/{sign-in-with-alfadocs-button-LppxjlFt.js.map → sign-in-with-alfadocs-button-UlYefZpI.js.map} +1 -1
  217. package/dist/_chunks/{signature-capture-Ct_4Md4e.js → signature-capture-DN52VNKL.js} +206 -189
  218. package/dist/_chunks/signature-capture-DN52VNKL.js.map +1 -0
  219. package/dist/_chunks/{signature-field-jgwYgUhO.js → signature-field-0rFODJlW.js} +47 -41
  220. package/dist/_chunks/signature-field-0rFODJlW.js.map +1 -0
  221. package/dist/_chunks/{slot-grid-FsqumOaS.js → slot-grid-CQSULZjd.js} +4 -4
  222. package/dist/_chunks/{slot-grid-FsqumOaS.js.map → slot-grid-CQSULZjd.js.map} +1 -1
  223. package/dist/_chunks/{sq-CIIvqXZv.js → sq-DierVlw-.js} +2 -2
  224. package/dist/_chunks/{sq-CIIvqXZv.js.map → sq-DierVlw-.js.map} +1 -1
  225. package/dist/_chunks/{streaming-text-Cedc05ya.js → streaming-text-C5bYz7LL.js} +2 -2
  226. package/dist/_chunks/{streaming-text-Cedc05ya.js.map → streaming-text-C5bYz7LL.js.map} +1 -1
  227. package/dist/_chunks/subDays-DIKRViZm.js +8 -0
  228. package/dist/_chunks/{subDays-DGSOp9d9.js.map → subDays-DIKRViZm.js.map} +1 -1
  229. package/dist/_chunks/{sv-Kpk1pzjz.js → sv-gQWo_19z.js} +2 -2
  230. package/dist/_chunks/{sv-Kpk1pzjz.js.map → sv-gQWo_19z.js.map} +1 -1
  231. package/dist/_chunks/{task-tray-DP5A3Qnc.js → task-tray-Br3vc0O1.js} +3 -3
  232. package/dist/_chunks/{task-tray-DP5A3Qnc.js.map → task-tray-Br3vc0O1.js.map} +1 -1
  233. package/dist/_chunks/{tasks-panel-BuxaYtEF.js → tasks-panel-LCK5ZXvU.js} +5 -5
  234. package/dist/_chunks/{tasks-panel-BuxaYtEF.js.map → tasks-panel-LCK5ZXvU.js.map} +1 -1
  235. package/dist/_chunks/{theme-toggle-dtdy5EaL.js → theme-toggle-BJCz_UOi.js} +3 -3
  236. package/dist/_chunks/{theme-toggle-dtdy5EaL.js.map → theme-toggle-BJCz_UOi.js.map} +1 -1
  237. package/dist/_chunks/{toast.agent-BSxl057x.js → toast.agent-uV8CeAy6.js} +2 -2
  238. package/dist/_chunks/{toast.agent-BSxl057x.js.map → toast.agent-uV8CeAy6.js.map} +1 -1
  239. package/dist/_chunks/{token-insert-menu-Pok4nExI.js → token-insert-menu-BYv6yoZI.js} +2 -2
  240. package/dist/_chunks/{token-insert-menu-Pok4nExI.js.map → token-insert-menu-BYv6yoZI.js.map} +1 -1
  241. package/dist/_chunks/{tool-rail-BZx0-yIr.js → tool-rail-AaTqxkIM.js} +2 -2
  242. package/dist/_chunks/{tool-rail-BZx0-yIr.js.map → tool-rail-AaTqxkIM.js.map} +1 -1
  243. package/dist/_chunks/{tooth-scheme-D_rso4uu.js → tooth-scheme-CX49GycY.js} +3 -3
  244. package/dist/_chunks/{tooth-scheme-D_rso4uu.js.map → tooth-scheme-CX49GycY.js.map} +1 -1
  245. package/dist/_chunks/{tr-DHaeLFxG.js → tr-Btm6M3Km.js} +2 -2
  246. package/dist/_chunks/{tr-DHaeLFxG.js.map → tr-Btm6M3Km.js.map} +1 -1
  247. package/dist/_chunks/{transaction-chip-B6iWoVmU.js → transaction-chip-DJCstquX.js} +41 -51
  248. package/dist/_chunks/transaction-chip-DJCstquX.js.map +1 -0
  249. package/dist/_chunks/type-ggmfVs23.js +16 -0
  250. package/dist/_chunks/type-ggmfVs23.js.map +1 -0
  251. package/dist/_chunks/{unit-converter-fEqluT8b.js → unit-converter-3uL_tMCm.js} +2 -2
  252. package/dist/_chunks/{unit-converter-fEqluT8b.js.map → unit-converter-3uL_tMCm.js.map} +1 -1
  253. package/dist/_chunks/upload-BfT2hzMg.js +16 -0
  254. package/dist/_chunks/upload-BfT2hzMg.js.map +1 -0
  255. package/dist/_chunks/use-priority-overflow-c9SjxZkZ.js +101 -0
  256. package/dist/_chunks/use-priority-overflow-c9SjxZkZ.js.map +1 -0
  257. package/dist/_chunks/use-visual-viewport-pin-ChurOsHM.js +31 -0
  258. package/dist/_chunks/use-visual-viewport-pin-ChurOsHM.js.map +1 -0
  259. package/dist/_chunks/{warning-stack-BaMI7-n7.js → warning-stack-BlG_Ujy3.js} +3 -3
  260. package/dist/_chunks/{warning-stack-BaMI7-n7.js.map → warning-stack-BlG_Ujy3.js.map} +1 -1
  261. package/dist/_chunks/{workflow-map-qWsgCldq.js → workflow-map-C643Q43h.js} +5 -5
  262. package/dist/_chunks/{workflow-map-qWsgCldq.js.map → workflow-map-C643Q43h.js.map} +1 -1
  263. package/dist/_chunks/{zh-CN-BncsTBwM.js → zh-CN-DkVN4vsB.js} +3 -3
  264. package/dist/_chunks/{zh-CN-BncsTBwM.js.map → zh-CN-DkVN4vsB.js.map} +1 -1
  265. package/dist/agent-catalog.json +845 -1034
  266. package/dist/agent-i18n/en.json +42 -69
  267. package/dist/brand/product-lockup/product-lockup.d.ts +1 -1
  268. package/dist/components/_shared/calendar-class-names.d.ts.map +1 -1
  269. package/dist/components/agenda-tray/index.js +1 -1
  270. package/dist/components/ai-consent-banner/index.js +1 -1
  271. package/dist/components/ai-prompt-input/index.js +1 -1
  272. package/dist/components/anamnesis-card/index.js +1 -1
  273. package/dist/components/appointment-card/index.js +2 -2
  274. package/dist/components/appointment-timeline/index.js +1 -1
  275. package/dist/components/audio-recorder/index.js +1 -1
  276. package/dist/components/benefit-card/benefit-card.d.ts.map +1 -1
  277. package/dist/components/benefit-card/index.js +1 -1
  278. package/dist/components/bishop-score/index.js +1 -1
  279. package/dist/components/bmi-calculator/index.js +1 -1
  280. package/dist/components/booking/index.js +1 -1
  281. package/dist/components/button/button.d.ts +8 -1
  282. package/dist/components/button/button.d.ts.map +1 -1
  283. package/dist/components/button/index.js +2 -2
  284. package/dist/components/button-group/button-group.d.ts +16 -0
  285. package/dist/components/button-group/button-group.d.ts.map +1 -1
  286. package/dist/components/button-group/index.js +1 -1
  287. package/dist/components/care-plan-card/index.js +1 -1
  288. package/dist/components/care-plan-entry-card/index.js +1 -1
  289. package/dist/components/care-plan-header/index.js +1 -1
  290. package/dist/components/carousel/index.js +1 -1
  291. package/dist/components/chat-container/chat-container.d.ts.map +1 -1
  292. package/dist/components/chat-container/index.js +1 -1
  293. package/dist/components/chat-input/index.js +1 -1
  294. package/dist/components/chat-message/index.js +1 -1
  295. package/dist/components/connection-status/index.js +1 -1
  296. package/dist/components/contact-profile-card/index.js +1 -1
  297. package/dist/components/control-room-rail/index.js +1 -1
  298. package/dist/components/copy-field/index.js +1 -1
  299. package/dist/components/counter/counter.d.ts +1 -1
  300. package/dist/components/cycle-calculator/index.js +1 -1
  301. package/dist/components/data-table/data-table.d.ts +2 -8
  302. package/dist/components/data-table/data-table.d.ts.map +1 -1
  303. package/dist/components/data-table/index.js +2 -2
  304. package/dist/components/data-table/toolbar.d.ts +4 -10
  305. package/dist/components/data-table/toolbar.d.ts.map +1 -1
  306. package/dist/components/date-picker/index.js +1 -1
  307. package/dist/components/date-range-picker/index.js +1 -1
  308. package/dist/components/date-time-picker/index.js +1 -1
  309. package/dist/components/description-list/index.js +1 -1
  310. package/dist/components/document-scanner/document-scanner.d.ts.map +1 -1
  311. package/dist/components/document-scanner/index.js +1 -1
  312. package/dist/components/due-date-calculator/index.js +2 -2
  313. package/dist/components/editor-overlay/index.js +1 -1
  314. package/dist/components/empty-state/index.js +1 -1
  315. package/dist/components/entity-summary/index.js +1 -1
  316. package/dist/components/face-scheme/face-scheme-data.d.ts +167 -0
  317. package/dist/components/face-scheme/face-scheme-data.d.ts.map +1 -1
  318. package/dist/components/face-scheme/face-scheme.agent.d.ts.map +1 -1
  319. package/dist/components/face-scheme/face-scheme.d.ts +112 -2
  320. package/dist/components/face-scheme/face-scheme.d.ts.map +1 -1
  321. package/dist/components/face-scheme/index.d.ts +2 -2
  322. package/dist/components/face-scheme/index.d.ts.map +1 -1
  323. package/dist/components/face-scheme/index.js +25 -14
  324. package/dist/components/fetal-weight/index.js +1 -1
  325. package/dist/components/field-array/index.js +1 -1
  326. package/dist/components/file-upload/file-upload.d.ts +1 -0
  327. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  328. package/dist/components/file-upload/index.d.ts +1 -1
  329. package/dist/components/file-upload/index.d.ts.map +1 -1
  330. package/dist/components/file-upload/index.js +4 -3
  331. package/dist/components/finished-terminal/finished-terminal.d.ts.map +1 -1
  332. package/dist/components/finished-terminal/index.js +1 -1
  333. package/dist/components/fiscal-code-input/index.js +1 -1
  334. package/dist/components/flag/flag.d.ts +1 -1
  335. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
  336. package/dist/components/freemium-paywall/index.js +1 -1
  337. package/dist/components/gestational-age-calculator/index.js +1 -1
  338. package/dist/components/hcg-doubling/index.js +1 -1
  339. package/dist/components/header/header.d.ts.map +1 -1
  340. package/dist/components/header/index.js +1 -1
  341. package/dist/components/header-settings/index.js +1 -1
  342. package/dist/components/icon-button/index.js +1 -1
  343. package/dist/components/icon-button-group/icon-button-group.d.ts +6 -0
  344. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  345. package/dist/components/icon-button-group/index.js +1 -1
  346. package/dist/components/icon-picker/index.js +1 -1
  347. package/dist/components/image-cropper/index.js +1 -1
  348. package/dist/components/index.d.ts +0 -1
  349. package/dist/components/index.d.ts.map +1 -1
  350. package/dist/components/key-value-pair/index.js +1 -1
  351. package/dist/components/link/link.d.ts +1 -1
  352. package/dist/components/locale-picker/index.js +1 -1
  353. package/dist/components/map-view/index.js +1 -1
  354. package/dist/components/matrix-rain/matrix-rain.d.ts +1 -1
  355. package/dist/components/message-card/index.js +1 -1
  356. package/dist/components/message-tray/index.js +1 -1
  357. package/dist/components/notes-panel/index.js +1 -1
  358. package/dist/components/notification-card/index.js +1 -1
  359. package/dist/components/notification-tray/index.js +1 -1
  360. package/dist/components/optical-prescription/index.d.ts +4 -2
  361. package/dist/components/optical-prescription/index.d.ts.map +1 -1
  362. package/dist/components/optical-prescription/index.js +29 -26
  363. package/dist/components/optical-prescription/optical-prescription-charts.d.ts +78 -0
  364. package/dist/components/optical-prescription/optical-prescription-charts.d.ts.map +1 -0
  365. package/dist/components/optical-prescription/optical-prescription-data.d.ts +29 -0
  366. package/dist/components/optical-prescription/optical-prescription-data.d.ts.map +1 -1
  367. package/dist/components/optical-prescription/optical-prescription.agent.d.ts.map +1 -1
  368. package/dist/components/optical-prescription/optical-prescription.d.ts +9 -0
  369. package/dist/components/optical-prescription/optical-prescription.d.ts.map +1 -1
  370. package/dist/components/patient-details/index.js +1 -1
  371. package/dist/components/patient-search/index.js +1 -1
  372. package/dist/components/patient-search/patient-search.d.ts.map +1 -1
  373. package/dist/components/patient-summary-card/index.js +1 -1
  374. package/dist/components/patient-table/index.js +1 -1
  375. package/dist/components/payment-card/index.js +1 -1
  376. package/dist/components/periodontal-chart-card/index.js +1 -1
  377. package/dist/components/popover/index.js +1 -1
  378. package/dist/components/practice-results/index.js +1 -1
  379. package/dist/components/pregnancy-dating/index.js +1 -1
  380. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  381. package/dist/components/privacy-lock/index.js +1 -1
  382. package/dist/components/product-hub-tray/index.js +1 -1
  383. package/dist/components/public-header/index.js +1 -1
  384. package/dist/components/public-header/public-header.d.ts +1 -1
  385. package/dist/components/public-header/public-header.d.ts.map +1 -1
  386. package/dist/components/radiograph-panel/index.js +1 -1
  387. package/dist/components/radiograph-panel/radiograph-panel.d.ts +2 -2
  388. package/dist/components/radiograph-panel/radiograph-panel.d.ts.map +1 -1
  389. package/dist/components/reviews-panel/index.js +1 -1
  390. package/dist/components/rich-text-editor/index.js +1 -1
  391. package/dist/components/session-countdown/index.js +1 -1
  392. package/dist/components/sheet/index.js +1 -1
  393. package/dist/components/sidebar/index.js +1 -1
  394. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  395. package/dist/components/sign-document/index.js +1 -1
  396. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  397. package/dist/components/signature-capture/index.js +1 -1
  398. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  399. package/dist/components/signature-field/index.js +1 -1
  400. package/dist/components/signature-field/signature-field.d.ts +7 -0
  401. package/dist/components/signature-field/signature-field.d.ts.map +1 -1
  402. package/dist/components/skeleton-scheme/index.js +1194 -0
  403. package/dist/components/skeleton-scheme/index.js.map +1 -0
  404. package/dist/components/slot-grid/index.js +1 -1
  405. package/dist/components/streaming-text/index.js +1 -1
  406. package/dist/components/task-tray/index.js +1 -1
  407. package/dist/components/tasks-panel/index.js +1 -1
  408. package/dist/components/theme-toggle/index.js +1 -1
  409. package/dist/components/toast/index.js +1 -1
  410. package/dist/components/token-insert-menu/index.js +1 -1
  411. package/dist/components/tool-rail/index.js +1 -1
  412. package/dist/components/tooth-scheme/index.js +1 -1
  413. package/dist/components/transaction-chip/index.js +1 -1
  414. package/dist/components/unit-converter/index.js +1 -1
  415. package/dist/components/warning-stack/index.js +1 -1
  416. package/dist/components/workflow/index.js +1 -1
  417. package/dist/hooks/index.d.ts +2 -0
  418. package/dist/hooks/index.d.ts.map +1 -1
  419. package/dist/hooks/index.js +40 -35
  420. package/dist/hooks/index.js.map +1 -1
  421. package/dist/hooks/use-priority-overflow.d.ts +63 -0
  422. package/dist/hooks/use-priority-overflow.d.ts.map +1 -0
  423. package/dist/hooks/use-visual-viewport-pin.d.ts +32 -0
  424. package/dist/hooks/use-visual-viewport-pin.d.ts.map +1 -0
  425. package/dist/i18n/locales/ar.d.ts +170 -9
  426. package/dist/i18n/locales/ar.d.ts.map +1 -1
  427. package/dist/i18n/locales/ar.js +173 -12
  428. package/dist/i18n/locales/ar.js.map +1 -1
  429. package/dist/i18n/locales/de.d.ts +170 -9
  430. package/dist/i18n/locales/de.d.ts.map +1 -1
  431. package/dist/i18n/locales/de.js +173 -12
  432. package/dist/i18n/locales/de.js.map +1 -1
  433. package/dist/i18n/locales/el.d.ts +170 -9
  434. package/dist/i18n/locales/el.d.ts.map +1 -1
  435. package/dist/i18n/locales/el.js +173 -12
  436. package/dist/i18n/locales/el.js.map +1 -1
  437. package/dist/i18n/locales/en.d.ts +170 -9
  438. package/dist/i18n/locales/en.d.ts.map +1 -1
  439. package/dist/i18n/locales/en.js +173 -12
  440. package/dist/i18n/locales/en.js.map +1 -1
  441. package/dist/i18n/locales/es.d.ts +170 -9
  442. package/dist/i18n/locales/es.d.ts.map +1 -1
  443. package/dist/i18n/locales/es.js +173 -12
  444. package/dist/i18n/locales/es.js.map +1 -1
  445. package/dist/i18n/locales/fr.d.ts +170 -9
  446. package/dist/i18n/locales/fr.d.ts.map +1 -1
  447. package/dist/i18n/locales/fr.js +173 -12
  448. package/dist/i18n/locales/fr.js.map +1 -1
  449. package/dist/i18n/locales/hi.d.ts +170 -9
  450. package/dist/i18n/locales/hi.d.ts.map +1 -1
  451. package/dist/i18n/locales/hi.js +173 -12
  452. package/dist/i18n/locales/hi.js.map +1 -1
  453. package/dist/i18n/locales/it.d.ts +170 -9
  454. package/dist/i18n/locales/it.d.ts.map +1 -1
  455. package/dist/i18n/locales/it.js +173 -12
  456. package/dist/i18n/locales/it.js.map +1 -1
  457. package/dist/i18n/locales/ja.d.ts +170 -9
  458. package/dist/i18n/locales/ja.d.ts.map +1 -1
  459. package/dist/i18n/locales/ja.js +173 -12
  460. package/dist/i18n/locales/ja.js.map +1 -1
  461. package/dist/i18n/locales/nl.d.ts +170 -9
  462. package/dist/i18n/locales/nl.d.ts.map +1 -1
  463. package/dist/i18n/locales/nl.js +173 -12
  464. package/dist/i18n/locales/nl.js.map +1 -1
  465. package/dist/i18n/locales/pl.d.ts +170 -9
  466. package/dist/i18n/locales/pl.d.ts.map +1 -1
  467. package/dist/i18n/locales/pl.js +173 -12
  468. package/dist/i18n/locales/pl.js.map +1 -1
  469. package/dist/i18n/locales/pt.d.ts +170 -9
  470. package/dist/i18n/locales/pt.d.ts.map +1 -1
  471. package/dist/i18n/locales/pt.js +173 -12
  472. package/dist/i18n/locales/pt.js.map +1 -1
  473. package/dist/i18n/locales/ro.d.ts +170 -9
  474. package/dist/i18n/locales/ro.d.ts.map +1 -1
  475. package/dist/i18n/locales/ro.js +173 -12
  476. package/dist/i18n/locales/ro.js.map +1 -1
  477. package/dist/i18n/locales/ru.d.ts +170 -9
  478. package/dist/i18n/locales/ru.d.ts.map +1 -1
  479. package/dist/i18n/locales/ru.js +173 -12
  480. package/dist/i18n/locales/ru.js.map +1 -1
  481. package/dist/i18n/locales/sq.d.ts +170 -9
  482. package/dist/i18n/locales/sq.d.ts.map +1 -1
  483. package/dist/i18n/locales/sq.js +173 -12
  484. package/dist/i18n/locales/sq.js.map +1 -1
  485. package/dist/i18n/locales/sv.d.ts +170 -9
  486. package/dist/i18n/locales/sv.d.ts.map +1 -1
  487. package/dist/i18n/locales/sv.js +173 -12
  488. package/dist/i18n/locales/sv.js.map +1 -1
  489. package/dist/i18n/locales/tr.d.ts +170 -9
  490. package/dist/i18n/locales/tr.d.ts.map +1 -1
  491. package/dist/i18n/locales/tr.js +173 -12
  492. package/dist/i18n/locales/tr.js.map +1 -1
  493. package/dist/i18n/locales/zh.d.ts +170 -9
  494. package/dist/i18n/locales/zh.d.ts.map +1 -1
  495. package/dist/i18n/locales/zh.js +173 -12
  496. package/dist/i18n/locales/zh.js.map +1 -1
  497. package/dist/index.js +774 -761
  498. package/dist/index.js.map +1 -1
  499. package/dist/locales/ar.json +173 -12
  500. package/dist/locales/de.json +173 -12
  501. package/dist/locales/el.json +173 -12
  502. package/dist/locales/en.json +173 -12
  503. package/dist/locales/es.json +173 -12
  504. package/dist/locales/fr.json +173 -12
  505. package/dist/locales/hi.json +173 -12
  506. package/dist/locales/it.json +173 -12
  507. package/dist/locales/ja.json +173 -12
  508. package/dist/locales/nl.json +173 -12
  509. package/dist/locales/pl.json +173 -12
  510. package/dist/locales/pt.json +173 -12
  511. package/dist/locales/ro.json +173 -12
  512. package/dist/locales/ru.json +173 -12
  513. package/dist/locales/sq.json +173 -12
  514. package/dist/locales/sv.json +173 -12
  515. package/dist/locales/tr.json +173 -12
  516. package/dist/locales/zh.json +173 -12
  517. package/dist/patterns/alia-assistant/index.js +1 -1
  518. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  519. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +1 -1
  520. package/dist/tokens.css +2 -2
  521. package/package.json +5 -5
  522. package/dist/_chunks/benefit-card-Xnxj4Gmo.js.map +0 -1
  523. package/dist/_chunks/button-DD_0Xdmr.js.map +0 -1
  524. package/dist/_chunks/button-group-CvEnVzY7.js +0 -119
  525. package/dist/_chunks/button-group-CvEnVzY7.js.map +0 -1
  526. package/dist/_chunks/document-scanner-B23j4w7X.js.map +0 -1
  527. package/dist/_chunks/face-scheme-BT9_KdL0.js +0 -1450
  528. package/dist/_chunks/face-scheme-BT9_KdL0.js.map +0 -1
  529. package/dist/_chunks/file-upload-Kw1rdvFw.js.map +0 -1
  530. package/dist/_chunks/finished-terminal-Di4gtZ50.js.map +0 -1
  531. package/dist/_chunks/freemium-paywall-DFoeedwh.js.map +0 -1
  532. package/dist/_chunks/header-DaXWDw0M.js.map +0 -1
  533. package/dist/_chunks/icon-button-group-C48khLE0.js +0 -206
  534. package/dist/_chunks/icon-button-group-C48khLE0.js.map +0 -1
  535. package/dist/_chunks/insert-result-C7xSDb8q.js.map +0 -1
  536. package/dist/_chunks/link-cell-renderer-BCppbMec.js.map +0 -1
  537. package/dist/_chunks/marketplace-app-shell-BCYiOvKZ.js.map +0 -1
  538. package/dist/_chunks/optical-prescription-Bmlbuopi.js +0 -653
  539. package/dist/_chunks/optical-prescription-Bmlbuopi.js.map +0 -1
  540. package/dist/_chunks/patient-search-X9SUZGpy.js.map +0 -1
  541. package/dist/_chunks/patient-shell-oiIRqEAl.js +0 -162
  542. package/dist/_chunks/patient-shell-oiIRqEAl.js.map +0 -1
  543. package/dist/_chunks/public-header.agent-C-opZaOw.js.map +0 -1
  544. package/dist/_chunks/radiograph-panel.agent-D1x33moc.js.map +0 -1
  545. package/dist/_chunks/rich-text-editor-DUgznqOf.js.map +0 -1
  546. package/dist/_chunks/sidebar-B0OBmJrC.js.map +0 -1
  547. package/dist/_chunks/signature-capture-Ct_4Md4e.js.map +0 -1
  548. package/dist/_chunks/signature-field-jgwYgUhO.js.map +0 -1
  549. package/dist/_chunks/subDays-DGSOp9d9.js +0 -8
  550. package/dist/_chunks/transaction-chip-B6iWoVmU.js.map +0 -1
  551. package/dist/patterns/patient-shell/index.d.ts +0 -12
  552. package/dist/patterns/patient-shell/index.d.ts.map +0 -1
  553. package/dist/patterns/patient-shell/index.js +0 -5
  554. package/dist/patterns/patient-shell/index.js.map +0 -1
  555. package/dist/patterns/patient-shell/patient-shell.d.ts +0 -62
  556. package/dist/patterns/patient-shell/patient-shell.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { o as m, q as t, r as n, v as s } from "./date-picker-variants-DLg-ZrIo.js";
1
+ import { o as m, q as t, r as n, v as s } from "./date-picker-variants-CYQAm1Gk.js";
2
2
  const d = {
3
3
  lessThanXSeconds: {
4
4
  one: "mai puțin de o secundă",
@@ -358,4 +358,4 @@ const d = {
358
358
  export {
359
359
  N as ro
360
360
  };
361
- //# sourceMappingURL=ro-CornQr64.js.map
361
+ //# sourceMappingURL=ro-DVTEQpPK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ro-CornQr64.js","sources":["../../node_modules/date-fns/locale/ro/_lib/formatDistance.js","../../node_modules/date-fns/locale/ro/_lib/formatLong.js","../../node_modules/date-fns/locale/ro/_lib/formatRelative.js","../../node_modules/date-fns/locale/ro/_lib/localize.js","../../node_modules/date-fns/locale/ro/_lib/match.js","../../node_modules/date-fns/locale/ro.js"],"sourcesContent":["const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"mai puțin de o secundă\",\n other: \"mai puțin de {{count}} secunde\",\n },\n\n xSeconds: {\n one: \"1 secundă\",\n other: \"{{count}} secunde\",\n },\n\n halfAMinute: \"jumătate de minut\",\n\n lessThanXMinutes: {\n one: \"mai puțin de un minut\",\n other: \"mai puțin de {{count}} minute\",\n },\n\n xMinutes: {\n one: \"1 minut\",\n other: \"{{count}} minute\",\n },\n\n aboutXHours: {\n one: \"circa 1 oră\",\n other: \"circa {{count}} ore\",\n },\n\n xHours: {\n one: \"1 oră\",\n other: \"{{count}} ore\",\n },\n\n xDays: {\n one: \"1 zi\",\n other: \"{{count}} zile\",\n },\n\n aboutXWeeks: {\n one: \"circa o săptămână\",\n other: \"circa {{count}} săptămâni\",\n },\n\n xWeeks: {\n one: \"1 săptămână\",\n other: \"{{count}} săptămâni\",\n },\n\n aboutXMonths: {\n one: \"circa 1 lună\",\n other: \"circa {{count}} luni\",\n },\n\n xMonths: {\n one: \"1 lună\",\n other: \"{{count}} luni\",\n },\n\n aboutXYears: {\n one: \"circa 1 an\",\n other: \"circa {{count}} ani\",\n },\n\n xYears: {\n one: \"1 an\",\n other: \"{{count}} ani\",\n },\n\n overXYears: {\n one: \"peste 1 an\",\n other: \"peste {{count}} ani\",\n },\n\n almostXYears: {\n one: \"aproape 1 an\",\n other: \"aproape {{count}} ani\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"în \" + result;\n } else {\n return result + \" în urmă\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd.MM.yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'la' {{time}}\",\n long: \"{{date}} 'la' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"eeee 'trecută la' p\",\n yesterday: \"'ieri la' p\",\n today: \"'astăzi la' p\",\n tomorrow: \"'mâine la' p\",\n nextWeek: \"eeee 'viitoare la' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"Î\", \"D\"],\n abbreviated: [\"Î.d.C.\", \"D.C.\"],\n wide: [\"Înainte de Cristos\", \"După Cristos\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n wide: [\n \"primul trimestru\",\n \"al doilea trimestru\",\n \"al treilea trimestru\",\n \"al patrulea trimestru\",\n ],\n};\n\nconst monthValues = {\n narrow: [\"I\", \"F\", \"M\", \"A\", \"M\", \"I\", \"I\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"ian\",\n \"feb\",\n \"mar\",\n \"apr\",\n \"mai\",\n \"iun\",\n \"iul\",\n \"aug\",\n \"sep\",\n \"oct\",\n \"noi\",\n \"dec\",\n ],\n\n wide: [\n \"ianuarie\",\n \"februarie\",\n \"martie\",\n \"aprilie\",\n \"mai\",\n \"iunie\",\n \"iulie\",\n \"august\",\n \"septembrie\",\n \"octombrie\",\n \"noiembrie\",\n \"decembrie\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"d\", \"l\", \"m\", \"m\", \"j\", \"v\", \"s\"],\n short: [\"du\", \"lu\", \"ma\", \"mi\", \"jo\", \"vi\", \"sâ\"],\n abbreviated: [\"dum\", \"lun\", \"mar\", \"mie\", \"joi\", \"vin\", \"sâm\"],\n wide: [\"duminică\", \"luni\", \"marți\", \"miercuri\", \"joi\", \"vineri\", \"sâmbătă\"],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"ami\",\n morning: \"dim\",\n afternoon: \"da\",\n evening: \"s\",\n night: \"n\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n return String(dirtyNumber);\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(Î|D)/i,\n abbreviated:\n /^(Î\\.?\\s?d\\.?\\s?C\\.?|Î\\.?\\s?e\\.?\\s?n\\.?|D\\.?\\s?C\\.?|e\\.?\\s?n\\.?)/i,\n wide: /^(Înainte de Cristos|Înaintea erei noastre|După Cristos|Era noastră)/i,\n};\nconst parseEraPatterns = {\n any: [/^ÎC/i, /^DC/i],\n wide: [\n /^(Înainte de Cristos|Înaintea erei noastre)/i,\n /^(După Cristos|Era noastră)/i,\n ],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^trimestrul [1234]/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[ifmaasond]/i,\n abbreviated: /^(ian|feb|mar|apr|mai|iun|iul|aug|sep|oct|noi|dec)/i,\n wide: /^(ianuarie|februarie|martie|aprilie|mai|iunie|iulie|august|septembrie|octombrie|noiembrie|decembrie)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^i/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^i/i,\n /^i/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ia/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^mai/i,\n /^iun/i,\n /^iul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[dlmjvs]/i,\n short: /^(d|l|ma|mi|j|v|s)/i,\n abbreviated: /^(dum|lun|mar|mie|jo|vi|sâ)/i,\n wide: /^(duminica|luni|marţi|miercuri|joi|vineri|sâmbătă)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^d/i, /^l/i, /^ma/i, /^mi/i, /^j/i, /^v/i, /^s/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|a|(dimineaţa|după-amiaza|seara|noaptea))/i,\n any: /^([ap]\\.?\\s?m\\.?|miezul nopții|amiaza|(dimineaţa|după-amiaza|seara|noaptea))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn/i,\n noon: /amiaza/i,\n morning: /dimineaţa/i,\n afternoon: /după-amiaza/i,\n evening: /seara/i,\n night: /noaptea/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./ro/_lib/formatDistance.js\";\nimport { formatLong } from \"./ro/_lib/formatLong.js\";\nimport { formatRelative } from \"./ro/_lib/formatRelative.js\";\nimport { localize } from \"./ro/_lib/localize.js\";\nimport { match } from \"./ro/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Romanian locale.\n * @language Romanian\n * @iso-639-2 ron\n * @author Sergiu Munteanu [@jsergiu](https://github.com/jsergiu)\n * @author Adrian Ocneanu [@aocneanu](https://github.com/aocneanu)\n * @author Mihai Ocneanu [@gandesc](https://github.com/gandesc)\n */\nexport const ro = {\n code: \"ro\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ro;\n"],"names":["formatDistanceLocale","formatDistance","token","count","options","result","tokenValue","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","_options","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","localize","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","ro"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
1
+ {"version":3,"file":"ro-DVTEQpPK.js","sources":["../../node_modules/date-fns/locale/ro/_lib/formatDistance.js","../../node_modules/date-fns/locale/ro/_lib/formatLong.js","../../node_modules/date-fns/locale/ro/_lib/formatRelative.js","../../node_modules/date-fns/locale/ro/_lib/localize.js","../../node_modules/date-fns/locale/ro/_lib/match.js","../../node_modules/date-fns/locale/ro.js"],"sourcesContent":["const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"mai puțin de o secundă\",\n other: \"mai puțin de {{count}} secunde\",\n },\n\n xSeconds: {\n one: \"1 secundă\",\n other: \"{{count}} secunde\",\n },\n\n halfAMinute: \"jumătate de minut\",\n\n lessThanXMinutes: {\n one: \"mai puțin de un minut\",\n other: \"mai puțin de {{count}} minute\",\n },\n\n xMinutes: {\n one: \"1 minut\",\n other: \"{{count}} minute\",\n },\n\n aboutXHours: {\n one: \"circa 1 oră\",\n other: \"circa {{count}} ore\",\n },\n\n xHours: {\n one: \"1 oră\",\n other: \"{{count}} ore\",\n },\n\n xDays: {\n one: \"1 zi\",\n other: \"{{count}} zile\",\n },\n\n aboutXWeeks: {\n one: \"circa o săptămână\",\n other: \"circa {{count}} săptămâni\",\n },\n\n xWeeks: {\n one: \"1 săptămână\",\n other: \"{{count}} săptămâni\",\n },\n\n aboutXMonths: {\n one: \"circa 1 lună\",\n other: \"circa {{count}} luni\",\n },\n\n xMonths: {\n one: \"1 lună\",\n other: \"{{count}} luni\",\n },\n\n aboutXYears: {\n one: \"circa 1 an\",\n other: \"circa {{count}} ani\",\n },\n\n xYears: {\n one: \"1 an\",\n other: \"{{count}} ani\",\n },\n\n overXYears: {\n one: \"peste 1 an\",\n other: \"peste {{count}} ani\",\n },\n\n almostXYears: {\n one: \"aproape 1 an\",\n other: \"aproape {{count}} ani\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"în \" + result;\n } else {\n return result + \" în urmă\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd.MM.yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'la' {{time}}\",\n long: \"{{date}} 'la' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"eeee 'trecută la' p\",\n yesterday: \"'ieri la' p\",\n today: \"'astăzi la' p\",\n tomorrow: \"'mâine la' p\",\n nextWeek: \"eeee 'viitoare la' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"Î\", \"D\"],\n abbreviated: [\"Î.d.C.\", \"D.C.\"],\n wide: [\"Înainte de Cristos\", \"După Cristos\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n wide: [\n \"primul trimestru\",\n \"al doilea trimestru\",\n \"al treilea trimestru\",\n \"al patrulea trimestru\",\n ],\n};\n\nconst monthValues = {\n narrow: [\"I\", \"F\", \"M\", \"A\", \"M\", \"I\", \"I\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"ian\",\n \"feb\",\n \"mar\",\n \"apr\",\n \"mai\",\n \"iun\",\n \"iul\",\n \"aug\",\n \"sep\",\n \"oct\",\n \"noi\",\n \"dec\",\n ],\n\n wide: [\n \"ianuarie\",\n \"februarie\",\n \"martie\",\n \"aprilie\",\n \"mai\",\n \"iunie\",\n \"iulie\",\n \"august\",\n \"septembrie\",\n \"octombrie\",\n \"noiembrie\",\n \"decembrie\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"d\", \"l\", \"m\", \"m\", \"j\", \"v\", \"s\"],\n short: [\"du\", \"lu\", \"ma\", \"mi\", \"jo\", \"vi\", \"sâ\"],\n abbreviated: [\"dum\", \"lun\", \"mar\", \"mie\", \"joi\", \"vin\", \"sâm\"],\n wide: [\"duminică\", \"luni\", \"marți\", \"miercuri\", \"joi\", \"vineri\", \"sâmbătă\"],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"ami\",\n morning: \"dim\",\n afternoon: \"da\",\n evening: \"s\",\n night: \"n\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"miezul nopții\",\n noon: \"amiază\",\n morning: \"dimineață\",\n afternoon: \"după-amiază\",\n evening: \"seară\",\n night: \"noapte\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n return String(dirtyNumber);\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(Î|D)/i,\n abbreviated:\n /^(Î\\.?\\s?d\\.?\\s?C\\.?|Î\\.?\\s?e\\.?\\s?n\\.?|D\\.?\\s?C\\.?|e\\.?\\s?n\\.?)/i,\n wide: /^(Înainte de Cristos|Înaintea erei noastre|După Cristos|Era noastră)/i,\n};\nconst parseEraPatterns = {\n any: [/^ÎC/i, /^DC/i],\n wide: [\n /^(Înainte de Cristos|Înaintea erei noastre)/i,\n /^(După Cristos|Era noastră)/i,\n ],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^trimestrul [1234]/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[ifmaasond]/i,\n abbreviated: /^(ian|feb|mar|apr|mai|iun|iul|aug|sep|oct|noi|dec)/i,\n wide: /^(ianuarie|februarie|martie|aprilie|mai|iunie|iulie|august|septembrie|octombrie|noiembrie|decembrie)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^i/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^i/i,\n /^i/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ia/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^mai/i,\n /^iun/i,\n /^iul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[dlmjvs]/i,\n short: /^(d|l|ma|mi|j|v|s)/i,\n abbreviated: /^(dum|lun|mar|mie|jo|vi|sâ)/i,\n wide: /^(duminica|luni|marţi|miercuri|joi|vineri|sâmbătă)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^d/i, /^l/i, /^ma/i, /^mi/i, /^j/i, /^v/i, /^s/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|a|(dimineaţa|după-amiaza|seara|noaptea))/i,\n any: /^([ap]\\.?\\s?m\\.?|miezul nopții|amiaza|(dimineaţa|după-amiaza|seara|noaptea))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn/i,\n noon: /amiaza/i,\n morning: /dimineaţa/i,\n afternoon: /după-amiaza/i,\n evening: /seara/i,\n night: /noaptea/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./ro/_lib/formatDistance.js\";\nimport { formatLong } from \"./ro/_lib/formatLong.js\";\nimport { formatRelative } from \"./ro/_lib/formatRelative.js\";\nimport { localize } from \"./ro/_lib/localize.js\";\nimport { match } from \"./ro/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Romanian locale.\n * @language Romanian\n * @iso-639-2 ron\n * @author Sergiu Munteanu [@jsergiu](https://github.com/jsergiu)\n * @author Adrian Ocneanu [@aocneanu](https://github.com/aocneanu)\n * @author Mihai Ocneanu [@gandesc](https://github.com/gandesc)\n */\nexport const ro = {\n code: \"ro\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ro;\n"],"names":["formatDistanceLocale","formatDistance","token","count","options","result","tokenValue","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","_options","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","localize","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","ro"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -1,5 +1,5 @@
1
- import { o as s, q as u, r as o, v as g } from "./date-picker-variants-DLg-ZrIo.js";
2
- import { i as d } from "./isSameWeek-HddDAyJG.js";
1
+ import { o as s, q as u, r as o, v as g } from "./date-picker-variants-CYQAm1Gk.js";
2
+ import { i as d } from "./isSameWeek-BYl5poz_.js";
3
3
  function l(e, t) {
4
4
  if (e.one !== void 0 && t === 1)
5
5
  return e.one;
@@ -558,4 +558,4 @@ const P = {
558
558
  export {
559
559
  B as ru
560
560
  };
561
- //# sourceMappingURL=ru-CKAXNYVD.js.map
561
+ //# sourceMappingURL=ru-C-Mp40SC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ru-CKAXNYVD.js","sources":["../../node_modules/date-fns/locale/ru/_lib/formatDistance.js","../../node_modules/date-fns/locale/ru/_lib/formatLong.js","../../node_modules/date-fns/locale/ru/_lib/formatRelative.js","../../node_modules/date-fns/locale/ru/_lib/localize.js","../../node_modules/date-fns/locale/ru/_lib/match.js","../../node_modules/date-fns/locale/ru.js"],"sourcesContent":["function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n const rem10 = count % 10;\n const rem100 = count % 100;\n\n // 1, 21, 31, ...\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace(\"{{count}}\", String(count));\n\n // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace(\"{{count}}\", String(count));\n\n // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace(\"{{count}}\", String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return (count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return \"через \" + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + \" назад\";\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nconst formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: \"меньше секунды\",\n singularNominative: \"меньше {{count}} секунды\",\n singularGenitive: \"меньше {{count}} секунд\",\n pluralGenitive: \"меньше {{count}} секунд\",\n },\n future: {\n one: \"меньше, чем через секунду\",\n singularNominative: \"меньше, чем через {{count}} секунду\",\n singularGenitive: \"меньше, чем через {{count}} секунды\",\n pluralGenitive: \"меньше, чем через {{count}} секунд\",\n },\n }),\n\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} секунда\",\n singularGenitive: \"{{count}} секунды\",\n pluralGenitive: \"{{count}} секунд\",\n },\n past: {\n singularNominative: \"{{count}} секунду назад\",\n singularGenitive: \"{{count}} секунды назад\",\n pluralGenitive: \"{{count}} секунд назад\",\n },\n future: {\n singularNominative: \"через {{count}} секунду\",\n singularGenitive: \"через {{count}} секунды\",\n pluralGenitive: \"через {{count}} секунд\",\n },\n }),\n\n halfAMinute: (_count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"через полминуты\";\n } else {\n return \"полминуты назад\";\n }\n }\n\n return \"полминуты\";\n },\n\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: \"меньше минуты\",\n singularNominative: \"меньше {{count}} минуты\",\n singularGenitive: \"меньше {{count}} минут\",\n pluralGenitive: \"меньше {{count}} минут\",\n },\n future: {\n one: \"меньше, чем через минуту\",\n singularNominative: \"меньше, чем через {{count}} минуту\",\n singularGenitive: \"меньше, чем через {{count}} минуты\",\n pluralGenitive: \"меньше, чем через {{count}} минут\",\n },\n }),\n\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} минута\",\n singularGenitive: \"{{count}} минуты\",\n pluralGenitive: \"{{count}} минут\",\n },\n past: {\n singularNominative: \"{{count}} минуту назад\",\n singularGenitive: \"{{count}} минуты назад\",\n pluralGenitive: \"{{count}} минут назад\",\n },\n future: {\n singularNominative: \"через {{count}} минуту\",\n singularGenitive: \"через {{count}} минуты\",\n pluralGenitive: \"через {{count}} минут\",\n },\n }),\n\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} часа\",\n singularGenitive: \"около {{count}} часов\",\n pluralGenitive: \"около {{count}} часов\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} час\",\n singularGenitive: \"приблизительно через {{count}} часа\",\n pluralGenitive: \"приблизительно через {{count}} часов\",\n },\n }),\n\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} час\",\n singularGenitive: \"{{count}} часа\",\n pluralGenitive: \"{{count}} часов\",\n },\n }),\n\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} день\",\n singularGenitive: \"{{count}} дня\",\n pluralGenitive: \"{{count}} дней\",\n },\n }),\n\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} недели\",\n singularGenitive: \"около {{count}} недель\",\n pluralGenitive: \"около {{count}} недель\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} неделю\",\n singularGenitive: \"приблизительно через {{count}} недели\",\n pluralGenitive: \"приблизительно через {{count}} недель\",\n },\n }),\n\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} неделя\",\n singularGenitive: \"{{count}} недели\",\n pluralGenitive: \"{{count}} недель\",\n },\n }),\n\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} месяца\",\n singularGenitive: \"около {{count}} месяцев\",\n pluralGenitive: \"около {{count}} месяцев\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} месяц\",\n singularGenitive: \"приблизительно через {{count}} месяца\",\n pluralGenitive: \"приблизительно через {{count}} месяцев\",\n },\n }),\n\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} месяц\",\n singularGenitive: \"{{count}} месяца\",\n pluralGenitive: \"{{count}} месяцев\",\n },\n }),\n\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} года\",\n singularGenitive: \"около {{count}} лет\",\n pluralGenitive: \"около {{count}} лет\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} год\",\n singularGenitive: \"приблизительно через {{count}} года\",\n pluralGenitive: \"приблизительно через {{count}} лет\",\n },\n }),\n\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} год\",\n singularGenitive: \"{{count}} года\",\n pluralGenitive: \"{{count}} лет\",\n },\n }),\n\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"больше {{count}} года\",\n singularGenitive: \"больше {{count}} лет\",\n pluralGenitive: \"больше {{count}} лет\",\n },\n future: {\n singularNominative: \"больше, чем через {{count}} год\",\n singularGenitive: \"больше, чем через {{count}} года\",\n pluralGenitive: \"больше, чем через {{count}} лет\",\n },\n }),\n\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"почти {{count}} год\",\n singularGenitive: \"почти {{count}} года\",\n pluralGenitive: \"почти {{count}} лет\",\n },\n future: {\n singularNominative: \"почти через {{count}} год\",\n singularGenitive: \"почти через {{count}} года\",\n pluralGenitive: \"почти через {{count}} лет\",\n },\n }),\n};\n\nexport const formatDistance = (token, count, options) => {\n return formatDistanceLocale[token](count, options);\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM y 'г.'\",\n long: \"d MMMM y 'г.'\",\n medium: \"d MMM y 'г.'\",\n short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n full: \"H:mm:ss zzzz\",\n long: \"H:mm:ss z\",\n medium: \"H:mm:ss\",\n short: \"H:mm\",\n};\n\nconst dateTimeFormats = {\n any: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"any\",\n }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.js\";\n\nconst accusativeWeekdays = [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среду\",\n \"четверг\",\n \"пятницу\",\n \"субботу\",\n];\n\nfunction lastWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в прошлое \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в прошлый \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в прошлую \" + weekday + \" в' p\";\n }\n}\n\nfunction thisWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n if (day === 2 /* Tue */) {\n return \"'во \" + weekday + \" в' p\";\n } else {\n return \"'в \" + weekday + \" в' p\";\n }\n}\n\nfunction nextWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в следующее \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в следующий \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в следующую \" + weekday + \" в' p\";\n }\n}\n\nconst formatRelativeLocale = {\n lastWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n },\n yesterday: \"'вчера в' p\",\n today: \"'сегодня в' p\",\n tomorrow: \"'завтра в' p\",\n nextWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n },\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"до н.э.\", \"н.э.\"],\n abbreviated: [\"до н. э.\", \"н. э.\"],\n wide: [\"до нашей эры\", \"нашей эры\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"1-й кв.\", \"2-й кв.\", \"3-й кв.\", \"4-й кв.\"],\n wide: [\"1-й квартал\", \"2-й квартал\", \"3-й квартал\", \"4-й квартал\"],\n};\n\nconst monthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"март\",\n \"апр.\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"январь\",\n \"февраль\",\n \"март\",\n \"апрель\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"август\",\n \"сентябрь\",\n \"октябрь\",\n \"ноябрь\",\n \"декабрь\",\n ],\n};\n\nconst formattingMonthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"мар.\",\n \"апр.\",\n \"мая\",\n \"июн.\",\n \"июл.\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"января\",\n \"февраля\",\n \"марта\",\n \"апреля\",\n \"мая\",\n \"июня\",\n \"июля\",\n \"августа\",\n \"сентября\",\n \"октября\",\n \"ноября\",\n \"декабря\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"В\", \"П\", \"В\", \"С\", \"Ч\", \"П\", \"С\"],\n short: [\"вс\", \"пн\", \"вт\", \"ср\", \"чт\", \"пт\", \"сб\"],\n abbreviated: [\"вск\", \"пнд\", \"втр\", \"срд\", \"чтв\", \"птн\", \"суб\"],\n wide: [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среда\",\n \"четверг\",\n \"пятница\",\n \"суббота\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"вечер\",\n night: \"ночь\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"вечера\",\n night: \"ночи\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n const unit = options?.unit;\n\n let suffix;\n if (unit === \"date\") {\n suffix = \"-е\";\n } else if (unit === \"week\" || unit === \"minute\" || unit === \"second\") {\n suffix = \"-я\";\n } else {\n suffix = \"-й\";\n }\n\n return number + suffix;\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"any\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^((до )?н\\.?\\s?э\\.?)/i,\n abbreviated: /^((до )?н\\.?\\s?э\\.?)/i,\n wide: /^(до нашей эры|нашей эры|наша эра)/i,\n};\nconst parseEraPatterns = {\n any: [/^д/i, /^н/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,\n wide: /^[1234](-?[ыои]?й?)? квартал/i,\n};\n\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[яфмаисонд]/i,\n abbreviated:\n /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\\.?/i,\n wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i,\n};\n\nconst parseMonthPatterns = {\n narrow: [\n /^я/i,\n /^ф/i,\n /^м/i,\n /^а/i,\n /^м/i,\n /^и/i,\n /^и/i,\n /^а/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^я/i,\n ],\n\n any: [\n /^я/i,\n /^ф/i,\n /^мар/i,\n /^ап/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^ав/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^д/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[впсч]/i,\n short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\\.?/i,\n abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,\n wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i,\n};\n\nconst parseDayPatterns = {\n narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n abbreviated: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i,\n};\n\nconst parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^полн/i,\n noon: /^полд/i,\n morning: /^у/i,\n afternoon: /^д[ен]/i,\n evening: /^в/i,\n night: /^н/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./ru/_lib/formatDistance.js\";\nimport { formatLong } from \"./ru/_lib/formatLong.js\";\nimport { formatRelative } from \"./ru/_lib/formatRelative.js\";\nimport { localize } from \"./ru/_lib/localize.js\";\nimport { match } from \"./ru/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Russian locale.\n * @language Russian\n * @iso-639-2 rus\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const ru = {\n code: \"ru\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ru;\n"],"names":["declension","scheme","count","rem10","rem100","buildLocalizeTokenFn","options","formatDistanceLocale","_count","formatDistance","token","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","accusativeWeekdays","lastWeek","day","weekday","thisWeek","nextWeek","formatRelativeLocale","date","baseDate","isSameWeek","formatRelative","format","eraValues","quarterValues","monthValues","formattingMonthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","number","unit","suffix","localize","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","ru"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
1
+ {"version":3,"file":"ru-C-Mp40SC.js","sources":["../../node_modules/date-fns/locale/ru/_lib/formatDistance.js","../../node_modules/date-fns/locale/ru/_lib/formatLong.js","../../node_modules/date-fns/locale/ru/_lib/formatRelative.js","../../node_modules/date-fns/locale/ru/_lib/localize.js","../../node_modules/date-fns/locale/ru/_lib/match.js","../../node_modules/date-fns/locale/ru.js"],"sourcesContent":["function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n const rem10 = count % 10;\n const rem100 = count % 100;\n\n // 1, 21, 31, ...\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace(\"{{count}}\", String(count));\n\n // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace(\"{{count}}\", String(count));\n\n // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace(\"{{count}}\", String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return (count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return \"через \" + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + \" назад\";\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nconst formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: \"меньше секунды\",\n singularNominative: \"меньше {{count}} секунды\",\n singularGenitive: \"меньше {{count}} секунд\",\n pluralGenitive: \"меньше {{count}} секунд\",\n },\n future: {\n one: \"меньше, чем через секунду\",\n singularNominative: \"меньше, чем через {{count}} секунду\",\n singularGenitive: \"меньше, чем через {{count}} секунды\",\n pluralGenitive: \"меньше, чем через {{count}} секунд\",\n },\n }),\n\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} секунда\",\n singularGenitive: \"{{count}} секунды\",\n pluralGenitive: \"{{count}} секунд\",\n },\n past: {\n singularNominative: \"{{count}} секунду назад\",\n singularGenitive: \"{{count}} секунды назад\",\n pluralGenitive: \"{{count}} секунд назад\",\n },\n future: {\n singularNominative: \"через {{count}} секунду\",\n singularGenitive: \"через {{count}} секунды\",\n pluralGenitive: \"через {{count}} секунд\",\n },\n }),\n\n halfAMinute: (_count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"через полминуты\";\n } else {\n return \"полминуты назад\";\n }\n }\n\n return \"полминуты\";\n },\n\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: \"меньше минуты\",\n singularNominative: \"меньше {{count}} минуты\",\n singularGenitive: \"меньше {{count}} минут\",\n pluralGenitive: \"меньше {{count}} минут\",\n },\n future: {\n one: \"меньше, чем через минуту\",\n singularNominative: \"меньше, чем через {{count}} минуту\",\n singularGenitive: \"меньше, чем через {{count}} минуты\",\n pluralGenitive: \"меньше, чем через {{count}} минут\",\n },\n }),\n\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} минута\",\n singularGenitive: \"{{count}} минуты\",\n pluralGenitive: \"{{count}} минут\",\n },\n past: {\n singularNominative: \"{{count}} минуту назад\",\n singularGenitive: \"{{count}} минуты назад\",\n pluralGenitive: \"{{count}} минут назад\",\n },\n future: {\n singularNominative: \"через {{count}} минуту\",\n singularGenitive: \"через {{count}} минуты\",\n pluralGenitive: \"через {{count}} минут\",\n },\n }),\n\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} часа\",\n singularGenitive: \"около {{count}} часов\",\n pluralGenitive: \"около {{count}} часов\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} час\",\n singularGenitive: \"приблизительно через {{count}} часа\",\n pluralGenitive: \"приблизительно через {{count}} часов\",\n },\n }),\n\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} час\",\n singularGenitive: \"{{count}} часа\",\n pluralGenitive: \"{{count}} часов\",\n },\n }),\n\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} день\",\n singularGenitive: \"{{count}} дня\",\n pluralGenitive: \"{{count}} дней\",\n },\n }),\n\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} недели\",\n singularGenitive: \"около {{count}} недель\",\n pluralGenitive: \"около {{count}} недель\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} неделю\",\n singularGenitive: \"приблизительно через {{count}} недели\",\n pluralGenitive: \"приблизительно через {{count}} недель\",\n },\n }),\n\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} неделя\",\n singularGenitive: \"{{count}} недели\",\n pluralGenitive: \"{{count}} недель\",\n },\n }),\n\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} месяца\",\n singularGenitive: \"около {{count}} месяцев\",\n pluralGenitive: \"около {{count}} месяцев\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} месяц\",\n singularGenitive: \"приблизительно через {{count}} месяца\",\n pluralGenitive: \"приблизительно через {{count}} месяцев\",\n },\n }),\n\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} месяц\",\n singularGenitive: \"{{count}} месяца\",\n pluralGenitive: \"{{count}} месяцев\",\n },\n }),\n\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} года\",\n singularGenitive: \"около {{count}} лет\",\n pluralGenitive: \"около {{count}} лет\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} год\",\n singularGenitive: \"приблизительно через {{count}} года\",\n pluralGenitive: \"приблизительно через {{count}} лет\",\n },\n }),\n\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} год\",\n singularGenitive: \"{{count}} года\",\n pluralGenitive: \"{{count}} лет\",\n },\n }),\n\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"больше {{count}} года\",\n singularGenitive: \"больше {{count}} лет\",\n pluralGenitive: \"больше {{count}} лет\",\n },\n future: {\n singularNominative: \"больше, чем через {{count}} год\",\n singularGenitive: \"больше, чем через {{count}} года\",\n pluralGenitive: \"больше, чем через {{count}} лет\",\n },\n }),\n\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"почти {{count}} год\",\n singularGenitive: \"почти {{count}} года\",\n pluralGenitive: \"почти {{count}} лет\",\n },\n future: {\n singularNominative: \"почти через {{count}} год\",\n singularGenitive: \"почти через {{count}} года\",\n pluralGenitive: \"почти через {{count}} лет\",\n },\n }),\n};\n\nexport const formatDistance = (token, count, options) => {\n return formatDistanceLocale[token](count, options);\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM y 'г.'\",\n long: \"d MMMM y 'г.'\",\n medium: \"d MMM y 'г.'\",\n short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n full: \"H:mm:ss zzzz\",\n long: \"H:mm:ss z\",\n medium: \"H:mm:ss\",\n short: \"H:mm\",\n};\n\nconst dateTimeFormats = {\n any: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"any\",\n }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.js\";\n\nconst accusativeWeekdays = [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среду\",\n \"четверг\",\n \"пятницу\",\n \"субботу\",\n];\n\nfunction lastWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в прошлое \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в прошлый \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в прошлую \" + weekday + \" в' p\";\n }\n}\n\nfunction thisWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n if (day === 2 /* Tue */) {\n return \"'во \" + weekday + \" в' p\";\n } else {\n return \"'в \" + weekday + \" в' p\";\n }\n}\n\nfunction nextWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в следующее \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в следующий \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в следующую \" + weekday + \" в' p\";\n }\n}\n\nconst formatRelativeLocale = {\n lastWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n },\n yesterday: \"'вчера в' p\",\n today: \"'сегодня в' p\",\n tomorrow: \"'завтра в' p\",\n nextWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n },\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"до н.э.\", \"н.э.\"],\n abbreviated: [\"до н. э.\", \"н. э.\"],\n wide: [\"до нашей эры\", \"нашей эры\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"1-й кв.\", \"2-й кв.\", \"3-й кв.\", \"4-й кв.\"],\n wide: [\"1-й квартал\", \"2-й квартал\", \"3-й квартал\", \"4-й квартал\"],\n};\n\nconst monthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"март\",\n \"апр.\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"январь\",\n \"февраль\",\n \"март\",\n \"апрель\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"август\",\n \"сентябрь\",\n \"октябрь\",\n \"ноябрь\",\n \"декабрь\",\n ],\n};\n\nconst formattingMonthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"мар.\",\n \"апр.\",\n \"мая\",\n \"июн.\",\n \"июл.\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"января\",\n \"февраля\",\n \"марта\",\n \"апреля\",\n \"мая\",\n \"июня\",\n \"июля\",\n \"августа\",\n \"сентября\",\n \"октября\",\n \"ноября\",\n \"декабря\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"В\", \"П\", \"В\", \"С\", \"Ч\", \"П\", \"С\"],\n short: [\"вс\", \"пн\", \"вт\", \"ср\", \"чт\", \"пт\", \"сб\"],\n abbreviated: [\"вск\", \"пнд\", \"втр\", \"срд\", \"чтв\", \"птн\", \"суб\"],\n wide: [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среда\",\n \"четверг\",\n \"пятница\",\n \"суббота\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"вечер\",\n night: \"ночь\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"вечера\",\n night: \"ночи\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n const unit = options?.unit;\n\n let suffix;\n if (unit === \"date\") {\n suffix = \"-е\";\n } else if (unit === \"week\" || unit === \"minute\" || unit === \"second\") {\n suffix = \"-я\";\n } else {\n suffix = \"-й\";\n }\n\n return number + suffix;\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"any\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^((до )?н\\.?\\s?э\\.?)/i,\n abbreviated: /^((до )?н\\.?\\s?э\\.?)/i,\n wide: /^(до нашей эры|нашей эры|наша эра)/i,\n};\nconst parseEraPatterns = {\n any: [/^д/i, /^н/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,\n wide: /^[1234](-?[ыои]?й?)? квартал/i,\n};\n\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[яфмаисонд]/i,\n abbreviated:\n /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\\.?/i,\n wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i,\n};\n\nconst parseMonthPatterns = {\n narrow: [\n /^я/i,\n /^ф/i,\n /^м/i,\n /^а/i,\n /^м/i,\n /^и/i,\n /^и/i,\n /^а/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^я/i,\n ],\n\n any: [\n /^я/i,\n /^ф/i,\n /^мар/i,\n /^ап/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^ав/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^д/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[впсч]/i,\n short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\\.?/i,\n abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,\n wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i,\n};\n\nconst parseDayPatterns = {\n narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n abbreviated: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i,\n};\n\nconst parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^полн/i,\n noon: /^полд/i,\n morning: /^у/i,\n afternoon: /^д[ен]/i,\n evening: /^в/i,\n night: /^н/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./ru/_lib/formatDistance.js\";\nimport { formatLong } from \"./ru/_lib/formatLong.js\";\nimport { formatRelative } from \"./ru/_lib/formatRelative.js\";\nimport { localize } from \"./ru/_lib/localize.js\";\nimport { match } from \"./ru/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Russian locale.\n * @language Russian\n * @iso-639-2 rus\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const ru = {\n code: \"ru\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ru;\n"],"names":["declension","scheme","count","rem10","rem100","buildLocalizeTokenFn","options","formatDistanceLocale","_count","formatDistance","token","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","accusativeWeekdays","lastWeek","day","weekday","thisWeek","nextWeek","formatRelativeLocale","date","baseDate","isSameWeek","formatRelative","format","eraValues","quarterValues","monthValues","formattingMonthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","number","unit","suffix","localize","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","ru"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -2,7 +2,7 @@ import { jsxs as k, jsx as t } from "react/jsx-runtime";
2
2
  import { forwardRef as H, useEffect as b, useMemo as v, useRef as W, useState as X } from "react";
3
3
  import { c as Z } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as $ } from "react-i18next";
5
- import { B as G } from "./button-DD_0Xdmr.js";
5
+ import { B as G } from "./button-CPGiR_bH.js";
6
6
  import { P as J } from "./progress-DA413-zn.js";
7
7
  import { L as Q } from "./live-region-C41SO3cA.js";
8
8
  import { u as Y } from "./registry-DvAUVLHh.js";
@@ -211,4 +211,4 @@ export {
211
211
  gn as S,
212
212
  rn as s
213
213
  };
214
- //# sourceMappingURL=session-countdown-qr8EO5QY.js.map
214
+ //# sourceMappingURL=session-countdown-C8AsE072.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-countdown-qr8EO5QY.js","sources":["../../node_modules/lucide-react/dist/esm/icons/timer.mjs","../../src/components/session-countdown/session-countdown.agent.ts","../../src/components/session-countdown/session-countdown.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"line\", { x1: \"10\", x2: \"14\", y1: \"2\", y2: \"2\", key: \"14vaq8\" }],\n [\"line\", { x1: \"12\", x2: \"15\", y1: \"14\", y2: \"11\", key: \"17fdiu\" }],\n [\"circle\", { cx: \"12\", cy: \"14\", r: \"8\", key: \"1e1u0o\" }]\n];\nconst Timer = createLucideIcon(\"timer\", __iconNode);\n\nexport { __iconNode, Timer as default };\n//# sourceMappingURL=timer.mjs.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — SessionCountdown. */\n/* */\n/* A live status surface that renders the remaining time of a check-in */\n/* session and escalates tone toward expiry. Pure presentation — it owns */\n/* no consumer-actionable state (the deadline lives with the consumer */\n/* via `remainingMs` / `expiresAt`, and the only interactive element is */\n/* the consumer-wired Restart button). So this adapter registers only */\n/* the canonical `data-component=\"session-countdown\"` DOM hook; the root */\n/* also exposes `data-tone` so a future MCP UI bridge can read the */\n/* running / warning / expired state without parsing the visible digits. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\n\nexport const sessionCountdownAgent: AgentAdapter = {\n id: 'session-countdown',\n capabilities: [],\n state: {},\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'session-countdown',\n description:\n 'Marks the element as a kit SessionCountdown banner. The root also emits `data-tone=\"running\" | \"warning\" | \"expired\"` (derived from the remaining time). The accessible remaining-time announcement is surfaced via the region\\'s aria-label and a nested polite live region.',\n },\n },\n};\n","import {\n forwardRef,\n useEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { TriangleAlert, CircleX, Timer } from 'lucide-react';\nimport { Button } from '../button';\nimport { Progress } from '../progress';\nimport { LiveRegion } from '../live-region';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { sessionCountdownAgent } from './session-countdown.agent';\n\n/* ------------------------------------------------------------------ */\n/* Constants */\n/* ------------------------------------------------------------------ */\n\nconst SECOND_MS = 1000;\nconst MINUTE_MS = 60 * SECOND_MS;\nconst DEFAULT_TOTAL_MS = 15 * MINUTE_MS; // 900_000 — HTP-5118 check-in window\nconst DEFAULT_WARN_AT_MS = 2 * MINUTE_MS; // 120_000 — final 2 minutes\n\n/* ------------------------------------------------------------------ */\n/* CVA — public axis: size (sm | md | lg). The component renders the */\n/* banner as its sole presentation (the former `inline` variant was */\n/* removed — see breaking change note). */\n/* */\n/* `tone` (running | warning | expired) is DERIVED internally from the */\n/* remaining time and is NOT a consumer-set prop (see spec / synthesis */\n/* recommendedAdjustment). It still flows through the CVA recipe as an */\n/* internal variant key so the tone colours stay token-driven and */\n/* mirror Alert's info / warning / error surfaces. */\n/* ------------------------------------------------------------------ */\n\nconst countdownVariants = cva(\n [\n 'ds:break-words',\n 'ds:flex ds:w-full ds:flex-col',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:border ds:border-[length:var(--border-width-sm)]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:p-[var(--spacing-sm)] ds:gap-[var(--spacing-xs)]',\n md: 'ds:p-[var(--spacing-md)] ds:gap-[var(--spacing-sm)]',\n lg: 'ds:p-[var(--spacing-lg)] ds:gap-[var(--spacing-sm)]',\n },\n // Internal-only — derived from remaining time, never surfaced to Controls.\n tone: {\n running: [\n 'ds:border-[color:var(--info)]',\n 'ds:bg-[color-mix(in_srgb,var(--info)_10%,transparent)]',\n 'ds:text-[color:var(--info-foreground)]',\n ].join(' '),\n warning: [\n 'ds:border-[color:var(--warning)]',\n 'ds:bg-[color-mix(in_srgb,var(--warning)_10%,transparent)]',\n 'ds:text-[color:var(--warning-foreground)]',\n ].join(' '),\n expired: [\n 'ds:border-[color:var(--error)]',\n 'ds:bg-[color-mix(in_srgb,var(--error)_10%,transparent)]',\n 'ds:text-[color:var(--error-foreground)]',\n // The tonal Restart button inherits the error tint via the\n // established Alert child-selector trick — contrast-validated.\n 'ds:[&_[data-intent=tonal]]:bg-[color:var(--error-foreground)]',\n 'ds:[&_[data-intent=tonal]]:text-[color:var(--background)]',\n ].join(' '),\n },\n },\n defaultVariants: {\n size: 'md',\n tone: 'running',\n },\n },\n);\n\nconst ICON_SIZE_CLASS = {\n sm: 'ds:size-4',\n md: 'ds:size-5',\n lg: 'ds:size-6',\n} as const;\n\n/* ------------------------------------------------------------------ */\n/* Derived tone */\n/* ------------------------------------------------------------------ */\n\ntype Tone = 'running' | 'warning' | 'expired';\n\nfunction deriveTone(remaining: number, warnAtMs: number): Tone {\n if (remaining <= 0) return 'expired';\n if (remaining <= warnAtMs) return 'warning';\n return 'running';\n}\n\n/* ------------------------------------------------------------------ */\n/* Announcement bucketing */\n/* */\n/* The visual digits update every second, but AT must hear only coarse */\n/* buckets to avoid flooding: minute boundaries while remaining > 60s, */\n/* then once at 30s and 10s, then expiry. We key the polite */\n/* announcement on the bucket — NOT on the per-second value — so NVDA */\n/* / VoiceOver never interrupt themselves continuously. */\n/* */\n/* The returned value is the count spoken to AT, in SECONDS, and is */\n/* FLOORED to the threshold the user has actually crossed into so the */\n/* announcement never claims MORE time than truly remains (a deadline */\n/* countdown must round down, never up). e.g. at 45s the bucket is 30 */\n/* — \"30 seconds remaining\" — never \"60 seconds\". Above 60s we floor */\n/* to whole minutes (4m37s → 4 minutes), so it re-keys on each minute */\n/* boundary while staying truthful. */\n/* ------------------------------------------------------------------ */\n\nfunction announcementBucket(remaining: number): number {\n if (remaining <= 0) return 0;\n if (remaining <= 30 * SECOND_MS) return 10;\n if (remaining <= 60 * SECOND_MS) return 30;\n // Coarse minute bucket above 60s: 60, 120, 180 … (in seconds), floored\n // so the spoken minute count is always <= the true remaining time.\n return Math.floor(remaining / MINUTE_MS) * 60;\n}\n\n/* ------------------------------------------------------------------ */\n/* Time math */\n/* ------------------------------------------------------------------ */\n\nfunction toEpoch(value: number | string | Date): number {\n if (value instanceof Date) return value.getTime();\n if (typeof value === 'number') return value;\n return new Date(value).getTime();\n}\n\n/**\n * Internal-tick hook for the `expiresAt` path. Returns the live remaining\n * milliseconds (clamped >= 0) and re-renders every `tickMs` until expiry.\n * When `controlledRemaining` is supplied it is the source of truth and the\n * timer never starts — the deterministic path for stories / tests.\n */\nfunction useRemainingMs(\n controlledRemaining: number | undefined,\n expiresAtEpoch: number | undefined,\n tickMs: number,\n): number {\n const [now, setNow] = useState<number>(() => Date.now());\n\n const isControlled = controlledRemaining !== undefined;\n\n useEffect(() => {\n if (isControlled || expiresAtEpoch === undefined) return;\n // Re-sync on mount so a late mount / clock-skew reads correctly.\n setNow(Date.now());\n if (expiresAtEpoch - Date.now() <= 0) return; // already expired — no timer\n const id = window.setInterval(\n () => {\n const current = Date.now();\n setNow(current);\n if (expiresAtEpoch - current <= 0) {\n window.clearInterval(id);\n }\n },\n Math.max(1, tickMs),\n );\n return () => window.clearInterval(id);\n }, [isControlled, expiresAtEpoch, tickMs]);\n\n if (isControlled) return Math.max(0, controlledRemaining);\n if (expiresAtEpoch === undefined) return 0;\n return Math.max(0, expiresAtEpoch - now);\n}\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\ntype CountdownVariantProps = Pick<\n VariantProps<typeof countdownVariants>,\n 'size'\n>;\n\nexport interface SessionCountdownProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'role'>, CountdownVariantProps {\n /** Controlled remaining milliseconds. Source of truth; no internal tick. */\n remainingMs?: number;\n /** Absolute deadline (ms-epoch, ISO string, or Date). Ticks internally. */\n expiresAt?: number | string | Date;\n /** Full session duration in ms — progress denominator. Default 900000. */\n totalMs?: number;\n /** Remaining threshold (ms) at/below which tone escalates to warning. */\n warnAtMs?: number;\n /** Type / padding scale. Default `md`. */\n size?: 'sm' | 'md' | 'lg';\n /** Determinate Progress bar of elapsed fraction. */\n showProgress?: boolean;\n /** Fired exactly once when remaining crosses to 0. Idempotent. */\n onExpire?: () => void;\n /** Restart CTA handler (expired banner). Omit → no button rendered. */\n onRestart?: () => void;\n /** Restart in flight — disables + spins the Restart button. */\n restarting?: boolean;\n /** Internal tick cadence (ms) for the `expiresAt` path. Default 1000. */\n tickMs?: number;\n /** Locale override for number formatting. Falls back to i18n.language. */\n locale?: string;\n /** Override the accessible name of the timer region. */\n label?: string;\n /** Merged onto the outermost element. CVA-composed, never inline style. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* SessionCountdown */\n/* ------------------------------------------------------------------ */\n\nexport const SessionCountdown = forwardRef<\n HTMLDivElement,\n SessionCountdownProps\n>(\n (\n {\n remainingMs,\n expiresAt,\n totalMs = DEFAULT_TOTAL_MS,\n warnAtMs = DEFAULT_WARN_AT_MS,\n size = 'md',\n showProgress = false,\n onExpire,\n onRestart,\n restarting = false,\n tickMs = 1000,\n locale: localeProp,\n label,\n className,\n id,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const locale = localeProp ?? i18n.language ?? 'en';\n\n // DEV warning when both controlled + deadline are passed; remainingMs wins.\n useEffect(() => {\n if (\n import.meta.env.DEV &&\n remainingMs !== undefined &&\n expiresAt !== undefined\n ) {\n console.warn(\n 'SessionCountdown: both `remainingMs` and `expiresAt` provided; `remainingMs` wins and the deadline is ignored.',\n );\n }\n }, [remainingMs, expiresAt]);\n\n const expiresAtEpoch = useMemo(\n () =>\n remainingMs === undefined && expiresAt !== undefined\n ? toEpoch(expiresAt)\n : undefined,\n [remainingMs, expiresAt],\n );\n\n const remaining = useRemainingMs(remainingMs, expiresAtEpoch, tickMs);\n const tone = deriveTone(remaining, warnAtMs);\n const isExpired = tone === 'expired';\n\n /* ── onExpire — fire exactly once via a ref guard ─────────────── */\n const expireFiredRef = useRef(false);\n useEffect(() => {\n if (remaining <= 0 && !expireFiredRef.current) {\n expireFiredRef.current = true;\n onExpire?.();\n }\n // Allow a fresh expiry if the timer is restarted (remaining climbs > 0).\n if (remaining > 0 && expireFiredRef.current) {\n expireFiredRef.current = false;\n }\n }, [remaining, onExpire]);\n\n /* ── Number formatting (Intl, no deps) ────────────────────────── */\n const nf = useMemo(\n () => new Intl.NumberFormat(locale, { maximumFractionDigits: 0 }),\n [locale],\n );\n const totalSeconds = Math.ceil(remaining / SECOND_MS);\n const minutes = Math.floor(totalSeconds / 60);\n const seconds = totalSeconds % 60;\n\n // Visible compact time string. Under 60s we drop the minutes segment.\n const timeText =\n minutes > 0\n ? t('sessionCountdown.timeMinutesSeconds', {\n minutes: nf.format(minutes),\n seconds: nf.format(seconds),\n })\n : t('sessionCountdown.timeSecondsOnly', {\n seconds: nf.format(seconds),\n });\n\n /* ── Coarse announcement (decoupled from the per-second tick) ─── */\n const bucket = announcementBucket(remaining);\n const announcement = useMemo(() => {\n if (bucket <= 0) {\n return t('sessionCountdown.expiredAnnouncement');\n }\n // Sub-minute buckets (30, 10) speak seconds; whole-minute buckets\n // (60, 120, …) speak minutes. The bucket is already floored so the\n // spoken count never exceeds the true remaining time.\n if (bucket < 60) {\n return t('sessionCountdown.secondsRemaining', { count: bucket });\n }\n return t('sessionCountdown.minutesRemaining', { count: bucket / 60 });\n }, [bucket, t]);\n\n // Clean, standalone expiry announcement — surfaced verbatim (NOT folded\n // into the ariaLabel template, which would double-interpolate into\n // \"Session expires in Session expired.\").\n const expiredAnnouncement = t('sessionCountdown.expiredAnnouncement');\n\n // Accessible name for the region:\n // - running / warning → the terse ariaLabel template (\"Session expires\n // in 5 minutes remaining\"), refreshed only when the bucket changes.\n // - expired → no aria-label; the root becomes role=\"alert\" and takes its\n // accessible name from the real `expiredAnnouncement` text node inside\n // it, so screen readers that announce a live region's TEXT (not its\n // aria-label) still voice the expiry. A `label` override wins in all\n // states.\n const regionLabel =\n label ??\n (isExpired\n ? undefined\n : t('sessionCountdown.ariaLabel', { time: announcement }));\n\n const composedClass = countdownVariants({\n size,\n tone,\n className,\n });\n\n // role escalation modelled on Alert: timer while running / warning,\n // alert (implicitly an assertive live region) on expiry. The root does\n // NOT carry `aria-live` while running — the per-second visual value is\n // aria-hidden and the coarse running announcements come from the nested\n // polite LiveRegion. On expiry the root's `role=\"alert\"` carries a real\n // (non-aria-hidden) text node with `expiredAnnouncement`, so the message\n // is announced via live-region TEXT rather than an aria-label-only name\n // — reliable across NVDA / VoiceOver — and exactly once (the text does\n // not change on later ticks). The nested polite region is emptied on\n // expiry so the two regions never double-announce.\n const role = isExpired ? 'alert' : 'timer';\n\n useAgentRegistration(sessionCountdownAgent, null, id);\n\n /* ── banner ───────────────────────────────────────────────────── */\n const Icon = isExpired\n ? CircleX\n : tone === 'warning'\n ? TriangleAlert\n : Timer;\n const elapsed = Math.min(totalMs, Math.max(0, totalMs - remaining));\n\n const messageKey = isExpired\n ? 'sessionCountdown.expired'\n : tone === 'warning'\n ? 'sessionCountdown.warning'\n : 'sessionCountdown.remainingBanner';\n const message = t(messageKey, { time: timeText });\n\n return (\n <div\n ref={ref}\n id={id}\n role={role}\n aria-label={regionLabel}\n data-component=\"session-countdown\"\n data-tone={tone}\n className={composedClass}\n {...rest}\n >\n {/* On expiry the root is role=\"alert\"; this real (non-aria-hidden)\n sr-only text node gives the alert its announced content and\n accessible name (the visible banner sentence stays aria-hidden so\n it is not read twice). It appears once, on the expiry render, so\n the message is voiced exactly once and stays quiet on later ticks. */}\n {isExpired ? (\n <span className=\"ds:sr-only\">{expiredAnnouncement}</span>\n ) : null}\n <div className=\"ds:flex ds:w-full ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span className={`ds:shrink-0 ${ICON_SIZE_CLASS[size]}`}>\n <Icon aria-hidden=\"true\" className=\"ds:size-full\" />\n </span>\n <p\n className={[\n 'ds:min-w-0 ds:flex-1',\n size === 'lg' ? 'type-body' : 'type-body-sm',\n ].join(' ')}\n aria-hidden=\"true\"\n >\n {message}\n </p>\n {isExpired && onRestart ? (\n <Button\n type=\"button\"\n intent=\"tonal\"\n size={size === 'lg' ? 'lg' : 'md'}\n loading={restarting}\n disabled={restarting}\n onClick={onRestart}\n className=\"ds:shrink-0\"\n >\n {t('sessionCountdown.restart')}\n </Button>\n ) : null}\n </div>\n\n {showProgress && !isExpired ? (\n // Elapsed fraction flows through the existing Progress API\n // (value/max) — never a hand-rolled inline-width bar. The bar\n // is aria-hidden: the timer region already conveys remaining\n // time, so a second progressbar would double-announce.\n <div aria-hidden=\"true\" className=\"ds:w-full\">\n <Progress\n value={elapsed}\n max={totalMs}\n shape=\"bar\"\n size={size}\n ariaLabel={t('sessionCountdown.progressLabel')}\n />\n </div>\n ) : null}\n\n {/* Coarse running announcement, keyed on the bucket. Polite\n (role=\"status\"). Suppressed on expiry — the root alert above\n carries the expiry message, so the two never double-announce. */}\n <LiveRegion politeness=\"polite\" atomic>\n {isExpired ? '' : announcement}\n </LiveRegion>\n </div>\n );\n },\n);\n\nSessionCountdown.displayName = 'SessionCountdown';\n"],"names":["__iconNode","Timer","createLucideIcon","sessionCountdownAgent","SECOND_MS","MINUTE_MS","DEFAULT_TOTAL_MS","DEFAULT_WARN_AT_MS","countdownVariants","cva","ICON_SIZE_CLASS","deriveTone","remaining","warnAtMs","announcementBucket","toEpoch","value","useRemainingMs","controlledRemaining","expiresAtEpoch","tickMs","now","setNow","useState","isControlled","useEffect","id","current","SessionCountdown","forwardRef","remainingMs","expiresAt","totalMs","size","showProgress","onExpire","onRestart","restarting","localeProp","label","className","rest","ref","t","i18n","useTranslation","locale","useMemo","tone","isExpired","expireFiredRef","useRef","nf","totalSeconds","minutes","seconds","timeText","bucket","announcement","expiredAnnouncement","regionLabel","composedClass","role","useAgentRegistration","Icon","CircleX","TriangleAlert","elapsed","message","jsxs","jsx","Button","Progress","LiveRegion"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"session-countdown-C8AsE072.js","sources":["../../node_modules/lucide-react/dist/esm/icons/timer.mjs","../../src/components/session-countdown/session-countdown.agent.ts","../../src/components/session-countdown/session-countdown.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"line\", { x1: \"10\", x2: \"14\", y1: \"2\", y2: \"2\", key: \"14vaq8\" }],\n [\"line\", { x1: \"12\", x2: \"15\", y1: \"14\", y2: \"11\", key: \"17fdiu\" }],\n [\"circle\", { cx: \"12\", cy: \"14\", r: \"8\", key: \"1e1u0o\" }]\n];\nconst Timer = createLucideIcon(\"timer\", __iconNode);\n\nexport { __iconNode, Timer as default };\n//# sourceMappingURL=timer.mjs.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — SessionCountdown. */\n/* */\n/* A live status surface that renders the remaining time of a check-in */\n/* session and escalates tone toward expiry. Pure presentation — it owns */\n/* no consumer-actionable state (the deadline lives with the consumer */\n/* via `remainingMs` / `expiresAt`, and the only interactive element is */\n/* the consumer-wired Restart button). So this adapter registers only */\n/* the canonical `data-component=\"session-countdown\"` DOM hook; the root */\n/* also exposes `data-tone` so a future MCP UI bridge can read the */\n/* running / warning / expired state without parsing the visible digits. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\n\nexport const sessionCountdownAgent: AgentAdapter = {\n id: 'session-countdown',\n capabilities: [],\n state: {},\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'session-countdown',\n description:\n 'Marks the element as a kit SessionCountdown banner. The root also emits `data-tone=\"running\" | \"warning\" | \"expired\"` (derived from the remaining time). The accessible remaining-time announcement is surfaced via the region\\'s aria-label and a nested polite live region.',\n },\n },\n};\n","import {\n forwardRef,\n useEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { TriangleAlert, CircleX, Timer } from 'lucide-react';\nimport { Button } from '../button';\nimport { Progress } from '../progress';\nimport { LiveRegion } from '../live-region';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { sessionCountdownAgent } from './session-countdown.agent';\n\n/* ------------------------------------------------------------------ */\n/* Constants */\n/* ------------------------------------------------------------------ */\n\nconst SECOND_MS = 1000;\nconst MINUTE_MS = 60 * SECOND_MS;\nconst DEFAULT_TOTAL_MS = 15 * MINUTE_MS; // 900_000 — HTP-5118 check-in window\nconst DEFAULT_WARN_AT_MS = 2 * MINUTE_MS; // 120_000 — final 2 minutes\n\n/* ------------------------------------------------------------------ */\n/* CVA — public axis: size (sm | md | lg). The component renders the */\n/* banner as its sole presentation (the former `inline` variant was */\n/* removed — see breaking change note). */\n/* */\n/* `tone` (running | warning | expired) is DERIVED internally from the */\n/* remaining time and is NOT a consumer-set prop (see spec / synthesis */\n/* recommendedAdjustment). It still flows through the CVA recipe as an */\n/* internal variant key so the tone colours stay token-driven and */\n/* mirror Alert's info / warning / error surfaces. */\n/* ------------------------------------------------------------------ */\n\nconst countdownVariants = cva(\n [\n 'ds:break-words',\n 'ds:flex ds:w-full ds:flex-col',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:border ds:border-[length:var(--border-width-sm)]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:p-[var(--spacing-sm)] ds:gap-[var(--spacing-xs)]',\n md: 'ds:p-[var(--spacing-md)] ds:gap-[var(--spacing-sm)]',\n lg: 'ds:p-[var(--spacing-lg)] ds:gap-[var(--spacing-sm)]',\n },\n // Internal-only — derived from remaining time, never surfaced to Controls.\n tone: {\n running: [\n 'ds:border-[color:var(--info)]',\n 'ds:bg-[color-mix(in_srgb,var(--info)_10%,transparent)]',\n 'ds:text-[color:var(--info-foreground)]',\n ].join(' '),\n warning: [\n 'ds:border-[color:var(--warning)]',\n 'ds:bg-[color-mix(in_srgb,var(--warning)_10%,transparent)]',\n 'ds:text-[color:var(--warning-foreground)]',\n ].join(' '),\n expired: [\n 'ds:border-[color:var(--error)]',\n 'ds:bg-[color-mix(in_srgb,var(--error)_10%,transparent)]',\n 'ds:text-[color:var(--error-foreground)]',\n // The tonal Restart button inherits the error tint via the\n // established Alert child-selector trick — contrast-validated.\n 'ds:[&_[data-intent=tonal]]:bg-[color:var(--error-foreground)]',\n 'ds:[&_[data-intent=tonal]]:text-[color:var(--background)]',\n ].join(' '),\n },\n },\n defaultVariants: {\n size: 'md',\n tone: 'running',\n },\n },\n);\n\nconst ICON_SIZE_CLASS = {\n sm: 'ds:size-4',\n md: 'ds:size-5',\n lg: 'ds:size-6',\n} as const;\n\n/* ------------------------------------------------------------------ */\n/* Derived tone */\n/* ------------------------------------------------------------------ */\n\ntype Tone = 'running' | 'warning' | 'expired';\n\nfunction deriveTone(remaining: number, warnAtMs: number): Tone {\n if (remaining <= 0) return 'expired';\n if (remaining <= warnAtMs) return 'warning';\n return 'running';\n}\n\n/* ------------------------------------------------------------------ */\n/* Announcement bucketing */\n/* */\n/* The visual digits update every second, but AT must hear only coarse */\n/* buckets to avoid flooding: minute boundaries while remaining > 60s, */\n/* then once at 30s and 10s, then expiry. We key the polite */\n/* announcement on the bucket — NOT on the per-second value — so NVDA */\n/* / VoiceOver never interrupt themselves continuously. */\n/* */\n/* The returned value is the count spoken to AT, in SECONDS, and is */\n/* FLOORED to the threshold the user has actually crossed into so the */\n/* announcement never claims MORE time than truly remains (a deadline */\n/* countdown must round down, never up). e.g. at 45s the bucket is 30 */\n/* — \"30 seconds remaining\" — never \"60 seconds\". Above 60s we floor */\n/* to whole minutes (4m37s → 4 minutes), so it re-keys on each minute */\n/* boundary while staying truthful. */\n/* ------------------------------------------------------------------ */\n\nfunction announcementBucket(remaining: number): number {\n if (remaining <= 0) return 0;\n if (remaining <= 30 * SECOND_MS) return 10;\n if (remaining <= 60 * SECOND_MS) return 30;\n // Coarse minute bucket above 60s: 60, 120, 180 … (in seconds), floored\n // so the spoken minute count is always <= the true remaining time.\n return Math.floor(remaining / MINUTE_MS) * 60;\n}\n\n/* ------------------------------------------------------------------ */\n/* Time math */\n/* ------------------------------------------------------------------ */\n\nfunction toEpoch(value: number | string | Date): number {\n if (value instanceof Date) return value.getTime();\n if (typeof value === 'number') return value;\n return new Date(value).getTime();\n}\n\n/**\n * Internal-tick hook for the `expiresAt` path. Returns the live remaining\n * milliseconds (clamped >= 0) and re-renders every `tickMs` until expiry.\n * When `controlledRemaining` is supplied it is the source of truth and the\n * timer never starts — the deterministic path for stories / tests.\n */\nfunction useRemainingMs(\n controlledRemaining: number | undefined,\n expiresAtEpoch: number | undefined,\n tickMs: number,\n): number {\n const [now, setNow] = useState<number>(() => Date.now());\n\n const isControlled = controlledRemaining !== undefined;\n\n useEffect(() => {\n if (isControlled || expiresAtEpoch === undefined) return;\n // Re-sync on mount so a late mount / clock-skew reads correctly.\n setNow(Date.now());\n if (expiresAtEpoch - Date.now() <= 0) return; // already expired — no timer\n const id = window.setInterval(\n () => {\n const current = Date.now();\n setNow(current);\n if (expiresAtEpoch - current <= 0) {\n window.clearInterval(id);\n }\n },\n Math.max(1, tickMs),\n );\n return () => window.clearInterval(id);\n }, [isControlled, expiresAtEpoch, tickMs]);\n\n if (isControlled) return Math.max(0, controlledRemaining);\n if (expiresAtEpoch === undefined) return 0;\n return Math.max(0, expiresAtEpoch - now);\n}\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\ntype CountdownVariantProps = Pick<\n VariantProps<typeof countdownVariants>,\n 'size'\n>;\n\nexport interface SessionCountdownProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'role'>, CountdownVariantProps {\n /** Controlled remaining milliseconds. Source of truth; no internal tick. */\n remainingMs?: number;\n /** Absolute deadline (ms-epoch, ISO string, or Date). Ticks internally. */\n expiresAt?: number | string | Date;\n /** Full session duration in ms — progress denominator. Default 900000. */\n totalMs?: number;\n /** Remaining threshold (ms) at/below which tone escalates to warning. */\n warnAtMs?: number;\n /** Type / padding scale. Default `md`. */\n size?: 'sm' | 'md' | 'lg';\n /** Determinate Progress bar of elapsed fraction. */\n showProgress?: boolean;\n /** Fired exactly once when remaining crosses to 0. Idempotent. */\n onExpire?: () => void;\n /** Restart CTA handler (expired banner). Omit → no button rendered. */\n onRestart?: () => void;\n /** Restart in flight — disables + spins the Restart button. */\n restarting?: boolean;\n /** Internal tick cadence (ms) for the `expiresAt` path. Default 1000. */\n tickMs?: number;\n /** Locale override for number formatting. Falls back to i18n.language. */\n locale?: string;\n /** Override the accessible name of the timer region. */\n label?: string;\n /** Merged onto the outermost element. CVA-composed, never inline style. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* SessionCountdown */\n/* ------------------------------------------------------------------ */\n\nexport const SessionCountdown = forwardRef<\n HTMLDivElement,\n SessionCountdownProps\n>(\n (\n {\n remainingMs,\n expiresAt,\n totalMs = DEFAULT_TOTAL_MS,\n warnAtMs = DEFAULT_WARN_AT_MS,\n size = 'md',\n showProgress = false,\n onExpire,\n onRestart,\n restarting = false,\n tickMs = 1000,\n locale: localeProp,\n label,\n className,\n id,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const locale = localeProp ?? i18n.language ?? 'en';\n\n // DEV warning when both controlled + deadline are passed; remainingMs wins.\n useEffect(() => {\n if (\n import.meta.env.DEV &&\n remainingMs !== undefined &&\n expiresAt !== undefined\n ) {\n console.warn(\n 'SessionCountdown: both `remainingMs` and `expiresAt` provided; `remainingMs` wins and the deadline is ignored.',\n );\n }\n }, [remainingMs, expiresAt]);\n\n const expiresAtEpoch = useMemo(\n () =>\n remainingMs === undefined && expiresAt !== undefined\n ? toEpoch(expiresAt)\n : undefined,\n [remainingMs, expiresAt],\n );\n\n const remaining = useRemainingMs(remainingMs, expiresAtEpoch, tickMs);\n const tone = deriveTone(remaining, warnAtMs);\n const isExpired = tone === 'expired';\n\n /* ── onExpire — fire exactly once via a ref guard ─────────────── */\n const expireFiredRef = useRef(false);\n useEffect(() => {\n if (remaining <= 0 && !expireFiredRef.current) {\n expireFiredRef.current = true;\n onExpire?.();\n }\n // Allow a fresh expiry if the timer is restarted (remaining climbs > 0).\n if (remaining > 0 && expireFiredRef.current) {\n expireFiredRef.current = false;\n }\n }, [remaining, onExpire]);\n\n /* ── Number formatting (Intl, no deps) ────────────────────────── */\n const nf = useMemo(\n () => new Intl.NumberFormat(locale, { maximumFractionDigits: 0 }),\n [locale],\n );\n const totalSeconds = Math.ceil(remaining / SECOND_MS);\n const minutes = Math.floor(totalSeconds / 60);\n const seconds = totalSeconds % 60;\n\n // Visible compact time string. Under 60s we drop the minutes segment.\n const timeText =\n minutes > 0\n ? t('sessionCountdown.timeMinutesSeconds', {\n minutes: nf.format(minutes),\n seconds: nf.format(seconds),\n })\n : t('sessionCountdown.timeSecondsOnly', {\n seconds: nf.format(seconds),\n });\n\n /* ── Coarse announcement (decoupled from the per-second tick) ─── */\n const bucket = announcementBucket(remaining);\n const announcement = useMemo(() => {\n if (bucket <= 0) {\n return t('sessionCountdown.expiredAnnouncement');\n }\n // Sub-minute buckets (30, 10) speak seconds; whole-minute buckets\n // (60, 120, …) speak minutes. The bucket is already floored so the\n // spoken count never exceeds the true remaining time.\n if (bucket < 60) {\n return t('sessionCountdown.secondsRemaining', { count: bucket });\n }\n return t('sessionCountdown.minutesRemaining', { count: bucket / 60 });\n }, [bucket, t]);\n\n // Clean, standalone expiry announcement — surfaced verbatim (NOT folded\n // into the ariaLabel template, which would double-interpolate into\n // \"Session expires in Session expired.\").\n const expiredAnnouncement = t('sessionCountdown.expiredAnnouncement');\n\n // Accessible name for the region:\n // - running / warning → the terse ariaLabel template (\"Session expires\n // in 5 minutes remaining\"), refreshed only when the bucket changes.\n // - expired → no aria-label; the root becomes role=\"alert\" and takes its\n // accessible name from the real `expiredAnnouncement` text node inside\n // it, so screen readers that announce a live region's TEXT (not its\n // aria-label) still voice the expiry. A `label` override wins in all\n // states.\n const regionLabel =\n label ??\n (isExpired\n ? undefined\n : t('sessionCountdown.ariaLabel', { time: announcement }));\n\n const composedClass = countdownVariants({\n size,\n tone,\n className,\n });\n\n // role escalation modelled on Alert: timer while running / warning,\n // alert (implicitly an assertive live region) on expiry. The root does\n // NOT carry `aria-live` while running — the per-second visual value is\n // aria-hidden and the coarse running announcements come from the nested\n // polite LiveRegion. On expiry the root's `role=\"alert\"` carries a real\n // (non-aria-hidden) text node with `expiredAnnouncement`, so the message\n // is announced via live-region TEXT rather than an aria-label-only name\n // — reliable across NVDA / VoiceOver — and exactly once (the text does\n // not change on later ticks). The nested polite region is emptied on\n // expiry so the two regions never double-announce.\n const role = isExpired ? 'alert' : 'timer';\n\n useAgentRegistration(sessionCountdownAgent, null, id);\n\n /* ── banner ───────────────────────────────────────────────────── */\n const Icon = isExpired\n ? CircleX\n : tone === 'warning'\n ? TriangleAlert\n : Timer;\n const elapsed = Math.min(totalMs, Math.max(0, totalMs - remaining));\n\n const messageKey = isExpired\n ? 'sessionCountdown.expired'\n : tone === 'warning'\n ? 'sessionCountdown.warning'\n : 'sessionCountdown.remainingBanner';\n const message = t(messageKey, { time: timeText });\n\n return (\n <div\n ref={ref}\n id={id}\n role={role}\n aria-label={regionLabel}\n data-component=\"session-countdown\"\n data-tone={tone}\n className={composedClass}\n {...rest}\n >\n {/* On expiry the root is role=\"alert\"; this real (non-aria-hidden)\n sr-only text node gives the alert its announced content and\n accessible name (the visible banner sentence stays aria-hidden so\n it is not read twice). It appears once, on the expiry render, so\n the message is voiced exactly once and stays quiet on later ticks. */}\n {isExpired ? (\n <span className=\"ds:sr-only\">{expiredAnnouncement}</span>\n ) : null}\n <div className=\"ds:flex ds:w-full ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span className={`ds:shrink-0 ${ICON_SIZE_CLASS[size]}`}>\n <Icon aria-hidden=\"true\" className=\"ds:size-full\" />\n </span>\n <p\n className={[\n 'ds:min-w-0 ds:flex-1',\n size === 'lg' ? 'type-body' : 'type-body-sm',\n ].join(' ')}\n aria-hidden=\"true\"\n >\n {message}\n </p>\n {isExpired && onRestart ? (\n <Button\n type=\"button\"\n intent=\"tonal\"\n size={size === 'lg' ? 'lg' : 'md'}\n loading={restarting}\n disabled={restarting}\n onClick={onRestart}\n className=\"ds:shrink-0\"\n >\n {t('sessionCountdown.restart')}\n </Button>\n ) : null}\n </div>\n\n {showProgress && !isExpired ? (\n // Elapsed fraction flows through the existing Progress API\n // (value/max) — never a hand-rolled inline-width bar. The bar\n // is aria-hidden: the timer region already conveys remaining\n // time, so a second progressbar would double-announce.\n <div aria-hidden=\"true\" className=\"ds:w-full\">\n <Progress\n value={elapsed}\n max={totalMs}\n shape=\"bar\"\n size={size}\n ariaLabel={t('sessionCountdown.progressLabel')}\n />\n </div>\n ) : null}\n\n {/* Coarse running announcement, keyed on the bucket. Polite\n (role=\"status\"). Suppressed on expiry — the root alert above\n carries the expiry message, so the two never double-announce. */}\n <LiveRegion politeness=\"polite\" atomic>\n {isExpired ? '' : announcement}\n </LiveRegion>\n </div>\n );\n },\n);\n\nSessionCountdown.displayName = 'SessionCountdown';\n"],"names":["__iconNode","Timer","createLucideIcon","sessionCountdownAgent","SECOND_MS","MINUTE_MS","DEFAULT_TOTAL_MS","DEFAULT_WARN_AT_MS","countdownVariants","cva","ICON_SIZE_CLASS","deriveTone","remaining","warnAtMs","announcementBucket","toEpoch","value","useRemainingMs","controlledRemaining","expiresAtEpoch","tickMs","now","setNow","useState","isControlled","useEffect","id","current","SessionCountdown","forwardRef","remainingMs","expiresAt","totalMs","size","showProgress","onExpire","onRestart","restarting","localeProp","label","className","rest","ref","t","i18n","useTranslation","locale","useMemo","tone","isExpired","expireFiredRef","useRef","nf","totalSeconds","minutes","seconds","timeText","bucket","announcement","expiredAnnouncement","regionLabel","composedClass","role","useAgentRegistration","Icon","CircleX","TriangleAlert","elapsed","message","jsxs","jsx","Button","Progress","LiveRegion"],"mappings":"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","x_google_ignoreList":[0]}
@@ -3,7 +3,7 @@ import { useState as B, useRef as w, useEffect as T, useCallback as I, useMemo a
3
3
  import * as d from "@radix-ui/react-dialog";
4
4
  import { c as H } from "./index-D2ZczOXr.js";
5
5
  import { useTranslation as K } from "react-i18next";
6
- import { I as E } from "./icon-button-LqoiKcUN.js";
6
+ import { I as E } from "./icon-button-C_kbcd7I.js";
7
7
  import { S as F } from "./scroll-area-BZOvUhwQ.js";
8
8
  import { u as L } from "./registry-DvAUVLHh.js";
9
9
  import { X as V } from "./x-B5YnXwCz.js";
@@ -293,4 +293,4 @@ export {
293
293
  $ as S,
294
294
  P as s
295
295
  };
296
- //# sourceMappingURL=sheet-B_X54aZo.js.map
296
+ //# sourceMappingURL=sheet-D5K0LB3q.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-B_X54aZo.js","sources":["../../src/components/sheet/sheet.agent.ts","../../src/components/sheet/sheet.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { SheetHandle } from './sheet';\n\nexport const sheetAgent: AgentAdapter<SheetHandle> = {\n id: 'sheet',\n // `dismiss` shares the handle's close() — it is the same imperative close\n // path with destructive intent (loses uncommitted input). Backed.\n capabilities: ['open', 'close', 'dismiss'],\n state: {\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.sheet.state.isOpen',\n description: 'True when the sheet is currently open.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n open: {\n // Pure ephemeral UI state — opening loses no data.\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.sheet.actions.open',\n description: 'Open the sheet.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n // Pure ephemeral UI state — closing is reversible by reopening and\n // loses no committed data.\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.sheet.actions.close',\n description: 'Close the sheet. Reversible by reopening.',\n invoke: (handle) => {\n handle.close();\n },\n },\n dismiss: {\n // Same close() path, but flagged destructive because dismissing a sheet\n // mid-edit discards any in-progress input that was not committed.\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.sheet.actions.dismiss',\n description:\n 'Dismiss the sheet. Loses any in-progress input that has not been committed.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'sheet' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on Sheet.Root.',\n },\n },\n};\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { X } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { ScrollArea } from '../scroll-area/scroll-area';\nimport { useAgentRegistration } from '../../agent';\nimport { sheetAgent } from './sheet.agent';\n\nconst OVERLAY_CLASSES = [\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/[var(--opacity-70)]',\n 'ds:backdrop-blur-sm',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst contentVariants = cva(\n [\n 'ds:fixed ds:z-[var(--z-modal)] ds:flex ds:flex-col',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:shadow-[var(--shadow-xl)]',\n 'ds:focus-visible:outline-none',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n side: {\n start: [\n 'ds:start-0 ds:inset-y-0',\n 'ds:border-e ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:ltr:data-[state=open]:slide-in-from-left-full ds:rtl:data-[state=open]:slide-in-from-right-full',\n 'ds:data-[state=closed]:animate-out ds:ltr:data-[state=closed]:slide-out-to-left-full ds:rtl:data-[state=closed]:slide-out-to-right-full',\n 'ds:max-sm:[inline-size:100dvw] ds:max-sm:[block-size:100dvh]',\n ].join(' '),\n end: [\n 'ds:end-0 ds:inset-y-0',\n 'ds:border-s ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:ltr:data-[state=open]:slide-in-from-right-full ds:rtl:data-[state=open]:slide-in-from-left-full',\n 'ds:data-[state=closed]:animate-out ds:ltr:data-[state=closed]:slide-out-to-right-full ds:rtl:data-[state=closed]:slide-out-to-left-full',\n 'ds:max-sm:[inline-size:100dvw] ds:max-sm:[block-size:100dvh]',\n ].join(' '),\n top: [\n 'ds:top-0 ds:inset-x-0',\n 'ds:border-b ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:slide-in-from-top-full',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:slide-out-to-top-full',\n ].join(' '),\n bottom: [\n 'ds:bottom-0 ds:inset-x-0',\n 'ds:border-t ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:slide-in-from-bottom-full',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:slide-out-to-bottom-full',\n ].join(' '),\n },\n },\n defaultVariants: { side: 'end' },\n },\n);\n\nfunction getSizeClass(\n side: 'start' | 'end' | 'top' | 'bottom',\n size: 'sm' | 'md' | 'lg',\n): string {\n if (side === 'start' || side === 'end') {\n // These MUST carry the `ds:` prefix — a bare `[inline-size:…]` is not a\n // recognised utility under `prefix: 'ds'`, so Tailwind emits no rule and the\n // sheet renders full-bleed (the mobile `ds:max-sm:[inline-size:100dvw]`\n // classes work precisely because they are prefixed).\n const map = {\n sm: 'ds:[inline-size:360px]',\n md: 'ds:[inline-size:480px]',\n lg: 'ds:[inline-size:640px]',\n } as const;\n return map[size];\n }\n\n const map = {\n sm: 'ds:[block-size:40dvh]',\n md: 'ds:[block-size:60dvh]',\n lg: 'ds:[block-size:80dvh]',\n } as const;\n return map[size];\n}\n\n// Curated agent-readiness handle — see sheet.agent.ts.\nexport interface SheetHandle {\n getIsOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nexport interface SheetRootProps extends ComponentPropsWithoutRef<\n typeof RadixDialog.Root\n> {\n /** Opaque instance id — forwarded to Sheet.Content as `data-component-id`. */\n id?: string;\n}\n\nconst SheetIdContext = createContext<string | undefined>(undefined);\n\nconst SheetRoot = ({\n children,\n id,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...props\n}: SheetRootProps) => {\n const isControlled = openProp !== undefined;\n const [internalOpen, setInternalOpen] = useState<boolean>(\n defaultOpen ?? false,\n );\n const open = isControlled ? Boolean(openProp) : internalOpen;\n\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n }, [open]);\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const handle = useMemo<SheetHandle>(\n () => ({\n getIsOpen: () => openRef.current,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(sheetAgent, handle, id);\n\n return (\n <SheetIdContext.Provider value={id}>\n <RadixDialog.Root open={open} onOpenChange={setOpen} {...props}>\n {children}\n </RadixDialog.Root>\n </SheetIdContext.Provider>\n );\n};\nSheetRoot.displayName = 'Sheet.Root';\n\nconst SheetTrigger = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Trigger>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Trigger ref={ref} {...props}>\n {children}\n </RadixDialog.Trigger>\n));\nSheetTrigger.displayName = 'Sheet.Trigger';\n\nconst SheetClose = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Close>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Close ref={ref} {...props}>\n {children}\n </RadixDialog.Close>\n));\nSheetClose.displayName = 'Sheet.Close';\n\nexport interface SheetContentProps\n extends\n Omit<ComponentPropsWithoutRef<typeof RadixDialog.Content>, 'className'>,\n VariantProps<typeof contentVariants> {\n side?: 'start' | 'end' | 'top' | 'bottom';\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n children: ReactNode;\n}\n\nconst SheetContent = forwardRef<HTMLDivElement, SheetContentProps>(\n ({ side = 'end', size = 'md', className, children, ...props }, ref) => {\n const instanceId = useContext(SheetIdContext);\n return (\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n data-component=\"sheet-overlay\"\n className={OVERLAY_CLASSES}\n />\n <RadixDialog.Content\n ref={ref}\n className={[\n contentVariants({ side }),\n getSizeClass(side, size),\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n data-component=\"sheet\"\n data-component-id={instanceId}\n {...props}\n >\n {children}\n </RadixDialog.Content>\n </RadixDialog.Portal>\n );\n },\n);\nSheetContent.displayName = 'Sheet.Content';\n\nconst SheetHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { t } = useTranslation();\n\n return (\n <div\n ref={ref}\n className={[\n 'ds:sticky ds:top-0 ds:z-10 ds:flex ds:items-center ds:justify-between',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:py-[var(--spacing-md)]',\n 'ds:border-b ds:border-[color:var(--border)] ds:bg-[var(--popover)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {children}\n <SheetClose asChild>\n <IconButton\n icon={<X />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('common.close', 'Close')}\n />\n </SheetClose>\n </div>\n );\n },\n);\nSheetHeader.displayName = 'Sheet.Header';\n\nconst SheetBody = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n // ScrollArea forwards its ref to the scroll container (Radix viewport), so\n // SheetBody's ref still points at the scroller — preserving scrollTop access.\n <ScrollArea\n ref={ref}\n orientation=\"vertical\"\n className=\"ds:flex-1 ds:min-h-0\"\n >\n <div\n className={[\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:py-[var(--spacing-lg)]',\n 'ds:break-words',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n </ScrollArea>\n ),\n);\nSheetBody.displayName = 'Sheet.Body';\n\nconst SheetFooter = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:sticky ds:bottom-0 ds:z-10 ds:flex ds:items-center ds:justify-end ds:gap-[var(--spacing-sm)]',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:py-[var(--spacing-md)]',\n 'ds:border-t ds:border-[color:var(--border)] ds:bg-[var(--popover)]',\n 'ds:max-sm:flex-col ds:max-sm:[&>*]:w-full',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nSheetFooter.displayName = 'Sheet.Footer';\n\nconst SheetTitle = forwardRef<\n HTMLHeadingElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Title>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Title\n ref={ref}\n className={['type-title-card ds:break-words', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nSheetTitle.displayName = 'Sheet.Title';\n\nconst SheetDescription = forwardRef<\n HTMLParagraphElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Description>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Description\n ref={ref}\n className={['type-body-sm ds:text-[var(--muted-foreground)]', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nSheetDescription.displayName = 'Sheet.Description';\n\nexport const Sheet = Object.assign(SheetRoot, {\n Root: SheetRoot,\n Trigger: SheetTrigger,\n Content: SheetContent,\n Header: SheetHeader,\n Body: SheetBody,\n Footer: SheetFooter,\n Title: SheetTitle,\n Description: SheetDescription,\n Close: SheetClose,\n});\n\nexport type SheetHeaderProps = HTMLAttributes<HTMLDivElement>;\nexport type SheetBodyProps = HTMLAttributes<HTMLDivElement>;\nexport type SheetFooterProps = HTMLAttributes<HTMLDivElement>;\n"],"names":["sheetAgent","handle","OVERLAY_CLASSES","contentVariants","cva","getSizeClass","side","size","SheetIdContext","createContext","SheetRoot","children","id","openProp","defaultOpen","onOpenChange","props","isControlled","internalOpen","setInternalOpen","useState","open","openRef","useRef","useEffect","setOpen","useCallback","next","useMemo","useAgentRegistration","jsx","RadixDialog","SheetTrigger","forwardRef","ref","SheetClose","SheetContent","className","instanceId","useContext","jsxs","SheetHeader","t","useTranslation","IconButton","X","SheetBody","ScrollArea","SheetFooter","SheetTitle","SheetDescription","Sheet"],"mappings":"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"}
1
+ {"version":3,"file":"sheet-D5K0LB3q.js","sources":["../../src/components/sheet/sheet.agent.ts","../../src/components/sheet/sheet.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { SheetHandle } from './sheet';\n\nexport const sheetAgent: AgentAdapter<SheetHandle> = {\n id: 'sheet',\n // `dismiss` shares the handle's close() — it is the same imperative close\n // path with destructive intent (loses uncommitted input). Backed.\n capabilities: ['open', 'close', 'dismiss'],\n state: {\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.sheet.state.isOpen',\n description: 'True when the sheet is currently open.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n open: {\n // Pure ephemeral UI state — opening loses no data.\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.sheet.actions.open',\n description: 'Open the sheet.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n // Pure ephemeral UI state — closing is reversible by reopening and\n // loses no committed data.\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.sheet.actions.close',\n description: 'Close the sheet. Reversible by reopening.',\n invoke: (handle) => {\n handle.close();\n },\n },\n dismiss: {\n // Same close() path, but flagged destructive because dismissing a sheet\n // mid-edit discards any in-progress input that was not committed.\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.sheet.actions.dismiss',\n description:\n 'Dismiss the sheet. Loses any in-progress input that has not been committed.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'sheet' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on Sheet.Root.',\n },\n },\n};\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { X } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { ScrollArea } from '../scroll-area/scroll-area';\nimport { useAgentRegistration } from '../../agent';\nimport { sheetAgent } from './sheet.agent';\n\nconst OVERLAY_CLASSES = [\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/[var(--opacity-70)]',\n 'ds:backdrop-blur-sm',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out-0',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst contentVariants = cva(\n [\n 'ds:fixed ds:z-[var(--z-modal)] ds:flex ds:flex-col',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:shadow-[var(--shadow-xl)]',\n 'ds:focus-visible:outline-none',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n side: {\n start: [\n 'ds:start-0 ds:inset-y-0',\n 'ds:border-e ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:ltr:data-[state=open]:slide-in-from-left-full ds:rtl:data-[state=open]:slide-in-from-right-full',\n 'ds:data-[state=closed]:animate-out ds:ltr:data-[state=closed]:slide-out-to-left-full ds:rtl:data-[state=closed]:slide-out-to-right-full',\n 'ds:max-sm:[inline-size:100dvw] ds:max-sm:[block-size:100dvh]',\n ].join(' '),\n end: [\n 'ds:end-0 ds:inset-y-0',\n 'ds:border-s ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:ltr:data-[state=open]:slide-in-from-right-full ds:rtl:data-[state=open]:slide-in-from-left-full',\n 'ds:data-[state=closed]:animate-out ds:ltr:data-[state=closed]:slide-out-to-right-full ds:rtl:data-[state=closed]:slide-out-to-left-full',\n 'ds:max-sm:[inline-size:100dvw] ds:max-sm:[block-size:100dvh]',\n ].join(' '),\n top: [\n 'ds:top-0 ds:inset-x-0',\n 'ds:border-b ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:slide-in-from-top-full',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:slide-out-to-top-full',\n ].join(' '),\n bottom: [\n 'ds:bottom-0 ds:inset-x-0',\n 'ds:border-t ds:border-[color:var(--border)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:slide-in-from-bottom-full',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:slide-out-to-bottom-full',\n ].join(' '),\n },\n },\n defaultVariants: { side: 'end' },\n },\n);\n\nfunction getSizeClass(\n side: 'start' | 'end' | 'top' | 'bottom',\n size: 'sm' | 'md' | 'lg',\n): string {\n if (side === 'start' || side === 'end') {\n // These MUST carry the `ds:` prefix — a bare `[inline-size:…]` is not a\n // recognised utility under `prefix: 'ds'`, so Tailwind emits no rule and the\n // sheet renders full-bleed (the mobile `ds:max-sm:[inline-size:100dvw]`\n // classes work precisely because they are prefixed).\n const map = {\n sm: 'ds:[inline-size:360px]',\n md: 'ds:[inline-size:480px]',\n lg: 'ds:[inline-size:640px]',\n } as const;\n return map[size];\n }\n\n const map = {\n sm: 'ds:[block-size:40dvh]',\n md: 'ds:[block-size:60dvh]',\n lg: 'ds:[block-size:80dvh]',\n } as const;\n return map[size];\n}\n\n// Curated agent-readiness handle — see sheet.agent.ts.\nexport interface SheetHandle {\n getIsOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nexport interface SheetRootProps extends ComponentPropsWithoutRef<\n typeof RadixDialog.Root\n> {\n /** Opaque instance id — forwarded to Sheet.Content as `data-component-id`. */\n id?: string;\n}\n\nconst SheetIdContext = createContext<string | undefined>(undefined);\n\nconst SheetRoot = ({\n children,\n id,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...props\n}: SheetRootProps) => {\n const isControlled = openProp !== undefined;\n const [internalOpen, setInternalOpen] = useState<boolean>(\n defaultOpen ?? false,\n );\n const open = isControlled ? Boolean(openProp) : internalOpen;\n\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n }, [open]);\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const handle = useMemo<SheetHandle>(\n () => ({\n getIsOpen: () => openRef.current,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(sheetAgent, handle, id);\n\n return (\n <SheetIdContext.Provider value={id}>\n <RadixDialog.Root open={open} onOpenChange={setOpen} {...props}>\n {children}\n </RadixDialog.Root>\n </SheetIdContext.Provider>\n );\n};\nSheetRoot.displayName = 'Sheet.Root';\n\nconst SheetTrigger = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Trigger>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Trigger ref={ref} {...props}>\n {children}\n </RadixDialog.Trigger>\n));\nSheetTrigger.displayName = 'Sheet.Trigger';\n\nconst SheetClose = forwardRef<\n HTMLButtonElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Close>\n>(({ children, ...props }, ref) => (\n <RadixDialog.Close ref={ref} {...props}>\n {children}\n </RadixDialog.Close>\n));\nSheetClose.displayName = 'Sheet.Close';\n\nexport interface SheetContentProps\n extends\n Omit<ComponentPropsWithoutRef<typeof RadixDialog.Content>, 'className'>,\n VariantProps<typeof contentVariants> {\n side?: 'start' | 'end' | 'top' | 'bottom';\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n children: ReactNode;\n}\n\nconst SheetContent = forwardRef<HTMLDivElement, SheetContentProps>(\n ({ side = 'end', size = 'md', className, children, ...props }, ref) => {\n const instanceId = useContext(SheetIdContext);\n return (\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n data-component=\"sheet-overlay\"\n className={OVERLAY_CLASSES}\n />\n <RadixDialog.Content\n ref={ref}\n className={[\n contentVariants({ side }),\n getSizeClass(side, size),\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n data-component=\"sheet\"\n data-component-id={instanceId}\n {...props}\n >\n {children}\n </RadixDialog.Content>\n </RadixDialog.Portal>\n );\n },\n);\nSheetContent.displayName = 'Sheet.Content';\n\nconst SheetHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { t } = useTranslation();\n\n return (\n <div\n ref={ref}\n className={[\n 'ds:sticky ds:top-0 ds:z-10 ds:flex ds:items-center ds:justify-between',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:py-[var(--spacing-md)]',\n 'ds:border-b ds:border-[color:var(--border)] ds:bg-[var(--popover)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {children}\n <SheetClose asChild>\n <IconButton\n icon={<X />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('common.close', 'Close')}\n />\n </SheetClose>\n </div>\n );\n },\n);\nSheetHeader.displayName = 'Sheet.Header';\n\nconst SheetBody = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n // ScrollArea forwards its ref to the scroll container (Radix viewport), so\n // SheetBody's ref still points at the scroller — preserving scrollTop access.\n <ScrollArea\n ref={ref}\n orientation=\"vertical\"\n className=\"ds:flex-1 ds:min-h-0\"\n >\n <div\n className={[\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:py-[var(--spacing-lg)]',\n 'ds:break-words',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n </ScrollArea>\n ),\n);\nSheetBody.displayName = 'Sheet.Body';\n\nconst SheetFooter = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:sticky ds:bottom-0 ds:z-10 ds:flex ds:items-center ds:justify-end ds:gap-[var(--spacing-sm)]',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:py-[var(--spacing-md)]',\n 'ds:border-t ds:border-[color:var(--border)] ds:bg-[var(--popover)]',\n 'ds:max-sm:flex-col ds:max-sm:[&>*]:w-full',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nSheetFooter.displayName = 'Sheet.Footer';\n\nconst SheetTitle = forwardRef<\n HTMLHeadingElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Title>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Title\n ref={ref}\n className={['type-title-card ds:break-words', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nSheetTitle.displayName = 'Sheet.Title';\n\nconst SheetDescription = forwardRef<\n HTMLParagraphElement,\n ComponentPropsWithoutRef<typeof RadixDialog.Description>\n>(({ className, ...props }, ref) => (\n <RadixDialog.Description\n ref={ref}\n className={['type-body-sm ds:text-[var(--muted-foreground)]', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nSheetDescription.displayName = 'Sheet.Description';\n\nexport const Sheet = Object.assign(SheetRoot, {\n Root: SheetRoot,\n Trigger: SheetTrigger,\n Content: SheetContent,\n Header: SheetHeader,\n Body: SheetBody,\n Footer: SheetFooter,\n Title: SheetTitle,\n Description: SheetDescription,\n Close: SheetClose,\n});\n\nexport type SheetHeaderProps = HTMLAttributes<HTMLDivElement>;\nexport type SheetBodyProps = HTMLAttributes<HTMLDivElement>;\nexport type SheetFooterProps = HTMLAttributes<HTMLDivElement>;\n"],"names":["sheetAgent","handle","OVERLAY_CLASSES","contentVariants","cva","getSizeClass","side","size","SheetIdContext","createContext","SheetRoot","children","id","openProp","defaultOpen","onOpenChange","props","isControlled","internalOpen","setInternalOpen","useState","open","openRef","useRef","useEffect","setOpen","useCallback","next","useMemo","useAgentRegistration","jsx","RadixDialog","SheetTrigger","forwardRef","ref","SheetClose","SheetContent","className","instanceId","useContext","jsxs","SheetHeader","t","useTranslation","IconButton","X","SheetBody","ScrollArea","SheetFooter","SheetTitle","SheetDescription","Sheet"],"mappings":"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"}