@alfadocs/ui-kit-debug 0.64.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.
- package/dist/_chunks/{agenda-tray-DA6qj8BL.js → agenda-tray-Bh1KfEOG.js} +2 -2
- package/dist/_chunks/{agenda-tray-DA6qj8BL.js.map → agenda-tray-Bh1KfEOG.js.map} +1 -1
- package/dist/_chunks/{ai-consent-banner-DBKV27je.js → ai-consent-banner-Btzmk8OH.js} +3 -2
- package/dist/_chunks/{ai-consent-banner-DBKV27je.js.map → ai-consent-banner-Btzmk8OH.js.map} +1 -1
- package/dist/_chunks/{ai-prompt-input-Dx8eXoPm.js → ai-prompt-input-BwEACCPm.js} +2 -2
- package/dist/_chunks/{ai-prompt-input-Dx8eXoPm.js.map → ai-prompt-input-BwEACCPm.js.map} +1 -1
- package/dist/_chunks/{ai-tools-rail-7tC3GT4h.js → ai-tools-rail-JnlTqfS4.js} +2 -2
- package/dist/_chunks/{ai-tools-rail-7tC3GT4h.js.map → ai-tools-rail-JnlTqfS4.js.map} +1 -1
- package/dist/_chunks/{alia-sidebar-DlvyXgVC.js → alia-sidebar-CN8pA6c-.js} +7 -7
- package/dist/_chunks/{alia-sidebar-DlvyXgVC.js.map → alia-sidebar-CN8pA6c-.js.map} +1 -1
- package/dist/_chunks/{anamnesis-card-CmkBVAln.js → anamnesis-card-qeLYRG79.js} +2 -2
- package/dist/_chunks/{anamnesis-card-CmkBVAln.js.map → anamnesis-card-qeLYRG79.js.map} +1 -1
- package/dist/_chunks/{antenatal-schedule-timeline-CdiqkF05.js → antenatal-schedule-timeline-BfzFjEyb.js} +3 -3
- package/dist/_chunks/{antenatal-schedule-timeline-CdiqkF05.js.map → antenatal-schedule-timeline-BfzFjEyb.js.map} +1 -1
- package/dist/_chunks/{appointment-tray-BwDHhWWC.js → appointment-tray-BQnJEora.js} +2 -2
- package/dist/_chunks/{appointment-tray-BwDHhWWC.js.map → appointment-tray-BQnJEora.js.map} +1 -1
- package/dist/_chunks/{ar-C68WKG5a.js → ar-Cn5Fq48Z.js} +2 -2
- package/dist/_chunks/{ar-C68WKG5a.js.map → ar-Cn5Fq48Z.js.map} +1 -1
- package/dist/_chunks/{audio-recorder-CdXuT9ln.js → audio-recorder-DjXLP4aF.js} +2 -2
- package/dist/_chunks/{audio-recorder-CdXuT9ln.js.map → audio-recorder-DjXLP4aF.js.map} +1 -1
- package/dist/_chunks/{autocomplete-CDqxB68B.js → autocomplete-CcCFlVf-.js} +4 -4
- package/dist/_chunks/{autocomplete-CDqxB68B.js.map → autocomplete-CcCFlVf-.js.map} +1 -1
- package/dist/_chunks/{bishop-score-CzjSx-dm.js → bishop-score-x2fNqbuZ.js} +2 -2
- package/dist/_chunks/{bishop-score-CzjSx-dm.js.map → bishop-score-x2fNqbuZ.js.map} +1 -1
- package/dist/_chunks/{bmi-calculator-DA2NGmVK.js → bmi-calculator-C3roxbqD.js} +2 -2
- package/dist/_chunks/{bmi-calculator-DA2NGmVK.js.map → bmi-calculator-C3roxbqD.js.map} +1 -1
- package/dist/_chunks/{booking-ChfvWy3P.js → booking-L8-YP8BJ.js} +148 -148
- package/dist/_chunks/booking-L8-YP8BJ.js.map +1 -0
- package/dist/_chunks/calendar-B6soK1Yb.js +17 -0
- package/dist/_chunks/calendar-B6soK1Yb.js.map +1 -0
- package/dist/_chunks/{calendar-CkuJIg3s.js → calendar-oYWOCrnf.js} +1 -1
- package/dist/_chunks/{calendar-CkuJIg3s.js.map → calendar-oYWOCrnf.js.map} +1 -1
- package/dist/_chunks/{care-plan-card-DhZNoXs4.js → care-plan-card-D42WD4-T.js} +2 -2
- package/dist/_chunks/{care-plan-card-DhZNoXs4.js.map → care-plan-card-D42WD4-T.js.map} +1 -1
- package/dist/_chunks/{care-plan-entry-card-DW70yBOD.js → care-plan-entry-card-BukNI7Uy.js} +2 -2
- package/dist/_chunks/{care-plan-entry-card-DW70yBOD.js.map → care-plan-entry-card-BukNI7Uy.js.map} +1 -1
- package/dist/_chunks/{carousel.agent-DrX96W-1.js → carousel.agent-vt21A_el.js} +2 -2
- package/dist/_chunks/{carousel.agent-DrX96W-1.js.map → carousel.agent-vt21A_el.js.map} +1 -1
- package/dist/_chunks/{chat-input-CFwc7JxL.js → chat-input-B5zjNEUN.js} +2 -2
- package/dist/_chunks/{chat-input-CFwc7JxL.js.map → chat-input-B5zjNEUN.js.map} +1 -1
- package/dist/_chunks/{chat-message-Dm8U2RY1.js → chat-message-3V54YipB.js} +2 -2
- package/dist/_chunks/{chat-message-Dm8U2RY1.js.map → chat-message-3V54YipB.js.map} +1 -1
- package/dist/_chunks/{code-block-HoddNOKJ.js → code-block-BBWHhIc8.js} +2 -2
- package/dist/_chunks/{code-block-HoddNOKJ.js.map → code-block-BBWHhIc8.js.map} +1 -1
- package/dist/_chunks/{contact-profile-card-DvvVfAA2.js → contact-profile-card-CCeJmjbd.js} +2 -2
- package/dist/_chunks/{contact-profile-card-DvvVfAA2.js.map → contact-profile-card-CCeJmjbd.js.map} +1 -1
- package/dist/_chunks/{cycle-calculator-C_t1Hs8V.js → cycle-calculator-DrVXbIB4.js} +4 -4
- package/dist/_chunks/{cycle-calculator-C_t1Hs8V.js.map → cycle-calculator-DrVXbIB4.js.map} +1 -1
- package/dist/_chunks/{date-picker-BfHblqwA.js → date-picker-oGg5BnXL.js} +12 -11
- package/dist/_chunks/{date-picker-BfHblqwA.js.map → date-picker-oGg5BnXL.js.map} +1 -1
- package/dist/_chunks/{date-picker-variants-CXEAx3O_.js → date-picker-variants-DAcSLTua.js} +358 -372
- package/dist/_chunks/date-picker-variants-DAcSLTua.js.map +1 -0
- package/dist/_chunks/{date-range-picker-hcAMs1wO.js → date-range-picker-C5BWfH_T.js} +34 -25
- package/dist/_chunks/{date-range-picker-hcAMs1wO.js.map → date-range-picker-C5BWfH_T.js.map} +1 -1
- package/dist/_chunks/{date-time-picker-H-3Pwqlb.js → date-time-picker-Ze1My59T.js} +18 -17
- package/dist/_chunks/{date-time-picker-H-3Pwqlb.js.map → date-time-picker-Ze1My59T.js.map} +1 -1
- package/dist/_chunks/{de-DK4A9_a8.js → de-CrJs4ZsX.js} +2 -2
- package/dist/_chunks/{de-DK4A9_a8.js.map → de-CrJs4ZsX.js.map} +1 -1
- package/dist/_chunks/{description-list-BEbK2g93.js → description-list-gkNGWk5G.js} +2 -2
- package/dist/_chunks/{description-list-BEbK2g93.js.map → description-list-gkNGWk5G.js.map} +1 -1
- package/dist/_chunks/{due-date-calculator-Q8MIwEVV.js → due-date-calculator-D4K1BnE2.js} +4 -4
- package/dist/_chunks/{due-date-calculator-Q8MIwEVV.js.map → due-date-calculator-D4K1BnE2.js.map} +1 -1
- package/dist/_chunks/{editable-currency-cell-renderer-BQgaKFCz.js → editable-currency-cell-renderer-CFqQc56y.js} +304 -294
- package/dist/_chunks/editable-currency-cell-renderer-CFqQc56y.js.map +1 -0
- package/dist/_chunks/editor-overlay-wYm22wZK.js +88 -0
- package/dist/_chunks/editor-overlay-wYm22wZK.js.map +1 -0
- package/dist/_chunks/{el-B29HXhG5.js → el-DHdMOIhL.js} +6 -6
- package/dist/_chunks/{el-B29HXhG5.js.map → el-DHdMOIhL.js.map} +1 -1
- package/dist/_chunks/{es-BOwPVwWn.js → es-DCATCfqo.js} +2 -2
- package/dist/_chunks/{es-BOwPVwWn.js.map → es-DCATCfqo.js.map} +1 -1
- package/dist/_chunks/{fetal-weight-D1a6BmM-.js → fetal-weight-B_pBjlO7.js} +2 -2
- package/dist/_chunks/{fetal-weight-D1a6BmM-.js.map → fetal-weight-B_pBjlO7.js.map} +1 -1
- package/dist/_chunks/{fiscal-code-input-BZ0FxwUl.js → fiscal-code-input-DPtqluVb.js} +2 -2
- package/dist/_chunks/{fiscal-code-input-BZ0FxwUl.js.map → fiscal-code-input-DPtqluVb.js.map} +1 -1
- package/dist/_chunks/{fr-DoDBtn0T.js → fr-BfGEMshF.js} +2 -2
- package/dist/_chunks/{fr-DoDBtn0T.js.map → fr-BfGEMshF.js.map} +1 -1
- package/dist/_chunks/{freemium-paywall-gHGA44dW.js → freemium-paywall-CkWjv3o6.js} +2 -2
- package/dist/_chunks/{freemium-paywall-gHGA44dW.js.map → freemium-paywall-CkWjv3o6.js.map} +1 -1
- package/dist/_chunks/{gestational-age-calculator-D85E8lGN.js → gestational-age-calculator-BETQAVkA.js} +6 -6
- package/dist/_chunks/{gestational-age-calculator-D85E8lGN.js.map → gestational-age-calculator-BETQAVkA.js.map} +1 -1
- package/dist/_chunks/{hcg-doubling-Dg0Hr7ey.js → hcg-doubling-8zXCJgAQ.js} +3 -3
- package/dist/_chunks/{hcg-doubling-Dg0Hr7ey.js.map → hcg-doubling-8zXCJgAQ.js.map} +1 -1
- package/dist/_chunks/{header-Ce1Br27u.js → header-CNszv2WQ.js} +2 -2
- package/dist/_chunks/{header-Ce1Br27u.js.map → header-CNszv2WQ.js.map} +1 -1
- package/dist/_chunks/{header-settings-D5Z2B_Yz.js → header-settings-CNOqIhoW.js} +3 -3
- package/dist/_chunks/{header-settings-D5Z2B_Yz.js.map → header-settings-CNOqIhoW.js.map} +1 -1
- package/dist/_chunks/{hi-DGByrKby.js → hi-CBFRXEIm.js} +2 -2
- package/dist/_chunks/{hi-DGByrKby.js.map → hi-CBFRXEIm.js.map} +1 -1
- package/dist/_chunks/icon-button-LqoiKcUN.js +78 -0
- package/dist/_chunks/icon-button-LqoiKcUN.js.map +1 -0
- package/dist/_chunks/{insert-result-C1SYdueh.js → insert-result-DIAG3ltJ.js} +115 -136
- package/dist/_chunks/insert-result-DIAG3ltJ.js.map +1 -0
- package/dist/_chunks/{isSameWeek-B1odL2vR.js → isSameWeek-I3DfXUp1.js} +2 -2
- package/dist/_chunks/{isSameWeek-B1odL2vR.js.map → isSameWeek-I3DfXUp1.js.map} +1 -1
- package/dist/_chunks/{it-B16rEecm.js → it-nz6vAKwG.js} +7 -7
- package/dist/_chunks/{it-B16rEecm.js.map → it-nz6vAKwG.js.map} +1 -1
- package/dist/_chunks/{ja-B0viOgft.js → ja-DQcqdAEJ.js} +2 -2
- package/dist/_chunks/{ja-B0viOgft.js.map → ja-DQcqdAEJ.js.map} +1 -1
- package/dist/_chunks/{key-value-pair-CkQIb9EG.js → key-value-pair-BrgbMfbF.js} +2 -2
- package/dist/_chunks/{key-value-pair-CkQIb9EG.js.map → key-value-pair-BrgbMfbF.js.map} +1 -1
- package/dist/_chunks/{locale-picker-D99UyZVJ.js → locale-picker-C9JmBht3.js} +3 -3
- package/dist/_chunks/{locale-picker-D99UyZVJ.js.map → locale-picker-C9JmBht3.js.map} +1 -1
- package/dist/_chunks/{marketplace-app-shell-C4OYAC22.js → marketplace-app-shell-BXfRMiRk.js} +4 -4
- package/dist/_chunks/{marketplace-app-shell-C4OYAC22.js.map → marketplace-app-shell-BXfRMiRk.js.map} +1 -1
- package/dist/_chunks/{message-card-Dvl1TgaN.js → message-card-Bgcvfj6-.js} +2 -2
- package/dist/_chunks/{message-card-Dvl1TgaN.js.map → message-card-Bgcvfj6-.js.map} +1 -1
- package/dist/_chunks/{message-tray-Dl6GQaaV.js → message-tray-saAVMeHP.js} +3 -3
- package/dist/_chunks/{message-tray-Dl6GQaaV.js.map → message-tray-saAVMeHP.js.map} +1 -1
- package/dist/_chunks/{multi-select-DOLO3K_z.js → multi-select-BcPylvHR.js} +100 -90
- package/dist/_chunks/multi-select-BcPylvHR.js.map +1 -0
- package/dist/_chunks/{nl-cBxEX2QU.js → nl-L5SuDjyl.js} +2 -2
- package/dist/_chunks/{nl-cBxEX2QU.js.map → nl-L5SuDjyl.js.map} +1 -1
- package/dist/_chunks/{notification-card-CObnGdJu.js → notification-card-BiESdm8q.js} +2 -2
- package/dist/_chunks/{notification-card-CObnGdJu.js.map → notification-card-BiESdm8q.js.map} +1 -1
- package/dist/_chunks/{notification-tray-BWHDIjgd.js → notification-tray-DlgenTEe.js} +3 -3
- package/dist/_chunks/{notification-tray-BWHDIjgd.js.map → notification-tray-DlgenTEe.js.map} +1 -1
- package/dist/_chunks/{patient-search-CArmRKeg.js → patient-search-Bw9ONucF.js} +2 -2
- package/dist/_chunks/{patient-search-CArmRKeg.js.map → patient-search-Bw9ONucF.js.map} +1 -1
- package/dist/_chunks/{patient-shell-Coarf346.js → patient-shell-CF_qon7C.js} +3 -3
- package/dist/_chunks/{patient-shell-Coarf346.js.map → patient-shell-CF_qon7C.js.map} +1 -1
- package/dist/_chunks/{patient-summary-card-BnTqxcTr.js → patient-summary-card-Bgso0p_l.js} +2 -2
- package/dist/_chunks/{patient-summary-card-BnTqxcTr.js.map → patient-summary-card-Bgso0p_l.js.map} +1 -1
- package/dist/_chunks/{payment-form-DJ9vnzrT.js → payment-form-nXocS_MX.js} +11 -4
- package/dist/_chunks/{payment-form-DJ9vnzrT.js.map → payment-form-nXocS_MX.js.map} +1 -1
- package/dist/_chunks/{payment-request-card-B_lyobd0.js → payment-request-card-DBz3hVDz.js} +3 -3
- package/dist/_chunks/{payment-request-card-B_lyobd0.js.map → payment-request-card-DBz3hVDz.js.map} +1 -1
- package/dist/_chunks/{pdf-viewer-chMpwpA4.js → pdf-viewer-GsfNqeeT.js} +3 -3
- package/dist/_chunks/pdf-viewer-GsfNqeeT.js.map +1 -0
- package/dist/_chunks/{periodontal-chart-card-BYs9hax1.js → periodontal-chart-card-AYyHtU9K.js} +2 -2
- package/dist/_chunks/{periodontal-chart-card-BYs9hax1.js.map → periodontal-chart-card-AYyHtU9K.js.map} +1 -1
- package/dist/_chunks/phone-input-DVXhNlIl.js +563 -0
- package/dist/_chunks/phone-input-DVXhNlIl.js.map +1 -0
- package/dist/_chunks/{pl-DtS08ioY.js → pl-YAn5z2wR.js} +3 -3
- package/dist/_chunks/{pl-DtS08ioY.js.map → pl-YAn5z2wR.js.map} +1 -1
- package/dist/_chunks/{popover-Devce-tT.js → popover-DTbfAuR0.js} +2 -2
- package/dist/_chunks/{popover-Devce-tT.js.map → popover-DTbfAuR0.js.map} +1 -1
- package/dist/_chunks/{practice-results-CtfciF2v.js → practice-results-CVAgY2RZ.js} +3 -3
- package/dist/_chunks/{practice-results-CtfciF2v.js.map → practice-results-CVAgY2RZ.js.map} +1 -1
- package/dist/_chunks/{pregnancy-dating-7NUaAfob.js → pregnancy-dating-BuzLTwjy.js} +6 -6
- package/dist/_chunks/{pregnancy-dating-7NUaAfob.js.map → pregnancy-dating-BuzLTwjy.js.map} +1 -1
- package/dist/_chunks/{pregnancy-weight-gain-DI7X-0JX.js → pregnancy-weight-gain-aicn7qs7.js} +2 -2
- package/dist/_chunks/{pregnancy-weight-gain-DI7X-0JX.js.map → pregnancy-weight-gain-aicn7qs7.js.map} +1 -1
- package/dist/_chunks/{privacy-lock-BN3L-alb.js → privacy-lock-C7JyMf0y.js} +2 -2
- package/dist/_chunks/{privacy-lock-BN3L-alb.js.map → privacy-lock-C7JyMf0y.js.map} +1 -1
- package/dist/_chunks/{product-hub-panel-CkfZBA3t.js → product-hub-panel-CAXDFeGP.js} +2 -2
- package/dist/_chunks/{product-hub-panel-CkfZBA3t.js.map → product-hub-panel-CAXDFeGP.js.map} +1 -1
- package/dist/_chunks/{pt-yFXs1VvH.js → pt-D9xdT5KQ.js} +6 -6
- package/dist/_chunks/{pt-yFXs1VvH.js.map → pt-D9xdT5KQ.js.map} +1 -1
- package/dist/_chunks/{public-header.agent-CYQK6T6F.js → public-header.agent-BOhJgZEU.js} +3 -3
- package/dist/_chunks/{public-header.agent-CYQK6T6F.js.map → public-header.agent-BOhJgZEU.js.map} +1 -1
- package/dist/_chunks/{reviews-panel-CPrXu5TX.js → reviews-panel-DBktKm7i.js} +2 -2
- package/dist/_chunks/{reviews-panel-CPrXu5TX.js.map → reviews-panel-DBktKm7i.js.map} +1 -1
- package/dist/_chunks/rich-text-editor-u36FqSWz.js +1190 -0
- package/dist/_chunks/rich-text-editor-u36FqSWz.js.map +1 -0
- package/dist/_chunks/{ro-DsCzSrzR.js → ro-Cp--52bT.js} +2 -2
- package/dist/_chunks/{ro-DsCzSrzR.js.map → ro-Cp--52bT.js.map} +1 -1
- package/dist/_chunks/{ru-DgDxL0pc.js → ru-BM8eX_Zz.js} +3 -3
- package/dist/_chunks/{ru-DgDxL0pc.js.map → ru-BM8eX_Zz.js.map} +1 -1
- package/dist/_chunks/{search-bar-CvN_S0jW.js → search-bar-SY2BcV2N.js} +2 -2
- package/dist/_chunks/{search-bar-CvN_S0jW.js.map → search-bar-SY2BcV2N.js.map} +1 -1
- package/dist/_chunks/{search-input-D3aMvi4l.js → search-input-DbxrnHkW.js} +3 -3
- package/dist/_chunks/{search-input-D3aMvi4l.js.map → search-input-DbxrnHkW.js.map} +1 -1
- package/dist/_chunks/{sheet-xbzu4YiY.js → sheet-taJer-Ha.js} +2 -2
- package/dist/_chunks/{sheet-xbzu4YiY.js.map → sheet-taJer-Ha.js.map} +1 -1
- package/dist/_chunks/{sign-document--nr5cxsB.js → sign-document-CdAiHiCh.js} +2 -2
- package/dist/_chunks/{sign-document--nr5cxsB.js.map → sign-document-CdAiHiCh.js.map} +1 -1
- package/dist/_chunks/{sign-in-with-alfadocs-button-BpAjVmsI.js → sign-in-with-alfadocs-button-LppxjlFt.js} +2 -2
- package/dist/_chunks/{sign-in-with-alfadocs-button-BpAjVmsI.js.map → sign-in-with-alfadocs-button-LppxjlFt.js.map} +1 -1
- package/dist/_chunks/{signature-field-DbhbpLha.js → signature-field-Dy1JRjzE.js} +10 -3
- package/dist/_chunks/{signature-field-DbhbpLha.js.map → signature-field-Dy1JRjzE.js.map} +1 -1
- package/dist/_chunks/{slot-grid-BlHHP9Qy.js → slot-grid-FsqumOaS.js} +2 -2
- package/dist/_chunks/{slot-grid-BlHHP9Qy.js.map → slot-grid-FsqumOaS.js.map} +1 -1
- package/dist/_chunks/smart-date-CWikAqZx.js +114 -0
- package/dist/_chunks/smart-date-CWikAqZx.js.map +1 -0
- package/dist/_chunks/{social-sign-in-button-uJYLM366.js → social-sign-in-button-dlpPI5l7.js} +2 -2
- package/dist/_chunks/{social-sign-in-button-uJYLM366.js.map → social-sign-in-button-dlpPI5l7.js.map} +1 -1
- package/dist/_chunks/{spinner-OjQNn8oN.js → spinner-hbwuKwMf.js} +10 -10
- package/dist/_chunks/{spinner-OjQNn8oN.js.map → spinner-hbwuKwMf.js.map} +1 -1
- package/dist/_chunks/{sq-DHlCYN67.js → sq-XRpr0r49.js} +6 -6
- package/dist/_chunks/{sq-DHlCYN67.js.map → sq-XRpr0r49.js.map} +1 -1
- package/dist/_chunks/{streaming-text-CfhDqtIT.js → streaming-text-BB9mvK4m.js} +2 -2
- package/dist/_chunks/{streaming-text-CfhDqtIT.js.map → streaming-text-BB9mvK4m.js.map} +1 -1
- package/dist/_chunks/subDays-BcYv1Lxi.js +8 -0
- package/dist/_chunks/{subDays-Bs00akhK.js.map → subDays-BcYv1Lxi.js.map} +1 -1
- package/dist/_chunks/{sv-O0QaQs_s.js → sv-Z3APomE8.js} +2 -2
- package/dist/_chunks/{sv-O0QaQs_s.js.map → sv-Z3APomE8.js.map} +1 -1
- package/dist/_chunks/{task-tray-Cb_hK4yb.js → task-tray-CAncV-QQ.js} +2 -2
- package/dist/_chunks/{task-tray-Cb_hK4yb.js.map → task-tray-CAncV-QQ.js.map} +1 -1
- package/dist/_chunks/{theme-toggle-DAW7uC0B.js → theme-toggle-DETmSu_h.js} +2 -2
- package/dist/_chunks/{theme-toggle-DAW7uC0B.js.map → theme-toggle-DETmSu_h.js.map} +1 -1
- package/dist/_chunks/{toast.agent-B0MCsvdZ.js → toast.agent-vuLRRn2a.js} +2 -2
- package/dist/_chunks/{toast.agent-B0MCsvdZ.js.map → toast.agent-vuLRRn2a.js.map} +1 -1
- package/dist/_chunks/{tooth-scheme-CiphQaON.js → tooth-scheme-BIx1O2aJ.js} +3 -3
- package/dist/_chunks/{tooth-scheme-CiphQaON.js.map → tooth-scheme-BIx1O2aJ.js.map} +1 -1
- package/dist/_chunks/{tr-BmNDRuio.js → tr-e0-P4FON.js} +2 -2
- package/dist/_chunks/{tr-BmNDRuio.js.map → tr-e0-P4FON.js.map} +1 -1
- package/dist/_chunks/{transcript-panel-B4HiC7ed.js → transcript-panel-CLHmv83g.js} +2 -2
- package/dist/_chunks/{transcript-panel-B4HiC7ed.js.map → transcript-panel-CLHmv83g.js.map} +1 -1
- package/dist/_chunks/type-DZ5OMRA2.js +28 -0
- package/dist/_chunks/type-DZ5OMRA2.js.map +1 -0
- package/dist/_chunks/{unit-converter-BIbXHIQA.js → unit-converter-CHN2cZ4b.js} +2 -2
- package/dist/_chunks/{unit-converter-BIbXHIQA.js.map → unit-converter-CHN2cZ4b.js.map} +1 -1
- package/dist/_chunks/{wallet-pay-button-DuDPBlCO.js → wallet-pay-button--dnR6NfJ.js} +2 -2
- package/dist/_chunks/{wallet-pay-button-DuDPBlCO.js.map → wallet-pay-button--dnR6NfJ.js.map} +1 -1
- package/dist/_chunks/{workflow-map-BJDUNYlX.js → workflow-map-BX3JY1Bu.js} +3 -3
- package/dist/_chunks/{workflow-map-BJDUNYlX.js.map → workflow-map-BX3JY1Bu.js.map} +1 -1
- package/dist/_chunks/{zh-CN-CgVJZEzz.js → zh-CN-B-igM5gY.js} +3 -3
- package/dist/_chunks/{zh-CN-CgVJZEzz.js.map → zh-CN-B-igM5gY.js.map} +1 -1
- package/dist/agent-catalog.json +32 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-consent-banner/ai-consent-banner.d.ts.map +1 -1
- package/dist/components/ai-consent-banner/index.js +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/ai-tools-rail/index.js +1 -1
- package/dist/components/anamnesis-card/index.js +1 -1
- package/dist/components/appointment-card/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/details-form.d.ts.map +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/button/icon-button.d.ts.map +1 -1
- package/dist/components/button/index.js +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/filters/date-range-filter.d.ts.map +1 -1
- package/dist/components/data-table/filters/select-filter.d.ts.map +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/editor-overlay/editor-overlay.d.ts +19 -0
- package/dist/components/editor-overlay/editor-overlay.d.ts.map +1 -0
- package/dist/components/editor-overlay/index.d.ts +3 -0
- package/dist/components/editor-overlay/index.d.ts.map +1 -0
- package/dist/components/editor-overlay/index.js +5 -0
- package/dist/components/editor-overlay/index.js.map +1 -0
- package/dist/components/fetal-weight/index.js +1 -1
- package/dist/components/fiscal-code-input/index.js +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/hcg-doubling/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/icon-button/index.js +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/multi-select/multi-select.d.ts.map +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/payment-form/payment-form.d.ts.map +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/periodontal-chart-card/index.js +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/phone-input/phone-input.d.ts +9 -0
- package/dist/components/phone-input/phone-input.d.ts.map +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/rich-text-editor/editor-toolbar.d.ts +16 -0
- package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -0
- package/dist/components/rich-text-editor/help-me-write-overlay.d.ts +25 -0
- package/dist/components/rich-text-editor/help-me-write-overlay.d.ts.map +1 -0
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.d.ts +43 -0
- package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-input/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/signature-field/index.js +1 -1
- package/dist/components/signature-field/signature-field.d.ts.map +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/smart-date/index.d.ts +3 -0
- package/dist/components/smart-date/index.d.ts.map +1 -0
- package/dist/components/smart-date/index.js +5 -0
- package/dist/components/smart-date/index.js.map +1 -0
- package/dist/components/smart-date/smart-date.d.ts +32 -0
- package/dist/components/smart-date/smart-date.d.ts.map +1 -0
- package/dist/components/social-sign-in-button/index.js +1 -1
- package/dist/components/spinner/index.js +1 -1
- package/dist/components/streaming-text/index.js +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/wallet-pay-button/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +44 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +45 -1
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +44 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +45 -1
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +44 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +45 -1
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +44 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +49 -1
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +44 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +45 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +44 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +45 -1
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +44 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +45 -1
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +44 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +45 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +44 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +45 -1
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +44 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +45 -1
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +44 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +45 -1
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +44 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +45 -1
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +44 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +45 -1
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +44 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +45 -1
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +44 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +45 -1
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +44 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +45 -1
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +44 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +45 -1
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +44 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +45 -1
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +494 -490
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +45 -1
- package/dist/locales/de.json +45 -1
- package/dist/locales/el.json +45 -1
- package/dist/locales/en.json +45 -1
- package/dist/locales/es.json +45 -1
- package/dist/locales/fr.json +45 -1
- package/dist/locales/hi.json +45 -1
- package/dist/locales/it.json +45 -1
- package/dist/locales/ja.json +45 -1
- package/dist/locales/nl.json +45 -1
- package/dist/locales/pl.json +45 -1
- package/dist/locales/pt.json +45 -1
- package/dist/locales/ro.json +45 -1
- package/dist/locales/ru.json +45 -1
- package/dist/locales/sq.json +45 -1
- package/dist/locales/sv.json +45 -1
- package/dist/locales/tr.json +45 -1
- package/dist/locales/zh.json +45 -1
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +36 -22
- package/package.json +10 -1
- package/dist/_chunks/booking-ChfvWy3P.js.map +0 -1
- package/dist/_chunks/date-picker-variants-CXEAx3O_.js.map +0 -1
- package/dist/_chunks/editable-currency-cell-renderer-BQgaKFCz.js.map +0 -1
- package/dist/_chunks/icon-button-CKEOrN37.js +0 -70
- package/dist/_chunks/icon-button-CKEOrN37.js.map +0 -1
- package/dist/_chunks/insert-result-C1SYdueh.js.map +0 -1
- package/dist/_chunks/multi-select-DOLO3K_z.js.map +0 -1
- package/dist/_chunks/pdf-viewer-chMpwpA4.js.map +0 -1
- package/dist/_chunks/phone-input-DfZbPPvh.js +0 -525
- package/dist/_chunks/phone-input-DfZbPPvh.js.map +0 -1
- package/dist/_chunks/rich-text-editor-B03qM22-.js +0 -334
- package/dist/_chunks/rich-text-editor-B03qM22-.js.map +0 -1
- package/dist/_chunks/subDays-Bs00akhK.js +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich-text-editor-u36FqSWz.js","sources":["../../node_modules/lucide-react/dist/esm/icons/bold.js","../../node_modules/lucide-react/dist/esm/icons/heading-2.js","../../node_modules/lucide-react/dist/esm/icons/heading-3.js","../../node_modules/lucide-react/dist/esm/icons/italic.js","../../node_modules/lucide-react/dist/esm/icons/link.js","../../node_modules/lucide-react/dist/esm/icons/list-ordered.js","../../node_modules/lucide-react/dist/esm/icons/list.js","../../node_modules/lucide-react/dist/esm/icons/minus.js","../../node_modules/lucide-react/dist/esm/icons/palette.js","../../node_modules/lucide-react/dist/esm/icons/pilcrow.js","../../node_modules/lucide-react/dist/esm/icons/quote.js","../../node_modules/lucide-react/dist/esm/icons/strikethrough.js","../../node_modules/lucide-react/dist/esm/icons/table.js","../../src/components/rich-text-editor/rich-text-editor.agent.ts","../../src/components/rich-text-editor/help-me-write-overlay.tsx","../../src/components/rich-text-editor/editor-toolbar.tsx","../../src/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\n \"path\",\n { d: \"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8\", key: \"mg9rjx\" }\n ]\n];\nconst Bold = createLucideIcon(\"bold\", __iconNode);\n\nexport { __iconNode, Bold as default };\n//# sourceMappingURL=bold.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M4 12h8\", key: \"17cfdx\" }],\n [\"path\", { d: \"M4 18V6\", key: \"1rz3zl\" }],\n [\"path\", { d: \"M12 18V6\", key: \"zqpxq5\" }],\n [\"path\", { d: \"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1\", key: \"9jr5yi\" }]\n];\nconst Heading2 = createLucideIcon(\"heading-2\", __iconNode);\n\nexport { __iconNode, Heading2 as default };\n//# sourceMappingURL=heading-2.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M4 12h8\", key: \"17cfdx\" }],\n [\"path\", { d: \"M4 18V6\", key: \"1rz3zl\" }],\n [\"path\", { d: \"M12 18V6\", key: \"zqpxq5\" }],\n [\"path\", { d: \"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2\", key: \"68ncm8\" }],\n [\"path\", { d: \"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2\", key: \"1ejuhz\" }]\n];\nconst Heading3 = createLucideIcon(\"heading-3\", __iconNode);\n\nexport { __iconNode, Heading3 as default };\n//# sourceMappingURL=heading-3.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"line\", { x1: \"19\", x2: \"10\", y1: \"4\", y2: \"4\", key: \"15jd3p\" }],\n [\"line\", { x1: \"14\", x2: \"5\", y1: \"20\", y2: \"20\", key: \"bu0au3\" }],\n [\"line\", { x1: \"15\", x2: \"9\", y1: \"4\", y2: \"20\", key: \"uljnxc\" }]\n];\nconst Italic = createLucideIcon(\"italic\", __iconNode);\n\nexport { __iconNode, Italic as default };\n//# sourceMappingURL=italic.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\", key: \"1cjeqo\" }],\n [\"path\", { d: \"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\", key: \"19qd67\" }]\n];\nconst Link = createLucideIcon(\"link\", __iconNode);\n\nexport { __iconNode, Link as default };\n//# sourceMappingURL=link.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M11 5h10\", key: \"1cz7ny\" }],\n [\"path\", { d: \"M11 12h10\", key: \"1438ji\" }],\n [\"path\", { d: \"M11 19h10\", key: \"11t30w\" }],\n [\"path\", { d: \"M4 4h1v5\", key: \"10yrso\" }],\n [\"path\", { d: \"M4 9h2\", key: \"r1h2o0\" }],\n [\"path\", { d: \"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02\", key: \"xtkcd5\" }]\n];\nconst ListOrdered = createLucideIcon(\"list-ordered\", __iconNode);\n\nexport { __iconNode, ListOrdered as default };\n//# sourceMappingURL=list-ordered.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 5h.01\", key: \"18ugdj\" }],\n [\"path\", { d: \"M3 12h.01\", key: \"nlz23k\" }],\n [\"path\", { d: \"M3 19h.01\", key: \"noohij\" }],\n [\"path\", { d: \"M8 5h13\", key: \"1pao27\" }],\n [\"path\", { d: \"M8 12h13\", key: \"1za7za\" }],\n [\"path\", { d: \"M8 19h13\", key: \"m83p4d\" }]\n];\nconst List = createLucideIcon(\"list\", __iconNode);\n\nexport { __iconNode, List as default };\n//# sourceMappingURL=list.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [[\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }]];\nconst Minus = createLucideIcon(\"minus\", __iconNode);\n\nexport { __iconNode, Minus as default };\n//# sourceMappingURL=minus.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\",\n key: \"e79jfc\"\n }\n ],\n [\"circle\", { cx: \"13.5\", cy: \"6.5\", r: \".5\", fill: \"currentColor\", key: \"1okk4w\" }],\n [\"circle\", { cx: \"17.5\", cy: \"10.5\", r: \".5\", fill: \"currentColor\", key: \"f64h9f\" }],\n [\"circle\", { cx: \"6.5\", cy: \"12.5\", r: \".5\", fill: \"currentColor\", key: \"qy21gx\" }],\n [\"circle\", { cx: \"8.5\", cy: \"7.5\", r: \".5\", fill: \"currentColor\", key: \"fotxhn\" }]\n];\nconst Palette = createLucideIcon(\"palette\", __iconNode);\n\nexport { __iconNode, Palette as default };\n//# sourceMappingURL=palette.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M13 4v16\", key: \"8vvj80\" }],\n [\"path\", { d: \"M17 4v16\", key: \"7dpous\" }],\n [\"path\", { d: \"M19 4H9.5a4.5 4.5 0 0 0 0 9H13\", key: \"sh4n9v\" }]\n];\nconst Pilcrow = createLucideIcon(\"pilcrow\", __iconNode);\n\nexport { __iconNode, Pilcrow as default };\n//# sourceMappingURL=pilcrow.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z\",\n key: \"rib7q0\"\n }\n ],\n [\n \"path\",\n {\n d: \"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z\",\n key: \"1ymkrd\"\n }\n ]\n];\nconst Quote = createLucideIcon(\"quote\", __iconNode);\n\nexport { __iconNode, Quote as default };\n//# sourceMappingURL=quote.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M16 4H9a3 3 0 0 0-2.83 4\", key: \"43sutm\" }],\n [\"path\", { d: \"M14 12a4 4 0 0 1 0 8H6\", key: \"nlfj13\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"12\", y2: \"12\", key: \"1e0a9i\" }]\n];\nconst Strikethrough = createLucideIcon(\"strikethrough\", __iconNode);\n\nexport { __iconNode, Strikethrough as default };\n//# sourceMappingURL=strikethrough.js.map\n","/**\n * @license lucide-react v1.8.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.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 3v18\", key: \"108xh3\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M3 9h18\", key: \"1pudct\" }],\n [\"path\", { d: \"M3 15h18\", key: \"5xshup\" }]\n];\nconst Table = createLucideIcon(\"table\", __iconNode);\n\nexport { __iconNode, Table as default };\n//# sourceMappingURL=table.js.map\n","import type { AgentAdapter } from '../../agent/types';\nimport type { EditorFormat, 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 text: {\n type: 'string',\n description: 'Plain-text content of the editor (tags stripped).',\n read: (handle) => handle.getText(),\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 insert_at_cursor: {\n safety: 'destructive',\n argsType: '{ content: string; asHtml?: boolean }',\n description:\n 'Insert content at the caret (replacing any selection). HTML is sanitised; pass asHtml:false for plain text. Seam for merge/template variables and AI-generated drafts.',\n invoke: (handle, args: { content: string; asHtml?: boolean }) => {\n handle.insertAtCursor(args.content, { asHtml: args.asHtml });\n },\n },\n apply_format: {\n safety: 'destructive',\n argsType:\n \"{ format: 'bold' | 'italic' | 'strikethrough' | 'bulletedList' | 'numberedList' | 'heading' | 'quote' | 'paragraph' }\",\n description:\n 'Toggle/apply a block or inline format on the current selection (bold, italic, strikethrough, bulleted/numbered list, heading, quote, paragraph).',\n invoke: (handle, args: { format: EditorFormat }) => {\n handle.applyFormat(args.format);\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/* HelpMeWriteOverlay — the \"Help me write\" flow on the non-modal */\n/* EditorOverlay (Gemini / Mac Mail style): a slim docked bar with a */\n/* one-row composer (mic · prompt · Write) → a preview of the draft with */\n/* Discard / Try again / Insert. */\n/* */\n/* The kit owns the UI; the backend call is the consumer's */\n/* `onRequestAiDraft({ prompt, signal })`. When `onDictate` is supplied */\n/* the composer grows a mic that streams transcripts INTO the prompt */\n/* (the same consumer dictation seam the editor FAB uses). The returned */\n/* draft is previewed (sanitised via SafeHtml) and only inserted on */\n/* confirm — sanitisation of the inserted value happens again at the */\n/* editor seam. */\n/* ------------------------------------------------------------------ */\n\nimport {\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Check, Mic, RotateCcw, Send, Sparkles, Square } from 'lucide-react';\n\nimport { IconButton } from '../button';\nimport { Spinner } from '../spinner';\nimport { TextArea } from '../text-area';\nimport { SafeHtml } from '../_shared/safe-html';\nimport { EditorOverlay } from '../editor-overlay';\n\nexport interface HelpMeWriteOverlayProps {\n open: boolean;\n onClose: () => void;\n onRequestAiDraft: (ctx: {\n prompt: string;\n signal: AbortSignal;\n }) => Promise<string>;\n onInsert: (draft: string) => void;\n /** Preview + insert the draft as HTML (default) or plain text. */\n previewAsHtml?: boolean;\n privacyNotice?: ReactNode;\n /**\n * Voice dictation into the prompt. Same seam as the editor's `onDictate`:\n * the consumer runs mic + transcription and pushes text back; the kit appends\n * finals to the prompt. When omitted, the composer shows no mic.\n */\n onDictate?: (ctx: {\n signal: AbortSignal;\n onPartialTranscript: (text: string) => void;\n onFinalTranscript: (text: string) => void;\n }) => Promise<void>;\n}\n\n// Force the recording mic solid-destructive (red). IconButton's base\n// `aria-pressed:bg-muted` (for IconButtonGroup toggles) would otherwise\n// out-specify the intent fill, so the override is marked important.\nconst RECORDING_MIC =\n 'ds:aria-pressed:!bg-[var(--destructive)] ds:aria-pressed:!text-[var(--destructive-foreground)]';\n\nconst noticeClass =\n 'ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--muted-foreground)]';\nconst errorClass =\n 'ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--destructive)]';\nconst previewClass = [\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--border)]',\n 'ds:bg-[color-mix(in_srgb,var(--background)_70%,transparent)]',\n 'ds:p-[var(--spacing-sm)] ds:[max-block-size:10rem] ds:overflow-y-auto',\n 'ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--foreground)]',\n].join(' ');\n\n// Join a base string with appended dictation text, inserting a single space\n// only when the base doesn't already end in whitespace.\nfunction joinWith(base: string, extra: string): string {\n if (!extra) return base;\n if (!base) return extra;\n return /\\s$/.test(base) ? `${base}${extra}` : `${base} ${extra}`;\n}\n\nexport function HelpMeWriteOverlay({\n open,\n onClose,\n onRequestAiDraft,\n onInsert,\n previewAsHtml = true,\n privacyNotice,\n onDictate,\n}: HelpMeWriteOverlayProps): React.JSX.Element {\n const { t } = useTranslation();\n const promptId = useId();\n const errorId = useId();\n const [prompt, setPrompt] = useState('');\n const [loading, setLoading] = useState(false);\n const [errored, setErrored] = useState(false);\n const [draft, setDraft] = useState<string | null>(null);\n const abortRef = useRef<AbortController | null>(null);\n\n /* ---- In-prompt voice dictation (consumer runs mic + STT) ---- */\n const [isDictating, setIsDictating] = useState(false);\n const [interim, setInterim] = useState('');\n const dictateAbortRef = useRef<AbortController | null>(null);\n\n const stopDictation = useCallback(() => {\n dictateAbortRef.current?.abort();\n }, []);\n\n const startDictation = useCallback(() => {\n if (!onDictate) return;\n const controller = new AbortController();\n dictateAbortRef.current = controller;\n setIsDictating(true);\n setInterim('');\n onDictate({\n signal: controller.signal,\n onPartialTranscript: (text: string): void => {\n if (controller.signal.aborted) return;\n setInterim(text);\n },\n onFinalTranscript: (text: string): void => {\n if (controller.signal.aborted) return;\n const trimmed = text.trim();\n setInterim('');\n if (trimmed) setPrompt((p) => joinWith(p, trimmed));\n },\n })\n .catch(() => {\n /* dictation errors are non-fatal here — the user can type instead */\n })\n .finally(() => {\n setInterim('');\n if (dictateAbortRef.current === controller) {\n dictateAbortRef.current = null;\n setIsDictating(false);\n }\n });\n }, [onDictate]);\n\n const toggleDictation = useCallback(() => {\n if (isDictating) stopDictation();\n else startDictation();\n }, [isDictating, startDictation, stopDictation]);\n\n // Fresh state each time it opens; abort any in-flight request/dictation on close.\n useEffect(() => {\n if (open) {\n setPrompt('');\n setLoading(false);\n setErrored(false);\n setDraft(null);\n setInterim('');\n } else {\n abortRef.current?.abort();\n abortRef.current = null;\n dictateAbortRef.current?.abort();\n }\n }, [open]);\n useEffect(\n () => () => {\n abortRef.current?.abort();\n dictateAbortRef.current?.abort();\n },\n [],\n );\n\n const generate = useCallback(() => {\n const trimmed = prompt.trim();\n if (!trimmed || loading) return;\n stopDictation();\n abortRef.current?.abort();\n const controller = new AbortController();\n abortRef.current = controller;\n setErrored(false);\n setLoading(true);\n onRequestAiDraft({ prompt: trimmed, signal: controller.signal })\n .then((result) => {\n if (controller.signal.aborted) return;\n setDraft(result);\n setLoading(false);\n })\n .catch((err: unknown) => {\n if (\n controller.signal.aborted ||\n (err &&\n typeof err === 'object' &&\n 'name' in err &&\n (err as { name?: string }).name === 'AbortError')\n ) {\n return;\n }\n setErrored(true);\n setLoading(false);\n });\n }, [prompt, loading, onRequestAiDraft, stopDictation]);\n\n const insert = useCallback(() => {\n if (draft == null) return;\n onInsert(draft);\n onClose();\n }, [draft, onInsert, onClose]);\n\n const hasDraft = draft != null;\n // While dictating, show committed prompt + live interim; the field is\n // read-only so the streamed text isn't fought over by onChange.\n const fieldValue = isDictating ? joinWith(prompt, interim) : prompt;\n\n return (\n <EditorOverlay\n open={open}\n onClose={onClose}\n title={\n <span className=\"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <Sparkles aria-hidden=\"true\" className=\"ds:size-4\" />\n {t('editor.ai.dialogTitle')}\n </span>\n }\n ariaLabel={t('editor.ai.dialogTitle')}\n >\n {hasDraft ? (\n <div className=\"ds:flex ds:items-end ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:min-w-0 ds:flex-1\">\n {previewAsHtml ? (\n <SafeHtml\n html={draft as string}\n profile=\"rich-text\"\n className={previewClass}\n tabIndex={0}\n aria-label={t('editor.ai.dialogTitle')}\n />\n ) : (\n // Focusable so a keyboard user can scroll a long draft preview\n // (mirrors the SafeHtml preview branch above). The lint rule's\n // tabIndex allowlist doesn't cover a scrollable, non-interactive\n // text region.\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n <p className={previewClass} tabIndex={0}>\n {draft}\n </p>\n )}\n </div>\n <IconButton\n size=\"sm\"\n intent=\"ghost\"\n className=\"ds:rounded-full\"\n icon={<RotateCcw />}\n aria-label={t('editor.ai.retry')}\n onClick={() => setDraft(null)}\n />\n <IconButton\n size=\"sm\"\n intent=\"primary\"\n className=\"ds:rounded-full\"\n icon={<Check />}\n aria-label={t('common.confirm')}\n onClick={insert}\n />\n </div>\n ) : (\n <>\n <div className=\"ds:flex ds:items-end ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:min-w-0 ds:flex-1\">\n <TextArea\n id={promptId}\n size=\"md\"\n value={fieldValue}\n onChange={(event) => setPrompt(event.target.value)}\n placeholder={t('editor.ai.promptPlaceholder')}\n aria-label={t('editor.ai.promptLabel')}\n autoResize\n minRows={1}\n maxRows={3}\n readOnly={isDictating}\n tone={errored ? 'error' : 'default'}\n aria-describedby={errored ? errorId : undefined}\n />\n </div>\n {onDictate ? (\n <IconButton\n size=\"sm\"\n intent=\"ghost\"\n className={isDictating ? RECORDING_MIC : undefined}\n icon={\n isDictating ? <Square className=\"ds:fill-current\" /> : <Mic />\n }\n aria-pressed={isDictating}\n aria-label={\n isDictating\n ? t('editor.ai.dictateStop')\n : t('editor.ai.dictateStart')\n }\n onClick={toggleDictation}\n />\n ) : null}\n <IconButton\n size=\"sm\"\n intent=\"primary\"\n icon={loading ? <Spinner size=\"sm\" variant=\"pulse\" /> : <Send />}\n className=\"ds:rounded-full\"\n disabled={loading || !prompt.trim()}\n aria-busy={loading || undefined}\n aria-label={t('editor.ai.generate')}\n onClick={generate}\n />\n </div>\n {errored ? (\n <p id={errorId} role=\"alert\" className={errorClass}>\n {t('editor.ai.error')}\n </p>\n ) : privacyNotice ? (\n <p className={noticeClass}>{privacyNotice}</p>\n ) : null}\n </>\n )}\n </EditorOverlay>\n );\n}\n","/* ------------------------------------------------------------------ */\n/* EditorToolbar — the kit's OWN toolbar for RichTextEditor. */\n/* */\n/* Redactor renders with `toolbar: false` (no native toolbar); this DS */\n/* toolbar drives the editor through Redactor's command API via `run` */\n/* (e.g. run('module.inline.format', { tag: 'b' })). Buttons are kit */\n/* IconButtons with lucide icons + our fonts on an elevated surface, so */\n/* the toolbar matches the stylebook. Toggle buttons reflect the */\n/* caret's active formats via `active`. Colour / image / table are */\n/* opt-in (the consumer loads the fontcolor / table plugin or sets an */\n/* image-upload URL). */\n/* ------------------------------------------------------------------ */\n\nimport { type ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n Bold,\n Heading2,\n Heading3,\n Image as ImageIcon,\n Italic,\n Link as LinkIcon,\n List,\n ListOrdered,\n Minus,\n Palette,\n Pilcrow,\n Quote,\n Strikethrough,\n Table as TableIcon,\n Type,\n} from 'lucide-react';\nimport { cva } from 'class-variance-authority';\n\nimport { IconButton } from '../button';\nimport { Popover } from '../popover';\nimport { DropdownMenu } from '../dropdown-menu';\n\nexport type EditorToolbarPreset = 'minimal' | 'standard' | 'full';\n\nexport interface EditorToolbarProps {\n /** Dispatch a Redactor command (and refresh active state). */\n run: (command: string, ...args: unknown[]) => void;\n /** Active formats at the caret — toggle buttons render pressed. */\n active: ReadonlySet<string>;\n preset: EditorToolbarPreset;\n /** Show the text-colour control (consumer loaded the fontcolor plugin). */\n enableColor?: boolean;\n /** Show the image control (consumer set an image-upload URL). */\n enableImage?: boolean;\n /** Show the table control (consumer loaded the table plugin). */\n enableTable?: boolean;\n}\n\ninterface ToolbarItem {\n id: string;\n icon: ReactNode;\n /** i18n key + English fallback (for keys not yet in every locale). */\n label: [string, string];\n command: [string, ...unknown[]];\n /** When set, the button is a toggle and presses when `active` has this key. */\n toggle?: string;\n}\n\nconst ITEMS: Record<string, ToolbarItem> = {\n bold: {\n id: 'bold',\n icon: <Bold />,\n label: ['editor.bold', 'Bold'],\n command: ['module.inline.format', { tag: 'b' }],\n toggle: 'bold',\n },\n italic: {\n id: 'italic',\n icon: <Italic />,\n label: ['editor.italic', 'Italic'],\n command: ['module.inline.format', { tag: 'i' }],\n toggle: 'italic',\n },\n strike: {\n id: 'strike',\n icon: <Strikethrough />,\n label: ['editor.strike', 'Strikethrough'],\n command: ['module.inline.format', { tag: 'del' }],\n toggle: 'strike',\n },\n ul: {\n id: 'ul',\n icon: <List />,\n label: ['editor.list.bullet', 'Bulleted list'],\n command: ['module.list.toggle', 'ul'],\n toggle: 'ul',\n },\n ol: {\n id: 'ol',\n icon: <ListOrdered />,\n label: ['editor.list.ordered', 'Numbered list'],\n command: ['module.list.toggle', 'ol'],\n toggle: 'ol',\n },\n link: {\n id: 'link',\n icon: <LinkIcon />,\n label: ['editor.link.insert', 'Insert link'],\n command: ['module.link.open'],\n },\n rule: {\n id: 'rule',\n icon: <Minus />,\n label: ['editor.horizontalRule', 'Horizontal rule'],\n command: ['module.line.insert'],\n },\n};\n\n// Block-format options for the format dropdown. block.format SETs the block tag\n// (Paragraph reverts a heading/quote back), per Redactor's command API.\nconst FORMAT_OPTIONS: {\n id: string;\n tag: string;\n icon: ReactNode;\n label: [string, string];\n}[] = [\n {\n id: 'paragraph',\n tag: 'p',\n icon: <Pilcrow />,\n label: ['editor.paragraph', 'Paragraph'],\n },\n {\n id: 'h2',\n tag: 'h2',\n icon: <Heading2 />,\n label: ['editor.heading2', 'Heading 2'],\n },\n {\n id: 'h3',\n tag: 'h3',\n icon: <Heading3 />,\n label: ['editor.heading3', 'Heading 3'],\n },\n {\n id: 'quote',\n tag: 'blockquote',\n icon: <Quote />,\n label: ['editor.quote', 'Quote'],\n },\n];\n\nconst PRESETS: Record<EditorToolbarPreset, string[]> = {\n minimal: ['bold', 'italic', 'link'],\n standard: ['format', 'bold', 'italic', 'strike', 'ul', 'ol', 'link'],\n full: ['format', 'bold', 'italic', 'strike', 'ul', 'ol', 'link', 'rule'],\n};\n\n// Text-colour swatches. The bg class is a STATIC literal (Tailwind JIT must see\n// it); the token is resolved to a concrete hex at click time so the saved HTML\n// stays portable and there is no hardcoded colour in source.\nconst SWATCHES: { token: string; bg: string; label: [string, string] }[] = [\n {\n token: '--foreground',\n bg: 'ds:bg-[var(--foreground)]',\n label: ['editor.color.default', 'Default'],\n },\n {\n token: '--color-violet-700',\n bg: 'ds:bg-[var(--color-violet-700)]',\n label: ['editor.color.violet', 'Violet'],\n },\n {\n token: '--color-magenta-700',\n bg: 'ds:bg-[var(--color-magenta-700)]',\n label: ['editor.color.magenta', 'Magenta'],\n },\n {\n token: '--color-blue-700',\n bg: 'ds:bg-[var(--color-blue-700)]',\n label: ['editor.color.blue', 'Blue'],\n },\n {\n token: '--color-green-700',\n bg: 'ds:bg-[var(--color-green-700)]',\n label: ['editor.color.green', 'Green'],\n },\n {\n token: '--color-orange-700',\n bg: 'ds:bg-[var(--color-orange-700)]',\n label: ['editor.color.orange', 'Orange'],\n },\n {\n token: '--color-red-700',\n bg: 'ds:bg-[var(--color-red-700)]',\n label: ['editor.color.red', 'Red'],\n },\n];\n\nconst TABLE_OPS: { id: string; command: string; label: [string, string] }[] = [\n {\n id: 'rowAbove',\n command: 'plugin.table.addRowAbove',\n label: ['editor.table.rowAbove', 'Add row above'],\n },\n {\n id: 'rowBelow',\n command: 'plugin.table.addRowBelow',\n label: ['editor.table.rowBelow', 'Add row below'],\n },\n {\n id: 'colLeft',\n command: 'plugin.table.addColumnLeft',\n label: ['editor.table.columnLeft', 'Add column left'],\n },\n {\n id: 'colRight',\n command: 'plugin.table.addColumnRight',\n label: ['editor.table.columnRight', 'Add column right'],\n },\n {\n id: 'deleteRow',\n command: 'plugin.table.deleteRow',\n label: ['editor.table.deleteRow', 'Delete row'],\n },\n {\n id: 'deleteColumn',\n command: 'plugin.table.deleteColumn',\n label: ['editor.table.deleteColumn', 'Delete column'],\n },\n {\n id: 'deleteTable',\n command: 'plugin.table.deleteTable',\n label: ['editor.table.deleteTable', 'Delete table'],\n },\n];\n\nconst toolbarClass = cva(\n [\n 'ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--border)]',\n 'ds:bg-[var(--background)] ds:p-[var(--spacing-xs)]',\n 'ds:shadow-[var(--shadow-md)]',\n ].join(' '),\n);\n\nconst dividerClass =\n 'ds:self-stretch ds:[inline-size:var(--border-width-sm)] ds:bg-[var(--border)] ds:[margin-inline:var(--spacing-2xs)]';\n\nconst swatchClass =\n 'ds:size-6 ds:rounded-[var(--radius-sm)] ds:border ds:border-[color-mix(in_srgb,var(--foreground)_15%,transparent)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-[var(--ring)] ds:focus-visible:[outline-offset:var(--focus-ring-offset)]';\n\nfunction resolveToken(token: string): string {\n if (typeof window === 'undefined') return '';\n return getComputedStyle(document.documentElement)\n .getPropertyValue(token)\n .trim();\n}\n\nexport function EditorToolbar({\n run,\n active,\n preset,\n enableColor = false,\n enableImage = false,\n enableTable = false,\n}: EditorToolbarProps): React.JSX.Element {\n const { t } = useTranslation();\n const hasRichGroup = enableColor || enableImage || enableTable;\n // Keep toolbar clicks from stealing the editor's selection.\n const keepSelection = (event: { preventDefault: () => void }): void =>\n event.preventDefault();\n\n return (\n <div\n role=\"toolbar\"\n aria-label={t('editor.toolbarLabel')}\n className={toolbarClass()}\n data-component=\"editor-toolbar\"\n >\n {PRESETS[preset].map((id) => {\n if (id === 'format') {\n return (\n <DropdownMenu.Root key=\"format\">\n <DropdownMenu.Trigger asChild>\n <IconButton\n size=\"sm\"\n intent=\"ghost\"\n icon={<Type />}\n aria-label={t('editor.format', 'Paragraph style')}\n onMouseDown={keepSelection}\n />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"start\">\n {FORMAT_OPTIONS.map((opt) => (\n <DropdownMenu.Item\n key={opt.id}\n startIcon={opt.icon}\n onSelect={() =>\n run('module.block.format', { tag: opt.tag })\n }\n >\n {t(opt.label[0], opt.label[1])}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n );\n }\n const item = ITEMS[id];\n return (\n <IconButton\n key={item.id}\n size=\"sm\"\n intent=\"ghost\"\n icon={item.icon}\n aria-label={t(item.label[0], item.label[1])}\n aria-pressed={item.toggle ? active.has(item.toggle) : undefined}\n onMouseDown={keepSelection}\n onClick={() => run(...item.command)}\n />\n );\n })}\n\n {hasRichGroup ? (\n <span aria-hidden=\"true\" className={dividerClass} />\n ) : null}\n\n {enableColor ? (\n <Popover>\n <Popover.Trigger asChild>\n <IconButton\n size=\"sm\"\n intent=\"ghost\"\n icon={<Palette />}\n aria-label={t('editor.textColor', 'Text colour')}\n onMouseDown={keepSelection}\n />\n </Popover.Trigger>\n <Popover.Content side=\"bottom\" align=\"start\">\n <Popover.Heading>\n {t('editor.textColor', 'Text colour')}\n </Popover.Heading>\n <div className=\"ds:flex ds:flex-wrap ds:gap-[var(--spacing-xs)] ds:pt-[var(--spacing-xs)]\">\n {SWATCHES.map((sw) => (\n <button\n key={sw.token}\n type=\"button\"\n aria-label={t(sw.label[0], sw.label[1])}\n className={`${swatchClass} ${sw.bg}`}\n onMouseDown={keepSelection}\n onClick={() =>\n run('plugin.fontcolor.set', {\n rule: 'color',\n value: resolveToken(sw.token),\n })\n }\n />\n ))}\n </div>\n <button\n type=\"button\"\n className=\"ds:mt-[var(--spacing-sm)] ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--muted-foreground)] ds:underline\"\n onMouseDown={keepSelection}\n onClick={() => run('plugin.fontcolor.remove', { rule: 'color' })}\n >\n {t('editor.color.remove', 'Remove colour')}\n </button>\n </Popover.Content>\n </Popover>\n ) : null}\n\n {enableImage ? (\n <IconButton\n size=\"sm\"\n intent=\"ghost\"\n icon={<ImageIcon />}\n aria-label={t('editor.image.insert', 'Insert image')}\n onMouseDown={keepSelection}\n onClick={() => run('module.image.open')}\n />\n ) : null}\n\n {enableTable ? (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton\n size=\"sm\"\n intent=\"ghost\"\n icon={<TableIcon />}\n aria-label={t('editor.table.insert', 'Insert table')}\n onMouseDown={keepSelection}\n />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"start\">\n <DropdownMenu.Item onSelect={() => run('plugin.table.insert')}>\n {t('editor.table.insert', 'Insert table')}\n </DropdownMenu.Item>\n <DropdownMenu.Separator />\n {TABLE_OPS.map((op) => (\n <DropdownMenu.Item key={op.id} onSelect={() => run(op.command)}>\n {t(op.label[0], op.label[1])}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n ) : null}\n </div>\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 type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Mic, Sparkles, Square } from 'lucide-react';\n\nimport '../../tokens/themes/bridges/redactor-theme.css';\n\nimport { sanitiseHtml as sanitiseShared } from '../_shared/safe-html';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { IconButton } from '../button';\nimport { richTextEditorAgent } from './rich-text-editor.agent';\nimport { HelpMeWriteOverlay } from './help-me-write-overlay';\nimport { EditorToolbar } from './editor-toolbar';\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> </p>'\n ) {\n return '';\n }\n const contentWithoutTags = normalized\n .replace(/<br\\s*\\/?>/gi, '')\n .replace(/ /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 /* --- AI assistance (DS-native UI; backend stays consumer-provided) --- */\n /**\n * Help-me-write. When provided, a DS \"Help me write\" action appears; the kit\n * opens a dialog, calls this with the prompt + an AbortSignal, sanitises the\n * returned draft and inserts it at the caret. The backend call / auth /\n * practiceId all live in the consumer's implementation — never in the kit.\n */\n onRequestAiDraft?: (ctx: {\n prompt: string;\n signal: AbortSignal;\n }) => Promise<string>;\n /** Whether `onRequestAiDraft` returns HTML (default) or plain text. */\n aiDraftFormat?: 'html' | 'text';\n /** Override the compliance notice shown in the Help-me-write dialog. */\n aiPrivacyNotice?: ReactNode;\n /**\n * Voice dictation. When provided, a DS mic toggle + live-transcript region\n * appear. The kit owns the UI; the consumer runs mic capture + transcription\n * inside the callback and pushes text back via `onPartialTranscript` (drives\n * the live region) and `onFinalTranscript` (sanitised + inserted at the\n * caret). Resolve when the session ends; honour `signal` to stop. All\n * mic / transcription / backend logic stays consumer-side.\n */\n onDictate?: (ctx: {\n signal: AbortSignal;\n onPartialTranscript: (text: string) => void;\n onFinalTranscript: (text: string) => void;\n }) => Promise<void>;\n}\n\n/** Block/inline formats the editor can toggle via `applyFormat`. */\nexport type EditorFormat =\n | 'bold'\n | 'italic'\n | 'strikethrough'\n | 'bulletedList'\n | 'numberedList'\n | 'heading'\n | 'quote'\n | 'paragraph';\n\n// Maps each format to its Redactor command (shared with the toolbar).\nconst FORMAT_COMMANDS: Record<EditorFormat, [string, ...unknown[]]> = {\n bold: ['module.inline.format', { tag: 'b' }],\n italic: ['module.inline.format', { tag: 'i' }],\n strikethrough: ['module.inline.format', { tag: 'del' }],\n bulletedList: ['module.list.toggle', 'ul'],\n numberedList: ['module.list.toggle', 'ol'],\n heading: ['module.block.format', { tag: 'h2' }],\n quote: ['module.block.format', { tag: 'blockquote' }],\n paragraph: ['module.block.format', { tag: 'p' }],\n};\n\nexport interface RichTextEditorHandle {\n getHTML: () => string;\n /** Plain-text content of the editor (tags stripped). */\n getText: () => 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 /**\n * Insert content at the caret (replacing any selection). HTML is\n * DOMPurify-sanitised; pass `{ asHtml: false }` for a plain-text insert.\n * Works with the degraded <textarea> too. This is the seam for inserting\n * merge/template variables and AI-generated drafts.\n */\n insertAtCursor: (content: string, opts?: { asHtml?: boolean }) => void;\n /** Toggle/apply a block or inline format on the current selection. */\n applyFormat: (format: EditorFormat) => void;\n focus: () => void;\n clear: () => void;\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:shadow-[var(--shadow-md)]',\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:var(--rich-text-editor-min-block-size)]',\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// Split-FAB segment: an icon button inside the primary pill (record |\n// help-me-write). Transparent on the pill with an INSET focus ring (the pill\n// clips overflow, so the ring must be inset).\nconst fabSegmentBase = [\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:[min-block-size:var(--min-target-size)] ds:[min-inline-size:var(--min-target-size)]',\n 'ds:text-[color:var(--primary-foreground)]',\n 'ds:transition-colors',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--primary-foreground)]',\n 'ds:focus-visible:[outline-offset:calc(var(--focus-ring-width)*-1)]',\n].join(' ');\n\n// Idle segment: a translucent-white hover overlay over the pill.\nconst fabSegmentIdle = `${fabSegmentBase} ds:hover:bg-[color-mix(in_srgb,var(--primary-foreground)_15%,transparent)]`;\n\n// Recording mic: a solid destructive (red) fill that stays red on hover so the\n// \"stop\" state reads as live recording. Deliberately no aria-pressed translucent\n// overlay — its attribute selector out-specifies the red and would wash it out.\nconst fabSegmentRecording = `${fabSegmentBase} ds:bg-[var(--destructive)] ds:hover:bg-[color-mix(in_srgb,var(--destructive)_88%,var(--primary-foreground))]`;\n\n// Single circular FAB mic while recording. IconButton's base\n// `aria-pressed:bg-muted` (IconButtonGroup toggle) would out-specify the\n// destructive intent, so force the red fill important when pressed.\nconst RECORDING_MIC_FAB =\n 'ds:aria-pressed:!bg-[var(--destructive)] ds:aria-pressed:!text-[var(--destructive-foreground)]';\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 onRequestAiDraft,\n aiDraftFormat = 'html',\n aiPrivacyNotice,\n onDictate,\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 // Mirrors the live readOnly state for imperative ops: Redactor blocks every\n // command except `disableReadOnly` while read-only, so writes (setContent /\n // clear / insertAtCursor / controlled-value sync) must lift it first.\n const readOnlyRef = useRef(readOnly);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const [degraded, setDegraded] = useState(false);\n const [aiOpen, setAiOpen] = useState(false);\n // Active formats at the caret (bold/italic/strike/ul/ol/heading) — drives\n // the custom toolbar's pressed state; refreshed on Redactor's `observe`.\n const [activeFormats, setActiveFormats] = useState<ReadonlySet<string>>(\n () => new Set(),\n );\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 // Read the current editor HTML. Redactor's `source.getCode` is blocked while\n // read-only (returns undefined), so fall back to the synced source textarea\n // — never toggle read-only just to read.\n const readCode = useCallback((): string => {\n const R = redactorRef.current;\n if (R) {\n try {\n const code = R(selector, 'source.getCode');\n if (typeof code === 'string') return code;\n } catch {\n /* fall through to the source textarea */\n }\n }\n return textareaRef.current?.value ?? '';\n }, [selector]);\n\n // Dispatch a mutating Redactor command, transparently lifting read-only\n // (which blocks every command but `disableReadOnly`) and restoring it after.\n // Returns false when Redactor is absent or the call failed so the caller can\n // fall back to the degraded <textarea>.\n const dispatchWrite = useCallback(\n (command: string, ...args: unknown[]): boolean => {\n const R = redactorRef.current;\n if (!R) return false;\n const wasReadOnly = readOnlyRef.current;\n if (wasReadOnly) {\n try {\n R(selector, 'disableReadOnly');\n } catch {\n /* ignore */\n }\n }\n try {\n R(selector, command, ...args);\n return true;\n } catch {\n return false;\n } finally {\n if (wasReadOnly) {\n try {\n R(selector, 'enableReadOnly');\n } catch {\n // Restore failed — the editor may be left editable. Surface it in\n // DEV; the next readOnly-sync tick re-asserts it on a prop change.\n if (import.meta.env.DEV) {\n console.warn(\n '[RichTextEditor] failed to restore read-only after a write; the editor may be left editable.',\n );\n }\n }\n }\n }\n },\n [selector],\n );\n\n // Insert content at the caret, sanitised, with a degraded <textarea> splice\n // fallback. Shared by the imperative handle (merge variables) and the\n // Help-me-write dialog (AI drafts).\n const insertAtCursor = useCallback(\n (content: string, opts?: { asHtml?: boolean }): void => {\n const asHtml = opts?.asHtml ?? true;\n const payload = asHtml ? sanitiseHtml(content) : content;\n const command = asHtml\n ? 'insertion.insertHtml'\n : 'insertion.insertText';\n if (dispatchWrite(command, payload)) return;\n const ta = textareaRef.current;\n if (!ta) return;\n const start = ta.selectionStart ?? ta.value.length;\n const end = ta.selectionEnd ?? ta.value.length;\n ta.value = ta.value.slice(0, start) + payload + ta.value.slice(end);\n const caret = start + payload.length;\n try {\n ta.setSelectionRange(caret, caret);\n } catch {\n /* selection API unavailable */\n }\n onChangeRef.current?.({ html: sanitiseHtml(ta.value), markdown: '' });\n },\n [dispatchWrite],\n );\n\n // Recompute the active inline/block formats at the caret (scoped to THIS\n // editor's `.redactor-in`) for the custom toolbar's pressed state.\n const updateActiveFormats = useCallback((): void => {\n const root = wrapperRef.current?.querySelector('.redactor-in');\n const selection =\n typeof window !== 'undefined' ? window.getSelection() : null;\n const next = new Set<string>();\n if (\n root &&\n selection &&\n selection.anchorNode &&\n root.contains(selection.anchorNode) &&\n typeof document.queryCommandState === 'function'\n ) {\n // queryCommandState reads the selection's EFFECTIVE format (it handles\n // range boundaries + nesting), unlike walking the anchor's ancestors —\n // which misses a format when the anchor sits just outside the wrapper.\n try {\n if (document.queryCommandState('bold')) next.add('bold');\n if (document.queryCommandState('italic')) next.add('italic');\n if (document.queryCommandState('strikeThrough')) next.add('strike');\n if (document.queryCommandState('insertUnorderedList')) next.add('ul');\n if (document.queryCommandState('insertOrderedList')) next.add('ol');\n const block = String(\n document.queryCommandValue('formatBlock') || '',\n ).toLowerCase();\n if (/^h[1-6]$/.test(block)) next.add('heading');\n else if (block === 'blockquote') next.add('quote');\n } catch {\n /* queryCommand unsupported in this environment */\n }\n }\n setActiveFormats((prev) =>\n prev.size === next.size && [...next].every((f) => prev.has(f))\n ? prev\n : next,\n );\n }, []);\n\n // Run a Redactor command from the custom toolbar, then refresh active state.\n const runCommand = useCallback(\n (command: string, ...args: unknown[]): void => {\n dispatchWrite(command, ...args);\n // Defer the active-state read: let Redactor finish applying the command\n // and the selection settle first, otherwise un-toggling a format reads\n // the stale pre-change DOM and the button stays pressed.\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(() => updateActiveFormats());\n } else {\n updateActiveFormats();\n }\n },\n [dispatchWrite, updateActiveFormats],\n );\n\n /* ---- Voice dictation (DS UI; consumer runs mic + transcription) - */\n const dictateAbortRef = useRef<AbortController | null>(null);\n const interimRef = useRef<HTMLElement | null>(null);\n const [isDictating, setIsDictating] = useState(false);\n const [dictationErrored, setDictationErrored] = useState(false);\n\n // Live (interim) speech shown in the editor as a grey, non-editable span\n // with a blinking caret; replaced by committed text on each final phrase.\n const clearInterim = useCallback((): void => {\n const el = interimRef.current;\n if (el?.parentNode) el.parentNode.removeChild(el);\n interimRef.current = null;\n }, []);\n\n const showInterim = useCallback((text: string): void => {\n const root = wrapperRef.current?.querySelector(\n '.redactor-in',\n ) as HTMLElement | null;\n if (!root) return;\n let el = interimRef.current;\n if (!el || !root.contains(el)) {\n el = document.createElement('span');\n el.setAttribute('data-rte-interim', '');\n el.setAttribute('contenteditable', 'false');\n const selection = window.getSelection();\n if (\n selection &&\n selection.rangeCount > 0 &&\n root.contains(selection.anchorNode)\n ) {\n const range = selection.getRangeAt(0);\n range.collapse(false);\n range.insertNode(el);\n } else {\n root.appendChild(el);\n }\n interimRef.current = el;\n }\n el.textContent = text;\n }, []);\n\n const stopDictation = useCallback(() => {\n // Abort but keep the ref: the in-flight session's `.finally` clears it\n // (and resets state) only when it's still the current session, so a normal\n // stop resets while a stale settle after a newer start does not.\n dictateAbortRef.current?.abort();\n }, []);\n\n const startDictation = useCallback(() => {\n if (!onDictate) return;\n const controller = new AbortController();\n dictateAbortRef.current = controller;\n setDictationErrored(false);\n setIsDictating(true);\n clearInterim();\n onDictate({\n signal: controller.signal,\n // Interim text shows live in the editor (grey + caret); each final\n // replaces it with committed text at the caret.\n onPartialTranscript: (text: string): void => {\n if (controller.signal.aborted) return;\n showInterim(text);\n },\n onFinalTranscript: (text: string): void => {\n if (controller.signal.aborted) return;\n clearInterim();\n const trimmed = text.trim();\n if (trimmed) insertAtCursor(`${trimmed} `, { asHtml: false });\n },\n })\n .catch((err: unknown) => {\n if (\n controller.signal.aborted ||\n (err &&\n typeof err === 'object' &&\n 'name' in err &&\n (err as { name?: string }).name === 'AbortError')\n ) {\n return;\n }\n setDictationErrored(true);\n })\n .finally(() => {\n clearInterim();\n // Only the session that still owns the ref resets state — a stale\n // settle (a newer session already started) must not clobber it.\n if (dictateAbortRef.current === controller) {\n dictateAbortRef.current = null;\n setIsDictating(false);\n }\n });\n }, [onDictate, insertAtCursor, clearInterim, showInterim]);\n\n const toggleDictation = useCallback(() => {\n if (isDictating) stopDictation();\n else startDictation();\n }, [isDictating, startDictation, stopDictation]);\n\n // Abort dictation on unmount.\n useEffect(() => () => dictateAbortRef.current?.abort(), []);\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 // The kit renders its OWN toolbar (EditorToolbar) and drives Redactor\n // via the command API, so Redactor's native toolbar is suppressed.\n toolbar: false,\n plugins: plugins ?? [],\n placeholder: placeholder ?? t('editor.placeholder'),\n toolbarFixed: false,\n // Platform parity (RedactorWysiwyg.js:84): no inline shortcode expansion.\n shortcodes: false,\n imageEditable: false,\n imageResizable: true,\n };\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, re-enable image editing, or turn off\n // drag-resize (platform re-pins both image flags — RedactorWysiwyg.js:115-116).\n imageEditable: false,\n imageResizable: true,\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 observe(): void {\n updateActiveFormats();\n },\n },\n };\n\n try {\n R(selector, finalOptions);\n // Redactor's read-only commands are camel-cased `enableReadOnly` /\n // `disableReadOnly` in this build (lower-case `enableReadonly` is a\n // silent no-op). Guarded so an unknown command stays 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 if (!redactorRef.current || value === undefined) return;\n if (skipNextPropSyncRef.current) {\n skipNextPropSyncRef.current = false;\n return;\n }\n const safe = sanitiseHtml(normalizeEditorValue(value));\n const current = normalizeEditorValue(readCode());\n if (current !== safe) dispatchWrite('source.setCode', safe);\n }, [value, readCode, dispatchWrite]);\n\n /* ---- Keep readOnly in sync ----------------------------------- */\n useEffect(() => {\n readOnlyRef.current = readOnly;\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 return readCode();\n },\n getText(): string {\n return readCode()\n .replace(/<[^>]*>/g, ' ')\n .replace(/ /gi, ' ')\n .replace(/\\s+/g, ' ')\n .trim();\n },\n getMarkdown(): string {\n return '';\n },\n setContent(html: string): void {\n const safe = sanitiseHtml(html);\n if (dispatchWrite('source.setCode', safe)) return;\n if (textareaRef.current) textareaRef.current.value = safe;\n },\n insertAtCursor,\n applyFormat(format): void {\n const command = FORMAT_COMMANDS[format];\n if (command) runCommand(...command);\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 if (dispatchWrite('source.setCode', '')) return;\n if (textareaRef.current) textareaRef.current.value = '';\n },\n }),\n [selector, readCode, dispatchWrite, insertAtCursor, runCommand],\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 ref={wrapperRef}\n className={[wrapperVariants(), className].filter(Boolean).join(' ')}\n data-component=\"rich-text-editor\"\n data-component-id={id}\n data-min-height={minHeight}\n >\n {!degraded && !readOnly ? (\n <EditorToolbar\n run={runCommand}\n active={activeFormats}\n preset={toolbar}\n enableColor={plugins?.includes('fontcolor') ?? false}\n enableImage={Boolean(imageUploadUrl)}\n enableTable={plugins?.includes('table') ?? false}\n />\n ) : null}\n <div className=\"ds:relative\">\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 {/* AI affordances — a floating action button over the editor's\n block-end / inline-end corner. A split pill when both are\n available; a single circular FAB otherwise. Each is opt-in. */}\n {onRequestAiDraft && onDictate ? (\n <div className=\"ds:absolute ds:[inset-block-end:var(--spacing-md)] ds:[inset-inline-end:var(--spacing-md)] ds:z-10 ds:flex ds:items-center ds:overflow-hidden ds:rounded-full ds:bg-[var(--primary)] ds:shadow-[var(--shadow-lg)]\">\n <button\n type=\"button\"\n onClick={toggleDictation}\n aria-pressed={isDictating}\n aria-label={\n isDictating\n ? t('editor.ai.dictateStop')\n : t('editor.ai.dictateStart')\n }\n className={isDictating ? fabSegmentRecording : fabSegmentIdle}\n >\n {isDictating ? (\n <Square\n aria-hidden=\"true\"\n className=\"ds:size-5 ds:fill-current\"\n />\n ) : (\n <Mic aria-hidden=\"true\" className=\"ds:size-5\" />\n )}\n </button>\n <span\n aria-hidden=\"true\"\n className=\"ds:self-stretch ds:[inline-size:var(--border-width-sm)] ds:bg-[color-mix(in_srgb,var(--primary-foreground)_35%,transparent)]\"\n />\n <button\n type=\"button\"\n onClick={() => setAiOpen(true)}\n aria-label={t('editor.ai.helpMeWrite')}\n className={fabSegmentIdle}\n >\n <Sparkles aria-hidden=\"true\" className=\"ds:size-5\" />\n </button>\n </div>\n ) : onDictate ? (\n <div className=\"ds:absolute ds:[inset-block-end:var(--spacing-md)] ds:[inset-inline-end:var(--spacing-md)] ds:z-10\">\n <IconButton\n size=\"lg\"\n intent=\"primary\"\n icon={\n isDictating ? <Square className=\"ds:fill-current\" /> : <Mic />\n }\n aria-pressed={isDictating}\n aria-label={\n isDictating\n ? t('editor.ai.dictateStop')\n : t('editor.ai.dictateStart')\n }\n onClick={toggleDictation}\n className={\n isDictating\n ? `${RECORDING_MIC_FAB} ds:rounded-full ds:shadow-[var(--shadow-lg)]`\n : 'ds:rounded-full ds:shadow-[var(--shadow-lg)]'\n }\n />\n </div>\n ) : onRequestAiDraft ? (\n <div className=\"ds:absolute ds:[inset-block-end:var(--spacing-md)] ds:[inset-inline-end:var(--spacing-md)] ds:z-10\">\n <IconButton\n size=\"lg\"\n intent=\"primary\"\n icon={<Sparkles />}\n aria-label={t('editor.ai.helpMeWrite')}\n onClick={() => setAiOpen(true)}\n className=\"ds:rounded-full ds:shadow-[var(--shadow-lg)]\"\n />\n </div>\n ) : null}\n {onRequestAiDraft ? (\n <HelpMeWriteOverlay\n open={aiOpen}\n onClose={() => setAiOpen(false)}\n onRequestAiDraft={onRequestAiDraft}\n onInsert={(draft) =>\n insertAtCursor(draft, { asHtml: aiDraftFormat !== 'text' })\n }\n previewAsHtml={aiDraftFormat !== 'text'}\n privacyNotice={aiPrivacyNotice}\n onDictate={onDictate}\n />\n ) : null}\n </div>\n {onDictate && dictationErrored ? (\n <p\n role=\"alert\"\n className=\"ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--destructive)]\"\n >\n {t('editor.ai.dictationError')}\n </p>\n ) : null}\n </div>\n );\n },\n);\n\nRichTextEditor.displayName = 'RichTextEditor';\n\nexport { wrapperVariants };\n"],"names":["__iconNode","Bold","createLucideIcon","Heading2","Heading3","Italic","Link","ListOrdered","List","Minus","Palette","Pilcrow","Quote","Strikethrough","Table","richTextEditorAgent","handle","args","RECORDING_MIC","noticeClass","errorClass","previewClass","joinWith","base","extra","HelpMeWriteOverlay","open","onClose","onRequestAiDraft","onInsert","previewAsHtml","privacyNotice","onDictate","t","useTranslation","promptId","useId","errorId","prompt","setPrompt","useState","loading","setLoading","errored","setErrored","draft","setDraft","abortRef","useRef","isDictating","setIsDictating","interim","setInterim","dictateAbortRef","stopDictation","useCallback","_a","startDictation","controller","text","trimmed","p","toggleDictation","useEffect","_b","generate","result","err","insert","hasDraft","fieldValue","jsx","EditorOverlay","jsxs","Sparkles","SafeHtml","IconButton","RotateCcw","Check","Fragment","TextArea","event","Square","Mic","Spinner","Send","ITEMS","LinkIcon","FORMAT_OPTIONS","PRESETS","SWATCHES","TABLE_OPS","toolbarClass","cva","dividerClass","swatchClass","resolveToken","token","EditorToolbar","run","active","preset","enableColor","enableImage","enableTable","hasRichGroup","keepSelection","id","DropdownMenu","Type","opt","item","Popover","sw","ImageIcon","TableIcon","op","sanitiseHtml","input","sanitiseShared","normalizeEditorValue","html","normalized","contentWithoutTags","withLazyImages","resolveRedactor","injected","w","FORMAT_COMMANDS","REDACTOR_LANG","toRedactorLang","locale","wrapperVariants","degradedTextareaVariants","fabSegmentBase","fabSegmentIdle","fabSegmentRecording","RECORDING_MIC_FAB","RichTextEditor","forwardRef","defaultValue","value","onChange","toolbar","placeholder","readOnly","ariaLabel","minHeight","className","redactor","options","plugins","lang","imageUploadUrl","onKeyDown","aiDraftFormat","aiPrivacyNotice","ref","i18n","rawId","editorId","useMemo","selector","textareaRef","redactorRef","skipNextPropSyncRef","readOnlyRef","wrapperRef","degraded","setDegraded","aiOpen","setAiOpen","activeFormats","setActiveFormats","debounceRef","onChangeRef","onKeyDownRef","initialContentRef","raw","readCode","R","code","dispatchWrite","command","wasReadOnly","insertAtCursor","content","opts","asHtml","payload","ta","start","end","caret","updateActiveFormats","root","selection","next","block","prev","f","runCommand","interimRef","dictationErrored","setDictationErrored","clearInterim","el","showInterim","range","kitDefaults","imageUploadOption","consumerCallbacks","finalOptions","safe","format","useImperativeHandle","useAgentRegistration","handleDegradedChange","resolvedLabel","resolvedPlaceholder"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA,EAAE,GAAG,yEAAyE,KAAK,SAAQ;AAAA,EAC/F;AACA,GACMC,KAAOC,EAAiB,QAAQF,EAAU;ACfhD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,yCAAyC,KAAK,SAAQ,CAAE;AACxE,GACMG,KAAWD,EAAiB,aAAaF,EAAU;ACfzD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,gDAAgD,KAAK,SAAQ,CAAE;AAAA,EAC7E,CAAC,QAAQ,EAAE,GAAG,2CAA2C,KAAK,SAAQ,CAAE;AAC1E,GACMI,KAAWF,EAAiB,aAAaF,EAAU;AChBzD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAAA,EAChE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AAAA,EACjE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,KAAK,SAAQ,CAAE;AAClE,GACMK,KAASH,EAAiB,UAAUF,EAAU;ACdpD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,+DAA+D,KAAK,SAAQ,CAAE;AAAA,EAC5F,CAAC,QAAQ,EAAE,GAAG,gEAAgE,KAAK,SAAQ,CAAE;AAC/F,GACMM,KAAOJ,EAAiB,QAAQF,EAAU;ACbhD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,aAAa,KAAK,SAAQ,CAAE;AAAA,EAC1C,CAAC,QAAQ,EAAE,GAAG,aAAa,KAAK,SAAQ,CAAE;AAAA,EAC1C,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,UAAU,KAAK,SAAQ,CAAE;AAAA,EACvC,CAAC,QAAQ,EAAE,GAAG,4DAA4D,KAAK,SAAQ,CAAE;AAC3F,GACMO,KAAcL,EAAiB,gBAAgBF,EAAU;ACjB/D;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,aAAa,KAAK,SAAQ,CAAE;AAAA,EAC1C,CAAC,QAAQ,EAAE,GAAG,aAAa,KAAK,SAAQ,CAAE;AAAA,EAC1C,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAC3C,GACMQ,KAAON,EAAiB,QAAQF,EAAU;ACjBhD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE,CAAC,GACxDS,KAAQP,EAAiB,SAASF,EAAU;ACVlD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AAAA,EACE,CAAC,UAAU,EAAE,IAAI,QAAQ,IAAI,OAAO,GAAG,MAAM,MAAM,gBAAgB,KAAK,SAAQ,CAAE;AAAA,EAClF,CAAC,UAAU,EAAE,IAAI,QAAQ,IAAI,QAAQ,GAAG,MAAM,MAAM,gBAAgB,KAAK,SAAQ,CAAE;AAAA,EACnF,CAAC,UAAU,EAAE,IAAI,OAAO,IAAI,QAAQ,GAAG,MAAM,MAAM,gBAAgB,KAAK,SAAQ,CAAE;AAAA,EAClF,CAAC,UAAU,EAAE,IAAI,OAAO,IAAI,OAAO,GAAG,MAAM,MAAM,gBAAgB,KAAK,SAAQ,CAAE;AACnF,GACMU,KAAUR,EAAiB,WAAWF,EAAU;ACtBtD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,kCAAkC,KAAK,SAAQ,CAAE;AACjE,GACMW,KAAUT,EAAiB,WAAWF,EAAU;ACdtD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AACA,GACMY,KAAQV,EAAiB,SAASF,EAAU;ACzBlD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,4BAA4B,KAAK,SAAQ,CAAE;AAAA,EACzD,CAAC,QAAQ,EAAE,GAAG,0BAA0B,KAAK,SAAQ,CAAE;AAAA,EACvD,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AACnE,GACMa,KAAgBX,EAAiB,iBAAiBF,EAAU;ACdlE;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,OAAO,MAAM,QAAQ,MAAM,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAAA,EAC9E,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAC3C,GACMc,KAAQZ,EAAiB,SAASF,EAAU,GCZrCe,KAA0D;AAAA,EACrE,IAAI;AAAA,EACJ,cAAc,CAAC,aAAa;AAAA,EAC5B,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,MAAM,CAACC,MAAWA,EAAO,QAAA;AAAA,IAAQ;AAAA,IAEnC,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,MAAM,CAACA,MAAWA,EAAO,QAAA;AAAA,IAAQ;AAAA,IAEnC,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aACE;AAAA,MACF,MAAM,CAACA,MAAWA,EAAO,YAAA;AAAA,IAAY;AAAA,EACvC;AAAA,EAEF,SAAS;AAAA,IACP,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,aAAa;AAAA,MACb,QAAQ,CAACA,GAAQC,MAA2B;AAC1C,QAAAD,EAAO,WAAWC,EAAK,IAAI;AAAA,MAC7B;AAAA,IAAA;AAAA,IAEF,kBAAkB;AAAA,MAChB,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,aACE;AAAA,MACF,QAAQ,CAACD,GAAQC,MAAgD;AAC/D,QAAAD,EAAO,eAAeC,EAAK,SAAS,EAAE,QAAQA,EAAK,QAAQ;AAAA,MAC7D;AAAA,IAAA;AAAA,IAEF,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,UACE;AAAA,MACF,aACE;AAAA,MACF,QAAQ,CAACD,GAAQC,MAAmC;AAClD,QAAAD,EAAO,YAAYC,EAAK,MAAM;AAAA,MAChC;AAAA,IAAA;AAAA,IAEF,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ,CAACD,MAAW;AAClB,QAAAA,EAAO,MAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,MAAA;AAAA,MACT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,IACR,MAAM,EAAE,MAAM,kBAAkB,OAAO,mBAAA;AAAA,IACvC,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GCjBME,KACJ,kGAEIC,KACJ,gFACIC,KACJ,2EACIC,KAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAIV,SAASC,GAASC,GAAcC,GAAuB;AACrD,SAAKA,IACAD,IACE,MAAM,KAAKA,CAAI,IAAI,GAAGA,CAAI,GAAGC,CAAK,KAAK,GAAGD,CAAI,IAAIC,CAAK,KAD5CA,IADCD;AAGrB;AAEO,SAASE,GAAmB;AAAA,EACjC,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,eAAAC;AAAA,EACA,WAAAC;AACF,GAA+C;AAC7C,QAAM,EAAE,GAAAC,EAAA,IAAMC,GAAA,GACRC,IAAWC,GAAA,GACXC,IAAUD,GAAA,GACV,CAACE,GAAQC,CAAS,IAAIC,EAAS,EAAE,GACjC,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GACtC,CAACG,GAASC,CAAU,IAAIJ,EAAS,EAAK,GACtC,CAACK,GAAOC,CAAQ,IAAIN,EAAwB,IAAI,GAChDO,IAAWC,EAA+B,IAAI,GAG9C,CAACC,GAAaC,EAAc,IAAIV,EAAS,EAAK,GAC9C,CAACW,GAASC,CAAU,IAAIZ,EAAS,EAAE,GACnCa,IAAkBL,EAA+B,IAAI,GAErDM,IAAgBC,EAAY,MAAM;;AACtC,KAAAC,IAAAH,EAAgB,YAAhB,QAAAG,EAAyB;AAAA,EAC3B,GAAG,CAAA,CAAE,GAECC,IAAiBF,EAAY,MAAM;AACvC,QAAI,CAACvB,EAAW;AAChB,UAAM0B,IAAa,IAAI,gBAAA;AACvB,IAAAL,EAAgB,UAAUK,GAC1BR,GAAe,EAAI,GACnBE,EAAW,EAAE,GACbpB,EAAU;AAAA,MACR,QAAQ0B,EAAW;AAAA,MACnB,qBAAqB,CAACC,MAAuB;AAC3C,QAAID,EAAW,OAAO,WACtBN,EAAWO,CAAI;AAAA,MACjB;AAAA,MACA,mBAAmB,CAACA,MAAuB;AACzC,YAAID,EAAW,OAAO,QAAS;AAC/B,cAAME,IAAUD,EAAK,KAAA;AACrB,QAAAP,EAAW,EAAE,GACTQ,KAASrB,EAAU,CAACsB,MAAMvC,GAASuC,GAAGD,CAAO,CAAC;AAAA,MACpD;AAAA,IAAA,CACD,EACE,MAAM,MAAM;AAAA,IAEb,CAAC,EACA,QAAQ,MAAM;AACb,MAAAR,EAAW,EAAE,GACTC,EAAgB,YAAYK,MAC9BL,EAAgB,UAAU,MAC1BH,GAAe,EAAK;AAAA,IAExB,CAAC;AAAA,EACL,GAAG,CAAClB,CAAS,CAAC,GAER8B,IAAkBP,EAAY,MAAM;AACxC,IAAIN,IAAaK,EAAA,IACZG,EAAA;AAAA,EACP,GAAG,CAACR,GAAaQ,GAAgBH,CAAa,CAAC;AAG/C,EAAAS,EAAU,MAAM;;AACd,IAAIrC,KACFa,EAAU,EAAE,GACZG,EAAW,EAAK,GAChBE,EAAW,EAAK,GAChBE,EAAS,IAAI,GACbM,EAAW,EAAE,OAEbI,IAAAT,EAAS,YAAT,QAAAS,EAAkB,SAClBT,EAAS,UAAU,OACnBiB,IAAAX,EAAgB,YAAhB,QAAAW,EAAyB;AAAA,EAE7B,GAAG,CAACtC,CAAI,CAAC,GACTqC;AAAA,IACE,MAAM,MAAM;;AACV,OAAAP,IAAAT,EAAS,YAAT,QAAAS,EAAkB,UAClBQ,IAAAX,EAAgB,YAAhB,QAAAW,EAAyB;AAAA,IAC3B;AAAA,IACA,CAAA;AAAA,EAAC;AAGH,QAAMC,IAAWV,EAAY,MAAM;;AACjC,UAAMK,IAAUtB,EAAO,KAAA;AACvB,QAAI,CAACsB,KAAWnB,EAAS;AACzB,IAAAa,EAAA,IACAE,IAAAT,EAAS,YAAT,QAAAS,EAAkB;AAClB,UAAME,IAAa,IAAI,gBAAA;AACvB,IAAAX,EAAS,UAAUW,GACnBd,EAAW,EAAK,GAChBF,EAAW,EAAI,GACfd,EAAiB,EAAE,QAAQgC,GAAS,QAAQF,EAAW,QAAQ,EAC5D,KAAK,CAACQ,MAAW;AAChB,MAAIR,EAAW,OAAO,YACtBZ,EAASoB,CAAM,GACfxB,EAAW,EAAK;AAAA,IAClB,CAAC,EACA,MAAM,CAACyB,MAAiB;AACvB,MACET,EAAW,OAAO,WACjBS,KACC,OAAOA,KAAQ,YACf,UAAUA,KACTA,EAA0B,SAAS,iBAIxCvB,EAAW,EAAI,GACfF,EAAW,EAAK;AAAA,IAClB,CAAC;AAAA,EACL,GAAG,CAACJ,GAAQG,GAASb,GAAkB0B,CAAa,CAAC,GAE/Cc,IAASb,EAAY,MAAM;AAC/B,IAAIV,KAAS,SACbhB,EAASgB,CAAK,GACdlB,EAAA;AAAA,EACF,GAAG,CAACkB,GAAOhB,GAAUF,CAAO,CAAC,GAEvB0C,KAAWxB,KAAS,MAGpByB,IAAarB,IAAc3B,GAASgB,GAAQa,CAAO,IAAIb;AAE7D,SACE,gBAAAiC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAA9C;AAAA,MACA,SAAAC;AAAA,MACA,OACE,gBAAA8C,EAAC,QAAA,EAAK,WAAU,6DACd,UAAA;AAAA,QAAA,gBAAAF,EAACG,IAAA,EAAS,eAAY,QAAO,WAAU,aAAY;AAAA,QAClDzC,EAAE,uBAAuB;AAAA,MAAA,GAC5B;AAAA,MAEF,WAAWA,EAAE,uBAAuB;AAAA,MAEnC,UAAAoC,KACC,gBAAAI,EAAC,OAAA,EAAI,WAAU,mDACb,UAAA;AAAA,QAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,wBACZ,UAAAzC,IACC,gBAAAyC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,MAAM9B;AAAA,YACN,SAAQ;AAAA,YACR,WAAWxB;AAAA,YACX,UAAU;AAAA,YACV,cAAYY,EAAE,uBAAuB;AAAA,UAAA;AAAA,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAQtC,KAAA,EAAE,WAAWZ,IAAc,UAAU,GACnC,UAAAwB,EAAA,CACH;AAAA,WAEJ;AAAA,QACA,gBAAA0B;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,QAAO;AAAA,YACP,WAAU;AAAA,YACV,wBAAOC,IAAA,EAAU;AAAA,YACjB,cAAY5C,EAAE,iBAAiB;AAAA,YAC/B,SAAS,MAAMa,EAAS,IAAI;AAAA,UAAA;AAAA,QAAA;AAAA,QAE9B,gBAAAyB;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,QAAO;AAAA,YACP,WAAU;AAAA,YACV,wBAAOE,IAAA,EAAM;AAAA,YACb,cAAY7C,EAAE,gBAAgB;AAAA,YAC9B,SAASmC;AAAA,UAAA;AAAA,QAAA;AAAA,MACX,EAAA,CACF,IAEA,gBAAAK,EAAAM,IAAA,EACE,UAAA;AAAA,QAAA,gBAAAN,EAAC,OAAA,EAAI,WAAU,mDACb,UAAA;AAAA,UAAA,gBAAAF,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA,gBAAAA;AAAA,YAACS;AAAA,YAAA;AAAA,cACC,IAAI7C;AAAA,cACJ,MAAK;AAAA,cACL,OAAOmC;AAAA,cACP,UAAU,CAACW,MAAU1C,EAAU0C,EAAM,OAAO,KAAK;AAAA,cACjD,aAAahD,EAAE,6BAA6B;AAAA,cAC5C,cAAYA,EAAE,uBAAuB;AAAA,cACrC,YAAU;AAAA,cACV,SAAS;AAAA,cACT,SAAS;AAAA,cACT,UAAUgB;AAAA,cACV,MAAMN,IAAU,UAAU;AAAA,cAC1B,oBAAkBA,IAAUN,IAAU;AAAA,YAAA;AAAA,UAAA,GAE1C;AAAA,UACCL,IACC,gBAAAuC;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,WAAW3B,IAAc/B,KAAgB;AAAA,cACzC,MACE+B,IAAc,gBAAAsB,EAACW,IAAA,EAAO,WAAU,kBAAA,CAAkB,sBAAMC,IAAA,EAAI;AAAA,cAE9D,gBAAclC;AAAA,cACd,cAEMhB,EADJgB,IACM,0BACA,wBADuB;AAAA,cAG/B,SAASa;AAAA,YAAA;AAAA,UAAA,IAET;AAAA,UACJ,gBAAAS;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,MAAMnC,IAAU,gBAAA8B,EAACa,IAAA,EAAQ,MAAK,MAAK,SAAQ,QAAA,CAAQ,IAAK,gBAAAb,EAACc,IAAA,CAAA,CAAK;AAAA,cAC9D,WAAU;AAAA,cACV,UAAU5C,KAAW,CAACH,EAAO,KAAA;AAAA,cAC7B,aAAWG,KAAW;AAAA,cACtB,cAAYR,EAAE,oBAAoB;AAAA,cAClC,SAASgC;AAAA,YAAA;AAAA,UAAA;AAAA,QACX,GACF;AAAA,QACCtB,IACC,gBAAA4B,EAAC,KAAA,EAAE,IAAIlC,GAAS,MAAK,SAAQ,WAAWjB,IACrC,YAAE,iBAAiB,GACtB,IACEW,IACF,gBAAAwC,EAAC,OAAE,WAAWpD,IAAc,aAAc,IACxC;AAAA,MAAA,EAAA,CACN;AAAA,IAAA;AAAA,EAAA;AAIR;AC3PA,MAAMmE,KAAqC;AAAA,EACzC,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,wBAAOrF,IAAA,EAAK;AAAA,IACZ,OAAO,CAAC,eAAe,MAAM;AAAA,IAC7B,SAAS,CAAC,wBAAwB,EAAE,KAAK,KAAK;AAAA,IAC9C,QAAQ;AAAA,EAAA;AAAA,EAEV,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,wBAAOI,IAAA,EAAO;AAAA,IACd,OAAO,CAAC,iBAAiB,QAAQ;AAAA,IACjC,SAAS,CAAC,wBAAwB,EAAE,KAAK,KAAK;AAAA,IAC9C,QAAQ;AAAA,EAAA;AAAA,EAEV,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,wBAAOQ,IAAA,EAAc;AAAA,IACrB,OAAO,CAAC,iBAAiB,eAAe;AAAA,IACxC,SAAS,CAAC,wBAAwB,EAAE,KAAK,OAAO;AAAA,IAChD,QAAQ;AAAA,EAAA;AAAA,EAEV,IAAI;AAAA,IACF,IAAI;AAAA,IACJ,wBAAOL,IAAA,EAAK;AAAA,IACZ,OAAO,CAAC,sBAAsB,eAAe;AAAA,IAC7C,SAAS,CAAC,sBAAsB,IAAI;AAAA,IACpC,QAAQ;AAAA,EAAA;AAAA,EAEV,IAAI;AAAA,IACF,IAAI;AAAA,IACJ,wBAAOD,IAAA,EAAY;AAAA,IACnB,OAAO,CAAC,uBAAuB,eAAe;AAAA,IAC9C,SAAS,CAAC,sBAAsB,IAAI;AAAA,IACpC,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,wBAAOgF,IAAA,EAAS;AAAA,IAChB,OAAO,CAAC,sBAAsB,aAAa;AAAA,IAC3C,SAAS,CAAC,kBAAkB;AAAA,EAAA;AAAA,EAE9B,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,wBAAO9E,IAAA,EAAM;AAAA,IACb,OAAO,CAAC,yBAAyB,iBAAiB;AAAA,IAClD,SAAS,CAAC,oBAAoB;AAAA,EAAA;AAElC,GAIM+E,KAKA;AAAA,EACJ;AAAA,IACE,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,wBAAO7E,IAAA,EAAQ;AAAA,IACf,OAAO,CAAC,oBAAoB,WAAW;AAAA,EAAA;AAAA,EAEzC;AAAA,IACE,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,wBAAOR,IAAA,EAAS;AAAA,IAChB,OAAO,CAAC,mBAAmB,WAAW;AAAA,EAAA;AAAA,EAExC;AAAA,IACE,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,wBAAOC,IAAA,EAAS;AAAA,IAChB,OAAO,CAAC,mBAAmB,WAAW;AAAA,EAAA;AAAA,EAExC;AAAA,IACE,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,wBAAOQ,IAAA,EAAM;AAAA,IACb,OAAO,CAAC,gBAAgB,OAAO;AAAA,EAAA;AAEnC,GAEM6E,KAAiD;AAAA,EACrD,SAAS,CAAC,QAAQ,UAAU,MAAM;AAAA,EAClC,UAAU,CAAC,UAAU,QAAQ,UAAU,UAAU,MAAM,MAAM,MAAM;AAAA,EACnE,MAAM,CAAC,UAAU,QAAQ,UAAU,UAAU,MAAM,MAAM,QAAQ,MAAM;AACzE,GAKMC,KAAqE;AAAA,EACzE;AAAA,IACE,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,OAAO,CAAC,wBAAwB,SAAS;AAAA,EAAA;AAAA,EAE3C;AAAA,IACE,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,OAAO,CAAC,uBAAuB,QAAQ;AAAA,EAAA;AAAA,EAEzC;AAAA,IACE,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,OAAO,CAAC,wBAAwB,SAAS;AAAA,EAAA;AAAA,EAE3C;AAAA,IACE,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,OAAO,CAAC,qBAAqB,MAAM;AAAA,EAAA;AAAA,EAErC;AAAA,IACE,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,OAAO,CAAC,sBAAsB,OAAO;AAAA,EAAA;AAAA,EAEvC;AAAA,IACE,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,OAAO,CAAC,uBAAuB,QAAQ;AAAA,EAAA;AAAA,EAEzC;AAAA,IACE,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,OAAO,CAAC,oBAAoB,KAAK;AAAA,EAAA;AAErC,GAEMC,KAAwE;AAAA,EAC5E;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO,CAAC,yBAAyB,eAAe;AAAA,EAAA;AAAA,EAElD;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO,CAAC,yBAAyB,eAAe;AAAA,EAAA;AAAA,EAElD;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO,CAAC,2BAA2B,iBAAiB;AAAA,EAAA;AAAA,EAEtD;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO,CAAC,4BAA4B,kBAAkB;AAAA,EAAA;AAAA,EAExD;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO,CAAC,0BAA0B,YAAY;AAAA,EAAA;AAAA,EAEhD;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO,CAAC,6BAA6B,eAAe;AAAA,EAAA;AAAA,EAEtD;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO,CAAC,4BAA4B,cAAc;AAAA,EAAA;AAEtD,GAEMC,KAAeC;AAAA,EACnB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ,GAEMC,KACJ,uHAEIC,KACJ;AAEF,SAASC,GAAaC,GAAuB;AAC3C,SAAI,OAAO,SAAW,MAAoB,KACnC,iBAAiB,SAAS,eAAe,EAC7C,iBAAiBA,CAAK,EACtB,KAAA;AACL;AAEO,SAASC,GAAc;AAAA,EAC5B,KAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,aAAAC,IAAc;AAAA,EACd,aAAAC,IAAc;AAChB,GAA0C;AACxC,QAAM,EAAE,GAAAvE,EAAA,IAAMC,GAAA,GACRuE,IAAeH,KAAeC,KAAeC,GAE7CE,IAAgB,CAACzB,MACrBA,EAAM,eAAA;AAER,SACE,gBAAAR;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAYxC,EAAE,qBAAqB;AAAA,MACnC,WAAW2D,GAAA;AAAA,MACX,kBAAe;AAAA,MAEd,UAAA;AAAA,QAAAH,GAAQY,CAAM,EAAE,IAAI,CAACM,MAAO;AAC3B,cAAIA,MAAO;AACT,mBACE,gBAAAlC,EAACmC,EAAa,MAAb,EACC,UAAA;AAAA,cAAA,gBAAArC,EAACqC,EAAa,SAAb,EAAqB,SAAO,IAC3B,UAAA,gBAAArC;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,QAAO;AAAA,kBACP,wBAAOiC,IAAA,EAAK;AAAA,kBACZ,cAAY5E,EAAE,iBAAiB,iBAAiB;AAAA,kBAChD,aAAayE;AAAA,gBAAA;AAAA,cAAA,GAEjB;AAAA,cACA,gBAAAnC,EAACqC,EAAa,SAAb,EAAqB,OAAM,SACzB,UAAApB,GAAe,IAAI,CAACsB,MACnB,gBAAAvC;AAAA,gBAACqC,EAAa;AAAA,gBAAb;AAAA,kBAEC,WAAWE,EAAI;AAAA,kBACf,UAAU,MACRX,EAAI,uBAAuB,EAAE,KAAKW,EAAI,KAAK;AAAA,kBAG5C,UAAA7E,EAAE6E,EAAI,MAAM,CAAC,GAAGA,EAAI,MAAM,CAAC,CAAC;AAAA,gBAAA;AAAA,gBANxBA,EAAI;AAAA,cAAA,CAQZ,EAAA,CACH;AAAA,YAAA,EAAA,GAtBqB,QAuBvB;AAGJ,gBAAMC,IAAOzB,GAAMqB,CAAE;AACrB,iBACE,gBAAApC;AAAA,YAACK;AAAA,YAAA;AAAA,cAEC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,MAAMmC,EAAK;AAAA,cACX,cAAY9E,EAAE8E,EAAK,MAAM,CAAC,GAAGA,EAAK,MAAM,CAAC,CAAC;AAAA,cAC1C,gBAAcA,EAAK,SAASX,EAAO,IAAIW,EAAK,MAAM,IAAI;AAAA,cACtD,aAAaL;AAAA,cACb,SAAS,MAAMP,EAAI,GAAGY,EAAK,OAAO;AAAA,YAAA;AAAA,YAP7BA,EAAK;AAAA,UAAA;AAAA,QAUhB,CAAC;AAAA,QAEAN,IACC,gBAAAlC,EAAC,QAAA,EAAK,eAAY,QAAO,WAAWuB,IAAc,IAChD;AAAA,QAEHQ,sBACEU,IAAA,EACC,UAAA;AAAA,UAAA,gBAAAzC,EAACyC,GAAQ,SAAR,EAAgB,SAAO,IACtB,UAAA,gBAAAzC;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,wBAAOlE,IAAA,EAAQ;AAAA,cACf,cAAYuB,EAAE,oBAAoB,aAAa;AAAA,cAC/C,aAAayE;AAAA,YAAA;AAAA,UAAA,GAEjB;AAAA,4BACCM,GAAQ,SAAR,EAAgB,MAAK,UAAS,OAAM,SACnC,UAAA;AAAA,YAAA,gBAAAzC,EAACyC,GAAQ,SAAR,EACE,UAAA/E,EAAE,oBAAoB,aAAa,GACtC;AAAA,8BACC,OAAA,EAAI,WAAU,6EACZ,UAAAyD,GAAS,IAAI,CAACuB,MACb,gBAAA1C;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,MAAK;AAAA,gBACL,cAAYtC,EAAEgF,EAAG,MAAM,CAAC,GAAGA,EAAG,MAAM,CAAC,CAAC;AAAA,gBACtC,WAAW,GAAGlB,EAAW,IAAIkB,EAAG,EAAE;AAAA,gBAClC,aAAaP;AAAA,gBACb,SAAS,MACPP,EAAI,wBAAwB;AAAA,kBAC1B,MAAM;AAAA,kBACN,OAAOH,GAAaiB,EAAG,KAAK;AAAA,gBAAA,CAC7B;AAAA,cAAA;AAAA,cATEA,EAAG;AAAA,YAAA,CAYX,GACH;AAAA,YACA,gBAAA1C;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,aAAamC;AAAA,gBACb,SAAS,MAAMP,EAAI,2BAA2B,EAAE,MAAM,SAAS;AAAA,gBAE9D,UAAAlE,EAAE,uBAAuB,eAAe;AAAA,cAAA;AAAA,YAAA;AAAA,UAC3C,EAAA,CACF;AAAA,QAAA,EAAA,CACF,IACE;AAAA,QAEHsE,IACC,gBAAAhC;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,QAAO;AAAA,YACP,wBAAOsC,IAAA,EAAU;AAAA,YACjB,cAAYjF,EAAE,uBAAuB,cAAc;AAAA,YACnD,aAAayE;AAAA,YACb,SAAS,MAAMP,EAAI,mBAAmB;AAAA,UAAA;AAAA,QAAA,IAEtC;AAAA,QAEHK,IACC,gBAAA/B,EAACmC,EAAa,MAAb,EACC,UAAA;AAAA,UAAA,gBAAArC,EAACqC,EAAa,SAAb,EAAqB,SAAO,IAC3B,UAAA,gBAAArC;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,wBAAOuC,IAAA,EAAU;AAAA,cACjB,cAAYlF,EAAE,uBAAuB,cAAc;AAAA,cACnD,aAAayE;AAAA,YAAA;AAAA,UAAA,GAEjB;AAAA,UACA,gBAAAjC,EAACmC,EAAa,SAAb,EAAqB,OAAM,SAC1B,UAAA;AAAA,YAAA,gBAAArC,EAACqC,EAAa,MAAb,EAAkB,UAAU,MAAMT,EAAI,qBAAqB,GACzD,UAAAlE,EAAE,uBAAuB,cAAc,EAAA,CAC1C;AAAA,YACA,gBAAAsC,EAACqC,EAAa,WAAb,EAAuB;AAAA,YACvBjB,GAAU,IAAI,CAACyB,MACd,gBAAA7C,EAACqC,EAAa,MAAb,EAA8B,UAAU,MAAMT,EAAIiB,EAAG,OAAO,GAC1D,UAAAnF,EAAEmF,EAAG,MAAM,CAAC,GAAGA,EAAG,MAAM,CAAC,CAAC,KADLA,EAAG,EAE3B,CACD;AAAA,UAAA,EAAA,CACH;AAAA,QAAA,EAAA,CACF,IACE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;ACzVA,SAASC,EAAaC,GAAuB;AAC3C,SAAOC,GAAeD,GAAO,WAAW;AAC1C;AAKA,SAASE,GAAqBC,IAAO,IAAY;AAC/C,QAAMC,IAAa,OAAOD,CAAI,EAAE,KAAA;AAChC,MACEC,MAAe,MACfA,MAAe,iBACfA,MAAe;AAEf,WAAO;AAET,QAAMC,IAAqBD,EACxB,QAAQ,gBAAgB,EAAE,EAC1B,QAAQ,YAAY,EAAE,EACtB,QAAQ,YAAY,EAAE,EACtB,KAAA;AACH,SAAIC,MAAuB,MAAM,gBAAgB,KAAKD,CAAU,IACvDA,IAEFC,MAAuB,KAAK,KAAKD;AAC1C;AAGA,SAASE,GAAeH,GAAsB;AAC5C,SAAOA,EAAK;AAAA,IACV;AAAA,IACA;AAAA,EAAA;AAEJ;AAYA,SAASI,GAAgBC,GAAoD;AAC3E,MAAIA,EAAU,QAAOA;AACrB,MAAI,OAAO,SAAW,IAAa,QAAO;AAC1C,QAAMC,IAAI;AAIV,SAAOA,EAAE,MAAMA,EAAE,YAAY;AAC/B;AAsFA,MAAMC,KAAgE;AAAA,EACpE,MAAM,CAAC,wBAAwB,EAAE,KAAK,KAAK;AAAA,EAC3C,QAAQ,CAAC,wBAAwB,EAAE,KAAK,KAAK;AAAA,EAC7C,eAAe,CAAC,wBAAwB,EAAE,KAAK,OAAO;AAAA,EACtD,cAAc,CAAC,sBAAsB,IAAI;AAAA,EACzC,cAAc,CAAC,sBAAsB,IAAI;AAAA,EACzC,SAAS,CAAC,uBAAuB,EAAE,KAAK,MAAM;AAAA,EAC9C,OAAO,CAAC,uBAAuB,EAAE,KAAK,cAAc;AAAA,EACpD,WAAW,CAAC,uBAAuB,EAAE,KAAK,KAAK;AACjD,GA0BMC,KAAwC;AAAA,EAC5C,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,SAASC,GAAeC,GAAwB;AAC9C,QAAM5G,IAAO4G,EAAO,MAAM,GAAG,EAAE,CAAC;AAChC,SAAOF,GAAc1G,CAAI,KAAKA,KAAQ;AACxC;AAMA,MAAM6G,KAAkBvC;AAAA,EACtB;AACF,GAGMwC,KAA2BxC;AAAA,EAC/B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ,GAKMyC,KAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG,GAGJC,KAAiB,GAAGD,EAAc,+EAKlCE,KAAsB,GAAGF,EAAc,iHAKvCG,KACJ,kGAMWC,KAAiBC;AAAA,EAI5B,CACE;AAAA,IACE,IAAAhC;AAAA,IACA,cAAAiC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,kBAAA9H;AAAA,IACA,eAAA+H,IAAgB;AAAA,IAChB,iBAAAC;AAAA,IACA,WAAA5H;AAAA,EAAA,GAEF6H,OACG;AACH,UAAM,EAAE,GAAA5H,GAAG,MAAA6H,EAAA,IAAS5H,GAAA,GACd6H,IAAQ3H,GAAA,GACR4H,IAAWC;AAAA,MACf,MAAM,OAAOF,EAAM,QAAQ,mBAAmB,EAAE,CAAC;AAAA,MACjD,CAACA,CAAK;AAAA,IAAA,GAEFG,IAAW,IAAIF,CAAQ,IAEvBG,IAAcnH,EAA4B,IAAI,GAC9CoH,IAAcpH,EAA+B,IAAI,GAIjDqH,IAAsBrH,EAAO,EAAK,GAIlCsH,KAActH,EAAOiG,CAAQ,GAC7BsB,IAAavH,EAAuB,IAAI,GACxC,CAACwH,GAAUC,CAAW,IAAIjI,EAAS,EAAK,GACxC,CAACkI,GAAQC,CAAS,IAAInI,EAAS,EAAK,GAGpC,CAACoI,IAAeC,EAAgB,IAAIrI;AAAA,MACxC,0BAAU,IAAA;AAAA,IAAI,GAGVsI,KAAc9H,EAA6C,IAAI,GAC/D+H,IAAc/H,EAAwC8F,CAAQ,GAC9DkC,KAAehI,EAAyC0G,CAAS;AACvE,IAAA3F,EAAU,MAAM;AACd,MAAAgH,EAAY,UAAUjC,GACtBkC,GAAa,UAAUtB;AAAA,IACzB,GAAG,CAACZ,GAAUY,CAAS,CAAC;AAIxB,UAAMuB,KAAoBjI;AAAA,OACvB,MAAM;AACL,cAAMkI,IAAMrC,KAASD,KAAgB;AACrC,eAAOsC,IAAM7D,EAAa6D,CAAG,IAAI;AAAA,MACnC,GAAA;AAAA,IAAG,GAMCC,KAAW5H,EAAY,MAAc;;AACzC,YAAM6H,IAAIhB,EAAY;AACtB,UAAIgB;AACF,YAAI;AACF,gBAAMC,IAAOD,EAAElB,GAAU,gBAAgB;AACzC,cAAI,OAAOmB,KAAS,SAAU,QAAOA;AAAA,QACvC,QAAQ;AAAA,QAER;AAEF,eAAO7H,IAAA2G,EAAY,YAAZ,gBAAA3G,EAAqB,UAAS;AAAA,IACvC,GAAG,CAAC0G,CAAQ,CAAC,GAMPoB,IAAgB/H;AAAA,MACpB,CAACgI,MAAoBtK,MAA6B;AAChD,cAAMmK,IAAIhB,EAAY;AACtB,YAAI,CAACgB,EAAG,QAAO;AACf,cAAMI,IAAclB,GAAY;AAChC,YAAIkB;AACF,cAAI;AACF,YAAAJ,EAAElB,GAAU,iBAAiB;AAAA,UAC/B,QAAQ;AAAA,UAER;AAEF,YAAI;AACF,iBAAAkB,EAAElB,GAAUqB,GAAS,GAAGtK,CAAI,GACrB;AAAA,QACT,QAAQ;AACN,iBAAO;AAAA,QACT,UAAA;AACE,cAAIuK;AACF,gBAAI;AACF,cAAAJ,EAAElB,GAAU,gBAAgB;AAAA,YAC9B,QAAQ;AAAA,YAQR;AAAA,QAEJ;AAAA,MACF;AAAA,MACA,CAACA,CAAQ;AAAA,IAAA,GAMLuB,KAAiBlI;AAAA,MACrB,CAACmI,GAAiBC,MAAsC;;AACtD,cAAMC,KAASD,KAAA,gBAAAA,EAAM,WAAU,IACzBE,IAAUD,IAASvE,EAAaqE,CAAO,IAAIA;AAIjD,YAAIJ,EAHYM,IACZ,yBACA,wBACuBC,CAAO,EAAG;AACrC,cAAMC,IAAK3B,EAAY;AACvB,YAAI,CAAC2B,EAAI;AACT,cAAMC,IAAQD,EAAG,kBAAkBA,EAAG,MAAM,QACtCE,IAAMF,EAAG,gBAAgBA,EAAG,MAAM;AACxC,QAAAA,EAAG,QAAQA,EAAG,MAAM,MAAM,GAAGC,CAAK,IAAIF,IAAUC,EAAG,MAAM,MAAME,CAAG;AAClE,cAAMC,KAAQF,IAAQF,EAAQ;AAC9B,YAAI;AACF,UAAAC,EAAG,kBAAkBG,IAAOA,EAAK;AAAA,QACnC,QAAQ;AAAA,QAER;AACA,SAAAzI,KAAAuH,EAAY,YAAZ,QAAAvH,GAAA,KAAAuH,GAAsB,EAAE,MAAM1D,EAAayE,EAAG,KAAK,GAAG,UAAU;MAClE;AAAA,MACA,CAACR,CAAa;AAAA,IAAA,GAKVY,KAAsB3I,EAAY,MAAY;;AAClD,YAAM4I,KAAO3I,IAAA+G,EAAW,YAAX,gBAAA/G,EAAoB,cAAc,iBACzC4I,IACJ,OAAO,SAAW,MAAc,OAAO,iBAAiB,MACpDC,wBAAW,IAAA;AACjB,UACEF,KACAC,KACAA,EAAU,cACVD,EAAK,SAASC,EAAU,UAAU,KAClC,OAAO,SAAS,qBAAsB;AAKtC,YAAI;AACF,UAAI,SAAS,kBAAkB,MAAM,KAAGC,EAAK,IAAI,MAAM,GACnD,SAAS,kBAAkB,QAAQ,KAAGA,EAAK,IAAI,QAAQ,GACvD,SAAS,kBAAkB,eAAe,KAAGA,EAAK,IAAI,QAAQ,GAC9D,SAAS,kBAAkB,qBAAqB,KAAGA,EAAK,IAAI,IAAI,GAChE,SAAS,kBAAkB,mBAAmB,KAAGA,EAAK,IAAI,IAAI;AAClE,gBAAMC,IAAQ;AAAA,YACZ,SAAS,kBAAkB,aAAa,KAAK;AAAA,UAAA,EAC7C,YAAA;AACF,UAAI,WAAW,KAAKA,CAAK,IAAGD,EAAK,IAAI,SAAS,IACrCC,MAAU,gBAAcD,EAAK,IAAI,OAAO;AAAA,QACnD,QAAQ;AAAA,QAER;AAEF,MAAAxB;AAAA,QAAiB,CAAC0B,MAChBA,EAAK,SAASF,EAAK,QAAQ,CAAC,GAAGA,CAAI,EAAE,MAAM,CAACG,MAAMD,EAAK,IAAIC,CAAC,CAAC,IACzDD,IACAF;AAAA,MAAA;AAAA,IAER,GAAG,CAAA,CAAE,GAGCI,KAAalJ;AAAA,MACjB,CAACgI,MAAoBtK,MAA0B;AAC7C,QAAAqK,EAAcC,GAAS,GAAGtK,CAAI,GAI1B,OAAO,SAAW,MACpB,OAAO,sBAAsB,MAAMiL,IAAqB,IAExDA,GAAA;AAAA,MAEJ;AAAA,MACA,CAACZ,GAAeY,EAAmB;AAAA,IAAA,GAI/B7I,KAAkBL,EAA+B,IAAI,GACrD0J,KAAa1J,EAA2B,IAAI,GAC5C,CAACC,GAAaC,EAAc,IAAIV,EAAS,EAAK,GAC9C,CAACmK,IAAkBC,EAAmB,IAAIpK,EAAS,EAAK,GAIxDqK,KAAetJ,EAAY,MAAY;AAC3C,YAAMuJ,IAAKJ,GAAW;AACtB,MAAII,KAAA,QAAAA,EAAI,cAAYA,EAAG,WAAW,YAAYA,CAAE,GAChDJ,GAAW,UAAU;AAAA,IACvB,GAAG,CAAA,CAAE,GAECK,KAAcxJ,EAAY,CAACI,MAAuB;;AACtD,YAAMwI,KAAO3I,IAAA+G,EAAW,YAAX,gBAAA/G,EAAoB;AAAA,QAC/B;AAAA;AAEF,UAAI,CAAC2I,EAAM;AACX,UAAIW,IAAKJ,GAAW;AACpB,UAAI,CAACI,KAAM,CAACX,EAAK,SAASW,CAAE,GAAG;AAC7B,QAAAA,IAAK,SAAS,cAAc,MAAM,GAClCA,EAAG,aAAa,oBAAoB,EAAE,GACtCA,EAAG,aAAa,mBAAmB,OAAO;AAC1C,cAAMV,IAAY,OAAO,aAAA;AACzB,YACEA,KACAA,EAAU,aAAa,KACvBD,EAAK,SAASC,EAAU,UAAU,GAClC;AACA,gBAAMY,IAAQZ,EAAU,WAAW,CAAC;AACpC,UAAAY,EAAM,SAAS,EAAK,GACpBA,EAAM,WAAWF,CAAE;AAAA,QACrB;AACE,UAAAX,EAAK,YAAYW,CAAE;AAErB,QAAAJ,GAAW,UAAUI;AAAA,MACvB;AACA,MAAAA,EAAG,cAAcnJ;AAAA,IACnB,GAAG,CAAA,CAAE,GAECL,KAAgBC,EAAY,MAAM;;AAItC,OAAAC,IAAAH,GAAgB,YAAhB,QAAAG,EAAyB;AAAA,IAC3B,GAAG,CAAA,CAAE,GAECC,KAAiBF,EAAY,MAAM;AACvC,UAAI,CAACvB,EAAW;AAChB,YAAM0B,IAAa,IAAI,gBAAA;AACvB,MAAAL,GAAgB,UAAUK,GAC1BkJ,GAAoB,EAAK,GACzB1J,GAAe,EAAI,GACnB2J,GAAA,GACA7K,EAAU;AAAA,QACR,QAAQ0B,EAAW;AAAA;AAAA;AAAA,QAGnB,qBAAqB,CAACC,MAAuB;AAC3C,UAAID,EAAW,OAAO,WACtBqJ,GAAYpJ,CAAI;AAAA,QAClB;AAAA,QACA,mBAAmB,CAACA,MAAuB;AACzC,cAAID,EAAW,OAAO,QAAS;AAC/B,UAAAmJ,GAAA;AACA,gBAAMjJ,IAAUD,EAAK,KAAA;AACrB,UAAIC,QAAwB,GAAGA,CAAO,KAAK,EAAE,QAAQ,IAAO;AAAA,QAC9D;AAAA,MAAA,CACD,EACE,MAAM,CAACO,MAAiB;AACvB,QACET,EAAW,OAAO,WACjBS,KACC,OAAOA,KAAQ,YACf,UAAUA,KACTA,EAA0B,SAAS,gBAIxCyI,GAAoB,EAAI;AAAA,MAC1B,CAAC,EACA,QAAQ,MAAM;AACb,QAAAC,GAAA,GAGIxJ,GAAgB,YAAYK,MAC9BL,GAAgB,UAAU,MAC1BH,GAAe,EAAK;AAAA,MAExB,CAAC;AAAA,IACL,GAAG,CAAClB,GAAWyJ,IAAgBoB,IAAcE,EAAW,CAAC,GAEnDjJ,KAAkBP,EAAY,MAAM;AACxC,MAAIN,IAAaK,GAAA,IACZG,GAAA;AAAA,IACP,GAAG,CAACR,GAAaQ,IAAgBH,EAAa,CAAC;AAG/C,IAAAS,EAAU,MAAM,MAAA;;AAAM,cAAAP,IAAAH,GAAgB,YAAhB,gBAAAG,EAAyB;AAAA,OAAS,CAAA,CAAE,GAG1DO,EAAU,MAAM;AACd,YAAM+H,IAAK3B,EAAY;AACvB,UAAI,CAAC2B,EAAI;AAKT,MAAAA,EAAG,QAAQb,GAAkB;AAC7B,YAAMG,IAAIvD,GAAgBwB,CAAQ;AAClC,UAAI,CAAC+B,GAAG;AACN,QAAAX,EAAY,EAAI;AAMhB;AAAA,MACF;AACA,MAAAL,EAAY,UAAUgB;AAEtB,YAAM6B,IAAuC;AAAA,QAC3C,MAAMzD,KAAQtB,GAAe4B,EAAK,YAAY,IAAI;AAAA;AAAA;AAAA,QAGlD,SAAS;AAAA,QACT,SAASP,KAAW,CAAA;AAAA,QACpB,aAAaP,KAAe/G,EAAE,oBAAoB;AAAA,QAClD,cAAc;AAAA;AAAA,QAEd,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,gBAAgB;AAAA,MAAA,GAEZiL,IAAoBzD,IACtB,EAAE,aAAaA,EAAA,IACf,CAAA,GAEE0D,KACH7D,KAAA,gBAAAA,EAAS,cAAqD,CAAA,GAE3D8D,IAAwC;AAAA,QAC5C,GAAGH;AAAA,QACH,GAAGC;AAAA,QACH,GAAI5D,KAAW,CAAA;AAAA;AAAA;AAAA;AAAA,QAIf,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,WAAW;AAAA,UACT,GAAG6D;AAAA,UACH,QAAQ1F,GAAoB;AAC1B,kBAAMC,IAAaF,GAAqBI,GAAeH,CAAI,CAAC,GACtD4F,KAAOhG,EAAaK,CAAU;AAEpC,YADA2C,EAAoB,UAAU,IACzBU,EAAY,YACbD,GAAY,WAAS,aAAaA,GAAY,OAAO,GACzDA,GAAY,UAAU,WAAW,MAAM;;AACrC,eAAAtH,KAAAuH,EAAY,YAAZ,QAAAvH,GAAA,KAAAuH,GAAsB,EAAE,MAAMsC,IAAM,UAAU;YAChD,GAAG,GAAG;AAAA,UACR;AAAA,UACA,QAAQpI,GAA4B;;AAClC,aAAAzB,IAAAwH,GAAa,YAAb,QAAAxH,EAAA,KAAAwH,IAAuB/F;AAAA,UACzB;AAAA,UACA,UAAgB;AACd,YAAAiH,GAAA;AAAA,UACF;AAAA,QAAA;AAAA,MACF;AAGF,UAAI;AAKF,YAJAd,EAAElB,GAAUkD,CAAY,GAIpBnE;AACF,cAAI;AACF,YAAAmC,EAAElB,GAAU,gBAAgB;AAAA,UAC9B,QAAQ;AAAA,UAER;AAAA,MAEJ,QAAQ;AACN,QAAAO,EAAY,EAAI;AAAA,MAClB;AAEA,aAAO,MAAM;AACX,QAAIK,GAAY,WAAS,aAAaA,GAAY,OAAO;AACzD,YAAI;AAEF,UAAAM,EAAElB,GAAU,SAAS;AAAA,QACvB,QAAQ;AAAA,QAER;AACA,QAAAE,EAAY,UAAU;AAAA,MACxB;AAAA,IAIF,GAAG,CAAA,CAAE,GAGLrG,EAAU,MAAM;AACd,UAAI,CAACqG,EAAY,WAAWvB,MAAU,OAAW;AACjD,UAAIwB,EAAoB,SAAS;AAC/B,QAAAA,EAAoB,UAAU;AAC9B;AAAA,MACF;AACA,YAAMgD,IAAOhG,EAAaG,GAAqBqB,CAAK,CAAC;AAErD,MADgBrB,GAAqB2D,IAAU,MAC/BkC,KAAM/B,EAAc,kBAAkB+B,CAAI;AAAA,IAC5D,GAAG,CAACxE,GAAOsC,IAAUG,CAAa,CAAC,GAGnCvH,EAAU,MAAM;AACd,MAAAuG,GAAY,UAAUrB;AACtB,YAAMmC,IAAIhB,EAAY;AACtB,UAAKgB;AACL,YAAI;AACF,UAAAA,EAAElB,GAAUjB,IAAW,mBAAmB,iBAAiB;AAAA,QAC7D,QAAQ;AAAA,QAER;AAAA,IACF,GAAG,CAACA,GAAUiB,CAAQ,CAAC,GAOvBnG,EAAU,MAAM;AACd,UAAI,CAACyG,KAAY3B,MAAU,OAAW;AACtC,YAAMiD,IAAK3B,EAAY;AACvB,UAAI,CAAC2B,EAAI;AACT,YAAMuB,IAAOhG,EAAawB,CAAK;AAC/B,MAAIiD,EAAG,UAAUuB,KAAQ,SAAS,kBAAkBvB,MAClDA,EAAG,QAAQuB;AAAA,IAEf,GAAG,CAAC7C,GAAU3B,CAAK,CAAC;AAGpB,UAAM7H,KAASiJ;AAAA,MACb,OAAO;AAAA,QACL,UAAkB;AAChB,iBAAOkB,GAAA;AAAA,QACT;AAAA,QACA,UAAkB;AAChB,iBAAOA,GAAA,EACJ,QAAQ,YAAY,GAAG,EACvB,QAAQ,YAAY,GAAG,EACvB,QAAQ,QAAQ,GAAG,EACnB,KAAA;AAAA,QACL;AAAA,QACA,cAAsB;AACpB,iBAAO;AAAA,QACT;AAAA,QACA,WAAW1D,GAAoB;AAC7B,gBAAM4F,IAAOhG,EAAaI,CAAI;AAC9B,UAAI6D,EAAc,kBAAkB+B,CAAI,KACpClD,EAAY,YAASA,EAAY,QAAQ,QAAQkD;AAAA,QACvD;AAAA,QACA,gBAAA5B;AAAA,QACA,YAAY6B,GAAc;AACxB,gBAAM/B,IAAUvD,GAAgBsF,CAAM;AACtC,UAAI/B,KAASkB,GAAW,GAAGlB,CAAO;AAAA,QACpC;AAAA,QACA,QAAc;;AACZ,gBAAMH,IAAIhB,EAAY;AACtB,cAAIgB;AACF,gBAAI;AACF,cAAAA,EAAElB,GAAU,cAAc;AAC1B;AAAA,YACF,QAAQ;AAAA,YAER;AAEF,WAAA1G,IAAA2G,EAAY,YAAZ,QAAA3G,EAAqB;AAAA,QACvB;AAAA,QACA,QAAc;AACZ,UAAI8H,EAAc,kBAAkB,EAAE,KAClCnB,EAAY,YAASA,EAAY,QAAQ,QAAQ;AAAA,QACvD;AAAA,MAAA;AAAA,MAEF,CAACD,GAAUiB,IAAUG,GAAeG,IAAgBgB,EAAU;AAAA,IAAA;AAEhE,IAAAc,GAAoB1D,IAAK,MAAM7I,IAAQ,CAACA,EAAM,CAAC,GAC/CwM,GAAqBzM,IAAqBC,IAAQ2F,CAAE;AAGpD,UAAM8G,KAAuBlK;AAAA,MAC3B,CAAC0B,MAAkD;;AACjD,SAAAzB,IAAAuH,EAAY,YAAZ,QAAAvH,EAAA,KAAAuH,GAAsB;AAAA,UACpB,MAAM1D,EAAapC,EAAM,OAAO,KAAK;AAAA,UACrC,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,MACA,CAAA;AAAA,IAAC,GAKGyI,KAAgBxE,KAAajH,EAAE,oBAAoB,GACnD0L,KAAsB3E,KAAe/G,EAAE,oBAAoB;AAEjE,WACE,gBAAAwC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK8F;AAAA,QACL,WAAW,CAACnC,GAAA,GAAmBgB,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,QAClE,kBAAe;AAAA,QACf,qBAAmBzC;AAAA,QACnB,mBAAiBwC;AAAA,QAEhB,UAAA;AAAA,UAAA,CAACqB,KAAY,CAACvB,IACb,gBAAA1E;AAAA,YAAC2B;AAAA,YAAA;AAAA,cACC,KAAKuG;AAAA,cACL,QAAQ7B;AAAA,cACR,QAAQ7B;AAAA,cACR,cAAaQ,KAAA,gBAAAA,EAAS,SAAS,iBAAgB;AAAA,cAC/C,aAAa,EAAQE;AAAA,cACrB,cAAaF,KAAA,gBAAAA,EAAS,SAAS,aAAY;AAAA,YAAA;AAAA,UAAA,IAE3C;AAAA,UACJ,gBAAA9E,EAAC,OAAA,EAAI,WAAU,eACb,UAAA;AAAA,YAAA,gBAAAF;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAK4F;AAAA,gBACL,IAAIH;AAAA,gBACJ,cAAY0D;AAAA,gBACZ,kBAAe;AAAA,gBACf,aAAaC;AAAA,gBACb,UAAUnD,IAAWiD,KAAuB;AAAA,gBAC5C,UAAUjD,IAAWvB,IAAW;AAAA,gBAChC,WAAWuB,IAAWnC,OAA6B;AAAA,cAAA;AAAA,YAAA;AAAA,YAKpDzG,KAAoBI,IACnB,gBAAAyC,EAAC,OAAA,EAAI,WAAU,qNACb,UAAA;AAAA,cAAA,gBAAAF;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,SAAST;AAAA,kBACT,gBAAcb;AAAA,kBACd,cAEMhB,EADJgB,IACM,0BACA,wBADuB;AAAA,kBAG/B,WAAWA,IAAcuF,KAAsBD;AAAA,kBAE9C,UAAAtF,IACC,gBAAAsB;AAAA,oBAACW;AAAA,oBAAA;AAAA,sBACC,eAAY;AAAA,sBACZ,WAAU;AAAA,oBAAA;AAAA,kBAAA,sBAGXC,IAAA,EAAI,eAAY,QAAO,WAAU,aAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGlD,gBAAAZ;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,eAAY;AAAA,kBACZ,WAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEZ,gBAAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAMoG,EAAU,EAAI;AAAA,kBAC7B,cAAY1I,EAAE,uBAAuB;AAAA,kBACrC,WAAWsG;AAAA,kBAEX,4BAAC7D,IAAA,EAAS,eAAY,QAAO,WAAU,aAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACrD,GACF,IACE1C,sBACD,OAAA,EAAI,WAAU,sGACb,UAAA,gBAAAuC;AAAA,cAACK;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,QAAO;AAAA,gBACP,MACE3B,IAAc,gBAAAsB,EAACW,IAAA,EAAO,WAAU,kBAAA,CAAkB,sBAAMC,IAAA,EAAI;AAAA,gBAE9D,gBAAclC;AAAA,gBACd,cAEMhB,EADJgB,IACM,0BACA,wBADuB;AAAA,gBAG/B,SAASa;AAAA,gBACT,WACEb,IACI,GAAGwF,EAAiB,kDACpB;AAAA,cAAA;AAAA,YAAA,GAGV,IACE7G,sBACD,OAAA,EAAI,WAAU,sGACb,UAAA,gBAAA2C;AAAA,cAACK;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,QAAO;AAAA,gBACP,wBAAOF,IAAA,EAAS;AAAA,gBAChB,cAAYzC,EAAE,uBAAuB;AAAA,gBACrC,SAAS,MAAM0I,EAAU,EAAI;AAAA,gBAC7B,WAAU;AAAA,cAAA;AAAA,YAAA,EACZ,CACF,IACE;AAAA,YACH/I,IACC,gBAAA2C;AAAA,cAAC9C;AAAA,cAAA;AAAA,gBACC,MAAMiJ;AAAA,gBACN,SAAS,MAAMC,EAAU,EAAK;AAAA,gBAC9B,kBAAA/I;AAAA,gBACA,UAAU,CAACiB,MACT4I,GAAe5I,GAAO,EAAE,QAAQ8G,MAAkB,QAAQ;AAAA,gBAE5D,eAAeA,MAAkB;AAAA,gBACjC,eAAeC;AAAA,gBACf,WAAA5H;AAAA,cAAA;AAAA,YAAA,IAEA;AAAA,UAAA,GACN;AAAA,UACCA,KAAa2K,KACZ,gBAAApI;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAU;AAAA,cAET,YAAE,0BAA0B;AAAA,YAAA;AAAA,UAAA,IAE7B;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEAmE,GAAe,cAAc;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { o as m, q as t, r as n, v as s } from "./date-picker-variants-DAcSLTua.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-
|
|
361
|
+
//# sourceMappingURL=ro-Cp--52bT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ro-DsCzSrzR.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-Cp--52bT.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 {
|
|
2
|
-
import { i as d } from "./isSameWeek-
|
|
1
|
+
import { o as s, q as u, r as o, v as g } from "./date-picker-variants-DAcSLTua.js";
|
|
2
|
+
import { i as d } from "./isSameWeek-I3DfXUp1.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-
|
|
561
|
+
//# sourceMappingURL=ru-BM8eX_Zz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ru-DgDxL0pc.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-BM8eX_Zz.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]}
|