@alfadocs/ui-kit-debug 1.3.13 → 1.4.1
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-card.agent-Cb5tuEh3.js +28 -0
- package/dist/_chunks/agenda-card.agent-Cb5tuEh3.js.map +1 -0
- package/dist/_chunks/{alia-sidebar-DzNz1gDf.js → alia-sidebar-DSBZMick.js} +3 -3
- package/dist/_chunks/{alia-sidebar-DzNz1gDf.js.map → alia-sidebar-DSBZMick.js.map} +1 -1
- package/dist/_chunks/{anamnesis-i18n-CfC0qYzy.js → anamnesis-i18n-DZcrt8dP.js} +2141 -2069
- package/dist/_chunks/anamnesis-i18n-DZcrt8dP.js.map +1 -0
- package/dist/_chunks/{antenatal-schedule-timeline-BMMpi2lb.js → antenatal-schedule-timeline-u8TsS2QJ.js} +27 -26
- package/dist/_chunks/{antenatal-schedule-timeline-BMMpi2lb.js.map → antenatal-schedule-timeline-u8TsS2QJ.js.map} +1 -1
- package/dist/_chunks/{appointment-timeline-B630OT_J.js → appointment-timeline-Bqf1sTU5.js} +2 -2
- package/dist/_chunks/{appointment-timeline-B630OT_J.js.map → appointment-timeline-Bqf1sTU5.js.map} +1 -1
- package/dist/_chunks/{ar-THMLfSoN.js → ar-BR1FGFP2.js} +14 -14
- package/dist/_chunks/{ar-THMLfSoN.js.map → ar-BR1FGFP2.js.map} +1 -1
- package/dist/_chunks/{bmi-calculator-CM0-G2mg.js → bmi-calculator-CpyY13MV.js} +2 -2
- package/dist/_chunks/{bmi-calculator-CM0-G2mg.js.map → bmi-calculator-CpyY13MV.js.map} +1 -1
- package/dist/_chunks/{booking-DjNbd7C1.js → booking-BjsA7j1-.js} +699 -688
- package/dist/_chunks/booking-BjsA7j1-.js.map +1 -0
- package/dist/_chunks/calculator-dialog-12d3Sxaz.js +48 -0
- package/dist/_chunks/{calculator-dialog-DuXMQSdm.js.map → calculator-dialog-12d3Sxaz.js.map} +1 -1
- package/dist/_chunks/{care-plan-card-1G_f4I5s.js → care-plan-card-BvQy366X.js} +3 -3
- package/dist/_chunks/{care-plan-card-1G_f4I5s.js.map → care-plan-card-BvQy366X.js.map} +1 -1
- package/dist/_chunks/{care-plan-entry-card-DmBsffHS.js → care-plan-entry-card-apk_5B3O.js} +2 -2
- package/dist/_chunks/{care-plan-entry-card-DmBsffHS.js.map → care-plan-entry-card-apk_5B3O.js.map} +1 -1
- package/dist/_chunks/{chat-container-HlFnoEIl.js → chat-container-CYYego1W.js} +105 -81
- package/dist/_chunks/chat-container-CYYego1W.js.map +1 -0
- package/dist/_chunks/cycle-calculator-B7fyH-h4.js +425 -0
- package/dist/_chunks/cycle-calculator-B7fyH-h4.js.map +1 -0
- package/dist/_chunks/{date-picker-ZHejTVAJ.js → date-picker-Bp64zk2p.js} +19 -19
- package/dist/_chunks/{date-picker-ZHejTVAJ.js.map → date-picker-Bp64zk2p.js.map} +1 -1
- package/dist/_chunks/date-picker-variants-pKAJfnWr.js +2089 -0
- package/dist/_chunks/date-picker-variants-pKAJfnWr.js.map +1 -0
- package/dist/_chunks/{date-range-picker-pEG3Ln3i.js → date-range-picker-CDrZ8Zh0.js} +27 -27
- package/dist/_chunks/{date-range-picker-pEG3Ln3i.js.map → date-range-picker-CDrZ8Zh0.js.map} +1 -1
- package/dist/_chunks/{date-time-picker-695QvBGj.js → date-time-picker-DafkGDGO.js} +10 -10
- package/dist/_chunks/{date-time-picker-695QvBGj.js.map → date-time-picker-DafkGDGO.js.map} +1 -1
- package/dist/_chunks/{de-DmZ-8rTN.js → de-3iM4rGqo.js} +7 -7
- package/dist/_chunks/{de-DmZ-8rTN.js.map → de-3iM4rGqo.js.map} +1 -1
- package/dist/_chunks/{document-preview-D3gg4MXB.js → document-preview-DOrsqiN1.js} +2 -2
- package/dist/_chunks/{document-preview-D3gg4MXB.js.map → document-preview-DOrsqiN1.js.map} +1 -1
- package/dist/_chunks/due-date-calculator-CnkbbAej.js +571 -0
- package/dist/_chunks/due-date-calculator-CnkbbAej.js.map +1 -0
- package/dist/_chunks/{editor-overlay-DE3esyio.js → editor-overlay-B1tr2i7B.js} +22 -21
- package/dist/_chunks/editor-overlay-B1tr2i7B.js.map +1 -0
- package/dist/_chunks/{el-Bela9mxs.js → el-C96rGJvU.js} +2 -2
- package/dist/_chunks/{el-Bela9mxs.js.map → el-C96rGJvU.js.map} +1 -1
- package/dist/_chunks/{es-BNncHKex.js → es-Cxiqjx8r.js} +12 -12
- package/dist/_chunks/{es-BNncHKex.js.map → es-Cxiqjx8r.js.map} +1 -1
- package/dist/_chunks/fetal-weight-avlj-l-S.js +223 -0
- package/dist/_chunks/fetal-weight-avlj-l-S.js.map +1 -0
- package/dist/_chunks/format-4HNwNGrN.js +1315 -0
- package/dist/_chunks/format-4HNwNGrN.js.map +1 -0
- package/dist/_chunks/{fr-CH8ADfhN.js → fr-Bhr6SYKj.js} +21 -21
- package/dist/_chunks/{fr-CH8ADfhN.js.map → fr-Bhr6SYKj.js.map} +1 -1
- package/dist/_chunks/{freemium-paywall-C_Ue6wxU.js → freemium-paywall-DRDdWuOg.js} +3 -3
- package/dist/_chunks/{freemium-paywall-C_Ue6wxU.js.map → freemium-paywall-DRDdWuOg.js.map} +1 -1
- package/dist/_chunks/gestational-age-calculator-BljY_DVJ.js +488 -0
- package/dist/_chunks/gestational-age-calculator-BljY_DVJ.js.map +1 -0
- package/dist/_chunks/hcg-doubling-Cv_vH61p.js +312 -0
- package/dist/_chunks/hcg-doubling-Cv_vH61p.js.map +1 -0
- package/dist/_chunks/header-settings-Cn5fPXCE.js +335 -0
- package/dist/_chunks/header-settings-Cn5fPXCE.js.map +1 -0
- package/dist/_chunks/{hi-Bppfxp8l.js → hi-BxXX26d_.js} +12 -12
- package/dist/_chunks/{hi-Bppfxp8l.js.map → hi-BxXX26d_.js.map} +1 -1
- package/dist/_chunks/isSameWeek-B73MagWB.js +13 -0
- package/dist/_chunks/{isSameWeek-CK4HS9lH.js.map → isSameWeek-B73MagWB.js.map} +1 -1
- package/dist/_chunks/{it-B4ySaRyK.js → it-Xmjomvyj.js} +24 -24
- package/dist/_chunks/{it-B4ySaRyK.js.map → it-Xmjomvyj.js.map} +1 -1
- package/dist/_chunks/{ja-CGF6Io9P.js → ja-mfZvt1ZV.js} +16 -16
- package/dist/_chunks/{ja-CGF6Io9P.js.map → ja-mfZvt1ZV.js.map} +1 -1
- package/dist/_chunks/{link-cell-renderer-C5XLwVXQ.js → link-cell-renderer-CJ_gk7gl.js} +3 -3
- package/dist/_chunks/{link-cell-renderer-C5XLwVXQ.js.map → link-cell-renderer-CJ_gk7gl.js.map} +1 -1
- package/dist/_chunks/{locale-picker-BfBUdT1m.js → locale-picker-D9Kv2zrK.js} +153 -132
- package/dist/_chunks/locale-picker-D9Kv2zrK.js.map +1 -0
- package/dist/_chunks/map-view-2yZCQW2l.js +445 -0
- package/dist/_chunks/map-view-2yZCQW2l.js.map +1 -0
- package/dist/_chunks/{marketplace-app-shell-DwcFMxzp.js → marketplace-app-shell-BLRvg-M0.js} +49 -40
- package/dist/_chunks/marketplace-app-shell-BLRvg-M0.js.map +1 -0
- package/dist/_chunks/{nl-DuShqwuV.js → nl-DDs-KEnD.js} +15 -15
- package/dist/_chunks/{nl-DuShqwuV.js.map → nl-DDs-KEnD.js.map} +1 -1
- package/dist/_chunks/{notes-panel-DPsgB4Mv.js → notes-panel-CiFN3sLW.js} +2 -2
- package/dist/_chunks/{notes-panel-DPsgB4Mv.js.map → notes-panel-CiFN3sLW.js.map} +1 -1
- package/dist/_chunks/{number-input-DrozbZAU.js → number-input-DOe5VYei.js} +64 -64
- package/dist/_chunks/number-input-DOe5VYei.js.map +1 -0
- package/dist/_chunks/{optical-prescription-BDHJr8Zz.js → optical-prescription-CRemE8fL.js} +2 -2
- package/dist/_chunks/{optical-prescription-BDHJr8Zz.js.map → optical-prescription-CRemE8fL.js.map} +1 -1
- package/dist/_chunks/{parse-DvA97ro9.js → parse-JqixfsU0.js} +43 -43
- package/dist/_chunks/{parse-DvA97ro9.js.map → parse-JqixfsU0.js.map} +1 -1
- package/dist/_chunks/parseISO-fOGpHKXm.js +120 -0
- package/dist/_chunks/parseISO-fOGpHKXm.js.map +1 -0
- package/dist/_chunks/{patient-details-DqjjwPmt.js → patient-details-CpunD0qx.js} +3 -3
- package/dist/_chunks/{patient-details-DqjjwPmt.js.map → patient-details-CpunD0qx.js.map} +1 -1
- package/dist/_chunks/{patient-table-BmIDrLIS.js → patient-table-2eWx-Rrk.js} +2 -2
- package/dist/_chunks/{patient-table-BmIDrLIS.js.map → patient-table-2eWx-Rrk.js.map} +1 -1
- package/dist/_chunks/{payment-form-h-BZ8onk.js → payment-form-Ds1I9KqB.js} +308 -231
- package/dist/_chunks/payment-form-Ds1I9KqB.js.map +1 -0
- package/dist/_chunks/{pdf-viewer-Ddx-T053.js → pdf-viewer-DUIsV9s5.js} +429 -369
- package/dist/_chunks/pdf-viewer-DUIsV9s5.js.map +1 -0
- package/dist/_chunks/{pl-CKQwX9Fk.js → pl-BYYMnEWP.js} +18 -18
- package/dist/_chunks/{pl-CKQwX9Fk.js.map → pl-BYYMnEWP.js.map} +1 -1
- package/dist/_chunks/{practice-results-B-HPc13W.js → practice-results-SjCniMd2.js} +2 -2
- package/dist/_chunks/{practice-results-B-HPc13W.js.map → practice-results-SjCniMd2.js.map} +1 -1
- package/dist/_chunks/pregnancy-dating-BmpHScZ0.js +770 -0
- package/dist/_chunks/pregnancy-dating-BmpHScZ0.js.map +1 -0
- package/dist/_chunks/pregnancy-weight-gain-B5KSJzdc.js +553 -0
- package/dist/_chunks/pregnancy-weight-gain-B5KSJzdc.js.map +1 -0
- package/dist/_chunks/progress-CK8otcQ-.js +343 -0
- package/dist/_chunks/progress-CK8otcQ-.js.map +1 -0
- package/dist/_chunks/{pt-_njpXyOZ.js → pt-BSPnVrQ7.js} +20 -20
- package/dist/_chunks/{pt-_njpXyOZ.js.map → pt-BSPnVrQ7.js.map} +1 -1
- package/dist/_chunks/{radiograph-panel.agent-BQZ64Riy.js → radiograph-panel.agent-CtFtNMzk.js} +3 -3
- package/dist/_chunks/{radiograph-panel.agent-BQZ64Riy.js.map → radiograph-panel.agent-CtFtNMzk.js.map} +1 -1
- package/dist/_chunks/{rich-text-editor-CfeXPPWs.js → rich-text-editor-BedTpWzL.js} +2 -2
- package/dist/_chunks/{rich-text-editor-CfeXPPWs.js.map → rich-text-editor-BedTpWzL.js.map} +1 -1
- package/dist/_chunks/{ro-3X6_4FcN.js → ro-BbiylGmG.js} +14 -14
- package/dist/_chunks/{ro-3X6_4FcN.js.map → ro-BbiylGmG.js.map} +1 -1
- package/dist/_chunks/{ru-bAcgmnS-.js → ru-BX_qsV67.js} +14 -14
- package/dist/_chunks/{ru-bAcgmnS-.js.map → ru-BX_qsV67.js.map} +1 -1
- package/dist/_chunks/{session-countdown-Bc70VXN1.js → session-countdown-BL-Psg8u.js} +2 -2
- package/dist/_chunks/{session-countdown-Bc70VXN1.js.map → session-countdown-BL-Psg8u.js.map} +1 -1
- package/dist/_chunks/{sign-document-CW_ByDUh.js → sign-document-jF4fZDJ5.js} +2 -2
- package/dist/_chunks/{sign-document-CW_ByDUh.js.map → sign-document-jF4fZDJ5.js.map} +1 -1
- package/dist/_chunks/slot-grid-DNiUcXy2.js +640 -0
- package/dist/_chunks/slot-grid-DNiUcXy2.js.map +1 -0
- package/dist/_chunks/{sparkline-BTY4B5tv.js → sparkline-BmGcEyZO.js} +209 -164
- package/dist/_chunks/sparkline-BmGcEyZO.js.map +1 -0
- package/dist/_chunks/{sq-jYFqr4Ga.js → sq-i9UOk4P7.js} +10 -10
- package/dist/_chunks/{sq-jYFqr4Ga.js.map → sq-i9UOk4P7.js.map} +1 -1
- package/dist/_chunks/subDays-CAUv47M1.js +8 -0
- package/dist/_chunks/{subDays-BcNi04uf.js.map → subDays-CAUv47M1.js.map} +1 -1
- package/dist/_chunks/{sv-BSGEJ-8B.js → sv-CpTdtmDQ.js} +8 -8
- package/dist/_chunks/{sv-BSGEJ-8B.js.map → sv-CpTdtmDQ.js.map} +1 -1
- package/dist/_chunks/{tab-bar-Axhk6xzx.js → tab-bar-BYESZINM.js} +83 -77
- package/dist/_chunks/tab-bar-BYESZINM.js.map +1 -0
- package/dist/_chunks/task-card.agent-CF2N_uu4.js +29 -0
- package/dist/_chunks/task-card.agent-CF2N_uu4.js.map +1 -0
- package/dist/_chunks/{tr-CTpgUtw6.js → tr-DXG2QN1K.js} +17 -17
- package/dist/_chunks/{tr-CTpgUtw6.js.map → tr-DXG2QN1K.js.map} +1 -1
- package/dist/_chunks/{unit-converter-COgkN7YP.js → unit-converter-CHPDuV7W.js} +2 -2
- package/dist/_chunks/{unit-converter-COgkN7YP.js.map → unit-converter-CHPDuV7W.js.map} +1 -1
- package/dist/_chunks/{warning-stack-BtjmJChC.js → warning-stack-B7t_8jRE.js} +42 -37
- package/dist/_chunks/{warning-stack-BtjmJChC.js.map → warning-stack-B7t_8jRE.js.map} +1 -1
- package/dist/_chunks/{zh-CN-BgM0Io2O.js → zh-CN-vPkPEK6H.js} +18 -18
- package/dist/_chunks/{zh-CN-BgM0Io2O.js.map → zh-CN-vPkPEK6H.js.map} +1 -1
- package/dist/agent-catalog.json +6426 -3382
- package/dist/agent-i18n/en.json +234 -15
- package/dist/components/agenda-card/agenda-card.agent.d.ts.map +1 -1
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/booking.d.ts.map +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/calculator-dialog/calculator-dialog.d.ts.map +1 -1
- package/dist/components/calculator-dialog/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/chat-container/chat-container.agent.d.ts.map +1 -1
- package/dist/components/chat-container/chat-container.d.ts +14 -0
- package/dist/components/chat-container/chat-container.d.ts.map +1 -1
- package/dist/components/chat-container/index.js +1 -1
- package/dist/components/cycle-calculator/cycle-calculator.agent.d.ts +4 -0
- package/dist/components/cycle-calculator/cycle-calculator.agent.d.ts.map +1 -0
- package/dist/components/cycle-calculator/cycle-calculator.d.ts +42 -0
- package/dist/components/cycle-calculator/cycle-calculator.d.ts.map +1 -1
- package/dist/components/cycle-calculator/index.d.ts +1 -1
- package/dist/components/cycle-calculator/index.d.ts.map +1 -1
- package/dist/components/cycle-calculator/index.js +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/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/document-preview/index.js +1 -1
- package/dist/components/due-date-calculator/due-date-calculator.agent.d.ts +4 -0
- package/dist/components/due-date-calculator/due-date-calculator.agent.d.ts.map +1 -0
- package/dist/components/due-date-calculator/due-date-calculator.d.ts +61 -1
- package/dist/components/due-date-calculator/due-date-calculator.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 +2 -2
- package/dist/components/editor-overlay/editor-overlay.d.ts +7 -1
- package/dist/components/editor-overlay/editor-overlay.d.ts.map +1 -1
- package/dist/components/editor-overlay/index.js +1 -1
- package/dist/components/fetal-weight/fetal-weight.agent.d.ts +4 -0
- package/dist/components/fetal-weight/fetal-weight.agent.d.ts.map +1 -0
- package/dist/components/fetal-weight/fetal-weight.d.ts +26 -0
- package/dist/components/fetal-weight/fetal-weight.d.ts.map +1 -1
- package/dist/components/fetal-weight/index.d.ts +1 -1
- package/dist/components/fetal-weight/index.d.ts.map +1 -1
- package/dist/components/fetal-weight/index.js +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/gestational-age-calculator/gestational-age-calculator.agent.d.ts +4 -0
- package/dist/components/gestational-age-calculator/gestational-age-calculator.agent.d.ts.map +1 -0
- package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +44 -2
- package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts.map +1 -1
- package/dist/components/gestational-age-calculator/index.d.ts +1 -1
- package/dist/components/gestational-age-calculator/index.d.ts.map +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/hcg-doubling/hcg-doubling.agent.d.ts +4 -0
- package/dist/components/hcg-doubling/hcg-doubling.agent.d.ts.map +1 -0
- package/dist/components/hcg-doubling/hcg-doubling.d.ts +30 -0
- package/dist/components/hcg-doubling/hcg-doubling.d.ts.map +1 -1
- package/dist/components/hcg-doubling/index.d.ts +1 -1
- package/dist/components/hcg-doubling/index.d.ts.map +1 -1
- package/dist/components/hcg-doubling/index.js +1 -1
- package/dist/components/header-settings/header-settings.agent.d.ts.map +1 -1
- package/dist/components/header-settings/header-settings.d.ts +13 -1
- package/dist/components/header-settings/header-settings.d.ts.map +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/locale-picker/locale-picker.agent.d.ts.map +1 -1
- package/dist/components/locale-picker/locale-picker.d.ts +9 -0
- package/dist/components/locale-picker/locale-picker.d.ts.map +1 -1
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/map-view/map-view.agent.d.ts.map +1 -1
- package/dist/components/map-view/map-view.d.ts +22 -0
- package/dist/components/map-view/map-view.d.ts.map +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/number-input/number-input.d.ts +2 -1
- package/dist/components/number-input/number-input.d.ts.map +1 -1
- package/dist/components/optical-prescription/index.js +1 -1
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/payment-form/index.d.ts +1 -1
- package/dist/components/payment-form/index.d.ts.map +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -1
- package/dist/components/payment-form/payment-form.d.ts +32 -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/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -1
- package/dist/components/pdf-viewer/pdf-viewer.d.ts +13 -0
- package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-dating/index.d.ts +1 -1
- package/dist/components/pregnancy-dating/index.d.ts.map +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/pregnancy-dating/pregnancy-dating.agent.d.ts +4 -0
- package/dist/components/pregnancy-dating/pregnancy-dating.agent.d.ts.map +1 -0
- package/dist/components/pregnancy-dating/pregnancy-dating.d.ts +65 -1
- package/dist/components/pregnancy-dating/pregnancy-dating.d.ts.map +1 -1
- package/dist/components/pregnancy-weight-gain/index.d.ts +2 -1
- package/dist/components/pregnancy-weight-gain/index.d.ts.map +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +6 -5
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.agent.d.ts +4 -0
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.agent.d.ts.map +1 -0
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +35 -0
- package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts.map +1 -1
- package/dist/components/progress/index.js +1 -1
- package/dist/components/progress/progress.agent.d.ts.map +1 -1
- package/dist/components/progress/progress.d.ts +13 -0
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/session-countdown/index.js +1 -1
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/slot-grid/index.d.ts +2 -1
- package/dist/components/slot-grid/index.d.ts.map +1 -1
- package/dist/components/slot-grid/index.js +5 -4
- package/dist/components/slot-grid/slot-grid.agent.d.ts +4 -0
- package/dist/components/slot-grid/slot-grid.agent.d.ts.map +1 -0
- package/dist/components/slot-grid/slot-grid.d.ts +34 -0
- package/dist/components/slot-grid/slot-grid.d.ts.map +1 -1
- package/dist/components/sparkline/index.js +1 -1
- package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -1
- package/dist/components/sparkline/sparkline.d.ts +10 -0
- package/dist/components/sparkline/sparkline.d.ts.map +1 -1
- package/dist/components/tab-bar/index.js +1 -1
- package/dist/components/tab-bar/tab-bar.d.ts +13 -0
- package/dist/components/tab-bar/tab-bar.d.ts.map +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-card/task-card.agent.d.ts.map +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/warning-stack/warning-stack.d.ts.map +1 -1
- package/dist/index.js +630 -627
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/anamnesis/anamnesis-compare-panel.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-compile.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-derive.d.ts +27 -8
- package/dist/patterns/anamnesis/anamnesis-derive.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-events.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-evolution-grid.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-field.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-format.d.ts +11 -3
- package/dist/patterns/anamnesis/anamnesis-format.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-highlight.d.ts +6 -0
- package/dist/patterns/anamnesis/anamnesis-highlight.d.ts.map +1 -0
- package/dist/patterns/anamnesis/anamnesis-intake.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-matrix.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-questionnaire.d.ts +23 -9
- package/dist/patterns/anamnesis/anamnesis-questionnaire.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-readonly.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-target-strip.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-types.d.ts +7 -0
- package/dist/patterns/anamnesis/anamnesis-types.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis-visit-note.d.ts.map +1 -1
- package/dist/patterns/anamnesis/anamnesis.d.ts +16 -7
- package/dist/patterns/anamnesis/anamnesis.d.ts.map +1 -1
- package/dist/patterns/anamnesis/index.d.ts +3 -2
- package/dist/patterns/anamnesis/index.d.ts.map +1 -1
- package/dist/patterns/anamnesis/index.js +7 -6
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +6 -0
- package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts.map +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/agenda-card.agent-mTCrkKSZ.js +0 -27
- package/dist/_chunks/agenda-card.agent-mTCrkKSZ.js.map +0 -1
- package/dist/_chunks/anamnesis-i18n-CfC0qYzy.js.map +0 -1
- package/dist/_chunks/booking-DjNbd7C1.js.map +0 -1
- package/dist/_chunks/calculator-dialog-DuXMQSdm.js +0 -40
- package/dist/_chunks/chat-container-HlFnoEIl.js.map +0 -1
- package/dist/_chunks/cycle-calculator-BwqYVPB4.js +0 -252
- package/dist/_chunks/cycle-calculator-BwqYVPB4.js.map +0 -1
- package/dist/_chunks/date-picker-variants-eL6HjWvw.js +0 -3363
- package/dist/_chunks/date-picker-variants-eL6HjWvw.js.map +0 -1
- package/dist/_chunks/due-date-calculator-CwfsFd3T.js +0 -256
- package/dist/_chunks/due-date-calculator-CwfsFd3T.js.map +0 -1
- package/dist/_chunks/editor-overlay-DE3esyio.js.map +0 -1
- package/dist/_chunks/fetal-weight-ePlLjJPc.js +0 -122
- package/dist/_chunks/fetal-weight-ePlLjJPc.js.map +0 -1
- package/dist/_chunks/gestational-age-calculator-DdgbH69Z.js +0 -311
- package/dist/_chunks/gestational-age-calculator-DdgbH69Z.js.map +0 -1
- package/dist/_chunks/hcg-doubling-BBqD2wI2.js +0 -170
- package/dist/_chunks/hcg-doubling-BBqD2wI2.js.map +0 -1
- package/dist/_chunks/header-settings--pjYOe6g.js +0 -284
- package/dist/_chunks/header-settings--pjYOe6g.js.map +0 -1
- package/dist/_chunks/isSameDay-DUEiAT0G.js +0 -39
- package/dist/_chunks/isSameDay-DUEiAT0G.js.map +0 -1
- package/dist/_chunks/isSameWeek-CK4HS9lH.js +0 -14
- package/dist/_chunks/locale-picker-BfBUdT1m.js.map +0 -1
- package/dist/_chunks/map-view-CsaHfoo6.js +0 -378
- package/dist/_chunks/map-view-CsaHfoo6.js.map +0 -1
- package/dist/_chunks/marketplace-app-shell-DwcFMxzp.js.map +0 -1
- package/dist/_chunks/number-input-DrozbZAU.js.map +0 -1
- package/dist/_chunks/payment-form-h-BZ8onk.js.map +0 -1
- package/dist/_chunks/pdf-viewer-Ddx-T053.js.map +0 -1
- package/dist/_chunks/pregnancy-dating-DzYTlBkT.js +0 -421
- package/dist/_chunks/pregnancy-dating-DzYTlBkT.js.map +0 -1
- package/dist/_chunks/pregnancy-weight-gain-O6J0sUIi.js +0 -322
- package/dist/_chunks/pregnancy-weight-gain-O6J0sUIi.js.map +0 -1
- package/dist/_chunks/progress-DA413-zn.js +0 -299
- package/dist/_chunks/progress-DA413-zn.js.map +0 -1
- package/dist/_chunks/slot-grid-CQSULZjd.js +0 -502
- package/dist/_chunks/slot-grid-CQSULZjd.js.map +0 -1
- package/dist/_chunks/sparkline-BTY4B5tv.js.map +0 -1
- package/dist/_chunks/subDays-BcNi04uf.js +0 -8
- package/dist/_chunks/tab-bar-Axhk6xzx.js.map +0 -1
- package/dist/_chunks/task-card.agent-Bt14CzUd.js +0 -25
- package/dist/_chunks/task-card.agent-Bt14CzUd.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker-ZHejTVAJ.js","sources":["../../src/components/date-picker/date-picker.agent.ts","../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — DatePicker. */\n/* */\n/* DatePicker wraps react-day-picker inside a Radix Popover. The agent */\n/* surface curates the input + popover into a small set of date-shaped */\n/* operations — set / clear / open / close. The handle is the curated */\n/* surface; raw rdp internals are deliberately not exposed. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DatePickerHandle } from './date-picker';\n\nexport const datePickerAgent: AgentAdapter<DatePickerHandle> = {\n id: 'date-picker',\n // Persisted single date (value state + set_date) → select_single + set_value,\n // plus open/close of the calendar popover.\n capabilities: ['select_single', 'set_value', 'open', 'close'],\n state: {\n value: {\n type: 'iso-date',\n descriptionKey: 'ui.agent.datePicker.state.value',\n description: 'Currently-selected ISO date, or null.',\n read: (handle) => handle.getValue()?.toISOString() ?? null,\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.datePicker.state.isOpen',\n description: 'Whether the calendar popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_date: {\n safety: 'write',\n argsType: '{ date: string }',\n argsSchema: {\n type: 'object',\n properties: {\n date: {\n type: 'string',\n format: 'date',\n description: 'ISO date, e.g. \"2026-06-23\".',\n },\n },\n required: ['date'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.setDate',\n description: 'Select a specific date (ISO yyyy-mm-dd).',\n examples: [{ args: { date: '2026-06-23' }, note: 'Select 23 Jun 2026.' }],\n invoke: (handle, args: { date: string }) => {\n handle.setValue(new Date(args.date));\n },\n },\n clear: {\n // Discards the selected date — loses the user's input.\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.clear',\n description: 'Clear the selected date.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.open',\n description: 'Open the calendar popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.close',\n description: 'Close the calendar popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-picker',\n description: 'Marks the DatePicker wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type KeyboardEvent,\n} from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker } from 'react-day-picker';\nimport {\n format as fnsFormat,\n parse as fnsParse,\n isValid,\n isSameDay,\n isBefore,\n isAfter,\n} from 'date-fns';\nimport { CalendarDays, Check } from 'lucide-react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport {\n FormFieldContext,\n useFormField,\n} from '../form-field/form-field-context';\nimport {\n useDateFnsLocale,\n getShortDateFormat,\n buildDisabledMatcher,\n CalendarChevron,\n calendarClassNames,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n presetButtonVariants,\n} from '../_shared';\nimport { useAgentRegistration } from '../../agent';\nimport { datePickerAgent } from './date-picker.agent';\n\n/* -------------------------------------------------------------------------- */\n/* Imperative handle */\n/* -------------------------------------------------------------------------- */\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DatePickerHandle {\n /** Get the current selected date, or undefined. */\n getValue: () => Date | undefined;\n /** Set the selected date. */\n setValue: (date: Date | undefined) => void;\n /** Clear the selected date. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the calendar popover. */\n open: () => void;\n /** Close the calendar popover. */\n close: () => void;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DatePickerPreset {\n label: string;\n date: () => Date;\n}\n\nexport interface DatePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current selected date — controlled. */\n value?: Date;\n /** Default selected date — uncontrolled. */\n defaultValue?: Date;\n /** Called when the selected date changes. */\n onChange?: (date: Date | undefined) => void;\n /** Minimum selectable date. */\n minDate?: Date;\n /** Maximum selectable date. */\n maxDate?: Date;\n /** Disabled dates — array or predicate. */\n disabledDates?: Date[] | ((date: Date) => boolean);\n /** Week starts on (0=Sunday). Derived from locale if not specified. */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** Quick-pick presets shown inline-start of the calendar. */\n presets?: DatePickerPreset[];\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n /** Accessible name for the date input, when the picker is NOT wrapped in a\n * `FormField`. Without one — and without a FormField's `<label htmlFor>` —\n * the input has no accessible name at all, so a picker placed inline beside\n * chips or in a toolbar was unnamed to a screen reader. Ignored in favour of\n * the FormField label when both are present. */\n 'aria-label'?: string;\n /** Accessible name by reference, same conditions as `aria-label`. */\n 'aria-labelledby'?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n disabledDates,\n weekStartsOn,\n presets,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n // A FormField labels the input through `<label htmlFor>`; outside one the\n // caller's aria-label is the only name available.\n const inFormField = useContext(FormFieldContext) !== null;\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = useDateFnsLocale(i18n.language);\n const dateFormat = getShortDateFormat(i18n.language);\n const placeholderText =\n placeholder ?? t('inputs.datePicker.placeholder', 'Select date');\n\n const [currentValueRaw, setDateValue] = useControllableState<\n Date | undefined\n >({\n value,\n defaultValue,\n onChange,\n });\n const currentValue = currentValueRaw;\n\n const [open, setOpen] = useState(false);\n const [inputText, setInputText] = useState(\n currentValue ? fnsFormat(currentValue, dateFormat, { locale }) : '',\n );\n const [inputInvalid, setInputInvalid] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue ?? new Date());\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Sync input text when value changes externally\n useEffect(() => {\n if (currentValue) {\n setInputText(fnsFormat(currentValue, dateFormat, { locale }));\n setInputInvalid(false);\n } else {\n setInputText('');\n }\n }, [currentValue, dateFormat, locale]);\n\n const disabledMatcher = buildDisabledMatcher(\n minDate,\n maxDate,\n disabledDates,\n );\n\n /** Check if a date is disabled. */\n const isDateDisabled = useCallback(\n (date: Date): boolean => {\n if (minDate && isBefore(date, minDate)) return true;\n if (maxDate && isAfter(date, maxDate)) return true;\n if (Array.isArray(disabledDates)) {\n return disabledDates.some(\n (d) => d.toDateString() === date.toDateString(),\n );\n }\n if (typeof disabledDates === 'function') {\n return disabledDates(date);\n }\n return false;\n },\n [minDate, maxDate, disabledDates],\n );\n\n const emit = useCallback(\n (date: Date | undefined) => {\n setDateValue(date);\n },\n [setDateValue],\n );\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n const text = e.target.value;\n setInputText(text);\n\n if (text.length === 0) {\n setInputInvalid(false);\n emit(undefined);\n return;\n }\n\n const parsed = fnsParse(text, dateFormat, new Date(), { locale });\n if (isValid(parsed) && !isDateDisabled(parsed)) {\n setInputInvalid(false);\n emit(parsed);\n setMonth(parsed);\n } else if (text.length === dateFormat.length) {\n setInputInvalid(true);\n }\n };\n\n const handleInputKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && open) {\n e.preventDefault();\n setOpen(false);\n }\n if (e.key === 'Escape' && open) {\n e.preventDefault();\n setOpen(false);\n }\n if (e.key === 'ArrowDown' && !open) {\n e.preventDefault();\n setOpen(true);\n }\n };\n\n const handleDaySelect = (date: Date | undefined) => {\n if (date) {\n emit(date);\n setOpen(false);\n inputRef.current?.focus();\n }\n };\n\n const handlePresetClick = (preset: DatePickerPreset) => {\n const date = preset.date();\n emit(date);\n setMonth(date);\n setOpen(false);\n inputRef.current?.focus();\n };\n\n // A preset is \"active\" when the selected date matches the one it produces,\n // so the shortcut and the highlighted day visibly agree.\n const isPresetActive = (preset: DatePickerPreset): boolean =>\n currentValue ? isSameDay(preset.date(), currentValue) : false;\n\n const gridLabel = t('inputs.datePicker.gridLabel', 'Calendar');\n\n const handle = useMemo<DatePickerHandle>(\n () => ({\n getValue: () => currentValue,\n setValue: (date) => emit(date),\n clear: () => emit(undefined),\n isOpen: () => open,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref, () => rootRef.current as HTMLDivElement, []);\n useAgentRegistration(datePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div\n ref={rootRef}\n className={className}\n data-component=\"date-picker\"\n data-component-id={effectiveId}\n >\n <div className=\"ds:relative\">\n {/* `Popover.Trigger asChild` slots Radix's trigger props\n (including `type=\"button\"`, `aria-haspopup`,\n `aria-expanded`) onto the child element. We want those on\n the input, not the surrounding `<div>`, so the input is\n the direct asChild target and the icon sits as a sibling. */}\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n <input\n ref={inputRef}\n id={effectiveId}\n type=\"text\"\n // ARIA 1.2 permits `role=\"combobox\"` on `<input>`. That's\n // what makes `aria-expanded` / `aria-controls` valid\n // here — the input acts as a combobox-style trigger\n // whose popup is the calendar dialog. `aria-haspopup=\"dialog\"`\n // replaces `aria-controls` for the dialog-popup pattern.\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"combobox\"\n value={inputText}\n placeholder={placeholderText}\n disabled={effectiveDisabled}\n // A FormField labels the input through `<label htmlFor>`, so\n // its label wins and these stay off. Outside one they are the\n // only name the input can have.\n aria-label={inFormField ? undefined : ariaLabel}\n aria-labelledby={inFormField ? undefined : ariaLabelledBy}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || inputInvalid || undefined}\n aria-required={ctx.required || undefined}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onClick={() => !open && setOpen(true)}\n className={triggerVariants({\n size,\n tone: inputInvalid ? 'error' : effectiveTone,\n })}\n />\n </Popover.Trigger>\n <span aria-hidden=\"true\" className={calendarIconVariants({ size })}>\n <CalendarDays />\n </span>\n </div>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n onOpenAutoFocus={(e) => {\n // Keep focus on input, don't auto-focus the calendar\n e.preventDefault();\n }}\n >\n <div className=\"ds:flex ds:gap-[var(--spacing-md)]\">\n {/* Presets column */}\n {presets && presets.length > 0 ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]\">\n {presets.map((preset) => {\n const active = isPresetActive(preset);\n return (\n <button\n key={preset.label}\n type=\"button\"\n aria-pressed={active}\n onClick={() => handlePresetClick(preset)}\n className={presetButtonVariants({ active })}\n >\n <span className=\"ds:min-w-0 ds:truncate\">\n {preset.label}\n </span>\n {active ? (\n <Check\n aria-hidden=\"true\"\n className=\"ds:size-4 ds:shrink-0 ds:text-primary\"\n />\n ) : null}\n </button>\n );\n })}\n </div>\n ) : null}\n\n {/* Calendar */}\n <div role=\"region\" aria-label={gridLabel}>\n <DayPicker\n mode=\"single\"\n selected={currentValue}\n onSelect={handleDaySelect}\n month={month}\n onMonthChange={setMonth}\n disabled={disabledMatcher}\n weekStartsOn={weekStartsOn}\n locale={locale}\n showOutsideDays\n fixedWeeks\n classNames={calendarClassNames}\n components={{ Chevron: CalendarChevron }}\n />\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDatePicker.displayName = 'DatePicker';\n"],"names":["datePickerAgent","handle","_a","args","DatePicker","forwardRef","value","defaultValue","onChange","minDate","maxDate","disabledDates","weekStartsOn","presets","size","disabled","placeholder","className","id","ariaLabel","ariaLabelledBy","ref","t","i18n","useTranslation","ctx","useFormField","inFormField","useContext","FormFieldContext","effectiveId","effectiveDisabled","effectiveTone","locale","useDateFnsLocale","dateFormat","getShortDateFormat","placeholderText","currentValueRaw","setDateValue","useControllableState","currentValue","open","setOpen","useState","inputText","setInputText","fnsFormat","inputInvalid","setInputInvalid","month","setMonth","inputRef","useRef","useEffect","disabledMatcher","buildDisabledMatcher","isDateDisabled","useCallback","date","isBefore","isAfter","d","emit","handleInputChange","text","parsed","fnsParse","isValid","handleInputKeyDown","handleDaySelect","handlePresetClick","preset","isPresetActive","isSameDay","gridLabel","useMemo","rootRef","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","CalendarDays","popoverContentVariants","active","presetButtonVariants","Check","DayPicker","calendarClassNames","CalendarChevron"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-picker-Bp64zk2p.js","sources":["../../src/components/date-picker/date-picker.agent.ts","../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — DatePicker. */\n/* */\n/* DatePicker wraps react-day-picker inside a Radix Popover. The agent */\n/* surface curates the input + popover into a small set of date-shaped */\n/* operations — set / clear / open / close. The handle is the curated */\n/* surface; raw rdp internals are deliberately not exposed. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DatePickerHandle } from './date-picker';\n\nexport const datePickerAgent: AgentAdapter<DatePickerHandle> = {\n id: 'date-picker',\n // Persisted single date (value state + set_date) → select_single + set_value,\n // plus open/close of the calendar popover.\n capabilities: ['select_single', 'set_value', 'open', 'close'],\n state: {\n value: {\n type: 'iso-date',\n descriptionKey: 'ui.agent.datePicker.state.value',\n description: 'Currently-selected ISO date, or null.',\n read: (handle) => handle.getValue()?.toISOString() ?? null,\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.datePicker.state.isOpen',\n description: 'Whether the calendar popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_date: {\n safety: 'write',\n argsType: '{ date: string }',\n argsSchema: {\n type: 'object',\n properties: {\n date: {\n type: 'string',\n format: 'date',\n description: 'ISO date, e.g. \"2026-06-23\".',\n },\n },\n required: ['date'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.setDate',\n description: 'Select a specific date (ISO yyyy-mm-dd).',\n examples: [{ args: { date: '2026-06-23' }, note: 'Select 23 Jun 2026.' }],\n invoke: (handle, args: { date: string }) => {\n handle.setValue(new Date(args.date));\n },\n },\n clear: {\n // Discards the selected date — loses the user's input.\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.clear',\n description: 'Clear the selected date.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.open',\n description: 'Open the calendar popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.datePicker.actions.close',\n description: 'Close the calendar popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-picker',\n description: 'Marks the DatePicker wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type KeyboardEvent,\n} from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker } from 'react-day-picker';\nimport {\n format as fnsFormat,\n parse as fnsParse,\n isValid,\n isSameDay,\n isBefore,\n isAfter,\n} from 'date-fns';\nimport { CalendarDays, Check } from 'lucide-react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport {\n FormFieldContext,\n useFormField,\n} from '../form-field/form-field-context';\nimport {\n useDateFnsLocale,\n getShortDateFormat,\n buildDisabledMatcher,\n CalendarChevron,\n calendarClassNames,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n presetButtonVariants,\n} from '../_shared';\nimport { useAgentRegistration } from '../../agent';\nimport { datePickerAgent } from './date-picker.agent';\n\n/* -------------------------------------------------------------------------- */\n/* Imperative handle */\n/* -------------------------------------------------------------------------- */\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DatePickerHandle {\n /** Get the current selected date, or undefined. */\n getValue: () => Date | undefined;\n /** Set the selected date. */\n setValue: (date: Date | undefined) => void;\n /** Clear the selected date. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the calendar popover. */\n open: () => void;\n /** Close the calendar popover. */\n close: () => void;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DatePickerPreset {\n label: string;\n date: () => Date;\n}\n\nexport interface DatePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current selected date — controlled. */\n value?: Date;\n /** Default selected date — uncontrolled. */\n defaultValue?: Date;\n /** Called when the selected date changes. */\n onChange?: (date: Date | undefined) => void;\n /** Minimum selectable date. */\n minDate?: Date;\n /** Maximum selectable date. */\n maxDate?: Date;\n /** Disabled dates — array or predicate. */\n disabledDates?: Date[] | ((date: Date) => boolean);\n /** Week starts on (0=Sunday). Derived from locale if not specified. */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** Quick-pick presets shown inline-start of the calendar. */\n presets?: DatePickerPreset[];\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n /** Accessible name for the date input, when the picker is NOT wrapped in a\n * `FormField`. Without one — and without a FormField's `<label htmlFor>` —\n * the input has no accessible name at all, so a picker placed inline beside\n * chips or in a toolbar was unnamed to a screen reader. Ignored in favour of\n * the FormField label when both are present. */\n 'aria-label'?: string;\n /** Accessible name by reference, same conditions as `aria-label`. */\n 'aria-labelledby'?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n disabledDates,\n weekStartsOn,\n presets,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n // A FormField labels the input through `<label htmlFor>`; outside one the\n // caller's aria-label is the only name available.\n const inFormField = useContext(FormFieldContext) !== null;\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = useDateFnsLocale(i18n.language);\n const dateFormat = getShortDateFormat(i18n.language);\n const placeholderText =\n placeholder ?? t('inputs.datePicker.placeholder', 'Select date');\n\n const [currentValueRaw, setDateValue] = useControllableState<\n Date | undefined\n >({\n value,\n defaultValue,\n onChange,\n });\n const currentValue = currentValueRaw;\n\n const [open, setOpen] = useState(false);\n const [inputText, setInputText] = useState(\n currentValue ? fnsFormat(currentValue, dateFormat, { locale }) : '',\n );\n const [inputInvalid, setInputInvalid] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue ?? new Date());\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Sync input text when value changes externally\n useEffect(() => {\n if (currentValue) {\n setInputText(fnsFormat(currentValue, dateFormat, { locale }));\n setInputInvalid(false);\n } else {\n setInputText('');\n }\n }, [currentValue, dateFormat, locale]);\n\n const disabledMatcher = buildDisabledMatcher(\n minDate,\n maxDate,\n disabledDates,\n );\n\n /** Check if a date is disabled. */\n const isDateDisabled = useCallback(\n (date: Date): boolean => {\n if (minDate && isBefore(date, minDate)) return true;\n if (maxDate && isAfter(date, maxDate)) return true;\n if (Array.isArray(disabledDates)) {\n return disabledDates.some(\n (d) => d.toDateString() === date.toDateString(),\n );\n }\n if (typeof disabledDates === 'function') {\n return disabledDates(date);\n }\n return false;\n },\n [minDate, maxDate, disabledDates],\n );\n\n const emit = useCallback(\n (date: Date | undefined) => {\n setDateValue(date);\n },\n [setDateValue],\n );\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n const text = e.target.value;\n setInputText(text);\n\n if (text.length === 0) {\n setInputInvalid(false);\n emit(undefined);\n return;\n }\n\n const parsed = fnsParse(text, dateFormat, new Date(), { locale });\n if (isValid(parsed) && !isDateDisabled(parsed)) {\n setInputInvalid(false);\n emit(parsed);\n setMonth(parsed);\n } else if (text.length === dateFormat.length) {\n setInputInvalid(true);\n }\n };\n\n const handleInputKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && open) {\n e.preventDefault();\n setOpen(false);\n }\n if (e.key === 'Escape' && open) {\n e.preventDefault();\n setOpen(false);\n }\n if (e.key === 'ArrowDown' && !open) {\n e.preventDefault();\n setOpen(true);\n }\n };\n\n const handleDaySelect = (date: Date | undefined) => {\n if (date) {\n emit(date);\n setOpen(false);\n inputRef.current?.focus();\n }\n };\n\n const handlePresetClick = (preset: DatePickerPreset) => {\n const date = preset.date();\n emit(date);\n setMonth(date);\n setOpen(false);\n inputRef.current?.focus();\n };\n\n // A preset is \"active\" when the selected date matches the one it produces,\n // so the shortcut and the highlighted day visibly agree.\n const isPresetActive = (preset: DatePickerPreset): boolean =>\n currentValue ? isSameDay(preset.date(), currentValue) : false;\n\n const gridLabel = t('inputs.datePicker.gridLabel', 'Calendar');\n\n const handle = useMemo<DatePickerHandle>(\n () => ({\n getValue: () => currentValue,\n setValue: (date) => emit(date),\n clear: () => emit(undefined),\n isOpen: () => open,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref, () => rootRef.current as HTMLDivElement, []);\n useAgentRegistration(datePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div\n ref={rootRef}\n className={className}\n data-component=\"date-picker\"\n data-component-id={effectiveId}\n >\n <div className=\"ds:relative\">\n {/* `Popover.Trigger asChild` slots Radix's trigger props\n (including `type=\"button\"`, `aria-haspopup`,\n `aria-expanded`) onto the child element. We want those on\n the input, not the surrounding `<div>`, so the input is\n the direct asChild target and the icon sits as a sibling. */}\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n <input\n ref={inputRef}\n id={effectiveId}\n type=\"text\"\n // ARIA 1.2 permits `role=\"combobox\"` on `<input>`. That's\n // what makes `aria-expanded` / `aria-controls` valid\n // here — the input acts as a combobox-style trigger\n // whose popup is the calendar dialog. `aria-haspopup=\"dialog\"`\n // replaces `aria-controls` for the dialog-popup pattern.\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"combobox\"\n value={inputText}\n placeholder={placeholderText}\n disabled={effectiveDisabled}\n // A FormField labels the input through `<label htmlFor>`, so\n // its label wins and these stay off. Outside one they are the\n // only name the input can have.\n aria-label={inFormField ? undefined : ariaLabel}\n aria-labelledby={inFormField ? undefined : ariaLabelledBy}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || inputInvalid || undefined}\n aria-required={ctx.required || undefined}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onClick={() => !open && setOpen(true)}\n className={triggerVariants({\n size,\n tone: inputInvalid ? 'error' : effectiveTone,\n })}\n />\n </Popover.Trigger>\n <span aria-hidden=\"true\" className={calendarIconVariants({ size })}>\n <CalendarDays />\n </span>\n </div>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n onOpenAutoFocus={(e) => {\n // Keep focus on input, don't auto-focus the calendar\n e.preventDefault();\n }}\n >\n <div className=\"ds:flex ds:gap-[var(--spacing-md)]\">\n {/* Presets column */}\n {presets && presets.length > 0 ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]\">\n {presets.map((preset) => {\n const active = isPresetActive(preset);\n return (\n <button\n key={preset.label}\n type=\"button\"\n aria-pressed={active}\n onClick={() => handlePresetClick(preset)}\n className={presetButtonVariants({ active })}\n >\n <span className=\"ds:min-w-0 ds:truncate\">\n {preset.label}\n </span>\n {active ? (\n <Check\n aria-hidden=\"true\"\n className=\"ds:size-4 ds:shrink-0 ds:text-primary\"\n />\n ) : null}\n </button>\n );\n })}\n </div>\n ) : null}\n\n {/* Calendar */}\n <div role=\"region\" aria-label={gridLabel}>\n <DayPicker\n mode=\"single\"\n selected={currentValue}\n onSelect={handleDaySelect}\n month={month}\n onMonthChange={setMonth}\n disabled={disabledMatcher}\n weekStartsOn={weekStartsOn}\n locale={locale}\n showOutsideDays\n fixedWeeks\n classNames={calendarClassNames}\n components={{ Chevron: CalendarChevron }}\n />\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDatePicker.displayName = 'DatePicker';\n"],"names":["datePickerAgent","handle","_a","args","DatePicker","forwardRef","value","defaultValue","onChange","minDate","maxDate","disabledDates","weekStartsOn","presets","size","disabled","placeholder","className","id","ariaLabel","ariaLabelledBy","ref","t","i18n","useTranslation","ctx","useFormField","inFormField","useContext","FormFieldContext","effectiveId","effectiveDisabled","effectiveTone","locale","useDateFnsLocale","dateFormat","getShortDateFormat","placeholderText","currentValueRaw","setDateValue","useControllableState","currentValue","open","setOpen","useState","inputText","setInputText","fnsFormat","inputInvalid","setInputInvalid","month","setMonth","inputRef","useRef","useEffect","disabledMatcher","buildDisabledMatcher","isDateDisabled","useCallback","date","isBefore","isAfter","d","emit","handleInputChange","text","parsed","fnsParse","isValid","handleInputKeyDown","handleDaySelect","handlePresetClick","preset","isPresetActive","isSameDay","gridLabel","useMemo","rootRef","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","CalendarDays","popoverContentVariants","active","presetButtonVariants","Check","DayPicker","calendarClassNames","CalendarChevron"],"mappings":"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"}
|