@alfadocs/ui-kit-debug 0.37.0 → 0.38.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/Alfadocs_Logo_Mark-7o3L3WBI.js +56 -0
- package/dist/_chunks/Alfadocs_Logo_Mark-7o3L3WBI.js.map +1 -0
- package/dist/_chunks/{alia-sidebar-BEoMl6UL.js → alia-sidebar-DXsYPinm.js} +2 -2
- package/dist/_chunks/{alia-sidebar-BEoMl6UL.js.map → alia-sidebar-DXsYPinm.js.map} +1 -1
- package/dist/_chunks/{ar-D1RwVZFj.js → ar-Cn_NxqkN.js} +2 -2
- package/dist/_chunks/{ar-D1RwVZFj.js.map → ar-Cn_NxqkN.js.map} +1 -1
- package/dist/_chunks/bmi-BxD-tFzU.js +32 -0
- package/dist/_chunks/bmi-BxD-tFzU.js.map +1 -0
- package/dist/_chunks/bmi-calculator-BRUru9QX.js +213 -0
- package/dist/_chunks/bmi-calculator-BRUru9QX.js.map +1 -0
- package/dist/_chunks/{booking-DqXsd1Mv.js → booking-DK_BPHnQ.js} +4 -4
- package/dist/_chunks/{booking-DqXsd1Mv.js.map → booking-DK_BPHnQ.js.map} +1 -1
- package/dist/_chunks/calculator-dialog-B74fqpFZ.js +40 -0
- package/dist/_chunks/calculator-dialog-B74fqpFZ.js.map +1 -0
- package/dist/_chunks/{chat-message-D53_fH2w.js → chat-message-ASgGtj-L.js} +30 -39
- package/dist/_chunks/chat-message-ASgGtj-L.js.map +1 -0
- package/dist/_chunks/{contact-profile-card-BA6fgS45.js → contact-profile-card-DHyuAPXM.js} +14 -13
- package/dist/_chunks/{contact-profile-card-BA6fgS45.js.map → contact-profile-card-DHyuAPXM.js.map} +1 -1
- package/dist/_chunks/cycle-calculator-B5Uj9QeT.js +185 -0
- package/dist/_chunks/cycle-calculator-B5Uj9QeT.js.map +1 -0
- package/dist/_chunks/{date-picker-CXFpu-qY.js → date-picker-CvQfs6Xh.js} +2 -2
- package/dist/_chunks/{date-picker-CXFpu-qY.js.map → date-picker-CvQfs6Xh.js.map} +1 -1
- package/dist/_chunks/{date-range-picker-I-q5rifj.js → date-range-picker-U9fn1g9d.js} +3 -3
- package/dist/_chunks/{date-range-picker-I-q5rifj.js.map → date-range-picker-U9fn1g9d.js.map} +1 -1
- package/dist/_chunks/{date-time-picker-CqpGPlcH.js → date-time-picker-Cva0ZCWw.js} +2 -2
- package/dist/_chunks/{date-time-picker-CqpGPlcH.js.map → date-time-picker-Cva0ZCWw.js.map} +1 -1
- package/dist/_chunks/{de-HTQ4b4-J.js → de-BMM2H7Bs.js} +2 -2
- package/dist/_chunks/{de-HTQ4b4-J.js.map → de-BMM2H7Bs.js.map} +1 -1
- package/dist/_chunks/dependent-selector-CRWgieHm.js +324 -0
- package/dist/_chunks/dependent-selector-CRWgieHm.js.map +1 -0
- package/dist/_chunks/document-scanner-CdHQ6lTN.js +702 -0
- package/dist/_chunks/document-scanner-CdHQ6lTN.js.map +1 -0
- package/dist/_chunks/due-date-calculator-CUspKSTw.js +171 -0
- package/dist/_chunks/due-date-calculator-CUspKSTw.js.map +1 -0
- package/dist/_chunks/{editable-currency-cell-renderer-DnjwZNZP.js → editable-currency-cell-renderer-DGKuRNVG.js} +2 -2
- package/dist/_chunks/{editable-currency-cell-renderer-DnjwZNZP.js.map → editable-currency-cell-renderer-DGKuRNVG.js.map} +1 -1
- package/dist/_chunks/{el-Dr1pjuDq.js → el-BYPonAaK.js} +2 -2
- package/dist/_chunks/{el-Dr1pjuDq.js.map → el-BYPonAaK.js.map} +1 -1
- package/dist/_chunks/{es-CvyTjLS0.js → es-CMkVCQ4F.js} +2 -2
- package/dist/_chunks/{es-CvyTjLS0.js.map → es-CMkVCQ4F.js.map} +1 -1
- package/dist/_chunks/{file-upload-CdozCPct.js → file-upload-CnzRcErt.js} +2 -1
- package/dist/_chunks/{file-upload-CdozCPct.js.map → file-upload-CnzRcErt.js.map} +1 -1
- package/dist/_chunks/fiscal-code-input-BZ0FxwUl.js +540 -0
- package/dist/_chunks/fiscal-code-input-BZ0FxwUl.js.map +1 -0
- package/dist/_chunks/{fr-CS7aqaFR.js → fr-BcuWxqft.js} +2 -2
- package/dist/_chunks/{fr-CS7aqaFR.js.map → fr-BcuWxqft.js.map} +1 -1
- package/dist/_chunks/gestation-BXEgDGmP.js +50 -0
- package/dist/_chunks/gestation-BXEgDGmP.js.map +1 -0
- package/dist/_chunks/gestational-age-calculator-CsQ05qDy.js +165 -0
- package/dist/_chunks/gestational-age-calculator-CsQ05qDy.js.map +1 -0
- package/dist/_chunks/heart-C0faivFf.js +20 -0
- package/dist/_chunks/heart-C0faivFf.js.map +1 -0
- package/dist/_chunks/{hi-3uy8KpsH.js → hi-wkq_rQAh.js} +2 -2
- package/dist/_chunks/{hi-3uy8KpsH.js.map → hi-wkq_rQAh.js.map} +1 -1
- package/dist/_chunks/image-C6RM5hfF.js +16 -0
- package/dist/_chunks/image-C6RM5hfF.js.map +1 -0
- package/dist/_chunks/insert-result-yJ0QavoN.js +133 -0
- package/dist/_chunks/insert-result-yJ0QavoN.js.map +1 -0
- package/dist/_chunks/{isSameWeek-DRpMibi9.js → isSameWeek-Bim5ftRd.js} +2 -2
- package/dist/_chunks/{isSameWeek-DRpMibi9.js.map → isSameWeek-Bim5ftRd.js.map} +1 -1
- package/dist/_chunks/{it-B_RF5VSw.js → it-GiQrQ9p4.js} +3 -3
- package/dist/_chunks/{it-B_RF5VSw.js.map → it-GiQrQ9p4.js.map} +1 -1
- package/dist/_chunks/{ja-C1mEYy35.js → ja-qfYg3Rua.js} +2 -2
- package/dist/_chunks/{ja-C1mEYy35.js.map → ja-qfYg3Rua.js.map} +1 -1
- package/dist/_chunks/{logo-_Z-jLq80.js → logo-yituK7sE.js} +42 -91
- package/dist/_chunks/logo-yituK7sE.js.map +1 -0
- package/dist/_chunks/{marketplace-app-shell-DXHxy9dj.js → marketplace-app-shell-BnClrL2B.js} +2 -2
- package/dist/_chunks/{marketplace-app-shell-DXHxy9dj.js.map → marketplace-app-shell-BnClrL2B.js.map} +1 -1
- package/dist/_chunks/{nl-Dl7lO2t3.js → nl-xOogO4sZ.js} +2 -2
- package/dist/_chunks/{nl-Dl7lO2t3.js.map → nl-xOogO4sZ.js.map} +1 -1
- package/dist/_chunks/{patient-shell-CDvMw_Nk.js → patient-shell-Bz3CdO84.js} +2 -2
- package/dist/_chunks/{patient-shell-CDvMw_Nk.js.map → patient-shell-Bz3CdO84.js.map} +1 -1
- package/dist/_chunks/{pl-Dgsogljx.js → pl-GnOW6eGK.js} +3 -3
- package/dist/_chunks/{pl-Dgsogljx.js.map → pl-GnOW6eGK.js.map} +1 -1
- package/dist/_chunks/{practice-results-BFM_lyUs.js → practice-results-C8ciLQap.js} +3 -2
- package/dist/_chunks/{practice-results-BFM_lyUs.js.map → practice-results-C8ciLQap.js.map} +1 -1
- package/dist/_chunks/pregnancy-weight-gain-BCdi-JSv.js +209 -0
- package/dist/_chunks/pregnancy-weight-gain-BCdi-JSv.js.map +1 -0
- package/dist/_chunks/{privacy-lock-DD-wHxBg.js → privacy-lock-BmX_gkvt.js} +2 -2
- package/dist/_chunks/{privacy-lock-DD-wHxBg.js.map → privacy-lock-BmX_gkvt.js.map} +1 -1
- package/dist/_chunks/{pt-Dm2JF4bc.js → pt-_bV5b5RW.js} +2 -2
- package/dist/_chunks/{pt-Dm2JF4bc.js.map → pt-_bV5b5RW.js.map} +1 -1
- package/dist/_chunks/{public-footer.agent-Cjfe5jus.js → public-footer.agent-zw1vFin_.js} +2 -2
- package/dist/_chunks/{public-footer.agent-Cjfe5jus.js.map → public-footer.agent-zw1vFin_.js.map} +1 -1
- package/dist/_chunks/qr-code-DNXhi6se.js +568 -0
- package/dist/_chunks/qr-code-DNXhi6se.js.map +1 -0
- package/dist/_chunks/{react-day-picker-DYDdR8Vv.js → react-day-picker-CdtIiKjx.js} +24 -24
- package/dist/_chunks/{react-day-picker-DYDdR8Vv.js.map → react-day-picker-CdtIiKjx.js.map} +1 -1
- package/dist/_chunks/{rich-text-editor-CHmr9Bz8.js → rich-text-editor-DLbg2852.js} +114 -124
- package/dist/_chunks/rich-text-editor-DLbg2852.js.map +1 -0
- package/dist/_chunks/{ro-BXFZ_xIX.js → ro-BEcyh5Nj.js} +2 -2
- package/dist/_chunks/{ro-BXFZ_xIX.js.map → ro-BEcyh5Nj.js.map} +1 -1
- package/dist/_chunks/rotate-ccw-BWANpitO.js +15 -0
- package/dist/_chunks/rotate-ccw-BWANpitO.js.map +1 -0
- package/dist/_chunks/{ru-BPQkNRRV.js → ru-Bi86hqMf.js} +3 -3
- package/dist/_chunks/{ru-BPQkNRRV.js.map → ru-Bi86hqMf.js.map} +1 -1
- package/dist/_chunks/session-countdown-LPnhTHjn.js +214 -0
- package/dist/_chunks/session-countdown-LPnhTHjn.js.map +1 -0
- package/dist/_chunks/{shield-check-BhHyReu8.js → shield-check-C73ma9Cs.js} +8 -24
- package/dist/_chunks/shield-check-C73ma9Cs.js.map +1 -0
- package/dist/_chunks/{sign-in-with-alfadocs-button-BI0fVonM.js → sign-in-with-alfadocs-button-DeHBFRNS.js} +2 -2
- package/dist/_chunks/{sign-in-with-alfadocs-button-BI0fVonM.js.map → sign-in-with-alfadocs-button-DeHBFRNS.js.map} +1 -1
- package/dist/_chunks/social-sign-in-button-X54ySJr1.js +243 -0
- package/dist/_chunks/social-sign-in-button-X54ySJr1.js.map +1 -0
- package/dist/_chunks/{sq-ChTlGFcJ.js → sq-BujHSAWu.js} +2 -2
- package/dist/_chunks/{sq-ChTlGFcJ.js.map → sq-BujHSAWu.js.map} +1 -1
- package/dist/_chunks/subDays-_T9YeKPX.js +8 -0
- package/dist/_chunks/{subDays-D-WYRpdW.js.map → subDays-_T9YeKPX.js.map} +1 -1
- package/dist/_chunks/{sv-Do_gs6ir.js → sv-C8AeDrTA.js} +2 -2
- package/dist/_chunks/{sv-Do_gs6ir.js.map → sv-C8AeDrTA.js.map} +1 -1
- package/dist/_chunks/{tr-da_UnkYH.js → tr-CMSs_Vgf.js} +2 -2
- package/dist/_chunks/{tr-da_UnkYH.js.map → tr-CMSs_Vgf.js.map} +1 -1
- package/dist/_chunks/unit-converter-EUwO6QYq.js +168 -0
- package/dist/_chunks/unit-converter-EUwO6QYq.js.map +1 -0
- package/dist/_chunks/wallet-pay-button-DK4ESYge.js +250 -0
- package/dist/_chunks/wallet-pay-button-DK4ESYge.js.map +1 -0
- package/dist/_chunks/{zh-CN-C9qi5oak.js → zh-CN-eXB-PFu4.js} +3 -3
- package/dist/_chunks/{zh-CN-C9qi5oak.js.map → zh-CN-eXB-PFu4.js.map} +1 -1
- package/dist/agent-catalog.json +203 -1
- package/dist/brand/provider-marks/apple-pay.d.ts +12 -0
- package/dist/brand/provider-marks/apple-pay.d.ts.map +1 -0
- package/dist/brand/provider-marks/apple.d.ts +12 -0
- package/dist/brand/provider-marks/apple.d.ts.map +1 -0
- package/dist/brand/provider-marks/google-pay.d.ts +12 -0
- package/dist/brand/provider-marks/google-pay.d.ts.map +1 -0
- package/dist/brand/provider-marks/google.d.ts +13 -0
- package/dist/brand/provider-marks/google.d.ts.map +1 -0
- package/dist/components/_shared/insert-result.d.ts +47 -0
- package/dist/components/_shared/insert-result.d.ts.map +1 -0
- package/dist/components/bmi-calculator/bmi-calculator.d.ts +3 -0
- package/dist/components/bmi-calculator/bmi-calculator.d.ts.map +1 -1
- package/dist/components/bmi-calculator/index.js +6 -5
- package/dist/components/bmi-calculator/index.js.map +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/calculator-dialog/calculator-dialog.d.ts +26 -0
- package/dist/components/calculator-dialog/calculator-dialog.d.ts.map +1 -0
- package/dist/components/calculator-dialog/index.d.ts +3 -0
- package/dist/components/calculator-dialog/index.d.ts.map +1 -0
- package/dist/components/calculator-dialog/index.js +5 -0
- package/dist/components/calculator-dialog/index.js.map +1 -0
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/cycle-calculator/cycle-calculator.d.ts +21 -0
- package/dist/components/cycle-calculator/cycle-calculator.d.ts.map +1 -0
- package/dist/components/cycle-calculator/cycle.d.ts +37 -0
- package/dist/components/cycle-calculator/cycle.d.ts.map +1 -0
- package/dist/components/cycle-calculator/index.d.ts +4 -0
- package/dist/components/cycle-calculator/index.d.ts.map +1 -0
- package/dist/components/cycle-calculator/index.js +7 -0
- package/dist/components/cycle-calculator/index.js.map +1 -0
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/index.js +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/dependent-selector/dependent-selector.agent.d.ts +4 -0
- package/dist/components/dependent-selector/dependent-selector.agent.d.ts.map +1 -0
- package/dist/components/dependent-selector/dependent-selector.d.ts +72 -0
- package/dist/components/dependent-selector/dependent-selector.d.ts.map +1 -0
- package/dist/components/dependent-selector/index.d.ts +4 -0
- package/dist/components/dependent-selector/index.d.ts.map +1 -0
- package/dist/components/dependent-selector/index.js +6 -0
- package/dist/components/dependent-selector/index.js.map +1 -0
- package/dist/components/document-scanner/document-scanner.agent.d.ts +4 -0
- package/dist/components/document-scanner/document-scanner.agent.d.ts.map +1 -0
- package/dist/components/document-scanner/document-scanner.d.ts +93 -0
- package/dist/components/document-scanner/document-scanner.d.ts.map +1 -0
- package/dist/components/document-scanner/index.d.ts +4 -0
- package/dist/components/document-scanner/index.d.ts.map +1 -0
- package/dist/components/document-scanner/index.js +6 -0
- package/dist/components/document-scanner/index.js.map +1 -0
- package/dist/components/due-date-calculator/due-date-calculator.d.ts +3 -0
- package/dist/components/due-date-calculator/due-date-calculator.d.ts.map +1 -1
- package/dist/components/due-date-calculator/gestation.d.ts +16 -0
- package/dist/components/due-date-calculator/gestation.d.ts.map +1 -1
- package/dist/components/due-date-calculator/index.d.ts +1 -1
- package/dist/components/due-date-calculator/index.d.ts.map +1 -1
- package/dist/components/due-date-calculator/index.js +10 -7
- package/dist/components/due-date-calculator/index.js.map +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/fiscal-code-input/calculate-codice-fiscale.d.ts +24 -0
- package/dist/components/fiscal-code-input/calculate-codice-fiscale.d.ts.map +1 -0
- package/dist/components/fiscal-code-input/fiscal-code-input.agent.d.ts +4 -0
- package/dist/components/fiscal-code-input/fiscal-code-input.agent.d.ts.map +1 -0
- package/dist/components/fiscal-code-input/fiscal-code-input.d.ts +61 -0
- package/dist/components/fiscal-code-input/fiscal-code-input.d.ts.map +1 -0
- package/dist/components/fiscal-code-input/index.d.ts +6 -0
- package/dist/components/fiscal-code-input/index.d.ts.map +1 -0
- package/dist/components/fiscal-code-input/index.js +11 -0
- package/dist/components/fiscal-code-input/index.js.map +1 -0
- package/dist/components/fiscal-code-input/is-valid-codice-fiscale.d.ts +21 -0
- package/dist/components/fiscal-code-input/is-valid-codice-fiscale.d.ts.map +1 -0
- package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +27 -0
- package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts.map +1 -0
- package/dist/components/gestational-age-calculator/index.d.ts +3 -0
- package/dist/components/gestational-age-calculator/index.d.ts.map +1 -0
- package/dist/components/gestational-age-calculator/index.js +5 -0
- package/dist/components/gestational-age-calculator/index.js.map +1 -0
- package/dist/components/index.d.ts +13 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/logo/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/index.d.ts +4 -0
- package/dist/components/pregnancy-weight-gain/index.d.ts.map +1 -0
- package/dist/components/pregnancy-weight-gain/index.js +9 -0
- package/dist/components/pregnancy-weight-gain/index.js.map +1 -0
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +19 -0
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts.map +1 -0
- package/dist/components/pregnancy-weight-gain/weight-gain.d.ts +41 -0
- package/dist/components/pregnancy-weight-gain/weight-gain.d.ts.map +1 -0
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/qr-code/index.d.ts +5 -0
- package/dist/components/qr-code/index.d.ts.map +1 -0
- package/dist/components/qr-code/index.js +8 -0
- package/dist/components/qr-code/index.js.map +1 -0
- package/dist/components/qr-code/qr-code.agent.d.ts +3 -0
- package/dist/components/qr-code/qr-code.agent.d.ts.map +1 -0
- package/dist/components/qr-code/qr-code.d.ts +59 -0
- package/dist/components/qr-code/qr-code.d.ts.map +1 -0
- package/dist/components/qr-code/qr-encode.d.ts +46 -0
- package/dist/components/qr-code/qr-encode.d.ts.map +1 -0
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/session-countdown/index.d.ts +4 -0
- package/dist/components/session-countdown/index.d.ts.map +1 -0
- package/dist/components/session-countdown/index.js +6 -0
- package/dist/components/session-countdown/index.js.map +1 -0
- package/dist/components/session-countdown/session-countdown.agent.d.ts +3 -0
- package/dist/components/session-countdown/session-countdown.agent.d.ts.map +1 -0
- package/dist/components/session-countdown/session-countdown.d.ts +38 -0
- package/dist/components/session-countdown/session-countdown.d.ts.map +1 -0
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/social-sign-in-button/index.d.ts +3 -0
- package/dist/components/social-sign-in-button/index.d.ts.map +1 -0
- package/dist/components/social-sign-in-button/index.js +5 -0
- package/dist/components/social-sign-in-button/index.js.map +1 -0
- package/dist/components/social-sign-in-button/social-sign-in-button.d.ts +56 -0
- package/dist/components/social-sign-in-button/social-sign-in-button.d.ts.map +1 -0
- package/dist/components/unit-converter/index.d.ts +4 -0
- package/dist/components/unit-converter/index.d.ts.map +1 -0
- package/dist/components/unit-converter/index.js +9 -0
- package/dist/components/unit-converter/index.js.map +1 -0
- package/dist/components/unit-converter/unit-converter.d.ts +21 -0
- package/dist/components/unit-converter/unit-converter.d.ts.map +1 -0
- package/dist/components/unit-converter/units.d.ts +18 -0
- package/dist/components/unit-converter/units.d.ts.map +1 -0
- package/dist/components/wallet-pay-button/index.d.ts +3 -0
- package/dist/components/wallet-pay-button/index.d.ts.map +1 -0
- package/dist/components/wallet-pay-button/index.js +5 -0
- package/dist/components/wallet-pay-button/index.js.map +1 -0
- package/dist/components/wallet-pay-button/wallet-pay-button.d.ts +63 -0
- package/dist/components/wallet-pay-button/wallet-pay-button.d.ts.map +1 -0
- package/dist/i18n/locales/ar.d.ts +252 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +249 -0
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +252 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +249 -0
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +252 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +249 -0
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +252 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +252 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +252 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +249 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +252 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +249 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +252 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +249 -0
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +252 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +249 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +252 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +245 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +252 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +249 -0
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +252 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +249 -0
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +252 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +252 -0
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +252 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +249 -0
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +252 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +249 -0
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +252 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +249 -0
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +252 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +249 -0
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +252 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +249 -0
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +252 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +245 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +587 -535
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +252 -0
- package/dist/locales/de.json +252 -0
- package/dist/locales/el.json +252 -0
- package/dist/locales/en.json +252 -0
- package/dist/locales/es.json +252 -0
- package/dist/locales/fr.json +252 -0
- package/dist/locales/hi.json +252 -0
- package/dist/locales/it.json +252 -0
- package/dist/locales/ja.json +252 -0
- package/dist/locales/nl.json +252 -0
- package/dist/locales/pl.json +252 -0
- package/dist/locales/pt.json +252 -0
- package/dist/locales/ro.json +252 -0
- package/dist/locales/ru.json +252 -0
- package/dist/locales/sq.json +252 -0
- package/dist/locales/sv.json +252 -0
- package/dist/locales/tr.json +252 -0
- package/dist/locales/zh.json +252 -0
- 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 +1 -1
- package/package.json +49 -1
- package/dist/_chunks/bmi-calculator-DQD5_nE-.js +0 -214
- package/dist/_chunks/bmi-calculator-DQD5_nE-.js.map +0 -1
- package/dist/_chunks/chat-message-D53_fH2w.js.map +0 -1
- package/dist/_chunks/due-date-calculator-kf9U_g7O.js +0 -173
- package/dist/_chunks/due-date-calculator-kf9U_g7O.js.map +0 -1
- package/dist/_chunks/logo-_Z-jLq80.js.map +0 -1
- package/dist/_chunks/rich-text-editor-CHmr9Bz8.js.map +0 -1
- package/dist/_chunks/shield-check-BhHyReu8.js.map +0 -1
- package/dist/_chunks/subDays-D-WYRpdW.js +0 -8
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logo-_Z-jLq80.js","sources":["../../src/brand/logo-asset/Alfadocs_Logo_Main.tsx","../../src/brand/logo-asset/Alfadocs_Logo_Neg.tsx","../../src/brand/logo-asset/Alfadocs_Logo_Mark.tsx","../../src/components/logo/logo.tsx"],"sourcesContent":["/**\n * Alfadocs_Logo_Main — canonical bicolor wordmark.\n *\n * Source: `reference/assets/logos/SVG/Alfadocs_Logo_Main.svg`\n * Bicolor: blue-500 wordmark + violet-500 mark.\n *\n * Colours reference token primitives directly so they stay fixed to brand\n * values regardless of the current surface theme — a bicolor wordmark is\n * brand-locked by definition. For an inverting / single-colour wordmark\n * use `Alfadocs_Logo_Neg` or `Alfadocs_Logo_Mark`.\n */\nimport { forwardRef, type SVGProps } from 'react';\n\nexport const AlfadocsLogoMain = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 805 148\"\n {...props}\n >\n <g className=\"ds:fill-[color:var(--color-blue-500)]\">\n <path d=\"M460.58,51.29h-10.51c-3.57,0-6.52.99-8.85,2.97-2.32,1.98-3.48,4.71-3.48,8.18v.15h-1.62c-.62,0-1.21-.34-1.49-.89-.26-.51-.55-1.01-.86-1.49-.21-.34-.43-.68-.68-1.01,0-.04-.02-.07-.06-.11-.21-.28-.4-.55-.64-.83-.05-.1-.12-.18-.22-.28-.21-.26-.43-.53-.66-.78-.04-.06-.1-.12-.17-.18-.18-.21-.37-.42-.57-.61-.36-.37-.75-.73-1.16-1.09-.82-.74-1.68-1.46-2.63-2.15-1.08-.76-2.29-1.41-3.66-1.93-.32-.13-.65-.26-.98-.37-.4-.13-.82-.27-1.26-.39-.4-.11-.82-.22-1.23-.32-1.26-.31-2.63-.53-4.11-.67-.26-.02-.54-.05-.82-.07-.24-.02-.5-.05-.75-.06-1.15-.09-2.36-.12-3.62-.12-1.47,0-2.9.09-4.32.27-.54.07-1.08.15-1.6.24-3.73.65-7.25,1.96-10.58,3.88-.81.47-1.58.98-2.34,1.52-.31.21-.61.43-.91.66-.09.07-.17.13-.25.2-.98.76-1.91,1.58-2.78,2.47-.03.03-.06.07-.1.1-.02.02-.04.03-.06.05-.78.78-1.52,1.61-2.23,2.51-.35.44-.7.89-1.03,1.36-.89,1.25-1.72,2.57-2.49,3.99-3.07,5.65-4.61,12.48-4.61,20.5v2.37c0,8.02,1.54,14.85,4.61,20.5.77,1.42,1.6,2.74,2.49,3.99.33.46.67.92,1.03,1.36.71.89,1.44,1.72,2.23,2.51.02.02.04.04.06.06.04.04.07.07.1.11.86.88,1.79,1.7,2.76,2.46.09.07.18.14.27.21.3.22.6.44.9.65.76.54,1.53,1.05,2.34,1.52,3.33,1.92,6.85,3.23,10.58,3.88.53.09,1.06.17,1.6.24,1.42.17,2.86.27,4.32.27,1.26,0,2.47-.04,3.62-.12.24-.01.5-.04.75-.06.28-.01.55-.04.82-.07,1.48-.15,2.85-.37,4.11-.67.43-.1.83-.2,1.23-.32.43-.12.86-.26,1.26-.39.33-.12.66-.24.98-.37,1.37-.53,2.58-1.17,3.66-1.93.96-.68,1.82-1.41,2.63-2.15h0c.4-.36.79-.72,1.16-1.09.2-.21.39-.4.57-.61.06-.06.12-.12.17-.18.23-.26.45-.53.66-.78.09-.1.16-.18.22-.28.23-.28.43-.55.64-.83.01-.04.04-.07.06-.11.26-.33.48-.67.68-1.01.31-.49.6-.99.86-1.49.29-.55.87-.89,1.49-.89h1.62v.15c0,3.47,1.16,6.2,3.48,8.18,2.34,1.98,5.28,2.97,8.85,2.97h9.87c2.75,0,4.98-2.23,4.98-4.98v-5.49c0-2.75-2.23-4.98-4.98-4.98h-.96c-2.78,0-4.17-1.49-4.17-4.46v-33.87c0-2.97,1.39-4.46,4.17-4.46h1.59c2.4,0,4.35-1.95,4.35-4.35v-6.76c0-2.4-1.95-4.35-4.35-4.35ZM436.41,88.88c0,.89-.02,1.75-.09,2.59-.02.32-.05.62-.09.93-.06.61-.13,1.21-.23,1.8-.05.29-.11.59-.16.87-.1.53-.22,1.03-.35,1.53-.93,3.47-2.56,6.32-4.88,8.55-2.74,2.64-5.95,4.34-9.65,5.11-.54.11-1.08.2-1.64.27-1,.13-2.05.2-3.13.2-5.75,0-10.55-1.86-14.41-5.57-3.86-3.7-5.79-9.13-5.79-16.26v-1.49c0-7.13,1.93-12.56,5.79-16.26,3.86-3.72,8.67-5.57,14.41-5.57,1.08,0,2.13.06,3.13.2.56.07,1.1.16,1.64.27,3.69.77,6.91,2.47,9.65,5.11,2.32,2.23,3.95,5.07,4.88,8.55.13.5.26,1,.35,1.53.06.28.11.57.16.87.1.59.17,1.19.23,1.8.04.31.06.61.09.93.06.84.09,1.7.09,2.59v1.49Z\" />\n <path d=\"M245.66,25.95c-.77-2.92-3.41-4.96-6.44-4.96h-23.91c-3.02,0-5.67,2.04-6.44,4.96l-24.7,93.97c-.67,2.56,1.26,5.06,3.9,5.06h11.81c1.86,0,3.47-1.27,3.92-3.07l4.57-18.51c.19-.76.87-1.3,1.66-1.3h34.46c.79,0,1.47.54,1.66,1.3l4.64,18.82c.4,1.62,1.85,2.76,3.52,2.76h12.67c2.38,0,4.11-2.25,3.51-4.55l-24.84-94.49ZM239.04,83.98h-23.55c-1.11,0-1.93-1.05-1.66-2.13l11.78-47.24c.19-.76.87-1.3,1.66-1.3s1.47.54,1.66,1.3l11.78,47.24c.27,1.08-.55,2.13-1.66,2.13Z\" />\n <rect x=\"281.2\" y=\"20.98\" width=\"18.72\" height=\"104\" rx=\"4.8\" ry=\"4.8\" />\n <path d=\"M363.05,51.29h-13.29c-.95,0-1.71-.77-1.71-1.71v-8.69c0-2.97,1.39-4.46,4.16-4.46h8.67c2.27,0,4.11-1.84,4.11-4.11v-7.24c0-2.27-1.84-4.11-4.11-4.11h-15.21c-4.85,0-8.79,1.51-11.81,4.53-3.02,3.02-4.53,7.06-4.53,12.11v11.96c0,.95-.77,1.71-1.71,1.71h-12.81c-2.32,0-4.2,1.88-4.2,4.2v7.06c0,2.32,1.88,4.2,4.2,4.2h12.81c.95,0,1.71.77,1.71,1.71v51.98c0,2.51,2.03,4.54,4.54,4.54h9.63c2.51,0,4.54-2.03,4.54-4.54v-51.98c0-.95.77-1.71,1.71-1.71h13.29c2.38,0,4.31-1.93,4.31-4.31v-6.83c0-2.38-1.93-4.31-4.31-4.31Z\" />\n <path d=\"M549.94,20.98h-8.88c-2.72,0-4.92,2.2-4.92,4.92v32.14c0,.95-.77,1.71-1.71,1.71h0c-.6,0-1.13-.32-1.45-.82-.95-1.48-2.23-2.89-3.82-4.23-1.88-1.58-4.33-2.9-7.35-3.94-3.02-1.04-6.76-1.56-11.22-1.56-5.94,0-11.44,1.46-16.49,4.38-5.05,2.92-9.11,7.21-12.18,12.85-3.07,5.65-4.61,12.48-4.61,20.5v2.38c0,8.02,1.53,14.86,4.61,20.5,3.07,5.65,7.15,9.93,12.26,12.85,5.1,2.92,10.57,4.38,16.42,4.38,6.73,0,11.86-1.14,15.38-3.42,3.19-2.07,5.62-4.33,7.3-6.81.32-.47.84-.77,1.41-.77h.04c.95,0,1.71.77,1.71,1.71v2.61c0,2.53,2.05,4.59,4.59,4.59h9.25c2.53,0,4.59-2.05,4.59-4.59V25.91c0-2.72-2.2-4.92-4.92-4.92ZM536.44,88.88c0,7.13-1.93,12.55-5.79,16.27-3.86,3.71-8.67,5.57-14.41,5.57s-10.55-1.86-14.41-5.57c-3.86-3.71-5.79-9.14-5.79-16.27v-1.49c0-7.13,1.93-12.55,5.79-16.27,3.86-3.71,8.67-5.57,14.41-5.57s10.67,1.86,14.49,5.57c3.81,3.71,5.72,9.14,5.72,16.27v1.49Z\" />\n <path d=\"M626.91,53.67c-5.85-2.97-12.43-4.46-19.76-4.46s-13.92,1.49-19.76,4.46c-5.84,2.97-10.45,7.28-13.82,12.93-3.37,5.65-5.05,12.43-5.05,20.35v2.38c0,7.93,1.68,14.71,5.05,20.35,3.37,5.65,7.97,9.95,13.82,12.93,5.84,2.97,12.43,4.46,19.76,4.46s13.91-1.49,19.76-4.46c5.84-2.97,10.45-7.28,13.82-12.93,3.37-5.65,5.05-12.43,5.05-20.35v-2.38c0-7.92-1.69-14.71-5.05-20.35-3.37-5.65-7.97-9.95-13.82-12.93ZM627.06,88.88c0,6.93-1.88,12.26-5.65,15.97-3.77,3.71-8.52,5.57-14.26,5.57s-10.5-1.86-14.26-5.57c-3.77-3.71-5.65-9.04-5.65-15.97v-1.49c0-6.93,1.88-12.26,5.65-15.97,3.76-3.71,8.52-5.57,14.26-5.57s10.62,1.86,14.34,5.57c3.71,3.71,5.57,9.04,5.57,15.97v1.49Z\" />\n <path d=\"M725.81,97.59l-8.12-1.93c-2.45-.58-5,.74-5.84,3.12-1,2.85-2.5,5.27-4.49,7.26-2.92,2.92-7.21,4.38-12.85,4.38-3.77,0-7.16-.82-10.18-2.45-3.02-1.63-5.4-4.06-7.13-7.28-1.73-3.22-2.6-7.15-2.6-11.81v-1.49c0-4.65.87-8.59,2.6-11.81,1.73-3.22,4.11-5.65,7.13-7.28,3.02-1.63,6.41-2.45,10.18-2.45s6.91.69,9.43,2.08c2.53,1.39,4.48,3.27,5.87,5.65.72,1.23,1.3,2.54,1.76,3.93.74,2.28,3.1,3.62,5.45,3.12l8.8-1.88c2.77-.59,4.38-3.47,3.49-6.16-1.14-3.43-2.76-6.59-4.86-9.5-3.12-4.31-7.21-7.7-12.26-10.18-5.05-2.47-11.09-3.71-18.13-3.71s-13.59,1.49-19.39,4.46c-5.79,2.97-10.38,7.28-13.74,12.93-3.37,5.65-5.05,12.48-5.05,20.5v2.08c0,8.02,1.68,14.86,5.05,20.5,3.37,5.65,7.95,9.95,13.74,12.93,5.79,2.97,12.26,4.46,19.39,4.46s13.07-1.24,18.13-3.71c5.05-2.47,9.14-5.87,12.26-10.18,1.99-2.75,3.6-5.68,4.85-8.81,1.14-2.86-.49-6.06-3.48-6.77Z\" />\n <path d=\"M801.06,90.59c-2.63-3.02-6.19-5.35-10.7-6.98-4.51-1.63-9.53-2.95-15.08-3.94l-4.16-.74c-3.37-.59-6.04-1.46-8.02-2.6-1.98-1.14-2.97-2.9-2.97-5.27,0-2.18.94-3.89,2.82-5.13,1.88-1.24,4.61-1.86,8.17-1.86s6.56.79,8.99,2.38c1.53,1,2.74,2.44,3.62,4.31.92,1.95,3.31,3.06,5.38,2.43l8.61-2.65c2.62-.81,3.96-3.79,2.7-6.23-1.97-3.78-4.9-6.98-8.79-9.6-5.45-3.66-12.28-5.5-20.5-5.5-8.72,0-15.75,1.96-21.1,5.87-5.35,3.91-8.02,9.53-8.02,16.86,0,4.85,1.29,8.82,3.86,11.89,2.57,3.07,5.99,5.47,10.25,7.21,4.26,1.73,8.96,3.1,14.11,4.09l4.16.74c4.36.79,7.53,1.81,9.51,3.05,1.98,1.24,2.97,3,2.97,5.27s-1.04,4.19-3.12,5.72c-2.08,1.54-5.3,2.3-9.66,2.3-2.87,0-5.52-.42-7.95-1.26-2.43-.84-4.46-2.25-6.09-4.23-.98-1.19-1.8-2.65-2.44-4.38-.76-2.04-3.17-3.25-5.28-2.7l-8.74,2.26c-2.56.66-3.96,3.26-3.12,5.77,1.82,5.5,5.16,9.88,10,13.17,6.14,4.16,14.01,6.24,23.62,6.24s16.91-2.1,22.51-6.31c5.59-4.21,8.39-10.18,8.39-17.9,0-5.15-1.31-9.23-3.94-12.26Z\" />\n </g>\n <g className=\"ds:fill-[color:var(--color-violet-500)]\">\n <rect\n x=\"53.04\"\n y=\"2.54\"\n width=\"33.99\"\n height=\"49.34\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-4.66 19.05) rotate(-15)\"\n />\n <rect\n x=\"96.12\"\n y=\"53.04\"\n width=\"49.34\"\n height=\"33.99\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-14.01 33.65) rotate(-15)\"\n />\n <path d=\"M47.82,59.56c-.65-2.43-3.15-3.87-5.58-3.22L3.38,66.75c-2.43.65-3.87,3.15-3.22,5.58l6.44,24.03c.65,2.43,3.15,3.87,5.58,3.22l38.86-10.41c2.43-.65,3.87-3.15,3.22-5.58l-6.44-24.03Z\" />\n <rect\n x=\"60.97\"\n y=\"96.12\"\n width=\"33.99\"\n height=\"49.34\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-28.61 24.29) rotate(-15)\"\n />\n </g>\n </svg>\n));\nAlfadocsLogoMain.displayName = 'AlfadocsLogoMain';\n","/**\n * Alfadocs_Logo_Neg — single-colour (monochrome) wordmark.\n *\n * Source: `reference/assets/logos/SVG/Alfadocs_Logo_Neg.svg`\n * Ink is rendered with `currentColor` so the consumer (or the Logo wrapper)\n * controls the fill via `color` / Tailwind `text-[color:…]`. Use this\n * variant when you want the logo to inherit theme foreground — dark surfaces,\n * monochrome print, or the generic accessible theme.\n */\nimport { forwardRef, type SVGProps } from 'react';\n\nexport const AlfadocsLogoNeg = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 805 148\"\n fill=\"currentColor\"\n {...props}\n >\n <g>\n <path d=\"M460.58,51.29h-10.51c-3.57,0-6.52.99-8.85,2.97-2.32,1.98-3.48,4.71-3.48,8.18v.15h-1.62c-.62,0-1.21-.34-1.49-.89-.26-.51-.55-1.01-.86-1.49-.21-.34-.43-.68-.68-1.01,0-.04-.02-.07-.06-.11-.21-.28-.4-.55-.64-.83-.05-.1-.12-.18-.22-.28-.21-.26-.43-.53-.66-.78-.04-.06-.1-.12-.17-.18-.18-.21-.37-.42-.57-.61-.36-.37-.75-.73-1.16-1.09-.82-.74-1.68-1.46-2.63-2.15-1.08-.76-2.29-1.41-3.66-1.93-.32-.13-.65-.26-.98-.37-.4-.13-.82-.27-1.26-.39-.4-.11-.82-.22-1.23-.32-1.26-.31-2.63-.53-4.11-.67-.26-.02-.54-.05-.82-.07-.24-.02-.5-.05-.75-.06-1.15-.09-2.36-.12-3.62-.12-1.47,0-2.9.09-4.32.27-.54.07-1.08.15-1.6.24-3.73.65-7.25,1.96-10.58,3.88-.81.47-1.58.98-2.34,1.52-.31.21-.61.43-.91.66-.09.07-.17.13-.25.2-.98.76-1.91,1.58-2.78,2.47-.03.03-.06.07-.1.1-.02.02-.04.03-.06.05-.78.78-1.52,1.61-2.23,2.51-.35.44-.7.89-1.03,1.36-.89,1.25-1.72,2.57-2.49,3.99-3.07,5.65-4.61,12.48-4.61,20.5v2.37c0,8.02,1.54,14.85,4.61,20.5.77,1.42,1.6,2.74,2.49,3.99.33.46.67.92,1.03,1.36.71.89,1.44,1.72,2.23,2.51.02.02.04.04.06.06.04.04.07.07.1.11.86.88,1.79,1.7,2.76,2.46.09.07.18.14.27.21.3.22.6.44.9.65.76.54,1.53,1.05,2.34,1.52,3.33,1.92,6.85,3.23,10.58,3.88.53.09,1.06.17,1.6.24,1.42.17,2.86.27,4.32.27,1.26,0,2.47-.04,3.62-.12.24-.01.5-.04.75-.06.28-.01.55-.04.82-.07,1.48-.15,2.85-.37,4.11-.67.43-.1.83-.2,1.23-.32.43-.12.86-.26,1.26-.39.33-.12.66-.24.98-.37,1.37-.53,2.58-1.17,3.66-1.93.96-.68,1.82-1.41,2.63-2.15h0c.4-.36.79-.72,1.16-1.09.2-.21.39-.4.57-.61.06-.06.12-.12.17-.18.23-.26.45-.53.66-.78.09-.1.16-.18.22-.28.23-.28.43-.55.64-.83.01-.04.04-.07.06-.11.26-.33.48-.67.68-1.01.31-.49.6-.99.86-1.49.29-.55.87-.89,1.49-.89h1.62v.15c0,3.47,1.16,6.2,3.48,8.18,2.34,1.98,5.28,2.97,8.85,2.97h9.87c2.75,0,4.98-2.23,4.98-4.98v-5.49c0-2.75-2.23-4.98-4.98-4.98h-.96c-2.78,0-4.17-1.49-4.17-4.46v-33.87c0-2.97,1.39-4.46,4.17-4.46h1.59c2.4,0,4.35-1.95,4.35-4.35v-6.76c0-2.4-1.95-4.35-4.35-4.35ZM436.41,88.88c0,.89-.02,1.75-.09,2.59-.02.32-.05.62-.09.93-.06.61-.13,1.21-.23,1.8-.05.29-.11.59-.16.87-.1.53-.22,1.03-.35,1.53-.93,3.47-2.56,6.32-4.88,8.55-2.74,2.64-5.95,4.34-9.65,5.11-.54.11-1.08.2-1.64.27-1,.13-2.05.2-3.13.2-5.75,0-10.55-1.86-14.41-5.57-3.86-3.7-5.79-9.13-5.79-16.26v-1.49c0-7.13,1.93-12.56,5.79-16.26,3.86-3.72,8.67-5.57,14.41-5.57,1.08,0,2.13.06,3.13.2.56.07,1.1.16,1.64.27,3.69.77,6.91,2.47,9.65,5.11,2.32,2.23,3.95,5.07,4.88,8.55.13.5.26,1,.35,1.53.06.28.11.57.16.87.1.59.17,1.19.23,1.8.04.31.06.61.09.93.06.84.09,1.7.09,2.59v1.49Z\" />\n <path d=\"M245.66,25.95c-.77-2.92-3.41-4.96-6.44-4.96h-23.91c-3.02,0-5.67,2.04-6.44,4.96l-24.7,93.97c-.67,2.56,1.26,5.06,3.9,5.06h11.81c1.86,0,3.47-1.27,3.92-3.07l4.57-18.51c.19-.76.87-1.3,1.66-1.3h34.46c.79,0,1.47.54,1.66,1.3l4.64,18.82c.4,1.62,1.85,2.76,3.52,2.76h12.67c2.38,0,4.11-2.25,3.51-4.55l-24.84-94.49ZM239.04,83.98h-23.55c-1.11,0-1.93-1.05-1.66-2.13l11.78-47.24c.19-.76.87-1.3,1.66-1.3s1.47.54,1.66,1.3l11.78,47.24c.27,1.08-.55,2.13-1.66,2.13Z\" />\n <rect x=\"281.2\" y=\"20.98\" width=\"18.72\" height=\"104\" rx=\"4.8\" ry=\"4.8\" />\n <path d=\"M363.05,51.29h-13.29c-.95,0-1.71-.77-1.71-1.71v-8.69c0-2.97,1.39-4.46,4.16-4.46h8.67c2.27,0,4.11-1.84,4.11-4.11v-7.24c0-2.27-1.84-4.11-4.11-4.11h-15.21c-4.85,0-8.79,1.51-11.81,4.53-3.02,3.02-4.53,7.06-4.53,12.11v11.96c0,.95-.77,1.71-1.71,1.71h-12.81c-2.32,0-4.2,1.88-4.2,4.2v7.06c0,2.32,1.88,4.2,4.2,4.2h12.81c.95,0,1.71.77,1.71,1.71v51.98c0,2.51,2.03,4.54,4.54,4.54h9.63c2.51,0,4.54-2.03,4.54-4.54v-51.98c0-.95.77-1.71,1.71-1.71h13.29c2.38,0,4.31-1.93,4.31-4.31v-6.83c0-2.38-1.93-4.31-4.31-4.31Z\" />\n <path d=\"M549.94,20.98h-8.88c-2.72,0-4.92,2.2-4.92,4.92v32.14c0,.95-.77,1.71-1.71,1.71h0c-.6,0-1.13-.32-1.45-.82-.95-1.48-2.23-2.89-3.82-4.23-1.88-1.58-4.33-2.9-7.35-3.94-3.02-1.04-6.76-1.56-11.22-1.56-5.94,0-11.44,1.46-16.49,4.38-5.05,2.92-9.11,7.21-12.18,12.85-3.07,5.65-4.61,12.48-4.61,20.5v2.38c0,8.02,1.53,14.86,4.61,20.5,3.07,5.65,7.15,9.93,12.26,12.85,5.1,2.92,10.57,4.38,16.42,4.38,6.73,0,11.86-1.14,15.38-3.42,3.19-2.07,5.62-4.33,7.3-6.81.32-.47.84-.77,1.41-.77h.04c.95,0,1.71.77,1.71,1.71v2.61c0,2.53,2.05,4.59,4.59,4.59h9.25c2.53,0,4.59-2.05,4.59-4.59V25.91c0-2.72-2.2-4.92-4.92-4.92ZM536.44,88.88c0,7.13-1.93,12.55-5.79,16.27-3.86,3.71-8.67,5.57-14.41,5.57s-10.55-1.86-14.41-5.57c-3.86-3.71-5.79-9.14-5.79-16.27v-1.49c0-7.13,1.93-12.55,5.79-16.27,3.86-3.71,8.67-5.57,14.41-5.57s10.67,1.86,14.49,5.57c3.81,3.71,5.72,9.14,5.72,16.27v1.49Z\" />\n <path d=\"M626.91,53.67c-5.85-2.97-12.43-4.46-19.76-4.46s-13.92,1.49-19.76,4.46c-5.84,2.97-10.45,7.28-13.82,12.93-3.37,5.65-5.05,12.43-5.05,20.35v2.38c0,7.93,1.68,14.71,5.05,20.35,3.37,5.65,7.97,9.95,13.82,12.93,5.84,2.97,12.43,4.46,19.76,4.46s13.91-1.49,19.76-4.46c5.84-2.97,10.45-7.28,13.82-12.93,3.37-5.65,5.05-12.43,5.05-20.35v-2.38c0-7.92-1.69-14.71-5.05-20.35-3.37-5.65-7.97-9.95-13.82-12.93ZM627.06,88.88c0,6.93-1.88,12.26-5.65,15.97-3.77,3.71-8.52,5.57-14.26,5.57s-10.5-1.86-14.26-5.57c-3.77-3.71-5.65-9.04-5.65-15.97v-1.49c0-6.93,1.88-12.26,5.65-15.97,3.76-3.71,8.52-5.57,14.26-5.57s10.62,1.86,14.34,5.57c3.71,3.71,5.57,9.04,5.57,15.97v1.49Z\" />\n <path d=\"M725.81,97.59l-8.12-1.93c-2.45-.58-5,.74-5.84,3.12-1,2.85-2.5,5.27-4.49,7.26-2.92,2.92-7.21,4.38-12.85,4.38-3.77,0-7.16-.82-10.18-2.45-3.02-1.63-5.4-4.06-7.13-7.28-1.73-3.22-2.6-7.15-2.6-11.81v-1.49c0-4.65.87-8.59,2.6-11.81,1.73-3.22,4.11-5.65,7.13-7.28,3.02-1.63,6.41-2.45,10.18-2.45s6.91.69,9.43,2.08c2.53,1.39,4.48,3.27,5.87,5.65.72,1.23,1.3,2.54,1.76,3.93.74,2.28,3.1,3.62,5.45,3.12l8.8-1.88c2.77-.59,4.38-3.47,3.49-6.16-1.14-3.43-2.76-6.59-4.86-9.5-3.12-4.31-7.21-7.7-12.26-10.18-5.05-2.47-11.09-3.71-18.13-3.71s-13.59,1.49-19.39,4.46c-5.79,2.97-10.38,7.28-13.74,12.93-3.37,5.65-5.05,12.48-5.05,20.5v2.08c0,8.02,1.68,14.86,5.05,20.5,3.37,5.65,7.95,9.95,13.74,12.93,5.79,2.97,12.26,4.46,19.39,4.46s13.07-1.24,18.13-3.71c5.05-2.47,9.14-5.87,12.26-10.18,1.99-2.75,3.6-5.68,4.85-8.81,1.14-2.86-.49-6.06-3.48-6.77Z\" />\n <path d=\"M801.06,90.59c-2.63-3.02-6.19-5.35-10.7-6.98-4.51-1.63-9.53-2.95-15.08-3.94l-4.16-.74c-3.37-.59-6.04-1.46-8.02-2.6-1.98-1.14-2.97-2.9-2.97-5.27,0-2.18.94-3.89,2.82-5.13,1.88-1.24,4.61-1.86,8.17-1.86s6.56.79,8.99,2.38c1.53,1,2.74,2.44,3.62,4.31.92,1.95,3.31,3.06,5.38,2.43l8.61-2.65c2.62-.81,3.96-3.79,2.7-6.23-1.97-3.78-4.9-6.98-8.79-9.6-5.45-3.66-12.28-5.5-20.5-5.5-8.72,0-15.75,1.96-21.1,5.87-5.35,3.91-8.02,9.53-8.02,16.86,0,4.85,1.29,8.82,3.86,11.89,2.57,3.07,5.99,5.47,10.25,7.21,4.26,1.73,8.96,3.1,14.11,4.09l4.16.74c4.36.79,7.53,1.81,9.51,3.05,1.98,1.24,2.97,3,2.97,5.27s-1.04,4.19-3.12,5.72c-2.08,1.54-5.3,2.3-9.66,2.3-2.87,0-5.52-.42-7.95-1.26-2.43-.84-4.46-2.25-6.09-4.23-.98-1.19-1.8-2.65-2.44-4.38-.76-2.04-3.17-3.25-5.28-2.7l-8.74,2.26c-2.56.66-3.96,3.26-3.12,5.77,1.82,5.5,5.16,9.88,10,13.17,6.14,4.16,14.01,6.24,23.62,6.24s16.91-2.1,22.51-6.31c5.59-4.21,8.39-10.18,8.39-17.9,0-5.15-1.31-9.23-3.94-12.26Z\" />\n </g>\n <g>\n <rect\n x=\"53.04\"\n y=\"2.54\"\n width=\"33.99\"\n height=\"49.34\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-4.66 19.05) rotate(-15)\"\n />\n <rect\n x=\"96.12\"\n y=\"53.04\"\n width=\"49.34\"\n height=\"33.99\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-14.01 33.65) rotate(-15)\"\n />\n <path d=\"M47.82,59.56c-.65-2.43-3.15-3.87-5.58-3.22L3.38,66.75c-2.43.65-3.87,3.15-3.22,5.58l6.44,24.03c.65,2.43,3.15,3.87,5.58,3.22l38.86-10.41c2.43-.65,3.87-3.15,3.22-5.58l-6.44-24.03Z\" />\n <rect\n x=\"60.97\"\n y=\"96.12\"\n width=\"33.99\"\n height=\"49.34\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-28.61 24.29) rotate(-15)\"\n />\n </g>\n </svg>\n));\nAlfadocsLogoNeg.displayName = 'AlfadocsLogoNeg';\n","/**\n * Alfadocs_Logo_Mark — the square \"A\" glyph alone (no wordmark).\n *\n * Extracted from `reference/assets/logos/SVG/Alfadocs_Logo_Main.svg` —\n * the 4 rotated rect/path shapes that compose the mark. viewBox is\n * tightened from 805×148 to 148×148 so the mark fills the box.\n *\n * Renders with `currentColor`; the Logo wrapper defaults the colour to\n * `--primary` (or to a consumer-provided tint).\n */\nimport { forwardRef, type SVGProps } from 'react';\n\nexport const AlfadocsLogoMark = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 148 148\"\n fill=\"currentColor\"\n {...props}\n >\n <rect\n x=\"53.04\"\n y=\"2.54\"\n width=\"33.99\"\n height=\"49.34\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-4.66 19.05) rotate(-15)\"\n />\n <rect\n x=\"96.12\"\n y=\"53.04\"\n width=\"49.34\"\n height=\"33.99\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-14.01 33.65) rotate(-15)\"\n />\n <path d=\"M47.82,59.56c-.65-2.43-3.15-3.87-5.58-3.22L3.38,66.75c-2.43.65-3.87,3.15-3.22,5.58l6.44,24.03c.65,2.43,3.15,3.87,5.58,3.22l38.86-10.41c2.43-.65,3.87-3.15,3.22-5.58l-6.44-24.03Z\" />\n <rect\n x=\"60.97\"\n y=\"96.12\"\n width=\"33.99\"\n height=\"49.34\"\n rx=\"4.56\"\n ry=\"4.56\"\n transform=\"translate(-28.61 24.29) rotate(-15)\"\n />\n </svg>\n));\nAlfadocsLogoMark.displayName = 'AlfadocsLogoMark';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n AlfadocsLogoMain,\n AlfadocsLogoNeg,\n AlfadocsLogoMark,\n} from '../../brand/logo-asset';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\n// NOTE: no `inline-block` in the base — the outer wrapper is `inline-flex`,\n// so the SVGs sit as flex items and don't need an explicit display class.\n// Adding `inline-block` here would out-specificity the `hidden` class used\n// to theme-swap the wordmark, producing two visible SVGs in light mode.\nconst logoSize = cva(\n [\n 'ds:align-middle ds:shrink-0',\n // `leading-none` zeros the implicit line-height on the SVG so the\n // artwork sits at the geometric centre of an items-center flex row.\n 'ds:leading-none',\n // Forced-colors: the mark/wordmark collapses to CanvasText so it\n // remains visible under Windows High Contrast Mode.\n 'ds:forced-colors:text-[CanvasText]',\n ],\n {\n variants: {\n size: {\n sm: 'ds:h-[var(--logo-size-sm)] ds:w-auto',\n md: 'ds:h-[var(--logo-size-md)] ds:w-auto',\n lg: 'ds:h-[var(--logo-size-lg)] ds:w-auto',\n xl: 'ds:h-[var(--logo-size-xl)] ds:w-auto',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n// Wrapper (outer span) classes. Per-variant colour context so inner SVGs\n// that render `currentColor` pick up the intended ink automatically.\n// `tone=\"inherit\"` overrides the variant default with `currentColor` so\n// the logo picks up the colour of its surrounding text — useful when\n// dropping the mark inside a coloured surface (e.g. a primary-intent\n// button) where the variant default would clash with the background.\nconst logoWrapper = cva('ds:inline-flex ds:items-center', {\n variants: {\n variant: {\n mark: 'ds:text-[color:var(--primary)]',\n wordmark: '',\n monochrome: 'ds:text-[color:var(--foreground)]',\n },\n tone: {\n auto: '',\n inherit: 'ds:!text-current',\n },\n },\n defaultVariants: { variant: 'wordmark', tone: 'auto' },\n});\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\ntype LogoVariant = 'mark' | 'wordmark' | 'monochrome';\n\ntype LogoSizeProps = VariantProps<typeof logoSize>;\n\ntype LogoBase = {\n /**\n * Which glyph to render.\n * - `wordmark` (default): bicolor Main logo — blue-500 wordmark + violet-500 mark on light.\n * - `mark`: the \"A\" glyph alone. Inherits `currentColor` (defaults to `--primary`).\n * - `monochrome`: the full wordmark in a single `currentColor` ink\n * (defaults to `--foreground`).\n */\n variant?: LogoVariant;\n /**\n * Colour resolution. `auto` (default) uses the variant's intended\n * ink (`--primary` for `mark`, `--foreground` for `monochrome`).\n * `inherit` makes the wrapper use `currentColor` so the logo picks\n * up the surrounding text colour — use when dropping the mark on\n * top of a coloured surface where the default ink would clash.\n */\n tone?: 'auto' | 'inherit';\n className?: string;\n} & LogoSizeProps;\n\ntype LogoA11y =\n | {\n /** Non-decorative usage — accessible name read by assistive tech. */\n 'aria-label': string;\n decorative?: never;\n }\n | {\n 'aria-label'?: never;\n /**\n * Decorative usage — the logo is hidden from assistive tech. Use when\n * the logo sits next to a text wordmark that already announces the\n * brand, or when it is ornamental only.\n */\n decorative: true;\n };\n\nexport type LogoProps = LogoBase &\n LogoA11y &\n Omit<\n ComponentPropsWithoutRef<'span'>,\n 'role' | 'aria-label' | 'aria-hidden' | 'className'\n >;\n\n/* ------------------------------------------------------------------ */\n/* Logo */\n/* ------------------------------------------------------------------ */\n\nexport const Logo = forwardRef<HTMLSpanElement, LogoProps>(\n (\n {\n variant = 'wordmark',\n tone = 'auto',\n size,\n className,\n decorative,\n 'aria-label': ariaLabel,\n ...props\n },\n ref,\n ) => {\n if (import.meta.env.DEV) {\n if (decorative && ariaLabel) {\n console.warn(\n '[Logo] Both `decorative` and `aria-label` were provided. Decorative logos must not expose an accessible name — the TypeScript type already forbids this combination.',\n );\n }\n if (!decorative && !ariaLabel) {\n console.warn(\n '[Logo] A non-decorative Logo needs an `aria-label`. Pass `decorative` to render it as presentational, or supply an accessible name.',\n );\n }\n }\n\n const a11y = decorative\n ? ({ role: 'presentation', 'aria-hidden': true } as const)\n : ({ role: 'img', 'aria-label': ariaLabel } as const);\n\n const svgClasses = logoSize({ size, className });\n const wrapperClasses = logoWrapper({ variant, tone });\n\n if (variant === 'mark') {\n return (\n <span\n ref={ref}\n {...a11y}\n {...props}\n className={wrapperClasses}\n data-component=\"logo\"\n >\n <AlfadocsLogoMark aria-hidden className={svgClasses} />\n </span>\n );\n }\n\n if (variant === 'monochrome') {\n return (\n <span\n ref={ref}\n {...a11y}\n {...props}\n className={wrapperClasses}\n data-component=\"logo\"\n >\n <AlfadocsLogoNeg aria-hidden className={svgClasses} />\n </span>\n );\n }\n\n // wordmark — bicolor in light, auto-swap to monochrome negative on\n // `.theme-dark` via cascaded descendant-state variants. Both SVGs live\n // in the DOM; CSS handles visibility so the swap is instant and does\n // not depend on React theme detection.\n return (\n <span\n ref={ref}\n {...a11y}\n {...props}\n className={wrapperClasses}\n data-component=\"logo\"\n >\n <AlfadocsLogoMain\n aria-hidden\n className={`${svgClasses} ds:[.theme-dark_&]:hidden`}\n />\n <AlfadocsLogoNeg\n aria-hidden\n className={`${svgClasses} ds:hidden ds:[.theme-dark_&]:inline-block ds:text-[color:var(--foreground)]`}\n />\n </span>\n );\n },\n);\nLogo.displayName = 'Logo';\n"],"names":["AlfadocsLogoMain","forwardRef","props","ref","jsxs","jsx","AlfadocsLogoNeg","AlfadocsLogoMark","logoSize","cva","logoWrapper","Logo","variant","tone","size","className","decorative","ariaLabel","a11y","svgClasses","wrapperClasses"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor-CHmr9Bz8.js","sources":["../../node_modules/lucide-react/dist/esm/icons/bold.js","../../node_modules/lucide-react/dist/esm/icons/code.js","../../node_modules/lucide-react/dist/esm/icons/image.js","../../node_modules/lucide-react/dist/esm/icons/italic.js","../../node_modules/lucide-react/dist/esm/icons/link-2.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/quote.js","../../node_modules/lucide-react/dist/esm/icons/redo.js","../../node_modules/lucide-react/dist/esm/icons/table.js","../../node_modules/lucide-react/dist/esm/icons/undo.js","../../src/components/rich-text-editor/rich-text-editor.agent.ts","../../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: \"m16 18 6-6-6-6\", key: \"eg8j8\" }],\n [\"path\", { d: \"m8 6-6 6 6 6\", key: \"ppft3o\" }]\n];\nconst Code = createLucideIcon(\"code\", __iconNode);\n\nexport { __iconNode, Code as default };\n//# sourceMappingURL=code.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 [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", ry: \"2\", key: \"1m3agn\" }],\n [\"circle\", { cx: \"9\", cy: \"9\", r: \"2\", key: \"af1f0g\" }],\n [\"path\", { d: \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\", key: \"1xmnt7\" }]\n];\nconst Image = createLucideIcon(\"image\", __iconNode);\n\nexport { __iconNode, Image as default };\n//# sourceMappingURL=image.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: \"M9 17H7A5 5 0 0 1 7 7h2\", key: \"8i5ue5\" }],\n [\"path\", { d: \"M15 7h2a5 5 0 1 1 0 10h-2\", key: \"1b9ql8\" }],\n [\"line\", { x1: \"8\", x2: \"16\", y1: \"12\", y2: \"12\", key: \"1jonct\" }]\n];\nconst Link2 = createLucideIcon(\"link-2\", __iconNode);\n\nexport { __iconNode, Link2 as default };\n//# sourceMappingURL=link-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: \"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: \"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: \"M21 7v6h-6\", key: \"3ptur4\" }],\n [\"path\", { d: \"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7\", key: \"1kgawr\" }]\n];\nconst Redo = createLucideIcon(\"redo\", __iconNode);\n\nexport { __iconNode, Redo as default };\n//# sourceMappingURL=redo.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","/**\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 7v6h6\", key: \"1v2h90\" }],\n [\"path\", { d: \"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13\", key: \"1r6uu6\" }]\n];\nconst Undo = createLucideIcon(\"undo\", __iconNode);\n\nexport { __iconNode, Undo as default };\n//# sourceMappingURL=undo.js.map\n","import type { AgentAdapter } from '../../agent/types';\nimport type { RichTextEditorHandle } from './rich-text-editor';\n\nexport const richTextEditorAgent: AgentAdapter<RichTextEditorHandle> = {\n id: 'rich-text-editor',\n capabilities: ['edit_inline'],\n state: {\n html: {\n type: 'string',\n description: 'Sanitised HTML representation of the editor content.',\n read: (handle) => handle.getHTML(),\n },\n markdown: {\n type: 'string',\n description: 'Markdown representation of the editor content.',\n read: (handle) => handle.getMarkdown(),\n },\n },\n actions: {\n set_content: {\n safety: 'destructive',\n argsType: '{ html: string }',\n description: 'Replace the editor content. Loses unsaved input.',\n invoke: (handle, args: { html: string }) => {\n handle.setContent(args.html);\n },\n },\n clear: {\n safety: 'destructive',\n description: 'Empty the editor. Loses unsaved input.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n focus: {\n safety: 'read',\n description: 'Move keyboard focus to the editor surface.',\n invoke: (handle) => {\n handle.focus();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'rich-text-editor' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","/* ------------------------------------------------------------------ */\n/* RichTextEditor — thin, secure wrapper over Tiptap (`@tiptap/react`). */\n/* */\n/* - Extensions: StarterKit + Link + Image + Table family + */\n/* tiptap-markdown. Static imports — no lazy loading in this pass */\n/* (see TODO below). */\n/* - Security: a `transformPastedHTML` hook runs everything pasted */\n/* through DOMPurify with an explicit FORBID list, and the imperative*/\n/* `setContent` handle reuses the same sanitiser. */\n/* - Link: the scheme allow-list is `http | https | mailto | tel`. */\n/* `javascript:` and `data:` hrefs are rejected by the `validate` */\n/* callback. */\n/* - Accessibility: toolbar is a WAI-ARIA toolbar with roving */\n/* tabindex, Home/End/ArrowLeft/ArrowRight semantics, `aria-pressed` */\n/* reflecting `editor.isActive(...)`, and `aria-disabled` in place */\n/* of the `disabled` HTML attribute so screen readers can still */\n/* focus the controls. */\n/* - i18n: every tooltip / aria-label comes from `t('editor.*')`. */\n/* Placeholder default goes through `t('editor.placeholder')`. */\n/* When `document.dir === 'rtl'` the toolbar mirrors via a CVA */\n/* compound variant. */\n/* - Cmd/Ctrl+/ opens a Radix Dialog with the keyboard-shortcut */\n/* cheat sheet (all strings translated). */\n/* */\n/* TODO: dynamic `import()` of heavier extensions (image, table) once */\n/* the bundle-split story is set up. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent as ReactKeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n} from 'react';\nimport { useEditor, EditorContent, type Editor } from '@tiptap/react';\nimport StarterKit from '@tiptap/starter-kit';\nimport Link from '@tiptap/extension-link';\nimport Image from '@tiptap/extension-image';\nimport { Table } from '@tiptap/extension-table';\nimport TableRow from '@tiptap/extension-table-row';\nimport TableCell from '@tiptap/extension-table-cell';\nimport TableHeader from '@tiptap/extension-table-header';\nimport { Markdown } from 'tiptap-markdown';\nimport DOMPurify, { type Config as DOMPurifyConfig } from 'dompurify';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport {\n Bold,\n Italic,\n Link2,\n List,\n ListOrdered,\n Quote,\n Image as ImageIcon,\n Table as TableIcon,\n Code,\n Minus,\n Undo,\n Redo,\n ChevronDown,\n X,\n} from 'lucide-react';\n\nimport '../../tokens/themes/bridges/tiptap-theme.css';\n\nimport { safeImageSrc } from '../_shared';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { richTextEditorAgent } from './rich-text-editor.agent';\n\n/* ------------------------------------------------------------------ */\n/* Sanitisation */\n/* ------------------------------------------------------------------ */\n\n// DOMPurify strips all `on*` attributes by defaults; the explicit FORBID_ATTR\n// list is defence-in-depth, not a replacement for defaults. FORBID_TAGS adds\n// tags that aren't stripped by defaults in every configuration: `<form>` (CSRF\n// via action injection), `<object>`/`<embed>` (plugin surface), `<base>`/\n// `<meta>` (URL rewriting). See user story security-hardening.mdx.\nconst PURIFY_CONFIG: DOMPurifyConfig = {\n FORBID_TAGS: [\n 'script',\n 'style',\n 'iframe',\n 'object',\n 'embed',\n 'form',\n 'base',\n 'meta',\n ],\n FORBID_ATTR: [\n 'onerror',\n 'onclick',\n 'onload',\n 'onmouseover',\n 'onfocus',\n 'onblur',\n ],\n};\n\nfunction sanitiseHtml(input: string): string {\n return DOMPurify.sanitize(input, PURIFY_CONFIG) as unknown as string;\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 or Markdown initial value. Runs through DOMPurify. */\n defaultValue?: string;\n /** Controlled value (HTML). */\n value?: string;\n /** Emits on every change — debounced by 100ms. */\n onChange?: (payload: { html: string; markdown: string }) => void;\n /** Toolbar preset. */\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\nexport interface RichTextEditorHandle {\n getHTML: () => string;\n getMarkdown: () => string;\n /** HTML goes through DOMPurify before reaching Tiptap. */\n setContent: (html: string) => void;\n focus: () => void;\n clear: () => void;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst wrapperVariants = cva(\n 'tiptap-theme-alfadocs ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]',\n);\n\nconst toolbarVariants = 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 ].join(' '),\n {\n variants: {\n direction: {\n ltr: '',\n rtl: 'ds:flex-row-reverse',\n },\n },\n defaultVariants: { direction: 'ltr' },\n },\n);\n\nconst toolbarButtonVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-block-size-[var(--min-target-size)]',\n 'ds:min-inline-size-[var(--min-target-size)]',\n 'ds:gap-[var(--spacing-xs)]',\n 'ds:rounded-[var(--radius-sm)] ds:bg-transparent ds:text-[var(--foreground)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:hover:bg-[var(--muted)]',\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 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n ].join(' '),\n {\n variants: {\n pressed: {\n true: 'ds:bg-[var(--muted)] ds:text-[var(--primary)]',\n false: '',\n },\n disabled: {\n true: 'ds:opacity-[var(--opacity-50)] ds:cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: { pressed: false, disabled: false },\n },\n);\n\nconst editorSurfaceVariants = cva(\n [\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--border)]',\n 'ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n ].join(' '),\n);\n\n/* ------------------------------------------------------------------ */\n/* Toolbar presets — which commands to expose */\n/* ------------------------------------------------------------------ */\n\ntype ToolbarItemKey =\n | 'bold'\n | 'italic'\n | 'link'\n | 'heading'\n | 'bulletList'\n | 'orderedList'\n | 'quote'\n | 'image'\n | 'table'\n | 'codeBlock'\n | 'horizontalRule'\n | 'undo'\n | 'redo';\n\nconst PRESETS: Record<RichTextEditorToolbar, ToolbarItemKey[]> = {\n minimal: ['bold', 'italic', 'link'],\n standard: [\n 'bold',\n 'italic',\n 'link',\n 'heading',\n 'bulletList',\n 'orderedList',\n 'quote',\n ],\n full: [\n 'bold',\n 'italic',\n 'link',\n 'heading',\n 'bulletList',\n 'orderedList',\n 'quote',\n 'image',\n 'table',\n 'codeBlock',\n 'horizontalRule',\n 'undo',\n 'redo',\n ],\n};\n\n/* ------------------------------------------------------------------ */\n/* Heading dropdown (Radix-free to keep the toolbar in one <div>) */\n/* The dropdown is a `details`-free popover implemented with a button */\n/* + a collapsible listbox wired into the roving-tabindex loop. */\n/* ------------------------------------------------------------------ */\n\ninterface HeadingSelectProps {\n editor: Editor;\n registerRef: (el: HTMLButtonElement | null) => void;\n tabIndex: number;\n onFocus: () => void;\n onKeyDown: (event: ReactKeyboardEvent<HTMLButtonElement>) => void;\n label: string;\n disabled: boolean;\n pressed: boolean;\n}\n\nfunction HeadingSelect({\n editor,\n registerRef,\n tabIndex,\n onFocus,\n onKeyDown,\n label,\n disabled,\n pressed,\n}: HeadingSelectProps): ReactNode {\n const [open, setOpen] = useState(false);\n const rootRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!open) return undefined;\n function handler(event: globalThis.MouseEvent) {\n const target = event.target as Node | null;\n if (rootRef.current && target && !rootRef.current.contains(target)) {\n setOpen(false);\n }\n }\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [open]);\n\n function apply(level: 1 | 2 | 3): void {\n editor.chain().focus().toggleHeading({ level }).run();\n setOpen(false);\n }\n\n return (\n <div ref={rootRef} className=\"ds:relative ds:inline-flex\">\n <button\n type=\"button\"\n ref={registerRef}\n tabIndex={tabIndex}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n onClick={() => {\n if (!disabled) setOpen((v) => !v);\n }}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n aria-disabled={disabled || undefined}\n aria-label={label}\n title={label}\n className={toolbarButtonVariants({ pressed, disabled })}\n >\n <span\n aria-hidden=\"true\"\n className=\"ds:text-[length:var(--font-size-sm)] ds:font-semibold\"\n >\n H\n </span>\n <ChevronDown\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n </button>\n {open && !disabled ? (\n <ul\n role=\"listbox\"\n aria-label={label}\n className={[\n 'ds:absolute ds:top-full ds:mt-[var(--spacing-xs)] ds:start-0 ds:z-[var(--z-dropdown)]',\n 'ds:min-inline-size-[8rem] ds:rounded-[var(--radius-md)]',\n 'ds:border ds:border-[color:var(--border)] ds:bg-[var(--background)]',\n 'ds:shadow-[var(--shadow-lg)] ds:p-[var(--spacing-xs)]',\n ].join(' ')}\n >\n {[1, 2, 3].map((level) => (\n <li key={level} role=\"none\">\n <button\n type=\"button\"\n role=\"option\"\n aria-selected={\n editor.isActive('heading', { level }) || undefined\n }\n onClick={() => apply(level as 1 | 2 | 3)}\n className={[\n 'ds:flex ds:w-full ds:items-center',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:min-block-size-[var(--min-target-size)]',\n 'ds:rounded-[var(--radius-sm)] ds:text-start',\n 'ds:hover:bg-[var(--muted)]',\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:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' ')}\n >\n {`H${level}`}\n </button>\n </li>\n ))}\n </ul>\n ) : null}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Keyboard-shortcuts cheat sheet */\n/* ------------------------------------------------------------------ */\n\ninterface ShortcutsDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}\n\nfunction ShortcutsDialog({\n open,\n onOpenChange,\n}: ShortcutsDialogProps): ReactNode {\n const { t } = useTranslation();\n return (\n <RadixDialog.Root open={open} onOpenChange={onOpenChange}>\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/[var(--opacity-70)]',\n 'ds:backdrop-blur-sm',\n ].join(' ')}\n />\n <RadixDialog.Content\n className={[\n 'ds:fixed ds:z-[var(--z-modal)]',\n 'ds:start-1/2 ds:top-1/2 ds:-translate-x-1/2 ds:-translate-y-1/2',\n 'ds:w-[calc(100%-var(--spacing-lg)*2)] ds:max-w-[var(--dialog-width-md)]',\n 'ds:rounded-[var(--radius-lg)]',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:shadow-[var(--shadow-xl)] ds:p-[var(--spacing-lg)]',\n 'ds:focus-visible:outline-none',\n ].join(' ')}\n >\n <div className=\"ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-md)]\">\n <RadixDialog.Title className=\"type-title-card ds:leading-snug\">\n {t('editor.shortcuts.title')}\n </RadixDialog.Title>\n <RadixDialog.Close asChild>\n <button\n type=\"button\"\n aria-label={t('editor.shortcuts.close')}\n className={[\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-block-size-[var(--min-target-size)]',\n 'ds:min-inline-size-[var(--min-target-size)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:hover:bg-[var(--muted)]',\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:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' ')}\n >\n <X\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n </button>\n </RadixDialog.Close>\n </div>\n <ul className=\"ds:mt-[var(--spacing-md)] ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n {[\n { key: 'editor.shortcuts.bold', combo: '⌘/Ctrl + B' },\n { key: 'editor.shortcuts.italic', combo: '⌘/Ctrl + I' },\n { key: 'editor.shortcuts.link', combo: '⌘/Ctrl + K' },\n { key: 'editor.shortcuts.undo', combo: '⌘/Ctrl + Z' },\n { key: 'editor.shortcuts.redo', combo: '⌘/Ctrl + Shift + Z' },\n { key: 'editor.shortcuts.open', combo: '⌘/Ctrl + /' },\n ].map((row) => (\n <li\n key={row.key}\n className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-md)]\"\n >\n <span className=\"ds:text-[length:var(--font-size-sm)]\">\n {t(row.key)}\n </span>\n <kbd\n className={[\n 'ds:font-[var(--font-mono)] ds:text-[length:var(--font-size-xs)]',\n 'ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n 'ds:rounded-[var(--radius-sm)] ds:bg-[var(--muted)]',\n ].join(' ')}\n >\n {row.combo}\n </kbd>\n </li>\n ))}\n </ul>\n </RadixDialog.Content>\n </RadixDialog.Portal>\n </RadixDialog.Root>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* RichTextEditor */\n/* ------------------------------------------------------------------ */\n\nexport const RichTextEditor = forwardRef<\n RichTextEditorHandle,\n RichTextEditorProps\n>(\n (\n {\n id,\n defaultValue,\n value,\n onChange,\n toolbar = 'standard',\n placeholder,\n readOnly = false,\n ariaLabel,\n minHeight,\n className,\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const rawId = useId();\n const editorId = useMemo(\n () => `rte-${rawId.replace(/[^a-zA-Z0-9-_]/g, '')}`,\n [rawId],\n );\n\n const [isRtl, setIsRtl] = useState(false);\n useEffect(() => {\n if (typeof document === 'undefined') return;\n setIsRtl(document.documentElement.dir === 'rtl');\n }, []);\n\n const [shortcutsOpen, setShortcutsOpen] = useState(false);\n\n /* ---- onChange debounce ref ----------------------------------- */\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const onChangeRef = useRef<RichTextEditorProps['onChange']>(onChange);\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n /* ---- Tiptap editor ------------------------------------------- */\n const initialContent = useMemo(() => {\n const raw = value ?? defaultValue ?? '';\n return raw ? sanitiseHtml(raw) : '';\n }, [defaultValue, value]);\n\n const editor = useEditor({\n extensions: [\n StarterKit.configure({\n heading: { levels: [1, 2, 3] },\n }),\n Link.configure({\n protocols: ['http', 'https', 'mailto', 'tel'],\n HTMLAttributes: {\n rel: 'noopener noreferrer',\n target: '_blank',\n },\n validate: (href: string) => /^(https?:|mailto:|tel:)/i.test(href),\n }),\n Image,\n Table.configure({ resizable: false }),\n TableRow,\n TableCell,\n TableHeader,\n Markdown.configure({\n html: false,\n transformPastedText: true,\n }),\n ],\n content: initialContent,\n editable: !readOnly,\n immediatelyRender: false,\n shouldRerenderOnTransaction: true,\n editorProps: {\n attributes: {\n role: 'textbox',\n 'aria-multiline': 'true',\n 'aria-label': ariaLabel ?? t('editor.placeholder'),\n 'data-placeholder': placeholder ?? t('editor.placeholder'),\n },\n transformPastedHTML(html: string): string {\n return sanitiseHtml(html);\n },\n handleKeyDown(_, event): boolean {\n if ((event.metaKey || event.ctrlKey) && event.key === '/') {\n event.preventDefault();\n setShortcutsOpen(true);\n return true;\n }\n return false;\n },\n },\n onUpdate({ editor: updatedEditor }) {\n if (!onChangeRef.current) return;\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n const html = updatedEditor.getHTML();\n const storage = updatedEditor.storage as {\n markdown?: { getMarkdown: () => string };\n };\n const markdown = storage.markdown?.getMarkdown?.() ?? '';\n onChangeRef.current?.({ html, markdown });\n }, 100);\n },\n });\n\n /* ---- Cleanup debounce on unmount ----------------------------- */\n useEffect(() => {\n return () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n };\n }, []);\n\n /* ---- Keep readOnly in sync with prop ------------------------- */\n useEffect(() => {\n if (!editor) return;\n editor.setEditable(!readOnly);\n }, [editor, readOnly]);\n\n /* ---- Keep controlled `value` in sync ------------------------- */\n useEffect(() => {\n if (!editor || value === undefined) return;\n const current = editor.getHTML();\n if (current === value) return;\n const safe = sanitiseHtml(value);\n editor.commands.setContent(safe, { emitUpdate: false });\n }, [editor, value]);\n\n /* ---- Imperative handle --------------------------------------- */\n const agentHandle = useMemo<RichTextEditorHandle>(\n () => ({\n getHTML(): string {\n return editor?.getHTML() ?? '';\n },\n getMarkdown(): string {\n if (!editor) return '';\n const storage = editor.storage as {\n markdown?: { getMarkdown: () => string };\n };\n return storage.markdown?.getMarkdown?.() ?? '';\n },\n setContent(html: string): void {\n if (!editor) return;\n const safe = sanitiseHtml(html);\n editor.commands.setContent(safe);\n },\n focus(): void {\n editor?.commands.focus();\n },\n clear(): void {\n editor?.commands.clearContent();\n },\n }),\n [editor],\n );\n useImperativeHandle(ref, () => agentHandle, [agentHandle]);\n useAgentRegistration(richTextEditorAgent, agentHandle, id);\n\n /* ---- Toolbar roving tabindex --------------------------------- */\n const buttonsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const items = useMemo(() => PRESETS[toolbar], [toolbar]);\n\n const registerButton = useCallback(\n (index: number) => (el: HTMLButtonElement | null) => {\n buttonsRef.current[index] = el;\n },\n [],\n );\n\n const focusButton = useCallback((index: number) => {\n const btn = buttonsRef.current[index];\n if (btn) btn.focus();\n }, []);\n\n const handleToolbarKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLButtonElement>) => {\n const count = items.length;\n if (count === 0) return;\n // In RTL, Left/Right arrows swap inline meaning.\n const forward = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const backward = isRtl ? 'ArrowRight' : 'ArrowLeft';\n\n let next: number | null = null;\n if (event.key === forward) next = (focusIndex + 1) % count;\n else if (event.key === backward)\n next = (focusIndex - 1 + count) % count;\n else if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = count - 1;\n\n if (next !== null) {\n event.preventDefault();\n setFocusIndex(next);\n focusButton(next);\n }\n },\n [focusIndex, focusButton, isRtl, items.length],\n );\n\n /* ---- Link handler ------------------------------------------- */\n const promptForLink = useCallback(\n (event: ReactMouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (!editor) return;\n const existing = editor.getAttributes('link').href as\n | string\n | undefined;\n const raw = window.prompt(t('editor.link.insert'), existing ?? '');\n if (raw === null) return;\n const trimmed = raw.trim();\n if (trimmed === '') {\n editor.chain().focus().unsetLink().run();\n return;\n }\n if (!/^(https?:|mailto:|tel:)/i.test(trimmed)) {\n // Reject unsafe scheme silently — validate() in the extension also\n // blocks it, but we short-circuit before Tiptap ever sees it.\n return;\n }\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: trimmed })\n .run();\n },\n [editor, t],\n );\n\n /* ---- Image handler ------------------------------------------ */\n // Raster-only via the shared allow-list — rejects data:image/svg+xml and\n // other XSS vectors. Sharing the helper keeps the two call sites from\n // drifting. See security-hardening.mdx.\n const promptForImage = useCallback(() => {\n if (!editor) return;\n const raw = window.prompt(t('editor.image.insert'), '');\n if (raw === null) return;\n const validated = safeImageSrc(raw);\n if (!validated) return;\n editor.chain().focus().setImage({ src: validated }).run();\n }, [editor, t]);\n\n /* ---- Render button map -------------------------------------- */\n function renderItem(key: ToolbarItemKey, index: number): ReactNode {\n if (!editor) return null;\n\n const registerRef = registerButton(index);\n const common = {\n tabIndex: index === focusIndex ? 0 : -1,\n onFocus: () => setFocusIndex(index),\n onKeyDown: handleToolbarKeyDown,\n };\n\n const buttonClass = (pressed: boolean, disabled: boolean): string =>\n toolbarButtonVariants({ pressed, disabled });\n\n function toggleButton(opts: {\n label: string;\n pressed: boolean;\n disabled: boolean;\n /** Space-separated modifier+key strings, e.g. \"Control+B Meta+B\". */\n shortcut?: string;\n onActivate: () => void;\n icon: ReactNode;\n }): ReactNode {\n return (\n <button\n type=\"button\"\n ref={registerRef}\n {...common}\n aria-label={opts.label}\n aria-pressed={opts.pressed}\n aria-disabled={opts.disabled || undefined}\n aria-keyshortcuts={opts.shortcut}\n title={opts.label}\n onClick={(event) => {\n event.preventDefault();\n if (!opts.disabled) opts.onActivate();\n }}\n className={buttonClass(opts.pressed, opts.disabled)}\n >\n {opts.icon}\n </button>\n );\n }\n\n function actionButton(opts: {\n label: string;\n disabled: boolean;\n shortcut?: string;\n onActivate: (event: ReactMouseEvent<HTMLButtonElement>) => void;\n icon: ReactNode;\n }): ReactNode {\n return (\n <button\n type=\"button\"\n ref={registerRef}\n {...common}\n aria-label={opts.label}\n aria-disabled={opts.disabled || undefined}\n aria-keyshortcuts={opts.shortcut}\n title={opts.label}\n onClick={(event) => {\n if (opts.disabled) {\n event.preventDefault();\n return;\n }\n opts.onActivate(event);\n }}\n className={buttonClass(false, opts.disabled)}\n >\n {opts.icon}\n </button>\n );\n }\n\n switch (key) {\n case 'bold':\n return toggleButton({\n label: t('editor.bold'),\n pressed: editor.isActive('bold'),\n disabled: readOnly,\n shortcut: 'Control+B Meta+B',\n onActivate: () => editor.chain().focus().toggleBold().run(),\n icon: (\n <Bold\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'italic':\n return toggleButton({\n label: t('editor.italic'),\n pressed: editor.isActive('italic'),\n disabled: readOnly,\n shortcut: 'Control+I Meta+I',\n onActivate: () => editor.chain().focus().toggleItalic().run(),\n icon: (\n <Italic\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'link':\n return actionButton({\n label: t('editor.link.insert'),\n disabled: readOnly,\n shortcut: 'Control+K Meta+K',\n onActivate: promptForLink,\n icon: (\n <Link2\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'heading':\n return (\n <HeadingSelect\n editor={editor}\n registerRef={registerRef}\n tabIndex={index === focusIndex ? 0 : -1}\n onFocus={() => setFocusIndex(index)}\n onKeyDown={handleToolbarKeyDown}\n label={t('editor.heading')}\n disabled={readOnly}\n pressed={\n editor.isActive('heading', { level: 1 }) ||\n editor.isActive('heading', { level: 2 }) ||\n editor.isActive('heading', { level: 3 })\n }\n />\n );\n case 'bulletList':\n return toggleButton({\n label: t('editor.list.bullet'),\n pressed: editor.isActive('bulletList'),\n disabled: readOnly,\n onActivate: () => editor.chain().focus().toggleBulletList().run(),\n icon: (\n <List\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'orderedList':\n return toggleButton({\n label: t('editor.list.ordered'),\n pressed: editor.isActive('orderedList'),\n disabled: readOnly,\n onActivate: () => editor.chain().focus().toggleOrderedList().run(),\n icon: (\n <ListOrdered\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'quote':\n return toggleButton({\n label: t('editor.quote'),\n pressed: editor.isActive('blockquote'),\n disabled: readOnly,\n onActivate: () => editor.chain().focus().toggleBlockquote().run(),\n icon: (\n <Quote\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'image':\n return actionButton({\n label: t('editor.image.insert'),\n disabled: readOnly,\n onActivate: promptForImage,\n icon: (\n <ImageIcon\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'table':\n return actionButton({\n label: t('editor.table.insert'),\n disabled: readOnly,\n onActivate: () =>\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n icon: (\n <TableIcon\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'codeBlock':\n return toggleButton({\n label: t('editor.codeBlock'),\n pressed: editor.isActive('codeBlock'),\n disabled: readOnly,\n onActivate: () => editor.chain().focus().toggleCodeBlock().run(),\n icon: (\n <Code\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'horizontalRule':\n return actionButton({\n label: t('editor.horizontalRule'),\n disabled: readOnly,\n onActivate: () => editor.chain().focus().setHorizontalRule().run(),\n icon: (\n <Minus\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'undo':\n return actionButton({\n label: t('editor.undo'),\n disabled: readOnly || !editor.can().undo(),\n shortcut: 'Control+Z Meta+Z',\n onActivate: () => editor.chain().focus().undo().run(),\n icon: (\n <Undo\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n case 'redo':\n return actionButton({\n label: t('editor.redo'),\n disabled: readOnly || !editor.can().redo(),\n shortcut: 'Control+Shift+Z Meta+Shift+Z',\n onActivate: () => editor.chain().focus().redo().run(),\n icon: (\n <Redo\n aria-hidden=\"true\"\n className=\"ds:block-size-4 ds:inline-size-4\"\n />\n ),\n });\n default:\n return null;\n }\n }\n\n /* ---- Compose min-height class ------------------------------- */\n // `minHeight` is a size-variant keyword, not a raw CSS value, so we\n // pick a pre-authored Tailwind utility. The tiptap-theme.css bridge\n // already sets a sensible default (`min-block-size: 10rem`) on the\n // editing surface; consumers wanting taller/shorter regions can pass\n // 'sm' / 'md' / 'lg'.\n const minHeightClass = (() => {\n switch (minHeight) {\n case 'sm':\n return 'min-block-size-[8rem]';\n case 'md':\n return 'min-block-size-[16rem]';\n case 'lg':\n return 'min-block-size-[24rem]';\n default:\n return undefined;\n }\n })();\n\n return (\n <div\n id={editorId}\n className={[wrapperVariants(), className].filter(Boolean).join(' ')}\n dir={isRtl ? 'rtl' : undefined}\n data-component=\"rich-text-editor\"\n data-component-id={id}\n >\n {!readOnly ? (\n <div\n role=\"toolbar\"\n aria-label={t('editor.toolbarLabel')}\n className={toolbarVariants({ direction: isRtl ? 'rtl' : 'ltr' })}\n >\n {items.map((key, index) => (\n <span key={key} className=\"ds:contents\">\n {renderItem(key, index)}\n </span>\n ))}\n </div>\n ) : null}\n\n <div\n className={[editorSurfaceVariants(), minHeightClass]\n .filter(Boolean)\n .join(' ')}\n >\n <EditorContent editor={editor} />\n </div>\n\n <ShortcutsDialog open={shortcutsOpen} onOpenChange={setShortcutsOpen} />\n </div>\n );\n },\n);\n\nRichTextEditor.displayName = 'RichTextEditor';\n\nexport {\n toolbarButtonVariants,\n toolbarVariants,\n wrapperVariants,\n editorSurfaceVariants,\n};\n"],"names":["__iconNode","Bold","createLucideIcon","Code","Image","Italic","Link2","ListOrdered","List","Minus","Quote","Redo","Table","Undo","richTextEditorAgent","handle","args","PURIFY_CONFIG","sanitiseHtml","input","DOMPurify","wrapperVariants","cva","toolbarVariants","toolbarButtonVariants","editorSurfaceVariants","PRESETS","HeadingSelect","editor","registerRef","tabIndex","onFocus","onKeyDown","label","disabled","pressed","open","setOpen","useState","rootRef","useRef","useEffect","handler","event","target","apply","level","jsxs","v","jsx","ChevronDown","ShortcutsDialog","onOpenChange","t","useTranslation","RadixDialog","X","row","RichTextEditor","forwardRef","id","defaultValue","value","onChange","toolbar","placeholder","readOnly","ariaLabel","minHeight","className","ref","rawId","useId","editorId","useMemo","isRtl","setIsRtl","shortcutsOpen","setShortcutsOpen","debounceRef","onChangeRef","initialContent","raw","useEditor","StarterKit","Link","href","TableRow","TableCell","TableHeader","Markdown","html","_","updatedEditor","markdown","_b","_a","_c","safe","agentHandle","useImperativeHandle","useAgentRegistration","buttonsRef","focusIndex","setFocusIndex","items","registerButton","useCallback","index","el","focusButton","btn","handleToolbarKeyDown","count","forward","backward","next","promptForLink","existing","trimmed","promptForImage","validated","safeImageSrc","renderItem","key","common","buttonClass","toggleButton","opts","actionButton","ImageIcon","TableIcon","minHeightClass","EditorContent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shield-check-BhHyReu8.js","sources":["../../node_modules/lucide-react/dist/esm/icons/heart.js","../../node_modules/lucide-react/dist/esm/icons/languages.js","../../node_modules/lucide-react/dist/esm/icons/shield-check.js"],"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 {\n d: \"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\",\n key: \"mvr1a0\"\n }\n ]\n];\nconst Heart = createLucideIcon(\"heart\", __iconNode);\n\nexport { __iconNode, Heart as default };\n//# sourceMappingURL=heart.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: \"m5 8 6 6\", key: \"1wu5hv\" }],\n [\"path\", { d: \"m4 14 6-6 2-3\", key: \"1k1g8d\" }],\n [\"path\", { d: \"M2 5h12\", key: \"or177f\" }],\n [\"path\", { d: \"M7 2h1\", key: \"1t2jsx\" }],\n [\"path\", { d: \"m22 22-5-10-5 10\", key: \"don7ne\" }],\n [\"path\", { d: \"M14 18h6\", key: \"1m8k6r\" }]\n];\nconst Languages = createLucideIcon(\"languages\", __iconNode);\n\nexport { __iconNode, Languages as default };\n//# sourceMappingURL=languages.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: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\n key: \"oel41y\"\n }\n ],\n [\"path\", { d: \"m9 12 2 2 4-4\", key: \"dzmm74\" }]\n];\nconst ShieldCheck = createLucideIcon(\"shield-check\", __iconNode);\n\nexport { __iconNode, ShieldCheck as default };\n//# sourceMappingURL=shield-check.js.map\n"],"names":["__iconNode","Heart","createLucideIcon","Languages","ShieldCheck"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AACA,GACMC,IAAQC,EAAiB,SAASF,CAAU;AClBlD;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,SAAQ,CAAE;AAAA,EAC9C,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,UAAU,KAAK,SAAQ,CAAE;AAAA,EACvC,CAAC,QAAQ,EAAE,GAAG,oBAAoB,KAAK,SAAQ,CAAE;AAAA,EACjD,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAC3C,GACMG,IAAYD,EAAiB,aAAaF,CAAU;ACjB1D;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AAAA,EACE,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,SAAQ,CAAE;AAChD,GACMI,IAAcF,EAAiB,gBAAgBF,CAAU;","x_google_ignoreList":[0,1,2]}
|