@alfadocs/ui-kit-debug 0.63.0 → 0.65.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 (445) hide show
  1. package/dist/_chunks/{agenda-tray-DA6qj8BL.js → agenda-tray-Bh1KfEOG.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-DA6qj8BL.js.map → agenda-tray-Bh1KfEOG.js.map} +1 -1
  3. package/dist/_chunks/{ai-consent-banner-DBKV27je.js → ai-consent-banner-Btzmk8OH.js} +3 -2
  4. package/dist/_chunks/{ai-consent-banner-DBKV27je.js.map → ai-consent-banner-Btzmk8OH.js.map} +1 -1
  5. package/dist/_chunks/{ai-prompt-input-C6sCr1Vi.js → ai-prompt-input-BwEACCPm.js} +3 -3
  6. package/dist/_chunks/{ai-prompt-input-C6sCr1Vi.js.map → ai-prompt-input-BwEACCPm.js.map} +1 -1
  7. package/dist/_chunks/{ai-tools-rail-7tC3GT4h.js → ai-tools-rail-JnlTqfS4.js} +2 -2
  8. package/dist/_chunks/{ai-tools-rail-7tC3GT4h.js.map → ai-tools-rail-JnlTqfS4.js.map} +1 -1
  9. package/dist/_chunks/{alia-sidebar-DlvyXgVC.js → alia-sidebar-CN8pA6c-.js} +7 -7
  10. package/dist/_chunks/{alia-sidebar-DlvyXgVC.js.map → alia-sidebar-CN8pA6c-.js.map} +1 -1
  11. package/dist/_chunks/{anamnesis-card-CmkBVAln.js → anamnesis-card-qeLYRG79.js} +2 -2
  12. package/dist/_chunks/{anamnesis-card-CmkBVAln.js.map → anamnesis-card-qeLYRG79.js.map} +1 -1
  13. package/dist/_chunks/{antenatal-schedule-timeline-CdiqkF05.js → antenatal-schedule-timeline-BfzFjEyb.js} +3 -3
  14. package/dist/_chunks/{antenatal-schedule-timeline-CdiqkF05.js.map → antenatal-schedule-timeline-BfzFjEyb.js.map} +1 -1
  15. package/dist/_chunks/{appointment-tray-BwDHhWWC.js → appointment-tray-BQnJEora.js} +2 -2
  16. package/dist/_chunks/{appointment-tray-BwDHhWWC.js.map → appointment-tray-BQnJEora.js.map} +1 -1
  17. package/dist/_chunks/{ar-C68WKG5a.js → ar-Cn5Fq48Z.js} +2 -2
  18. package/dist/_chunks/{ar-C68WKG5a.js.map → ar-Cn5Fq48Z.js.map} +1 -1
  19. package/dist/_chunks/{audio-recorder-D6OVfNiZ.js → audio-recorder-DjXLP4aF.js} +3 -3
  20. package/dist/_chunks/{audio-recorder-D6OVfNiZ.js.map → audio-recorder-DjXLP4aF.js.map} +1 -1
  21. package/dist/_chunks/{autocomplete-CDqxB68B.js → autocomplete-CcCFlVf-.js} +4 -4
  22. package/dist/_chunks/{autocomplete-CDqxB68B.js.map → autocomplete-CcCFlVf-.js.map} +1 -1
  23. package/dist/_chunks/{bishop-score-B9tvgoIq.js → bishop-score-x2fNqbuZ.js} +3 -3
  24. package/dist/_chunks/{bishop-score-B9tvgoIq.js.map → bishop-score-x2fNqbuZ.js.map} +1 -1
  25. package/dist/_chunks/{bmi-calculator-DA2NGmVK.js → bmi-calculator-C3roxbqD.js} +2 -2
  26. package/dist/_chunks/{bmi-calculator-DA2NGmVK.js.map → bmi-calculator-C3roxbqD.js.map} +1 -1
  27. package/dist/_chunks/{booking-BUV9fspj.js → booking-L8-YP8BJ.js} +149 -149
  28. package/dist/_chunks/booking-L8-YP8BJ.js.map +1 -0
  29. package/dist/_chunks/calendar-B6soK1Yb.js +17 -0
  30. package/dist/_chunks/calendar-B6soK1Yb.js.map +1 -0
  31. package/dist/_chunks/{calendar-CkuJIg3s.js → calendar-oYWOCrnf.js} +1 -1
  32. package/dist/_chunks/{calendar-CkuJIg3s.js.map → calendar-oYWOCrnf.js.map} +1 -1
  33. package/dist/_chunks/{care-plan-card-QmNpGggC.js → care-plan-card-D42WD4-T.js} +2 -2
  34. package/dist/_chunks/{care-plan-card-QmNpGggC.js.map → care-plan-card-D42WD4-T.js.map} +1 -1
  35. package/dist/_chunks/{care-plan-entry-card-Cnra7vUc.js → care-plan-entry-card-BukNI7Uy.js} +2 -2
  36. package/dist/_chunks/{care-plan-entry-card-Cnra7vUc.js.map → care-plan-entry-card-BukNI7Uy.js.map} +1 -1
  37. package/dist/_chunks/{carousel.agent-DrX96W-1.js → carousel.agent-vt21A_el.js} +2 -2
  38. package/dist/_chunks/{carousel.agent-DrX96W-1.js.map → carousel.agent-vt21A_el.js.map} +1 -1
  39. package/dist/_chunks/{chat-input-CFwc7JxL.js → chat-input-B5zjNEUN.js} +2 -2
  40. package/dist/_chunks/{chat-input-CFwc7JxL.js.map → chat-input-B5zjNEUN.js.map} +1 -1
  41. package/dist/_chunks/{chat-message-Dm8U2RY1.js → chat-message-3V54YipB.js} +2 -2
  42. package/dist/_chunks/{chat-message-Dm8U2RY1.js.map → chat-message-3V54YipB.js.map} +1 -1
  43. package/dist/_chunks/{code-block-HoddNOKJ.js → code-block-BBWHhIc8.js} +2 -2
  44. package/dist/_chunks/{code-block-HoddNOKJ.js.map → code-block-BBWHhIc8.js.map} +1 -1
  45. package/dist/_chunks/{contact-profile-card-DvvVfAA2.js → contact-profile-card-CCeJmjbd.js} +2 -2
  46. package/dist/_chunks/{contact-profile-card-DvvVfAA2.js.map → contact-profile-card-CCeJmjbd.js.map} +1 -1
  47. package/dist/_chunks/{cycle-calculator-C_t1Hs8V.js → cycle-calculator-DrVXbIB4.js} +4 -4
  48. package/dist/_chunks/{cycle-calculator-C_t1Hs8V.js.map → cycle-calculator-DrVXbIB4.js.map} +1 -1
  49. package/dist/_chunks/{date-picker-BfHblqwA.js → date-picker-oGg5BnXL.js} +12 -11
  50. package/dist/_chunks/{date-picker-BfHblqwA.js.map → date-picker-oGg5BnXL.js.map} +1 -1
  51. package/dist/_chunks/{date-picker-variants-CXEAx3O_.js → date-picker-variants-DAcSLTua.js} +358 -372
  52. package/dist/_chunks/date-picker-variants-DAcSLTua.js.map +1 -0
  53. package/dist/_chunks/{date-range-picker-hcAMs1wO.js → date-range-picker-C5BWfH_T.js} +34 -25
  54. package/dist/_chunks/{date-range-picker-hcAMs1wO.js.map → date-range-picker-C5BWfH_T.js.map} +1 -1
  55. package/dist/_chunks/{date-time-picker-H-3Pwqlb.js → date-time-picker-Ze1My59T.js} +18 -17
  56. package/dist/_chunks/{date-time-picker-H-3Pwqlb.js.map → date-time-picker-Ze1My59T.js.map} +1 -1
  57. package/dist/_chunks/{de-DK4A9_a8.js → de-CrJs4ZsX.js} +2 -2
  58. package/dist/_chunks/{de-DK4A9_a8.js.map → de-CrJs4ZsX.js.map} +1 -1
  59. package/dist/_chunks/{description-list-BEbK2g93.js → description-list-gkNGWk5G.js} +2 -2
  60. package/dist/_chunks/{description-list-BEbK2g93.js.map → description-list-gkNGWk5G.js.map} +1 -1
  61. package/dist/_chunks/{due-date-calculator-Q8MIwEVV.js → due-date-calculator-D4K1BnE2.js} +4 -4
  62. package/dist/_chunks/{due-date-calculator-Q8MIwEVV.js.map → due-date-calculator-D4K1BnE2.js.map} +1 -1
  63. package/dist/_chunks/{editable-currency-cell-renderer-D5C5tCfu.js → editable-currency-cell-renderer-CFqQc56y.js} +305 -295
  64. package/dist/_chunks/editable-currency-cell-renderer-CFqQc56y.js.map +1 -0
  65. package/dist/_chunks/editor-overlay-wYm22wZK.js +88 -0
  66. package/dist/_chunks/editor-overlay-wYm22wZK.js.map +1 -0
  67. package/dist/_chunks/{el-B29HXhG5.js → el-DHdMOIhL.js} +6 -6
  68. package/dist/_chunks/{el-B29HXhG5.js.map → el-DHdMOIhL.js.map} +1 -1
  69. package/dist/_chunks/{es-BOwPVwWn.js → es-DCATCfqo.js} +2 -2
  70. package/dist/_chunks/{es-BOwPVwWn.js.map → es-DCATCfqo.js.map} +1 -1
  71. package/dist/_chunks/{fetal-weight-D1a6BmM-.js → fetal-weight-B_pBjlO7.js} +2 -2
  72. package/dist/_chunks/{fetal-weight-D1a6BmM-.js.map → fetal-weight-B_pBjlO7.js.map} +1 -1
  73. package/dist/_chunks/{fiscal-code-input-BZ0FxwUl.js → fiscal-code-input-DPtqluVb.js} +2 -2
  74. package/dist/_chunks/{fiscal-code-input-BZ0FxwUl.js.map → fiscal-code-input-DPtqluVb.js.map} +1 -1
  75. package/dist/_chunks/{fr-DoDBtn0T.js → fr-BfGEMshF.js} +2 -2
  76. package/dist/_chunks/{fr-DoDBtn0T.js.map → fr-BfGEMshF.js.map} +1 -1
  77. package/dist/_chunks/{freemium-paywall-gHGA44dW.js → freemium-paywall-CkWjv3o6.js} +2 -2
  78. package/dist/_chunks/{freemium-paywall-gHGA44dW.js.map → freemium-paywall-CkWjv3o6.js.map} +1 -1
  79. package/dist/_chunks/{gestational-age-calculator-AkNFfZYs.js → gestational-age-calculator-BETQAVkA.js} +7 -7
  80. package/dist/_chunks/{gestational-age-calculator-AkNFfZYs.js.map → gestational-age-calculator-BETQAVkA.js.map} +1 -1
  81. package/dist/_chunks/{hcg-doubling-Dg0Hr7ey.js → hcg-doubling-8zXCJgAQ.js} +3 -3
  82. package/dist/_chunks/{hcg-doubling-Dg0Hr7ey.js.map → hcg-doubling-8zXCJgAQ.js.map} +1 -1
  83. package/dist/_chunks/{header-Ce1Br27u.js → header-CNszv2WQ.js} +2 -2
  84. package/dist/_chunks/{header-Ce1Br27u.js.map → header-CNszv2WQ.js.map} +1 -1
  85. package/dist/_chunks/{header-settings-D5Z2B_Yz.js → header-settings-CNOqIhoW.js} +3 -3
  86. package/dist/_chunks/{header-settings-D5Z2B_Yz.js.map → header-settings-CNOqIhoW.js.map} +1 -1
  87. package/dist/_chunks/{hi-DGByrKby.js → hi-CBFRXEIm.js} +2 -2
  88. package/dist/_chunks/{hi-DGByrKby.js.map → hi-CBFRXEIm.js.map} +1 -1
  89. package/dist/_chunks/icon-button-LqoiKcUN.js +78 -0
  90. package/dist/_chunks/icon-button-LqoiKcUN.js.map +1 -0
  91. package/dist/_chunks/{insert-result-C1SYdueh.js → insert-result-DIAG3ltJ.js} +115 -136
  92. package/dist/_chunks/insert-result-DIAG3ltJ.js.map +1 -0
  93. package/dist/_chunks/{isSameWeek-B1odL2vR.js → isSameWeek-I3DfXUp1.js} +2 -2
  94. package/dist/_chunks/{isSameWeek-B1odL2vR.js.map → isSameWeek-I3DfXUp1.js.map} +1 -1
  95. package/dist/_chunks/{it-B16rEecm.js → it-nz6vAKwG.js} +7 -7
  96. package/dist/_chunks/{it-B16rEecm.js.map → it-nz6vAKwG.js.map} +1 -1
  97. package/dist/_chunks/{ja-B0viOgft.js → ja-DQcqdAEJ.js} +2 -2
  98. package/dist/_chunks/{ja-B0viOgft.js.map → ja-DQcqdAEJ.js.map} +1 -1
  99. package/dist/_chunks/{key-value-pair-CkQIb9EG.js → key-value-pair-BrgbMfbF.js} +2 -2
  100. package/dist/_chunks/{key-value-pair-CkQIb9EG.js.map → key-value-pair-BrgbMfbF.js.map} +1 -1
  101. package/dist/_chunks/{locale-picker-D99UyZVJ.js → locale-picker-C9JmBht3.js} +3 -3
  102. package/dist/_chunks/{locale-picker-D99UyZVJ.js.map → locale-picker-C9JmBht3.js.map} +1 -1
  103. package/dist/_chunks/{marketplace-app-shell-C4OYAC22.js → marketplace-app-shell-BXfRMiRk.js} +4 -4
  104. package/dist/_chunks/{marketplace-app-shell-C4OYAC22.js.map → marketplace-app-shell-BXfRMiRk.js.map} +1 -1
  105. package/dist/_chunks/{message-card-Dvl1TgaN.js → message-card-Bgcvfj6-.js} +2 -2
  106. package/dist/_chunks/{message-card-Dvl1TgaN.js.map → message-card-Bgcvfj6-.js.map} +1 -1
  107. package/dist/_chunks/{message-tray-Dl6GQaaV.js → message-tray-saAVMeHP.js} +3 -3
  108. package/dist/_chunks/{message-tray-Dl6GQaaV.js.map → message-tray-saAVMeHP.js.map} +1 -1
  109. package/dist/_chunks/{multi-select-DOLO3K_z.js → multi-select-BcPylvHR.js} +100 -90
  110. package/dist/_chunks/multi-select-BcPylvHR.js.map +1 -0
  111. package/dist/_chunks/{nl-cBxEX2QU.js → nl-L5SuDjyl.js} +2 -2
  112. package/dist/_chunks/{nl-cBxEX2QU.js.map → nl-L5SuDjyl.js.map} +1 -1
  113. package/dist/_chunks/{notification-card-CObnGdJu.js → notification-card-BiESdm8q.js} +2 -2
  114. package/dist/_chunks/{notification-card-CObnGdJu.js.map → notification-card-BiESdm8q.js.map} +1 -1
  115. package/dist/_chunks/{notification-tray-BWHDIjgd.js → notification-tray-DlgenTEe.js} +3 -3
  116. package/dist/_chunks/{notification-tray-BWHDIjgd.js.map → notification-tray-DlgenTEe.js.map} +1 -1
  117. package/dist/_chunks/{patient-search-CArmRKeg.js → patient-search-Bw9ONucF.js} +2 -2
  118. package/dist/_chunks/{patient-search-CArmRKeg.js.map → patient-search-Bw9ONucF.js.map} +1 -1
  119. package/dist/_chunks/{patient-shell-Coarf346.js → patient-shell-CF_qon7C.js} +3 -3
  120. package/dist/_chunks/{patient-shell-Coarf346.js.map → patient-shell-CF_qon7C.js.map} +1 -1
  121. package/dist/_chunks/{patient-summary-card-BnTqxcTr.js → patient-summary-card-Bgso0p_l.js} +2 -2
  122. package/dist/_chunks/{patient-summary-card-BnTqxcTr.js.map → patient-summary-card-Bgso0p_l.js.map} +1 -1
  123. package/dist/_chunks/{payment-form-DJ9vnzrT.js → payment-form-nXocS_MX.js} +11 -4
  124. package/dist/_chunks/{payment-form-DJ9vnzrT.js.map → payment-form-nXocS_MX.js.map} +1 -1
  125. package/dist/_chunks/{payment-request-card-B_lyobd0.js → payment-request-card-DBz3hVDz.js} +3 -3
  126. package/dist/_chunks/{payment-request-card-B_lyobd0.js.map → payment-request-card-DBz3hVDz.js.map} +1 -1
  127. package/dist/_chunks/{pdf-viewer-chMpwpA4.js → pdf-viewer-GsfNqeeT.js} +3 -3
  128. package/dist/_chunks/pdf-viewer-GsfNqeeT.js.map +1 -0
  129. package/dist/_chunks/{periodontal-chart-card-BYs9hax1.js → periodontal-chart-card-AYyHtU9K.js} +2 -2
  130. package/dist/_chunks/{periodontal-chart-card-BYs9hax1.js.map → periodontal-chart-card-AYyHtU9K.js.map} +1 -1
  131. package/dist/_chunks/phone-input-DVXhNlIl.js +563 -0
  132. package/dist/_chunks/phone-input-DVXhNlIl.js.map +1 -0
  133. package/dist/_chunks/{pl-DtS08ioY.js → pl-YAn5z2wR.js} +3 -3
  134. package/dist/_chunks/{pl-DtS08ioY.js.map → pl-YAn5z2wR.js.map} +1 -1
  135. package/dist/_chunks/{popover-Devce-tT.js → popover-DTbfAuR0.js} +2 -2
  136. package/dist/_chunks/{popover-Devce-tT.js.map → popover-DTbfAuR0.js.map} +1 -1
  137. package/dist/_chunks/{practice-results-CtfciF2v.js → practice-results-CVAgY2RZ.js} +3 -3
  138. package/dist/_chunks/{practice-results-CtfciF2v.js.map → practice-results-CVAgY2RZ.js.map} +1 -1
  139. package/dist/_chunks/{pregnancy-dating-Dg6dTe1p.js → pregnancy-dating-BuzLTwjy.js} +7 -7
  140. package/dist/_chunks/{pregnancy-dating-Dg6dTe1p.js.map → pregnancy-dating-BuzLTwjy.js.map} +1 -1
  141. package/dist/_chunks/{pregnancy-weight-gain-DI7X-0JX.js → pregnancy-weight-gain-aicn7qs7.js} +2 -2
  142. package/dist/_chunks/{pregnancy-weight-gain-DI7X-0JX.js.map → pregnancy-weight-gain-aicn7qs7.js.map} +1 -1
  143. package/dist/_chunks/{privacy-lock-BN3L-alb.js → privacy-lock-C7JyMf0y.js} +2 -2
  144. package/dist/_chunks/{privacy-lock-BN3L-alb.js.map → privacy-lock-C7JyMf0y.js.map} +1 -1
  145. package/dist/_chunks/{product-hub-panel-CkfZBA3t.js → product-hub-panel-CAXDFeGP.js} +2 -2
  146. package/dist/_chunks/{product-hub-panel-CkfZBA3t.js.map → product-hub-panel-CAXDFeGP.js.map} +1 -1
  147. package/dist/_chunks/{pt-yFXs1VvH.js → pt-D9xdT5KQ.js} +6 -6
  148. package/dist/_chunks/{pt-yFXs1VvH.js.map → pt-D9xdT5KQ.js.map} +1 -1
  149. package/dist/_chunks/{public-header.agent-CYQK6T6F.js → public-header.agent-BOhJgZEU.js} +3 -3
  150. package/dist/_chunks/{public-header.agent-CYQK6T6F.js.map → public-header.agent-BOhJgZEU.js.map} +1 -1
  151. package/dist/_chunks/{reviews-panel-CPrXu5TX.js → reviews-panel-DBktKm7i.js} +2 -2
  152. package/dist/_chunks/{reviews-panel-CPrXu5TX.js.map → reviews-panel-DBktKm7i.js.map} +1 -1
  153. package/dist/_chunks/rich-text-editor-u36FqSWz.js +1190 -0
  154. package/dist/_chunks/rich-text-editor-u36FqSWz.js.map +1 -0
  155. package/dist/_chunks/{ro-DsCzSrzR.js → ro-Cp--52bT.js} +2 -2
  156. package/dist/_chunks/{ro-DsCzSrzR.js.map → ro-Cp--52bT.js.map} +1 -1
  157. package/dist/_chunks/{ru-DgDxL0pc.js → ru-BM8eX_Zz.js} +3 -3
  158. package/dist/_chunks/{ru-DgDxL0pc.js.map → ru-BM8eX_Zz.js.map} +1 -1
  159. package/dist/_chunks/{search-bar-CvN_S0jW.js → search-bar-SY2BcV2N.js} +2 -2
  160. package/dist/_chunks/{search-bar-CvN_S0jW.js.map → search-bar-SY2BcV2N.js.map} +1 -1
  161. package/dist/_chunks/{search-input-D3aMvi4l.js → search-input-DbxrnHkW.js} +3 -3
  162. package/dist/_chunks/{search-input-D3aMvi4l.js.map → search-input-DbxrnHkW.js.map} +1 -1
  163. package/dist/_chunks/{select-hsCaJSX3.js → select-CEtRcon5.js} +46 -45
  164. package/dist/_chunks/select-CEtRcon5.js.map +1 -0
  165. package/dist/_chunks/{sheet-xbzu4YiY.js → sheet-taJer-Ha.js} +2 -2
  166. package/dist/_chunks/{sheet-xbzu4YiY.js.map → sheet-taJer-Ha.js.map} +1 -1
  167. package/dist/_chunks/{sign-document--nr5cxsB.js → sign-document-CdAiHiCh.js} +2 -2
  168. package/dist/_chunks/{sign-document--nr5cxsB.js.map → sign-document-CdAiHiCh.js.map} +1 -1
  169. package/dist/_chunks/{sign-in-with-alfadocs-button-BpAjVmsI.js → sign-in-with-alfadocs-button-LppxjlFt.js} +2 -2
  170. package/dist/_chunks/{sign-in-with-alfadocs-button-BpAjVmsI.js.map → sign-in-with-alfadocs-button-LppxjlFt.js.map} +1 -1
  171. package/dist/_chunks/{signature-field-DbhbpLha.js → signature-field-Dy1JRjzE.js} +10 -3
  172. package/dist/_chunks/{signature-field-DbhbpLha.js.map → signature-field-Dy1JRjzE.js.map} +1 -1
  173. package/dist/_chunks/{slot-grid-BlHHP9Qy.js → slot-grid-FsqumOaS.js} +2 -2
  174. package/dist/_chunks/{slot-grid-BlHHP9Qy.js.map → slot-grid-FsqumOaS.js.map} +1 -1
  175. package/dist/_chunks/smart-date-CWikAqZx.js +114 -0
  176. package/dist/_chunks/smart-date-CWikAqZx.js.map +1 -0
  177. package/dist/_chunks/{social-sign-in-button-uJYLM366.js → social-sign-in-button-dlpPI5l7.js} +2 -2
  178. package/dist/_chunks/{social-sign-in-button-uJYLM366.js.map → social-sign-in-button-dlpPI5l7.js.map} +1 -1
  179. package/dist/_chunks/{spinner-OjQNn8oN.js → spinner-hbwuKwMf.js} +10 -10
  180. package/dist/_chunks/{spinner-OjQNn8oN.js.map → spinner-hbwuKwMf.js.map} +1 -1
  181. package/dist/_chunks/{sq-DHlCYN67.js → sq-XRpr0r49.js} +6 -6
  182. package/dist/_chunks/{sq-DHlCYN67.js.map → sq-XRpr0r49.js.map} +1 -1
  183. package/dist/_chunks/{streaming-text-CfhDqtIT.js → streaming-text-BB9mvK4m.js} +2 -2
  184. package/dist/_chunks/{streaming-text-CfhDqtIT.js.map → streaming-text-BB9mvK4m.js.map} +1 -1
  185. package/dist/_chunks/subDays-BcYv1Lxi.js +8 -0
  186. package/dist/_chunks/{subDays-Bs00akhK.js.map → subDays-BcYv1Lxi.js.map} +1 -1
  187. package/dist/_chunks/{sv-O0QaQs_s.js → sv-Z3APomE8.js} +2 -2
  188. package/dist/_chunks/{sv-O0QaQs_s.js.map → sv-Z3APomE8.js.map} +1 -1
  189. package/dist/_chunks/{tabs-BpPYVme_.js → tabs-BIQ0ew1T.js} +2 -2
  190. package/dist/_chunks/{tabs-BpPYVme_.js.map → tabs-BIQ0ew1T.js.map} +1 -1
  191. package/dist/_chunks/{task-tray-Cb_hK4yb.js → task-tray-CAncV-QQ.js} +2 -2
  192. package/dist/_chunks/{task-tray-Cb_hK4yb.js.map → task-tray-CAncV-QQ.js.map} +1 -1
  193. package/dist/_chunks/{theme-toggle-DAW7uC0B.js → theme-toggle-DETmSu_h.js} +2 -2
  194. package/dist/_chunks/{theme-toggle-DAW7uC0B.js.map → theme-toggle-DETmSu_h.js.map} +1 -1
  195. package/dist/_chunks/{toast.agent-B0MCsvdZ.js → toast.agent-vuLRRn2a.js} +2 -2
  196. package/dist/_chunks/{toast.agent-B0MCsvdZ.js.map → toast.agent-vuLRRn2a.js.map} +1 -1
  197. package/dist/_chunks/tooth-scheme-BIx1O2aJ.js +1257 -0
  198. package/dist/_chunks/tooth-scheme-BIx1O2aJ.js.map +1 -0
  199. package/dist/_chunks/{tr-BmNDRuio.js → tr-e0-P4FON.js} +2 -2
  200. package/dist/_chunks/{tr-BmNDRuio.js.map → tr-e0-P4FON.js.map} +1 -1
  201. package/dist/_chunks/{transcript-panel-B4HiC7ed.js → transcript-panel-CLHmv83g.js} +2 -2
  202. package/dist/_chunks/{transcript-panel-B4HiC7ed.js.map → transcript-panel-CLHmv83g.js.map} +1 -1
  203. package/dist/_chunks/type-DZ5OMRA2.js +28 -0
  204. package/dist/_chunks/type-DZ5OMRA2.js.map +1 -0
  205. package/dist/_chunks/{unit-converter-3sINXO3m.js → unit-converter-CHN2cZ4b.js} +3 -3
  206. package/dist/_chunks/{unit-converter-3sINXO3m.js.map → unit-converter-CHN2cZ4b.js.map} +1 -1
  207. package/dist/_chunks/{wallet-pay-button-DuDPBlCO.js → wallet-pay-button--dnR6NfJ.js} +2 -2
  208. package/dist/_chunks/{wallet-pay-button-DuDPBlCO.js.map → wallet-pay-button--dnR6NfJ.js.map} +1 -1
  209. package/dist/_chunks/{workflow-map-BJDUNYlX.js → workflow-map-BX3JY1Bu.js} +3 -3
  210. package/dist/_chunks/{workflow-map-BJDUNYlX.js.map → workflow-map-BX3JY1Bu.js.map} +1 -1
  211. package/dist/_chunks/{zh-CN-CgVJZEzz.js → zh-CN-B-igM5gY.js} +3 -3
  212. package/dist/_chunks/{zh-CN-CgVJZEzz.js.map → zh-CN-B-igM5gY.js.map} +1 -1
  213. package/dist/agent-catalog.json +72 -4
  214. package/dist/components/agenda-tray/index.js +1 -1
  215. package/dist/components/ai-consent-banner/ai-consent-banner.d.ts.map +1 -1
  216. package/dist/components/ai-consent-banner/index.js +1 -1
  217. package/dist/components/ai-prompt-input/index.js +1 -1
  218. package/dist/components/ai-tools-rail/index.js +1 -1
  219. package/dist/components/anamnesis-card/index.js +1 -1
  220. package/dist/components/appointment-card/index.js +1 -1
  221. package/dist/components/audio-recorder/index.js +1 -1
  222. package/dist/components/autocomplete/index.js +1 -1
  223. package/dist/components/bishop-score/index.js +1 -1
  224. package/dist/components/bmi-calculator/index.js +1 -1
  225. package/dist/components/booking/details-form.d.ts.map +1 -1
  226. package/dist/components/booking/index.js +1 -1
  227. package/dist/components/button/icon-button.d.ts.map +1 -1
  228. package/dist/components/button/index.js +1 -1
  229. package/dist/components/calendar/index.js +1 -1
  230. package/dist/components/care-plan-card/index.js +1 -1
  231. package/dist/components/care-plan-entry-card/index.js +1 -1
  232. package/dist/components/carousel/index.js +1 -1
  233. package/dist/components/chat-input/index.js +1 -1
  234. package/dist/components/chat-message/index.js +1 -1
  235. package/dist/components/contact-profile-card/index.js +1 -1
  236. package/dist/components/cycle-calculator/index.js +1 -1
  237. package/dist/components/data-table/filters/date-range-filter.d.ts.map +1 -1
  238. package/dist/components/data-table/filters/select-filter.d.ts.map +1 -1
  239. package/dist/components/data-table/index.js +1 -1
  240. package/dist/components/date-picker/index.js +1 -1
  241. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  242. package/dist/components/date-range-picker/index.js +1 -1
  243. package/dist/components/date-time-picker/index.js +1 -1
  244. package/dist/components/description-list/index.js +1 -1
  245. package/dist/components/due-date-calculator/index.js +2 -2
  246. package/dist/components/editor-overlay/editor-overlay.d.ts +19 -0
  247. package/dist/components/editor-overlay/editor-overlay.d.ts.map +1 -0
  248. package/dist/components/editor-overlay/index.d.ts +3 -0
  249. package/dist/components/editor-overlay/index.d.ts.map +1 -0
  250. package/dist/components/editor-overlay/index.js +5 -0
  251. package/dist/components/editor-overlay/index.js.map +1 -0
  252. package/dist/components/fetal-weight/index.js +1 -1
  253. package/dist/components/fiscal-code-input/index.js +1 -1
  254. package/dist/components/freemium-paywall/index.js +1 -1
  255. package/dist/components/gestational-age-calculator/index.js +1 -1
  256. package/dist/components/hcg-doubling/index.js +1 -1
  257. package/dist/components/header/index.js +1 -1
  258. package/dist/components/header-settings/index.js +1 -1
  259. package/dist/components/icon-button/index.js +1 -1
  260. package/dist/components/index.d.ts +2 -0
  261. package/dist/components/index.d.ts.map +1 -1
  262. package/dist/components/key-value-pair/index.js +1 -1
  263. package/dist/components/locale-picker/index.js +1 -1
  264. package/dist/components/message-card/index.js +1 -1
  265. package/dist/components/message-tray/index.js +1 -1
  266. package/dist/components/multi-select/index.js +1 -1
  267. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  268. package/dist/components/notification-card/index.js +1 -1
  269. package/dist/components/notification-tray/index.js +1 -1
  270. package/dist/components/patient-search/index.js +1 -1
  271. package/dist/components/patient-summary-card/index.js +1 -1
  272. package/dist/components/payment-card/index.js +1 -1
  273. package/dist/components/payment-form/index.js +1 -1
  274. package/dist/components/payment-form/payment-form.d.ts.map +1 -1
  275. package/dist/components/pdf-viewer/index.js +1 -1
  276. package/dist/components/periodontal-chart-card/index.js +1 -1
  277. package/dist/components/phone-input/index.js +1 -1
  278. package/dist/components/phone-input/phone-input.d.ts +9 -0
  279. package/dist/components/phone-input/phone-input.d.ts.map +1 -1
  280. package/dist/components/popover/index.js +1 -1
  281. package/dist/components/practice-results/index.js +1 -1
  282. package/dist/components/pregnancy-dating/index.js +1 -1
  283. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  284. package/dist/components/privacy-lock/index.js +1 -1
  285. package/dist/components/product-hub-tray/index.js +1 -1
  286. package/dist/components/public-header/index.js +1 -1
  287. package/dist/components/reviews-panel/index.js +1 -1
  288. package/dist/components/rich-text-editor/editor-toolbar.d.ts +16 -0
  289. package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -0
  290. package/dist/components/rich-text-editor/help-me-write-overlay.d.ts +25 -0
  291. package/dist/components/rich-text-editor/help-me-write-overlay.d.ts.map +1 -0
  292. package/dist/components/rich-text-editor/index.js +1 -1
  293. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
  294. package/dist/components/rich-text-editor/rich-text-editor.d.ts +43 -0
  295. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  296. package/dist/components/search-bar/index.js +1 -1
  297. package/dist/components/search-input/index.js +1 -1
  298. package/dist/components/select/index.js +1 -1
  299. package/dist/components/select/select.d.ts +8 -0
  300. package/dist/components/select/select.d.ts.map +1 -1
  301. package/dist/components/sheet/index.js +1 -1
  302. package/dist/components/sign-document/index.js +1 -1
  303. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  304. package/dist/components/signature-field/index.js +1 -1
  305. package/dist/components/signature-field/signature-field.d.ts.map +1 -1
  306. package/dist/components/slot-grid/index.js +1 -1
  307. package/dist/components/smart-date/index.d.ts +3 -0
  308. package/dist/components/smart-date/index.d.ts.map +1 -0
  309. package/dist/components/smart-date/index.js +5 -0
  310. package/dist/components/smart-date/index.js.map +1 -0
  311. package/dist/components/smart-date/smart-date.d.ts +32 -0
  312. package/dist/components/smart-date/smart-date.d.ts.map +1 -0
  313. package/dist/components/social-sign-in-button/index.js +1 -1
  314. package/dist/components/spinner/index.js +1 -1
  315. package/dist/components/streaming-text/index.js +1 -1
  316. package/dist/components/tabs/index.js +1 -1
  317. package/dist/components/task-tray/index.js +1 -1
  318. package/dist/components/theme-toggle/index.js +1 -1
  319. package/dist/components/toast/index.js +1 -1
  320. package/dist/components/tooth-scheme/index.d.ts +2 -2
  321. package/dist/components/tooth-scheme/index.d.ts.map +1 -1
  322. package/dist/components/tooth-scheme/index.js +22 -15
  323. package/dist/components/tooth-scheme/tooth-data.d.ts +79 -18
  324. package/dist/components/tooth-scheme/tooth-data.d.ts.map +1 -1
  325. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -0
  326. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -1
  327. package/dist/components/tooth-scheme/tooth-scheme.d.ts +48 -1
  328. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
  329. package/dist/components/transcript-panel/index.js +1 -1
  330. package/dist/components/unit-converter/index.js +1 -1
  331. package/dist/components/wallet-pay-button/index.js +1 -1
  332. package/dist/components/workflow/index.js +1 -1
  333. package/dist/i18n/locales/ar.d.ts +61 -0
  334. package/dist/i18n/locales/ar.d.ts.map +1 -1
  335. package/dist/i18n/locales/ar.js +63 -2
  336. package/dist/i18n/locales/ar.js.map +1 -1
  337. package/dist/i18n/locales/de.d.ts +61 -0
  338. package/dist/i18n/locales/de.d.ts.map +1 -1
  339. package/dist/i18n/locales/de.js +63 -2
  340. package/dist/i18n/locales/de.js.map +1 -1
  341. package/dist/i18n/locales/el.d.ts +61 -0
  342. package/dist/i18n/locales/el.d.ts.map +1 -1
  343. package/dist/i18n/locales/el.js +63 -2
  344. package/dist/i18n/locales/el.js.map +1 -1
  345. package/dist/i18n/locales/en.d.ts +61 -0
  346. package/dist/i18n/locales/en.d.ts.map +1 -1
  347. package/dist/i18n/locales/en.js +67 -2
  348. package/dist/i18n/locales/en.js.map +1 -1
  349. package/dist/i18n/locales/es.d.ts +61 -0
  350. package/dist/i18n/locales/es.d.ts.map +1 -1
  351. package/dist/i18n/locales/es.js +63 -2
  352. package/dist/i18n/locales/es.js.map +1 -1
  353. package/dist/i18n/locales/fr.d.ts +61 -0
  354. package/dist/i18n/locales/fr.d.ts.map +1 -1
  355. package/dist/i18n/locales/fr.js +63 -2
  356. package/dist/i18n/locales/fr.js.map +1 -1
  357. package/dist/i18n/locales/hi.d.ts +61 -0
  358. package/dist/i18n/locales/hi.d.ts.map +1 -1
  359. package/dist/i18n/locales/hi.js +63 -2
  360. package/dist/i18n/locales/hi.js.map +1 -1
  361. package/dist/i18n/locales/it.d.ts +61 -0
  362. package/dist/i18n/locales/it.d.ts.map +1 -1
  363. package/dist/i18n/locales/it.js +63 -2
  364. package/dist/i18n/locales/it.js.map +1 -1
  365. package/dist/i18n/locales/ja.d.ts +61 -0
  366. package/dist/i18n/locales/ja.d.ts.map +1 -1
  367. package/dist/i18n/locales/ja.js +63 -2
  368. package/dist/i18n/locales/ja.js.map +1 -1
  369. package/dist/i18n/locales/nl.d.ts +61 -0
  370. package/dist/i18n/locales/nl.d.ts.map +1 -1
  371. package/dist/i18n/locales/nl.js +63 -2
  372. package/dist/i18n/locales/nl.js.map +1 -1
  373. package/dist/i18n/locales/pl.d.ts +61 -0
  374. package/dist/i18n/locales/pl.d.ts.map +1 -1
  375. package/dist/i18n/locales/pl.js +63 -2
  376. package/dist/i18n/locales/pl.js.map +1 -1
  377. package/dist/i18n/locales/pt.d.ts +61 -0
  378. package/dist/i18n/locales/pt.d.ts.map +1 -1
  379. package/dist/i18n/locales/pt.js +63 -2
  380. package/dist/i18n/locales/pt.js.map +1 -1
  381. package/dist/i18n/locales/ro.d.ts +61 -0
  382. package/dist/i18n/locales/ro.d.ts.map +1 -1
  383. package/dist/i18n/locales/ro.js +63 -2
  384. package/dist/i18n/locales/ro.js.map +1 -1
  385. package/dist/i18n/locales/ru.d.ts +61 -0
  386. package/dist/i18n/locales/ru.d.ts.map +1 -1
  387. package/dist/i18n/locales/ru.js +63 -2
  388. package/dist/i18n/locales/ru.js.map +1 -1
  389. package/dist/i18n/locales/sq.d.ts +61 -0
  390. package/dist/i18n/locales/sq.d.ts.map +1 -1
  391. package/dist/i18n/locales/sq.js +63 -2
  392. package/dist/i18n/locales/sq.js.map +1 -1
  393. package/dist/i18n/locales/sv.d.ts +61 -0
  394. package/dist/i18n/locales/sv.d.ts.map +1 -1
  395. package/dist/i18n/locales/sv.js +63 -2
  396. package/dist/i18n/locales/sv.js.map +1 -1
  397. package/dist/i18n/locales/tr.d.ts +61 -0
  398. package/dist/i18n/locales/tr.d.ts.map +1 -1
  399. package/dist/i18n/locales/tr.js +63 -2
  400. package/dist/i18n/locales/tr.js.map +1 -1
  401. package/dist/i18n/locales/zh.d.ts +61 -0
  402. package/dist/i18n/locales/zh.d.ts.map +1 -1
  403. package/dist/i18n/locales/zh.js +63 -2
  404. package/dist/i18n/locales/zh.js.map +1 -1
  405. package/dist/index.js +511 -500
  406. package/dist/index.js.map +1 -1
  407. package/dist/locales/ar.json +63 -2
  408. package/dist/locales/de.json +63 -2
  409. package/dist/locales/el.json +63 -2
  410. package/dist/locales/en.json +63 -2
  411. package/dist/locales/es.json +63 -2
  412. package/dist/locales/fr.json +63 -2
  413. package/dist/locales/hi.json +63 -2
  414. package/dist/locales/it.json +63 -2
  415. package/dist/locales/ja.json +63 -2
  416. package/dist/locales/nl.json +63 -2
  417. package/dist/locales/pl.json +63 -2
  418. package/dist/locales/pt.json +63 -2
  419. package/dist/locales/ro.json +63 -2
  420. package/dist/locales/ru.json +63 -2
  421. package/dist/locales/sq.json +63 -2
  422. package/dist/locales/sv.json +63 -2
  423. package/dist/locales/tr.json +63 -2
  424. package/dist/locales/zh.json +63 -2
  425. package/dist/patterns/alia-assistant/index.js +1 -1
  426. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  427. package/dist/patterns/patient-shell/index.js +1 -1
  428. package/dist/tokens.css +36 -22
  429. package/package.json +10 -1
  430. package/dist/_chunks/booking-BUV9fspj.js.map +0 -1
  431. package/dist/_chunks/date-picker-variants-CXEAx3O_.js.map +0 -1
  432. package/dist/_chunks/editable-currency-cell-renderer-D5C5tCfu.js.map +0 -1
  433. package/dist/_chunks/icon-button-CKEOrN37.js +0 -70
  434. package/dist/_chunks/icon-button-CKEOrN37.js.map +0 -1
  435. package/dist/_chunks/insert-result-C1SYdueh.js.map +0 -1
  436. package/dist/_chunks/multi-select-DOLO3K_z.js.map +0 -1
  437. package/dist/_chunks/pdf-viewer-chMpwpA4.js.map +0 -1
  438. package/dist/_chunks/phone-input-DfZbPPvh.js +0 -525
  439. package/dist/_chunks/phone-input-DfZbPPvh.js.map +0 -1
  440. package/dist/_chunks/rich-text-editor-B03qM22-.js +0 -334
  441. package/dist/_chunks/rich-text-editor-B03qM22-.js.map +0 -1
  442. package/dist/_chunks/select-hsCaJSX3.js.map +0 -1
  443. package/dist/_chunks/subDays-Bs00akhK.js +0 -8
  444. package/dist/_chunks/tooth-scheme-CxlsLjfN.js +0 -753
  445. package/dist/_chunks/tooth-scheme-CxlsLjfN.js.map +0 -1
@@ -1,334 +0,0 @@
1
- import { jsx as S } from "react/jsx-runtime";
2
- import { forwardRef as Y, useId as K, useMemo as N, useRef as l, useState as ee, useEffect as p, useImperativeHandle as te, useCallback as re } from "react";
3
- import { c as A } from "./index-D2ZczOXr.js";
4
- import { useTranslation as ne } from "react-i18next";
5
- import { sanitiseHtml as oe } from "../safe-html/index.js";
6
- import { u as ie } from "./registry-nPAVE19X.js";
7
- const se = {
8
- id: "rich-text-editor",
9
- capabilities: ["edit_inline"],
10
- state: {
11
- html: {
12
- type: "string",
13
- description: "Sanitised HTML representation of the editor content.",
14
- read: (t) => t.getHTML()
15
- },
16
- markdown: {
17
- type: "string",
18
- description: "Markdown representation of the editor content. The Redactor engine has no native Markdown serialiser, so this is always empty — read `html` instead.",
19
- read: (t) => t.getMarkdown()
20
- }
21
- },
22
- actions: {
23
- set_content: {
24
- safety: "destructive",
25
- argsType: "{ html: string }",
26
- description: "Replace the editor content. Loses unsaved input.",
27
- invoke: (t, n) => {
28
- t.setContent(n.html);
29
- }
30
- },
31
- clear: {
32
- safety: "destructive",
33
- description: "Empty the editor. Loses unsaved input.",
34
- invoke: (t) => {
35
- t.clear();
36
- }
37
- },
38
- focus: {
39
- safety: "read",
40
- description: "Move keyboard focus to the editor surface.",
41
- invoke: (t) => {
42
- t.focus();
43
- }
44
- }
45
- },
46
- domHooks: {
47
- root: { attr: "data-component", value: "rich-text-editor" },
48
- instanceId: {
49
- attr: "data-component-id",
50
- sourceProp: "id",
51
- description: "Sourced from the id prop."
52
- }
53
- }
54
- };
55
- function u(t) {
56
- return oe(t, "rich-text");
57
- }
58
- function z(t = "") {
59
- const n = String(t).trim();
60
- if (n === "" || n === "<p><br></p>" || n === "<p>&nbsp;</p>")
61
- return "";
62
- const i = n.replace(/<br\s*\/?>/gi, "").replace(/&nbsp;/gi, "").replace(/<[^>]+>/g, "").trim();
63
- return i === "" && /<img\b[^>]*>/i.test(n) ? n : i === "" ? "" : n;
64
- }
65
- function ae(t) {
66
- return t.replace(
67
- /<img(?![^>]*\sloading=)([^>]*)>/gi,
68
- '<img loading="lazy"$1>'
69
- );
70
- }
71
- function ce(t) {
72
- if (t) return t;
73
- if (typeof window > "u") return null;
74
- const n = window;
75
- return n.$R ?? n.Redactor ?? null;
76
- }
77
- const de = {
78
- minimal: ["bold", "italic", "link"],
79
- standard: ["format", "bold", "italic", "link", "lists"],
80
- full: [
81
- "format",
82
- "bold",
83
- "italic",
84
- "deleted",
85
- "link",
86
- "lists",
87
- "image",
88
- "table",
89
- "line"
90
- ]
91
- }, le = {
92
- sm: "8rem",
93
- md: "16rem",
94
- lg: "24rem"
95
- }, ue = {
96
- zh: "zh_cn",
97
- pt: "pt_br"
98
- };
99
- function fe(t) {
100
- const n = t.split("-")[0];
101
- return ue[n] ?? n ?? "en";
102
- }
103
- const me = A(
104
- "redactor-theme-alfadocs ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]"
105
- ), pe = A(
106
- [
107
- "ds:block ds:[inline-size:100%]",
108
- "ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--border)]",
109
- "ds:bg-[var(--background)] ds:text-[var(--foreground)]",
110
- "ds:font-[family-name:var(--font-sans)] ds:text-[length:var(--font-size-base)]",
111
- "ds:p-[var(--spacing-md)] ds:[min-block-size:10rem]",
112
- "ds:focus-visible:outline-[length:var(--focus-ring-width)]",
113
- "ds:focus-visible:outline-solid",
114
- "ds:focus-visible:outline-[var(--ring)]",
115
- "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
116
- "ds:forced-colors:focus-visible:outline-[CanvasText]"
117
- ].join(" ")
118
- ), ge = Y(
119
- ({
120
- id: t,
121
- defaultValue: n,
122
- value: i,
123
- onChange: R,
124
- toolbar: $ = "standard",
125
- placeholder: E,
126
- readOnly: g = !1,
127
- ariaLabel: O,
128
- minHeight: H,
129
- className: B,
130
- redactor: P,
131
- options: h,
132
- plugins: V,
133
- lang: j,
134
- imageUploadUrl: L,
135
- onKeyDown: y
136
- }, G) => {
137
- const { t: k, i18n: D } = ne(), M = K(), C = N(
138
- () => `rte-${M.replace(/[^a-zA-Z0-9-_]/g, "")}`,
139
- [M]
140
- ), o = `#${C}`, s = l(null), a = l(null), T = l(!1), [f, _] = ee(!1), m = l(null), c = l(R), b = l(y);
141
- p(() => {
142
- c.current = R, b.current = y;
143
- }, [R, y]);
144
- const F = l(
145
- (() => {
146
- const e = i ?? n ?? "";
147
- return e ? u(e) : "";
148
- })()
149
- );
150
- p(() => {
151
- const e = s.current;
152
- if (!e) return;
153
- e.value = F.current;
154
- const r = ce(P);
155
- if (!r) {
156
- _(!0);
157
- return;
158
- }
159
- a.current = r;
160
- const d = {
161
- lang: j ?? fe(D.language || "en"),
162
- buttons: de[$],
163
- buttonsHide: ["html"],
164
- plugins: V ?? [],
165
- placeholder: E ?? k("editor.placeholder"),
166
- toolbarFixed: !1,
167
- imageEditable: !1,
168
- imageResizable: !0
169
- };
170
- H && (d.minHeight = le[H]);
171
- const q = L ? { imageUpload: L } : {}, J = (h == null ? void 0 : h.callbacks) ?? {}, Q = {
172
- ...d,
173
- ...q,
174
- ...h ?? {},
175
- // Re-pin safety-critical keys LAST so consumer `options` can't override
176
- // the sanitising change handler or re-enable image editing.
177
- imageEditable: !1,
178
- callbacks: {
179
- ...J,
180
- changed(w) {
181
- const v = z(ae(w)), X = u(v);
182
- T.current = !0, c.current && (m.current && clearTimeout(m.current), m.current = setTimeout(() => {
183
- var I;
184
- (I = c.current) == null || I.call(c, { html: X, markdown: "" });
185
- }, 100));
186
- },
187
- keydown(w) {
188
- var v;
189
- (v = b.current) == null || v.call(b, w);
190
- }
191
- }
192
- };
193
- try {
194
- if (r(o, Q), g)
195
- try {
196
- r(o, "enableReadonly");
197
- } catch {
198
- }
199
- } catch {
200
- _(!0);
201
- }
202
- return () => {
203
- m.current && clearTimeout(m.current);
204
- try {
205
- r(o, "destroy");
206
- } catch {
207
- }
208
- a.current = null;
209
- };
210
- }, []), p(() => {
211
- const e = a.current;
212
- if (!e || i === void 0) return;
213
- if (T.current) {
214
- T.current = !1;
215
- return;
216
- }
217
- const r = u(z(i));
218
- let d = "";
219
- try {
220
- d = z(
221
- String(e(o, "source.getCode") ?? "")
222
- );
223
- } catch {
224
- return;
225
- }
226
- if (d !== r)
227
- try {
228
- e(o, "source.setCode", r);
229
- } catch {
230
- }
231
- }, [i, o]), p(() => {
232
- const e = a.current;
233
- if (e)
234
- try {
235
- e(o, g ? "enableReadonly" : "disableReadonly");
236
- } catch {
237
- }
238
- }, [g, o]), p(() => {
239
- if (!f || i === void 0) return;
240
- const e = s.current;
241
- if (!e) return;
242
- const r = u(i);
243
- e.value !== r && document.activeElement !== e && (e.value = r);
244
- }, [f, i]);
245
- const x = N(
246
- () => ({
247
- getHTML() {
248
- var r;
249
- const e = a.current;
250
- if (e)
251
- try {
252
- return String(e(o, "source.getCode") ?? "");
253
- } catch {
254
- }
255
- return ((r = s.current) == null ? void 0 : r.value) ?? "";
256
- },
257
- getMarkdown() {
258
- return "";
259
- },
260
- setContent(e) {
261
- const r = u(e), d = a.current;
262
- if (d)
263
- try {
264
- d(o, "source.setCode", r);
265
- return;
266
- } catch {
267
- }
268
- s.current && (s.current.value = r);
269
- },
270
- focus() {
271
- var r;
272
- const e = a.current;
273
- if (e)
274
- try {
275
- e(o, "editor.focus");
276
- return;
277
- } catch {
278
- }
279
- (r = s.current) == null || r.focus();
280
- },
281
- clear() {
282
- const e = a.current;
283
- if (e)
284
- try {
285
- e(o, "source.setCode", "");
286
- return;
287
- } catch {
288
- }
289
- s.current && (s.current.value = "");
290
- }
291
- }),
292
- [o]
293
- );
294
- te(G, () => x, [x]), ie(se, x, t);
295
- const U = re(
296
- (e) => {
297
- var r;
298
- (r = c.current) == null || r.call(c, {
299
- html: u(e.target.value),
300
- markdown: ""
301
- });
302
- },
303
- []
304
- ), W = O ?? k("editor.regionLabel"), Z = E ?? k("editor.placeholder");
305
- return /* @__PURE__ */ S(
306
- "div",
307
- {
308
- className: [me(), B].filter(Boolean).join(" "),
309
- "data-component": "rich-text-editor",
310
- "data-component-id": t,
311
- children: /* @__PURE__ */ S(
312
- "textarea",
313
- {
314
- ref: s,
315
- id: C,
316
- "aria-label": W,
317
- "aria-multiline": "true",
318
- placeholder: Z,
319
- onChange: f ? U : void 0,
320
- readOnly: f ? g : void 0,
321
- className: f ? pe() : void 0
322
- }
323
- )
324
- }
325
- );
326
- }
327
- );
328
- ge.displayName = "RichTextEditor";
329
- export {
330
- ge as R,
331
- se as r,
332
- me as w
333
- };
334
- //# sourceMappingURL=rich-text-editor-B03qM22-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rich-text-editor-B03qM22-.js","sources":["../../src/components/rich-text-editor/rich-text-editor.agent.ts","../../src/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { RichTextEditorHandle } from './rich-text-editor';\n\nexport const richTextEditorAgent: AgentAdapter<RichTextEditorHandle> = {\n id: 'rich-text-editor',\n capabilities: ['edit_inline'],\n state: {\n html: {\n type: 'string',\n description: 'Sanitised HTML representation of the editor content.',\n read: (handle) => handle.getHTML(),\n },\n markdown: {\n type: 'string',\n description:\n 'Markdown representation of the editor content. The Redactor engine has no native Markdown serialiser, so this is always empty — read `html` instead.',\n read: (handle) => handle.getMarkdown(),\n },\n },\n actions: {\n set_content: {\n safety: 'destructive',\n argsType: '{ html: string }',\n description: 'Replace the editor content. Loses unsaved input.',\n invoke: (handle, args: { html: string }) => {\n handle.setContent(args.html);\n },\n },\n clear: {\n safety: 'destructive',\n description: 'Empty the editor. Loses unsaved input.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n focus: {\n safety: 'read',\n description: 'Move keyboard focus to the editor surface.',\n invoke: (handle) => {\n handle.focus();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'rich-text-editor' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","/* ------------------------------------------------------------------ */\n/* RichTextEditor — thin, secure wrapper over Redactor (Imperavi). */\n/* */\n/* LICENCE-SAFETY MODEL (read first): */\n/* Redactor is a COMMERCIAL editor and `@alfadocs/ui-kit` publishes */\n/* to PUBLIC npm — so redactor.js bytes MUST NOT enter `dist/`. This */\n/* wrapper never imports Redactor; it resolves a Redactor factory at */\n/* runtime from a `redactor` prop or the UMD globals `window.$R` / */\n/* `window.Redactor` that the CONSUMER's licensed build sets */\n/* (platform ships `web/static/redactor/redactor.js`). With no */\n/* factory found, the editor renders a graceful plain <textarea>. */\n/* Storybook loads a vendored dev-only build via preview-head.html. */\n/* */\n/* - Toolbar/buttons/dropdowns/shortcuts are owned entirely by Redactor */\n/* itself. The kit only skins them via `redactor-theme.css` and feeds */\n/* button presets + lang strings. */\n/* - Security: all inbound HTML (value/defaultValue/setContent) and the */\n/* editor's outbound `changed` HTML run through DOMPurify with an */\n/* explicit FORBID list. Outbound HTML also gets `loading=\"lazy\"` on */\n/* images and platform's empty-placeholder normalisation. */\n/* - Backend-coupled features (image upload, help-me-write, */\n/* voice-recording) are CONSUMER-PROVIDED via `imageUploadUrl` / */\n/* `plugins` / `options`; the kit never bakes a backend route in. */\n/* - i18n: placeholder/aria via `t('editor.placeholder')`; Redactor's */\n/* own `lang` is derived from the active locale (not hardcoded). */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\n\nimport '../../tokens/themes/bridges/redactor-theme.css';\n\nimport { sanitiseHtml as sanitiseShared } from '../_shared/safe-html';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { richTextEditorAgent } from './rich-text-editor.agent';\n\n/* ------------------------------------------------------------------ */\n/* Sanitisation */\n/* ------------------------------------------------------------------ */\n\n// Single sanitiser surface (constraints §8): the editor routes every inbound\n// and outbound HTML string through the shared `rich-text` DOMPurify profile in\n// `_shared/safe-html.tsx`, so one audit covers the whole kit. The wrapper adds\n// only editor-specific shaping (normalizeEditorValue + withLazyImages) around it.\nfunction sanitiseHtml(input: string): string {\n return sanitiseShared(input, 'rich-text');\n}\n\n// Mirror platform's RedactorWysiwyg `normalizeEditorValue` (RedactorWysiwyg.js\n// :26-44): map Redactor's empty placeholders to '' for the emptiness test, but\n// preserve image-only HTML so embedded-image notes aren't dropped on save.\nfunction normalizeEditorValue(html = ''): string {\n const normalized = String(html).trim();\n if (\n normalized === '' ||\n normalized === '<p><br></p>' ||\n normalized === '<p>&nbsp;</p>'\n ) {\n return '';\n }\n const contentWithoutTags = normalized\n .replace(/<br\\s*\\/?>/gi, '')\n .replace(/&nbsp;/gi, '')\n .replace(/<[^>]+>/g, '')\n .trim();\n if (contentWithoutTags === '' && /<img\\b[^>]*>/i.test(normalized)) {\n return normalized;\n }\n return contentWithoutTags === '' ? '' : normalized;\n}\n\n// Inject `loading=\"lazy\"` on any <img> lacking it (platform parity).\nfunction withLazyImages(html: string): string {\n return html.replace(\n /<img(?![^>]*\\sloading=)([^>]*)>/gi,\n '<img loading=\"lazy\"$1>',\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Redactor factory resolution (external — never bundled) */\n/* ------------------------------------------------------------------ */\n\nexport type RedactorFactory = (\n selector: string | HTMLElement,\n command?: unknown,\n ...args: unknown[]\n) => unknown;\n\nfunction resolveRedactor(injected?: RedactorFactory): RedactorFactory | null {\n if (injected) return injected;\n if (typeof window === 'undefined') return null;\n const w = window as unknown as {\n $R?: RedactorFactory;\n Redactor?: RedactorFactory;\n };\n return w.$R ?? w.Redactor ?? null;\n}\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport type RichTextEditorToolbar = 'minimal' | 'standard' | 'full';\n\nexport interface RichTextEditorProps {\n /** Opaque instance id — emitted as `data-component-id` for the agent registry. */\n id?: string;\n /** HTML initial value (uncontrolled). Runs through DOMPurify. */\n defaultValue?: string;\n /** Controlled value (HTML). Sanitised; synced with a skip-once caret guard. */\n value?: string;\n /** Emits on every change — debounced 100ms. `markdown` is '' (Redactor has no serializer). */\n onChange?: (payload: { html: string; markdown: string }) => void;\n /** Toolbar preset → Redactor `buttons`. */\n toolbar?: RichTextEditorToolbar;\n /** Placeholder text — translates via useTranslation if omitted. */\n placeholder?: string;\n /** Read-only mode. */\n readOnly?: boolean;\n /** Accessible name for the editing region. */\n ariaLabel?: string;\n /** Size variant for the minimum block-size of the editing region. */\n minHeight?: 'sm' | 'md' | 'lg';\n /** Extra class names on the wrapper. */\n className?: string;\n\n /* --- Redactor-specific seams (all CONSUMER-PROVIDED) --- */\n /** Inject the Redactor factory explicitly; else `window.$R` / `window.Redactor`. */\n redactor?: RedactorFactory;\n /** Raw Redactor options, deep-merged LAST over the kit defaults (callbacks reserved). */\n options?: Record<string, unknown>;\n /** Redactor plugin names to enable (the consumer must register/load them). */\n plugins?: string[];\n /** Redactor lang code; default derived from the active i18n locale. */\n lang?: string;\n /** Consumer image-upload endpoint → Redactor `imageUpload`. Omitted if absent. */\n imageUploadUrl?: string;\n /** App keyboard-shortcut seam (e.g. Ctrl/Cmd+Enter to save). */\n onKeyDown?: (event: KeyboardEvent) => void;\n}\n\nexport interface RichTextEditorHandle {\n getHTML: () => string;\n /** Always '' — Redactor has no native Markdown serializer (see MDX). */\n getMarkdown: () => string;\n /** HTML goes through DOMPurify before reaching Redactor. */\n setContent: (html: string) => void;\n focus: () => void;\n clear: () => void;\n}\n\n/* ------------------------------------------------------------------ */\n/* Toolbar presets → Redactor buttons (UI-only; backend buttons are */\n/* consumer-supplied via `plugins` + `options`, never in a preset). */\n/* ------------------------------------------------------------------ */\n\nconst TOOLBAR_BUTTONS: Record<RichTextEditorToolbar, string[]> = {\n minimal: ['bold', 'italic', 'link'],\n standard: ['format', 'bold', 'italic', 'link', 'lists'],\n full: [\n 'format',\n 'bold',\n 'italic',\n 'deleted',\n 'link',\n 'lists',\n 'image',\n 'table',\n 'line',\n ],\n};\n\nconst MIN_HEIGHT_REM: Record<\n NonNullable<RichTextEditorProps['minHeight']>,\n string\n> = {\n sm: '8rem',\n md: '16rem',\n lg: '24rem',\n};\n\n// Map the kit's locale codes to Redactor's lang-file codes where they differ\n// (Redactor ships zh_cn / zh_tw / pt_br; the kit uses zh / pt). RTL (ar/fa/he)\n// pass through — direction is handled by the document dir, not the lang code.\nconst REDACTOR_LANG: Record<string, string> = {\n zh: 'zh_cn',\n pt: 'pt_br',\n};\n\nfunction toRedactorLang(locale: string): string {\n const base = locale.split('-')[0];\n return REDACTOR_LANG[base] ?? base ?? 'en';\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst wrapperVariants = cva(\n 'redactor-theme-alfadocs ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]',\n);\n\n// Degraded-mode plain textarea (Redactor not found) — looks like a kit field.\nconst degradedTextareaVariants = cva(\n [\n 'ds:block ds:[inline-size:100%]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--border)]',\n 'ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n 'ds:font-[family-name:var(--font-sans)] ds:text-[length:var(--font-size-base)]',\n 'ds:p-[var(--spacing-md)] ds:[min-block-size:10rem]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)]',\n 'ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' '),\n);\n\n/* ------------------------------------------------------------------ */\n/* RichTextEditor */\n/* ------------------------------------------------------------------ */\n\nexport const RichTextEditor = forwardRef<\n RichTextEditorHandle,\n RichTextEditorProps\n>(\n (\n {\n id,\n defaultValue,\n value,\n onChange,\n toolbar = 'standard',\n placeholder,\n readOnly = false,\n ariaLabel,\n minHeight,\n className,\n redactor,\n options,\n plugins,\n lang,\n imageUploadUrl,\n onKeyDown,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const rawId = useId();\n const editorId = useMemo(\n () => `rte-${rawId.replace(/[^a-zA-Z0-9-_]/g, '')}`,\n [rawId],\n );\n const selector = `#${editorId}`;\n\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const redactorRef = useRef<RedactorFactory | null>(null);\n // Skip-once guard: Redactor's `changed` already pushed this value out via\n // onChange, so the controlled-value effect must not echo it back with\n // setCode (which resets the caret to position 0). Mirrors platform.\n const skipNextPropSyncRef = useRef(false);\n const [degraded, setDegraded] = useState(false);\n\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const onChangeRef = useRef<RichTextEditorProps['onChange']>(onChange);\n const onKeyDownRef = useRef<RichTextEditorProps['onKeyDown']>(onKeyDown);\n useEffect(() => {\n onChangeRef.current = onChange;\n onKeyDownRef.current = onKeyDown;\n }, [onChange, onKeyDown]);\n\n // Initial content is computed once (controlled `value` is then synced by\n // the effect below). Sanitised before it ever reaches Redactor.\n const initialContentRef = useRef<string>(\n (() => {\n const raw = value ?? defaultValue ?? '';\n return raw ? sanitiseHtml(raw) : '';\n })(),\n );\n\n /* ---- Init Redactor once (or degrade gracefully) -------------- */\n useEffect(() => {\n const ta = textareaRef.current;\n if (!ta) return undefined;\n // Seed the host textarea imperatively: Redactor reads it on init, and in\n // degraded mode it stays as the textarea's shown value. (Done here, not\n // via `defaultValue`, because `degraded` flips after mount so a\n // `defaultValue` prop would never apply.)\n ta.value = initialContentRef.current;\n const R = resolveRedactor(redactor);\n if (!R) {\n setDegraded(true);\n if (import.meta.env.DEV) {\n console.warn(\n '[RichTextEditor] Redactor not found on window.$R / window.Redactor and no `redactor` prop supplied; rendering a plain textarea.',\n );\n }\n return undefined;\n }\n redactorRef.current = R;\n\n const kitDefaults: Record<string, unknown> = {\n lang: lang ?? toRedactorLang(i18n.language || 'en'),\n buttons: TOOLBAR_BUTTONS[toolbar],\n buttonsHide: ['html'],\n plugins: plugins ?? [],\n placeholder: placeholder ?? t('editor.placeholder'),\n toolbarFixed: false,\n imageEditable: false,\n imageResizable: true,\n };\n if (minHeight) kitDefaults.minHeight = MIN_HEIGHT_REM[minHeight];\n const imageUploadOption = imageUploadUrl\n ? { imageUpload: imageUploadUrl }\n : {};\n\n const consumerCallbacks =\n (options?.callbacks as Record<string, unknown> | undefined) ?? {};\n\n const finalOptions: Record<string, unknown> = {\n ...kitDefaults,\n ...imageUploadOption,\n ...(options ?? {}),\n // Re-pin safety-critical keys LAST so consumer `options` can't override\n // the sanitising change handler or re-enable image editing.\n imageEditable: false,\n callbacks: {\n ...consumerCallbacks,\n changed(html: string): void {\n const normalized = normalizeEditorValue(withLazyImages(html));\n const safe = sanitiseHtml(normalized);\n skipNextPropSyncRef.current = true;\n if (!onChangeRef.current) return;\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n onChangeRef.current?.({ html: safe, markdown: '' });\n }, 100);\n },\n keydown(event: KeyboardEvent): void {\n onKeyDownRef.current?.(event);\n },\n },\n };\n\n try {\n R(selector, finalOptions);\n // Redactor renders its own toolbar; readonly is a best-effort command\n // (engine-version dependent) — guarded so an unknown command is inert.\n if (readOnly) {\n try {\n R(selector, 'enableReadonly');\n } catch {\n /* readonly command unsupported in this Redactor build */\n }\n }\n } catch {\n setDegraded(true);\n }\n\n return () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n try {\n // Platform forgets to destroy and leaks; we clean up on unmount.\n R(selector, 'destroy');\n } catch {\n /* already torn down */\n }\n redactorRef.current = null;\n };\n // Init once — option changes after mount are not re-applied (matches the\n // editor's uncontrolled-internals model); value/readOnly sync below.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /* ---- Keep controlled `value` in sync (skip-once caret guard) - */\n useEffect(() => {\n const R = redactorRef.current;\n if (!R || value === undefined) return;\n if (skipNextPropSyncRef.current) {\n skipNextPropSyncRef.current = false;\n return;\n }\n const safe = sanitiseHtml(normalizeEditorValue(value));\n let current = '';\n try {\n current = normalizeEditorValue(\n String(R(selector, 'source.getCode') ?? ''),\n );\n } catch {\n return;\n }\n if (current !== safe) {\n try {\n R(selector, 'source.setCode', safe);\n } catch {\n /* ignore */\n }\n }\n }, [value, selector]);\n\n /* ---- Keep readOnly in sync ----------------------------------- */\n useEffect(() => {\n const R = redactorRef.current;\n if (!R) return;\n try {\n R(selector, readOnly ? 'enableReadonly' : 'disableReadonly');\n } catch {\n /* readonly command unsupported in this Redactor build */\n }\n }, [readOnly, selector]);\n\n /* ---- Degraded fallback: reflect controlled `value` ----------- */\n // Without Redactor the host textarea is uncontrolled (seeded once on init),\n // so it would otherwise ignore external `value` updates. Sync imperatively\n // (a controlled `value=` would warn when `degraded` flips after mount), and\n // skip while focused so we never reset the user's caret mid-type.\n useEffect(() => {\n if (!degraded || value === undefined) return;\n const ta = textareaRef.current;\n if (!ta) return;\n const safe = sanitiseHtml(value);\n if (ta.value !== safe && document.activeElement !== ta) {\n ta.value = safe;\n }\n }, [degraded, value]);\n\n /* ---- Imperative handle --------------------------------------- */\n const handle = useMemo<RichTextEditorHandle>(\n () => ({\n getHTML(): string {\n const R = redactorRef.current;\n if (R) {\n try {\n return String(R(selector, 'source.getCode') ?? '');\n } catch {\n /* fall through */\n }\n }\n return textareaRef.current?.value ?? '';\n },\n getMarkdown(): string {\n return '';\n },\n setContent(html: string): void {\n const safe = sanitiseHtml(html);\n const R = redactorRef.current;\n if (R) {\n try {\n R(selector, 'source.setCode', safe);\n return;\n } catch {\n /* fall through */\n }\n }\n if (textareaRef.current) textareaRef.current.value = safe;\n },\n focus(): void {\n const R = redactorRef.current;\n if (R) {\n try {\n R(selector, 'editor.focus');\n return;\n } catch {\n /* fall through */\n }\n }\n textareaRef.current?.focus();\n },\n clear(): void {\n const R = redactorRef.current;\n if (R) {\n try {\n R(selector, 'source.setCode', '');\n return;\n } catch {\n /* fall through */\n }\n }\n if (textareaRef.current) textareaRef.current.value = '';\n },\n }),\n [selector],\n );\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(richTextEditorAgent, handle, id);\n\n /* ---- Degraded-mode change handler ---------------------------- */\n const handleDegradedChange = useCallback(\n (event: ChangeEvent<HTMLTextAreaElement>): void => {\n onChangeRef.current?.({\n html: sanitiseHtml(event.target.value),\n markdown: '',\n });\n },\n [],\n );\n\n // Accessible name for the editing region — a dedicated label, not the\n // placeholder, so the region's name and its placeholder hint don't collide.\n const resolvedLabel = ariaLabel ?? t('editor.regionLabel');\n const resolvedPlaceholder = placeholder ?? t('editor.placeholder');\n\n return (\n <div\n className={[wrapperVariants(), className].filter(Boolean).join(' ')}\n data-component=\"rich-text-editor\"\n data-component-id={id}\n >\n <textarea\n ref={textareaRef}\n id={editorId}\n aria-label={resolvedLabel}\n aria-multiline=\"true\"\n placeholder={resolvedPlaceholder}\n onChange={degraded ? handleDegradedChange : undefined}\n readOnly={degraded ? readOnly : undefined}\n className={degraded ? degradedTextareaVariants() : undefined}\n />\n </div>\n );\n },\n);\n\nRichTextEditor.displayName = 'RichTextEditor';\n\nexport { wrapperVariants };\n"],"names":["richTextEditorAgent","handle","args","sanitiseHtml","input","sanitiseShared","normalizeEditorValue","html","normalized","contentWithoutTags","withLazyImages","resolveRedactor","injected","w","TOOLBAR_BUTTONS","MIN_HEIGHT_REM","REDACTOR_LANG","toRedactorLang","locale","base","wrapperVariants","cva","degradedTextareaVariants","RichTextEditor","forwardRef","id","defaultValue","value","onChange","toolbar","placeholder","readOnly","ariaLabel","minHeight","className","redactor","options","plugins","lang","imageUploadUrl","onKeyDown","ref","t","i18n","useTranslation","rawId","useId","editorId","useMemo","selector","textareaRef","useRef","redactorRef","skipNextPropSyncRef","degraded","setDegraded","useState","debounceRef","onChangeRef","onKeyDownRef","useEffect","initialContentRef","raw","ta","R","kitDefaults","imageUploadOption","consumerCallbacks","finalOptions","safe","_a","event","current","useImperativeHandle","useAgentRegistration","handleDegradedChange","useCallback","resolvedLabel","resolvedPlaceholder","jsx"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-hsCaJSX3.js","sources":["../../src/components/select/select.agent.ts","../../src/components/select/select.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — Select. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` for the contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { SelectHandle } from './select';\n\nexport const selectAgent: AgentAdapter<SelectHandle> = {\n id: 'select',\n capabilities: ['select_single', 'open', 'close'],\n state: {\n value: {\n type: 'string',\n descriptionKey: 'ui.agent.select.state.value',\n description:\n 'Currently selected option value, or empty string when none.',\n read: (handle) => handle.getValue(),\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.select.state.isOpen',\n description: 'Whether the option list is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string }',\n descriptionKey: 'ui.agent.select.actions.setValue',\n description: 'Select the option with the given value.',\n invoke: (handle, args: { value: string }) => {\n handle.setValue(args.value);\n },\n },\n clear: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.select.actions.clear',\n description: 'Clear the current selection.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n descriptionKey: 'ui.agent.select.actions.open',\n description: 'Open the option list.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n descriptionKey: 'ui.agent.select.actions.close',\n description: 'Close the option list.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'select',\n description: 'Marks the Select trigger.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-option-id',\n description:\n 'Stable opaque option value emitted on each rendered option.',\n },\n },\n};\n","import {\n forwardRef,\n useContext,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ElementRef,\n type MutableRefObject,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport { useAgentRegistration } from '../../agent';\nimport { selectAgent } from './select.agent';\n\n/** Agent-readiness curated handle for Select. */\nexport interface SelectHandle {\n getValue: () => string;\n setValue: (value: string) => void;\n clear: () => void;\n open: () => void;\n close: () => void;\n isOpen: () => boolean;\n}\nimport * as RadixSelect from '@radix-ui/react-select';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Check, ChevronDown, ChevronUp, X } from 'lucide-react';\nimport {\n FormFieldContext,\n useFormField,\n} from '../form-field/form-field-context';\nimport type { OptionShape } from '../_shared/option';\nimport { groupOptions } from '../_shared/group-options';\nimport { useDirection } from '../_shared/use-direction';\n\nconst selectTriggerVariants = cva(\n [\n 'ds:group ds:inline-flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:w-full',\n 'ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-input',\n 'ds:shadow-[var(--shadow-input)]',\n 'ds:text-foreground ds:placeholder:text-muted-foreground',\n 'ds:data-[placeholder]:text-muted-foreground',\n 'ds:transition-[colors,box-shadow] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-8 ds:ps-3 ds:pe-3 ds:text-[length:var(--font-size-sm)]',\n md: 'ds:h-[var(--min-target-size)] ds:ps-3 ds:pe-3 ds:text-[length:var(--font-size-base)]',\n lg: 'ds:h-12 ds:ps-4 ds:pe-4 ds:text-[length:var(--font-size-lg)]',\n },\n tone: {\n default: '',\n error: 'ds:border-destructive ds:focus-visible:outline-destructive',\n },\n },\n defaultVariants: {\n size: 'md',\n tone: 'default',\n },\n },\n);\n\nconst selectContentVariants = cva(\n [\n 'ds:z-[var(--z-dropdown)] ds:overflow-hidden',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-border ds:bg-background ds:text-foreground',\n 'ds:shadow-[var(--shadow-lg)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out',\n 'ds:data-[state=closed]:zoom-out-95',\n 'ds:data-[side=bottom]:slide-in-from-top-2',\n 'ds:data-[side=top]:slide-in-from-bottom-2',\n 'ds:motion-reduce:animate-none',\n ].join(' '),\n);\n\nconst selectItemVariants = cva(\n [\n 'ds:relative ds:flex ds:cursor-pointer ds:items-center',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:text-foreground ds:outline-none ds:select-none',\n 'ds:data-[highlighted]:bg-muted ds:data-[highlighted]:text-foreground',\n 'ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:min-h-8 ds:ps-8 ds:pe-3 ds:text-[length:var(--font-size-sm)]',\n md: 'ds:min-h-[var(--min-target-size)] ds:ps-8 ds:pe-3 ds:text-[length:var(--font-size-base)]',\n lg: 'ds:min-h-12 ds:ps-10 ds:pe-4 ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\nconst selectLabelClasses = [\n 'ds:ps-8 ds:pe-3 ds:py-1.5',\n 'type-eyebrow ds:text-muted-foreground',\n 'ds:sticky ds:top-0 ds:bg-background',\n].join(' ');\n\nconst iconSizeByItemSize = {\n sm: 'ds:size-3.5',\n md: 'ds:size-4',\n lg: 'ds:size-5',\n} as const;\n\nconst itemIndicatorStartByItemSize = {\n sm: 'ds:start-2',\n md: 'ds:start-2',\n lg: 'ds:start-3',\n} as const;\n\nfunction composeRefs<T>(\n ...refs: Array<Ref<T> | undefined | null>\n): (node: T | null) => void {\n return (node: T | null) => {\n for (const r of refs) {\n if (!r) continue;\n if (typeof r === 'function') {\n r(node);\n } else {\n (r as MutableRefObject<T | null>).current = node;\n }\n }\n };\n}\n\n// ---------------------------------------------------------------------------\n// Compound sub-components — thin `forwardRef` wrappers over Radix parts.\n// ---------------------------------------------------------------------------\n\ntype SelectRootProps = ComponentPropsWithoutRef<typeof RadixSelect.Root>;\n\nconst SelectRoot = (props: SelectRootProps) => <RadixSelect.Root {...props} />;\nSelectRoot.displayName = 'Select.Root';\n\ntype SelectTriggerElement = ElementRef<typeof RadixSelect.Trigger>;\ntype SelectTriggerProps = ComponentPropsWithoutRef<typeof RadixSelect.Trigger> &\n VariantProps<typeof selectTriggerVariants>;\n\nconst SelectTrigger = forwardRef<SelectTriggerElement, SelectTriggerProps>(\n ({ size, tone, className, children, ...props }, ref) => (\n <RadixSelect.Trigger\n ref={ref}\n className={selectTriggerVariants({ size, tone, className })}\n {...props}\n >\n {children}\n </RadixSelect.Trigger>\n ),\n);\nSelectTrigger.displayName = 'Select.Trigger';\n\ntype SelectValueProps = ComponentPropsWithoutRef<typeof RadixSelect.Value>;\n\nconst SelectValue = forwardRef<\n ElementRef<typeof RadixSelect.Value>,\n SelectValueProps\n>((props, ref) => <RadixSelect.Value ref={ref} {...props} />);\nSelectValue.displayName = 'Select.Value';\n\ntype SelectContentProps = ComponentPropsWithoutRef<\n typeof RadixSelect.Content\n> & {\n container?: HTMLElement | null;\n};\n\nconst SelectContent = forwardRef<\n ElementRef<typeof RadixSelect.Content>,\n SelectContentProps\n>(\n (\n {\n className,\n children,\n position = 'popper',\n sideOffset = 4,\n container,\n ...props\n },\n ref,\n ) => (\n <RadixSelect.Portal container={container ?? undefined}>\n <RadixSelect.Content\n ref={ref}\n position={position}\n sideOffset={sideOffset}\n data-component=\"select-content\"\n className={selectContentVariants({ className })}\n {...props}\n >\n <RadixSelect.ScrollUpButton className=\"ds:flex ds:items-center ds:justify-center ds:h-6 ds:bg-background ds:cursor-default\">\n <ChevronUp aria-hidden=\"true\" className=\"ds:size-4\" />\n </RadixSelect.ScrollUpButton>\n {children}\n <RadixSelect.ScrollDownButton className=\"ds:flex ds:items-center ds:justify-center ds:h-6 ds:bg-background ds:cursor-default\">\n <ChevronDown aria-hidden=\"true\" className=\"ds:size-4\" />\n </RadixSelect.ScrollDownButton>\n </RadixSelect.Content>\n </RadixSelect.Portal>\n ),\n);\nSelectContent.displayName = 'Select.Content';\n\ntype SelectViewportProps = ComponentPropsWithoutRef<\n typeof RadixSelect.Viewport\n>;\n\nconst SelectViewport = forwardRef<\n ElementRef<typeof RadixSelect.Viewport>,\n SelectViewportProps\n>(({ className, ...props }, ref) => (\n <RadixSelect.Viewport\n ref={ref}\n className={['ds:p-1', className].filter(Boolean).join(' ')}\n {...props}\n />\n));\nSelectViewport.displayName = 'Select.Viewport';\n\ntype SelectItemProps = ComponentPropsWithoutRef<typeof RadixSelect.Item> &\n VariantProps<typeof selectItemVariants>;\n\nconst SelectItem = forwardRef<\n ElementRef<typeof RadixSelect.Item>,\n SelectItemProps\n>(({ size = 'md', className, children, ...props }, ref) => {\n const indicatorStart = itemIndicatorStartByItemSize[size ?? 'md'];\n const iconSize = iconSizeByItemSize[size ?? 'md'];\n return (\n <RadixSelect.Item\n ref={ref}\n className={selectItemVariants({ size, className })}\n {...props}\n >\n <span\n className={`ds:absolute ${indicatorStart} ds:inline-flex ds:items-center ds:justify-center`}\n aria-hidden=\"true\"\n >\n <RadixSelect.ItemIndicator>\n <Check className={iconSize} />\n </RadixSelect.ItemIndicator>\n </span>\n <RadixSelect.ItemText>{children}</RadixSelect.ItemText>\n </RadixSelect.Item>\n );\n});\nSelectItem.displayName = 'Select.Item';\n\ntype SelectItemTextProps = ComponentPropsWithoutRef<\n typeof RadixSelect.ItemText\n>;\n\nconst SelectItemText = forwardRef<\n ElementRef<typeof RadixSelect.ItemText>,\n SelectItemTextProps\n>((props, ref) => <RadixSelect.ItemText ref={ref} {...props} />);\nSelectItemText.displayName = 'Select.ItemText';\n\ntype SelectGroupProps = ComponentPropsWithoutRef<typeof RadixSelect.Group>;\n\nconst SelectGroup = forwardRef<\n ElementRef<typeof RadixSelect.Group>,\n SelectGroupProps\n>((props, ref) => <RadixSelect.Group ref={ref} {...props} />);\nSelectGroup.displayName = 'Select.Group';\n\ntype SelectLabelProps = ComponentPropsWithoutRef<typeof RadixSelect.Label>;\n\nconst SelectLabel = forwardRef<\n ElementRef<typeof RadixSelect.Label>,\n SelectLabelProps\n>(({ className, ...props }, ref) => (\n <RadixSelect.Label\n ref={ref}\n className={[selectLabelClasses, className].filter(Boolean).join(' ')}\n {...props}\n />\n));\nSelectLabel.displayName = 'Select.Label';\n\ntype SelectSeparatorProps = ComponentPropsWithoutRef<\n typeof RadixSelect.Separator\n>;\n\nconst SelectSeparator = forwardRef<\n ElementRef<typeof RadixSelect.Separator>,\n SelectSeparatorProps\n>(({ className, ...props }, ref) => (\n <RadixSelect.Separator\n ref={ref}\n className={['ds:my-1 ds:h-px ds:bg-border', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nSelectSeparator.displayName = 'Select.Separator';\n\n// ---------------------------------------------------------------------------\n// Convenience form — `<Select options={[{value, label, group?}]} />`.\n// ---------------------------------------------------------------------------\n\nexport type SelectOption<T extends string = string> = OptionShape<T>;\n\nexport interface SelectProps<T extends string = string> {\n options: SelectOption<T>[];\n value?: T | '';\n defaultValue?: T;\n onValueChange?: (value: T | '') => void;\n placeholder?: string;\n clearable?: boolean;\n disabled?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n size?: 'sm' | 'md' | 'lg';\n tone?: 'default' | 'error';\n 'aria-label'?: string;\n className?: string;\n}\n\nconst SelectImpl = forwardRef<HTMLButtonElement, SelectProps>(function Select(\n {\n options,\n value,\n defaultValue,\n onValueChange,\n placeholder,\n clearable = false,\n disabled,\n required,\n name,\n id,\n size = 'md',\n tone = 'default',\n className,\n 'aria-label': ariaLabel,\n },\n ref,\n) {\n const { t } = useTranslation();\n const ctx = useFormField();\n const inFormField = useContext(FormFieldContext) !== null;\n\n const [internalValue, setInternalValue] = useState<string>(\n value ?? defaultValue ?? '',\n );\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const [openState, setOpenState] = useState<boolean>(false);\n const currentValueRef = useRef<string>(currentValue);\n currentValueRef.current = currentValue;\n\n const triggerId = id ?? (inFormField ? ctx.id : undefined);\n const effectiveDisabled =\n (inFormField ? ctx.disabled : false) || Boolean(disabled);\n const effectiveRequired =\n (inFormField ? ctx.required : false) || Boolean(required);\n const effectiveInvalid = inFormField ? ctx.invalid : false;\n const effectiveTone = effectiveInvalid ? 'error' : tone;\n const describedBy =\n inFormField && ctx.describedBy ? ctx.describedBy : undefined;\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n const composedTriggerRef = composeRefs(ref, triggerRef);\n const dir = useDirection(triggerRef);\n\n const emitValue = onValueChange as ((value: string) => void) | undefined;\n\n const handleValueChange = (next: string) => {\n if (!isControlled) setInternalValue(next);\n emitValue?.(next);\n };\n\n const handleClear: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n event.preventDefault();\n event.stopPropagation();\n if (!isControlled) setInternalValue('');\n emitValue?.('');\n triggerRef.current?.focus();\n };\n\n const resolvedPlaceholder =\n placeholder ?? t('inputs.select.placeholder', 'Select…');\n\n const showClear = clearable && !!currentValue && !effectiveDisabled;\n\n const groups = groupOptions(options);\n\n const agentHandle = useMemo<SelectHandle>(\n () => ({\n getValue: () => currentValueRef.current,\n setValue: (next) => {\n if (!isControlled) setInternalValue(next);\n emitValue?.(next);\n },\n clear: () => {\n if (!isControlled) setInternalValue('');\n emitValue?.('');\n },\n open: () => setOpenState(true),\n close: () => setOpenState(false),\n isOpen: () => openState,\n }),\n [emitValue, isControlled, openState],\n );\n useAgentRegistration(selectAgent, agentHandle, id);\n\n return (\n <RadixSelect.Root\n value={currentValue === '' ? undefined : currentValue}\n onValueChange={handleValueChange}\n open={openState}\n onOpenChange={setOpenState}\n disabled={effectiveDisabled}\n required={effectiveRequired}\n name={name}\n dir={dir}\n >\n <RadixSelect.Trigger\n ref={composedTriggerRef}\n id={triggerId}\n aria-label={\n ariaLabel ?? (!inFormField ? resolvedPlaceholder : undefined)\n }\n aria-labelledby={\n !ariaLabel && inFormField ? `${ctx.id}-label` : undefined\n }\n aria-describedby={describedBy}\n aria-invalid={effectiveInvalid || undefined}\n data-component=\"select\"\n data-component-id={id}\n className={selectTriggerVariants({\n size,\n tone: effectiveTone,\n className,\n })}\n >\n <RadixSelect.Value placeholder={resolvedPlaceholder} />\n <span className=\"ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n {showClear ? (\n <button\n type=\"button\"\n aria-label={t('inputs.select.clear', 'Clear selection')}\n onClick={handleClear}\n onPointerDown={(event) => event.stopPropagation()}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.stopPropagation();\n }\n }}\n className={[\n 'ds:inline-flex ds:items-center ds:justify-center ds:rounded-[var(--radius-sm)]',\n 'ds:text-muted-foreground ds:hover:text-foreground',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:size-4',\n ].join(' ')}\n >\n <X aria-hidden=\"true\" className=\"ds:size-3.5\" />\n </button>\n ) : null}\n <RadixSelect.Icon asChild>\n <ChevronDown\n aria-hidden=\"true\"\n className={[\n 'ds:size-4 ds:shrink-0 ds:text-muted-foreground',\n 'ds:transition-transform ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:group-data-[state=open]:rotate-180',\n ].join(' ')}\n />\n </RadixSelect.Icon>\n </span>\n </RadixSelect.Trigger>\n <SelectContent>\n <SelectViewport>\n {options.length === 0 ? (\n <div className=\"ds:ps-8 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground\">\n {t('inputs.select.noOptions', 'No options')}\n </div>\n ) : (\n groups.map(({ group, items }, groupIndex) => {\n const body = items.map((option) => (\n <SelectItem\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n size={size}\n data-option-id={option.value}\n >\n {option.label}\n </SelectItem>\n ));\n if (!group) {\n return (\n <RadixSelect.Group key={`group-${groupIndex}`}>\n {body}\n </RadixSelect.Group>\n );\n }\n return (\n <RadixSelect.Group key={`group-${group}`}>\n <SelectLabel>{group}</SelectLabel>\n {body}\n </RadixSelect.Group>\n );\n })\n )}\n </SelectViewport>\n </SelectContent>\n </RadixSelect.Root>\n );\n});\nSelectImpl.displayName = 'Select';\n\ninterface SelectComponent {\n <T extends string = string>(\n props: SelectProps<T> & { ref?: Ref<HTMLButtonElement> },\n ): ReactElement | null;\n displayName?: string;\n Root: typeof SelectRoot;\n Trigger: typeof SelectTrigger;\n Value: typeof SelectValue;\n Content: typeof SelectContent;\n Viewport: typeof SelectViewport;\n Item: typeof SelectItem;\n ItemText: typeof SelectItemText;\n Group: typeof SelectGroup;\n Label: typeof SelectLabel;\n Separator: typeof SelectSeparator;\n}\n\nconst SelectWithStatics = Object.assign(SelectImpl, {\n Root: SelectRoot,\n Trigger: SelectTrigger,\n Value: SelectValue,\n Content: SelectContent,\n Viewport: SelectViewport,\n Item: SelectItem,\n ItemText: SelectItemText,\n Group: SelectGroup,\n Label: SelectLabel,\n Separator: SelectSeparator,\n}) as unknown as SelectComponent;\n\nexport const Select = SelectWithStatics;\n\nexport {\n SelectRoot,\n SelectTrigger,\n SelectValue,\n SelectContent,\n SelectViewport,\n SelectItem,\n SelectItemText,\n SelectGroup,\n SelectLabel,\n SelectSeparator,\n};\n\nexport { selectTriggerVariants, selectContentVariants, selectItemVariants };\n\nexport type {\n SelectTriggerProps,\n SelectContentProps,\n SelectItemProps,\n SelectLabelProps,\n SelectRootProps,\n};\n\nexport type { ReactNode };\n"],"names":["selectAgent","handle","args","selectTriggerVariants","cva","selectContentVariants","selectItemVariants","selectLabelClasses","iconSizeByItemSize","itemIndicatorStartByItemSize","composeRefs","refs","node","r","SelectRoot","props","jsx","RadixSelect","SelectTrigger","forwardRef","size","tone","className","children","ref","SelectValue","SelectContent","position","sideOffset","container","jsxs","ChevronUp","ChevronDown","SelectViewport","SelectItem","indicatorStart","iconSize","Check","SelectItemText","SelectGroup","SelectLabel","SelectSeparator","SelectImpl","options","value","defaultValue","onValueChange","placeholder","clearable","disabled","required","name","id","ariaLabel","t","useTranslation","ctx","useFormField","inFormField","useContext","FormFieldContext","internalValue","setInternalValue","useState","isControlled","currentValue","openState","setOpenState","currentValueRef","useRef","triggerId","effectiveDisabled","effectiveRequired","effectiveInvalid","effectiveTone","describedBy","triggerRef","composedTriggerRef","dir","useDirection","emitValue","handleValueChange","next","handleClear","event","_a","resolvedPlaceholder","showClear","groups","groupOptions","agentHandle","useMemo","useAgentRegistration","X","group","items","groupIndex","body","option","SelectWithStatics","Select"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { a as o } from "./date-picker-variants-CXEAx3O_.js";
2
- function n(a, s, r) {
3
- return o(a, -s, r);
4
- }
5
- export {
6
- n as s
7
- };
8
- //# sourceMappingURL=subDays-Bs00akhK.js.map