@alfadocs/ui-kit-debug 0.1.8 → 0.2.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/README.md +30 -0
- package/dist/_chunks/accordion-DOmxGEWU.js +228 -0
- package/dist/_chunks/accordion-DOmxGEWU.js.map +1 -0
- package/dist/_chunks/{agenda-card-DIWDvWum.js → agenda-card-CalZqycc.js} +13 -3
- package/dist/_chunks/agenda-card-CalZqycc.js.map +1 -0
- package/dist/_chunks/agenda-card.agent-B_R47-c9.js +22 -0
- package/dist/_chunks/agenda-card.agent-B_R47-c9.js.map +1 -0
- package/dist/_chunks/agenda-tray-3ffFDQZC.js +181 -0
- package/dist/_chunks/agenda-tray-3ffFDQZC.js.map +1 -0
- package/dist/_chunks/ai-prompt-input-BBiDlEIS.js +476 -0
- package/dist/_chunks/ai-prompt-input-BBiDlEIS.js.map +1 -0
- package/dist/_chunks/{alert-BlOUMkXj.js → alert-B1sj8Ss0.js} +24 -14
- package/dist/_chunks/alert-B1sj8Ss0.js.map +1 -0
- package/dist/_chunks/{apexcharts-theme-BkSShpEy.js → apexcharts-theme-BJigns_V.js} +7 -2
- package/dist/_chunks/{apexcharts-theme-BkSShpEy.js.map → apexcharts-theme-BJigns_V.js.map} +1 -1
- package/dist/_chunks/{app-frame-6d7Lu4ea.js → app-frame-CDJOgPXe.js} +7 -16
- package/dist/_chunks/app-frame-CDJOgPXe.js.map +1 -0
- package/dist/_chunks/{aspect-ratio-CxsdG8vk.js → aspect-ratio-DeSNzASA.js} +12 -12
- package/dist/_chunks/aspect-ratio-DeSNzASA.js.map +1 -0
- package/dist/_chunks/audio-recorder-B4U1LuiQ.js +457 -0
- package/dist/_chunks/audio-recorder-B4U1LuiQ.js.map +1 -0
- package/dist/_chunks/{audio-visualiser-CeMPCZkd.js → audio-visualiser-ByDEFLNm.js} +25 -19
- package/dist/_chunks/audio-visualiser-ByDEFLNm.js.map +1 -0
- package/dist/_chunks/autocomplete-D4oUZbsP.js +466 -0
- package/dist/_chunks/autocomplete-D4oUZbsP.js.map +1 -0
- package/dist/_chunks/avatar-Dcr6XuDQ.js.map +1 -1
- package/dist/_chunks/{badge-mrstWxve.js → badge-DKFbntoa.js} +16 -13
- package/dist/_chunks/badge-DKFbntoa.js.map +1 -0
- package/dist/_chunks/{balance-cell-renderer-BWm3knY9.js → balance-cell-renderer-B8zgIM-m.js} +64 -45
- package/dist/_chunks/balance-cell-renderer-B8zgIM-m.js.map +1 -0
- package/dist/_chunks/breadcrumb-D1snXjPb.js +379 -0
- package/dist/_chunks/breadcrumb-D1snXjPb.js.map +1 -0
- package/dist/_chunks/{button-7mLWcMp_.js → button-DD_0Xdmr.js} +12 -2
- package/dist/_chunks/button-DD_0Xdmr.js.map +1 -0
- package/dist/_chunks/button-group-CONver7M.js.map +1 -1
- package/dist/_chunks/button.agent-BuGZBktn.js.map +1 -1
- package/dist/_chunks/{calendar-nGEgelJs.js → calendar-zy0tUUVG.js} +13 -18
- package/dist/_chunks/calendar-zy0tUUVG.js.map +1 -0
- package/dist/_chunks/{card-BEy58ZKp.js → card-CWzuTLYE.js} +40 -34
- package/dist/_chunks/card-CWzuTLYE.js.map +1 -0
- package/dist/_chunks/chart-BLvFl169.js +292 -0
- package/dist/_chunks/chart-BLvFl169.js.map +1 -0
- package/dist/_chunks/chat-container-ClzsWXp2.js +220 -0
- package/dist/_chunks/chat-container-ClzsWXp2.js.map +1 -0
- package/dist/_chunks/chat-input-DOlsB1fm.js +333 -0
- package/dist/_chunks/chat-input-DOlsB1fm.js.map +1 -0
- package/dist/_chunks/{chat-message-ByouZpPP.js → chat-message-DoAhgUTj.js} +23 -13
- package/dist/_chunks/chat-message-DoAhgUTj.js.map +1 -0
- package/dist/_chunks/checkbox-CtPM6Rup.js +196 -0
- package/dist/_chunks/checkbox-CtPM6Rup.js.map +1 -0
- package/dist/_chunks/checkbox-group-BTdEB6Yo.js +208 -0
- package/dist/_chunks/checkbox-group-BTdEB6Yo.js.map +1 -0
- package/dist/_chunks/collapsible-CuxUBoHJ.js +147 -0
- package/dist/_chunks/collapsible-CuxUBoHJ.js.map +1 -0
- package/dist/_chunks/{color-picker-e9PmpaGH.js → color-picker-CTIcHlDF.js} +321 -205
- package/dist/_chunks/color-picker-CTIcHlDF.js.map +1 -0
- package/dist/_chunks/combobox-DCNXqbC7.js +460 -0
- package/dist/_chunks/combobox-DCNXqbC7.js.map +1 -0
- package/dist/_chunks/command-palette-C_vgSgrI.js +441 -0
- package/dist/_chunks/command-palette-C_vgSgrI.js.map +1 -0
- package/dist/_chunks/date-picker-B1PO1ZQP.js +1822 -0
- package/dist/_chunks/date-picker-B1PO1ZQP.js.map +1 -0
- package/dist/_chunks/date-range-picker-mix2nEVC.js +287 -0
- package/dist/_chunks/date-range-picker-mix2nEVC.js.map +1 -0
- package/dist/_chunks/date-time-picker-Dnong_BY.js +308 -0
- package/dist/_chunks/date-time-picker-Dnong_BY.js.map +1 -0
- package/dist/_chunks/{description-list-DvJbp6Yg.js → description-list-BYA77Yud.js} +26 -23
- package/dist/_chunks/description-list-BYA77Yud.js.map +1 -0
- package/dist/_chunks/dialog-BPD7wlGE.js +211 -0
- package/dist/_chunks/dialog-BPD7wlGE.js.map +1 -0
- package/dist/_chunks/dropdown-menu-CpiF6CPz.js +300 -0
- package/dist/_chunks/dropdown-menu-CpiF6CPz.js.map +1 -0
- package/dist/_chunks/{empty-state-DQPtRp2b.js → empty-state-3CLJIXSj.js} +132 -101
- package/dist/_chunks/empty-state-3CLJIXSj.js.map +1 -0
- package/dist/_chunks/file-upload-C947ACDK.js +829 -0
- package/dist/_chunks/file-upload-C947ACDK.js.map +1 -0
- package/dist/_chunks/flag-DZ6V7-hU.js.map +1 -1
- package/dist/_chunks/{floating-action-button-Cnw-f6AG.js → floating-action-button-C8OYj8mE.js} +9 -2
- package/dist/_chunks/floating-action-button-C8OYj8mE.js.map +1 -0
- package/dist/_chunks/{form-field-BfsPLTSc.js → form-field-Bmkeh7WY.js} +12 -11
- package/dist/_chunks/form-field-Bmkeh7WY.js.map +1 -0
- package/dist/_chunks/{form-field-context-94LwgYTQ.js → form-field-context-B3APVHKx.js} +4 -2
- package/dist/_chunks/form-field-context-B3APVHKx.js.map +1 -0
- package/dist/_chunks/freemium-paywall-CnvceDav.js +267 -0
- package/dist/_chunks/freemium-paywall-CnvceDav.js.map +1 -0
- package/dist/_chunks/{header-BGn1mRp8.js → header-D0ULgQl3.js} +69 -68
- package/dist/_chunks/header-D0ULgQl3.js.map +1 -0
- package/dist/_chunks/{icon-button-Wnnde5lc.js → icon-button-C4CGcYuz.js} +11 -3
- package/dist/_chunks/icon-button-C4CGcYuz.js.map +1 -0
- package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +1 -1
- package/dist/_chunks/{kbd-8baVw3KU.js → kbd-Cglkd7CY.js} +6 -2
- package/dist/_chunks/kbd-Cglkd7CY.js.map +1 -0
- package/dist/_chunks/{key-value-pair-JRFS9Xrh.js → key-value-pair-CgWvAIGb.js} +2 -2
- package/dist/_chunks/key-value-pair-CgWvAIGb.js.map +1 -0
- package/dist/_chunks/{leo-sidebar-nbHib2D-.js → leo-sidebar-CfEY-xi2.js} +16 -20
- package/dist/_chunks/leo-sidebar-CfEY-xi2.js.map +1 -0
- package/dist/_chunks/link-8QmFjIz2.js +118 -0
- package/dist/_chunks/link-8QmFjIz2.js.map +1 -0
- package/dist/_chunks/list-qP6p0NTw.js +434 -0
- package/dist/_chunks/list-qP6p0NTw.js.map +1 -0
- package/dist/_chunks/live-region-C41SO3cA.js.map +1 -1
- package/dist/_chunks/{logo-BpFoCL-s.js → logo-_Z-jLq80.js} +155 -26
- package/dist/_chunks/logo-_Z-jLq80.js.map +1 -0
- package/dist/_chunks/{matrix-rain-BEkvux64.js → matrix-rain-CRPMXcVx.js} +8 -2
- package/dist/_chunks/matrix-rain-CRPMXcVx.js.map +1 -0
- package/dist/_chunks/{message-card-qAp2-WQK.js → message-card-ChCX9Iv6.js} +64 -60
- package/dist/_chunks/message-card-ChCX9Iv6.js.map +1 -0
- package/dist/_chunks/message-card.agent-4IeIgrnJ.js +22 -0
- package/dist/_chunks/message-card.agent-4IeIgrnJ.js.map +1 -0
- package/dist/_chunks/message-tray-n8q9ITXI.js +414 -0
- package/dist/_chunks/message-tray-n8q9ITXI.js.map +1 -0
- package/dist/_chunks/multi-select-wqqrgjUQ.js +545 -0
- package/dist/_chunks/multi-select-wqqrgjUQ.js.map +1 -0
- package/dist/_chunks/navigation-menu-ClbHeawy.js +279 -0
- package/dist/_chunks/navigation-menu-ClbHeawy.js.map +1 -0
- package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +1 -1
- package/dist/_chunks/{notification-card-BF2_veHy.js → notification-card-hBlPN1-c.js} +15 -14
- package/dist/_chunks/notification-card-hBlPN1-c.js.map +1 -0
- package/dist/_chunks/notification-card.agent-Rqt3ofk9.js +22 -0
- package/dist/_chunks/notification-card.agent-Rqt3ofk9.js.map +1 -0
- package/dist/_chunks/notification-tray-C5cnXbl9.js +448 -0
- package/dist/_chunks/notification-tray-C5cnXbl9.js.map +1 -0
- package/dist/_chunks/number-input-Q7wkHnvQ.js +337 -0
- package/dist/_chunks/number-input-Q7wkHnvQ.js.map +1 -0
- package/dist/_chunks/otp-input-C9gUByF0.js +260 -0
- package/dist/_chunks/otp-input-C9gUByF0.js.map +1 -0
- package/dist/_chunks/pagination-3AC4zTsi.js +462 -0
- package/dist/_chunks/pagination-3AC4zTsi.js.map +1 -0
- package/dist/_chunks/password-input-C4LmjIH1.js +301 -0
- package/dist/_chunks/password-input-C4LmjIH1.js.map +1 -0
- package/dist/_chunks/{patient-shell-7cXqIMFg.js → patient-shell-BlsEUKWB.js} +10 -15
- package/dist/_chunks/{patient-shell-7cXqIMFg.js.map → patient-shell-BlsEUKWB.js.map} +1 -1
- package/dist/_chunks/{payment-form-hcl-gGrp.js → payment-form-C3vT_npe.js} +212 -201
- package/dist/_chunks/payment-form-C3vT_npe.js.map +1 -0
- package/dist/_chunks/pdf-viewer-CZIfY08H.js +895 -0
- package/dist/_chunks/pdf-viewer-CZIfY08H.js.map +1 -0
- package/dist/_chunks/phone-input-CSHJOJ13.js +508 -0
- package/dist/_chunks/phone-input-CSHJOJ13.js.map +1 -0
- package/dist/_chunks/popover-DekUKNBk.js +293 -0
- package/dist/_chunks/popover-DekUKNBk.js.map +1 -0
- package/dist/_chunks/privacy-lock-BKsI6ReN.js +193 -0
- package/dist/_chunks/privacy-lock-BKsI6ReN.js.map +1 -0
- package/dist/_chunks/progress-C11tqhoI.js +298 -0
- package/dist/_chunks/progress-C11tqhoI.js.map +1 -0
- package/dist/_chunks/{radio-cs8N1wJi.js → radio-DvF59ThA.js} +14 -13
- package/dist/_chunks/radio-DvF59ThA.js.map +1 -0
- package/dist/_chunks/radio-group-Cz1a4QCA.js +152 -0
- package/dist/_chunks/radio-group-Cz1a4QCA.js.map +1 -0
- package/dist/_chunks/react-day-picker-C04L_28V.js.map +1 -1
- package/dist/_chunks/recaptcha-widget-NyfOfLII.js +192 -0
- package/dist/_chunks/recaptcha-widget-NyfOfLII.js.map +1 -0
- package/dist/_chunks/resizable-mpXXyIsN.js +483 -0
- package/dist/_chunks/resizable-mpXXyIsN.js.map +1 -0
- package/dist/_chunks/{rich-text-editor.agent-COSb5_2D.js → rich-text-editor-C7TCIlQO.js} +387 -291
- package/dist/_chunks/rich-text-editor-C7TCIlQO.js.map +1 -0
- package/dist/_chunks/safe-image-src-DstKgCo7.js.map +1 -1
- package/dist/_chunks/{scroll-area-DLr5w9Dd.js → scroll-area-DEDU-lp-.js} +67 -54
- package/dist/_chunks/scroll-area-DEDU-lp-.js.map +1 -0
- package/dist/_chunks/search-bar-BTDfgYtg.js +585 -0
- package/dist/_chunks/search-bar-BTDfgYtg.js.map +1 -0
- package/dist/_chunks/search-input-CdJIEjFo.js +236 -0
- package/dist/_chunks/search-input-CdJIEjFo.js.map +1 -0
- package/dist/_chunks/search-input.agent-CfZvViOd.js +69 -0
- package/dist/_chunks/search-input.agent-CfZvViOd.js.map +1 -0
- package/dist/_chunks/select-y6bXV1f1.js +411 -0
- package/dist/_chunks/select-y6bXV1f1.js.map +1 -0
- package/dist/_chunks/{separator-B4wXDLNC.js → separator-CYU_bGFn.js} +2 -5
- package/dist/_chunks/separator-CYU_bGFn.js.map +1 -0
- package/dist/_chunks/{sheet-BhNpLHc9.js → sheet-4tgMFwj0.js} +141 -65
- package/dist/_chunks/sheet-4tgMFwj0.js.map +1 -0
- package/dist/_chunks/{sidebar-OVzwN3jE.js → sidebar-Bx3wCDyy.js} +576 -484
- package/dist/_chunks/sidebar-Bx3wCDyy.js.map +1 -0
- package/dist/_chunks/{sign-in-with-alfadocs-button-BN_FPGHT.js → sign-in-with-alfadocs-button-B9UrqOqH.js} +9 -5
- package/dist/_chunks/sign-in-with-alfadocs-button-B9UrqOqH.js.map +1 -0
- package/dist/_chunks/{signature-capture.agent-C38VPXxg.js → signature-capture-DjMlFOzS.js} +258 -253
- package/dist/_chunks/signature-capture-DjMlFOzS.js.map +1 -0
- package/dist/_chunks/{skeleton-dtqyF09N.js → skeleton-CZbwyJAA.js} +9 -3
- package/dist/_chunks/skeleton-CZbwyJAA.js.map +1 -0
- package/dist/_chunks/skip-link-DmZ3c6cb.js.map +1 -1
- package/dist/_chunks/slider-BT2bZWsy.js +326 -0
- package/dist/_chunks/slider-BT2bZWsy.js.map +1 -0
- package/dist/_chunks/{slot-grid-D_l5VsHG.js → slot-grid-CgpYgBkW.js} +105 -95
- package/dist/_chunks/slot-grid-CgpYgBkW.js.map +1 -0
- package/dist/_chunks/sparkline-_gy8aJDG.js +252 -0
- package/dist/_chunks/sparkline-_gy8aJDG.js.map +1 -0
- package/dist/_chunks/{spinner-GCcv67vh.js → spinner-DLaYfLPl.js} +66 -14
- package/dist/_chunks/spinner-DLaYfLPl.js.map +1 -0
- package/dist/_chunks/{stat-DUB6g90R.js → stat-B9PHSPbN.js} +45 -27
- package/dist/_chunks/stat-B9PHSPbN.js.map +1 -0
- package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +322 -0
- package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js.map +1 -0
- package/dist/_chunks/stepper-calendar-BLOJUE0-.js +648 -0
- package/dist/_chunks/stepper-calendar-BLOJUE0-.js.map +1 -0
- package/dist/_chunks/stepper-progress-jFY8BSf7.js +208 -0
- package/dist/_chunks/stepper-progress-jFY8BSf7.js.map +1 -0
- package/dist/_chunks/streaming-text-BgjCTVOw.js.map +1 -1
- package/dist/_chunks/suggestion-chip-C4Jz0LrM.js +167 -0
- package/dist/_chunks/suggestion-chip-C4Jz0LrM.js.map +1 -0
- package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js +46 -0
- package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js.map +1 -0
- package/dist/_chunks/switch-C0psfIQF.js +196 -0
- package/dist/_chunks/switch-C0psfIQF.js.map +1 -0
- package/dist/_chunks/tabs-DaFA3Muo.js +399 -0
- package/dist/_chunks/tabs-DaFA3Muo.js.map +1 -0
- package/dist/_chunks/{tag-BqidXKo3.js → tag-DuLMjRbF.js} +90 -32
- package/dist/_chunks/tag-DuLMjRbF.js.map +1 -0
- package/dist/_chunks/{task-card-yW7tKlG4.js → task-card-Dw_ZJDL8.js} +6 -2
- package/dist/_chunks/task-card-Dw_ZJDL8.js.map +1 -0
- package/dist/_chunks/task-card.agent-CUPKYd7w.js +22 -0
- package/dist/_chunks/task-card.agent-CUPKYd7w.js.map +1 -0
- package/dist/_chunks/task-tray-XlIW9ueh.js +195 -0
- package/dist/_chunks/task-tray-XlIW9ueh.js.map +1 -0
- package/dist/_chunks/text-area-CO9Dz0qX.js +239 -0
- package/dist/_chunks/text-area-CO9Dz0qX.js.map +1 -0
- package/dist/_chunks/text-input-DZwt9L8H.js +275 -0
- package/dist/_chunks/text-input-DZwt9L8H.js.map +1 -0
- package/dist/_chunks/{theme-root-DDb0TJjd.js → theme-root-CSKD5ZRm.js} +9 -2
- package/dist/_chunks/{theme-root-DDb0TJjd.js.map → theme-root-CSKD5ZRm.js.map} +1 -1
- package/dist/_chunks/theme-toggle-B9zzCnvl.js +396 -0
- package/dist/_chunks/theme-toggle-B9zzCnvl.js.map +1 -0
- package/dist/_chunks/time-picker-DvPUmHH-.js +412 -0
- package/dist/_chunks/time-picker-DvPUmHH-.js.map +1 -0
- package/dist/_chunks/timeline-BvmnQadS.js +279 -0
- package/dist/_chunks/timeline-BvmnQadS.js.map +1 -0
- package/dist/_chunks/timestamp-BV2lC-wV.js.map +1 -1
- package/dist/_chunks/{toast-lOhJDKOH.js → toast.agent-BwKXA0km.js} +443 -344
- package/dist/_chunks/toast.agent-BwKXA0km.js.map +1 -0
- package/dist/_chunks/{tooth-scheme.agent-BlDyu-Gx.js → tooth-scheme-3mITSXiZ.js} +256 -265
- package/dist/_chunks/tooth-scheme-3mITSXiZ.js.map +1 -0
- package/dist/_chunks/transcript-panel-Bx5ANMsv.js +346 -0
- package/dist/_chunks/transcript-panel-Bx5ANMsv.js.map +1 -0
- package/dist/_chunks/{typing-indicator-CbUBf-Dx.js → typing-indicator-BZ5jXZPn.js} +27 -5
- package/dist/_chunks/typing-indicator-BZ5jXZPn.js.map +1 -0
- package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +1 -1
- package/dist/_chunks/{use-theme-BMUhembX.js → use-theme-B1cwAXJR.js} +2 -5
- package/dist/_chunks/use-theme-B1cwAXJR.js.map +1 -0
- package/dist/_chunks/{visually-hidden-Bw7vBHLm.js → visually-hidden-BHxEUGyT.js} +11 -2
- package/dist/_chunks/{visually-hidden-Bw7vBHLm.js.map → visually-hidden-BHxEUGyT.js.map} +1 -1
- package/dist/_chunks/{warning-stack-8Pa3pekh.js → warning-stack-VygGHSqC.js} +11 -13
- package/dist/_chunks/warning-stack-VygGHSqC.js.map +1 -0
- package/dist/_chunks/{workflow-map-XeqHDFvp.js → workflow-map-C-nlogPC.js} +563 -488
- package/dist/_chunks/workflow-map-C-nlogPC.js.map +1 -0
- package/dist/agent-catalog.json +3577 -351
- package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +1 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +1 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +1 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +1 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +1 -1
- package/dist/components/_shared/date-locale.d.ts.map +1 -1
- package/dist/components/_shared/index.d.ts +2 -2
- package/dist/components/_shared/index.d.ts.map +1 -1
- package/dist/components/_shared/normalize-diacritics.d.ts.map +1 -1
- package/dist/components/_shared/safe-html.d.ts.map +1 -1
- package/dist/components/_shared/safe-image-src.d.ts.map +1 -1
- package/dist/components/_shared/use-focus-trap.d.ts.map +1 -1
- package/dist/components/accordion/accordion.agent.d.ts +2 -1
- package/dist/components/accordion/accordion.agent.d.ts.map +1 -1
- package/dist/components/accordion/accordion.d.ts +6 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/accordion/index.d.ts +1 -1
- package/dist/components/accordion/index.d.ts.map +1 -1
- package/dist/components/accordion/index.js +5 -6
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/agenda-card/agenda-card.agent.d.ts +3 -0
- package/dist/components/agenda-card/agenda-card.agent.d.ts.map +1 -0
- package/dist/components/agenda-card/agenda-card.d.ts.map +1 -1
- package/dist/components/agenda-card/index.d.ts +1 -0
- package/dist/components/agenda-card/index.d.ts.map +1 -1
- package/dist/components/agenda-card/index.js +3 -1
- package/dist/components/agenda-card/index.js.map +1 -1
- package/dist/components/agenda-tray/agenda-tray.agent.d.ts +4 -0
- package/dist/components/agenda-tray/agenda-tray.agent.d.ts.map +1 -0
- package/dist/components/agenda-tray/agenda-tray.d.ts +18 -1
- package/dist/components/agenda-tray/agenda-tray.d.ts.map +1 -1
- package/dist/components/agenda-tray/index.d.ts +2 -1
- package/dist/components/agenda-tray/index.d.ts.map +1 -1
- package/dist/components/agenda-tray/index.js +3 -2
- package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts +4 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts.map +1 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +18 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
- package/dist/components/ai-prompt-input/index.d.ts +2 -1
- package/dist/components/ai-prompt-input/index.d.ts.map +1 -1
- package/dist/components/ai-prompt-input/index.js +3 -2
- package/dist/components/alert/alert.d.ts.map +1 -1
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/alert/index.d.ts.map +1 -1
- package/dist/components/alert/index.js +1 -1
- package/dist/components/app-frame/app-frame.d.ts.map +1 -1
- package/dist/components/app-frame/index.js +1 -1
- package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -1
- package/dist/components/aspect-ratio/index.js +1 -1
- package/dist/components/audio-recorder/audio-recorder.agent.d.ts +4 -0
- package/dist/components/audio-recorder/audio-recorder.agent.d.ts.map +1 -0
- package/dist/components/audio-recorder/audio-recorder.d.ts +10 -1
- package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -1
- package/dist/components/audio-recorder/index.d.ts +2 -1
- package/dist/components/audio-recorder/index.d.ts.map +1 -1
- package/dist/components/audio-recorder/index.js +3 -2
- package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -1
- package/dist/components/audio-visualiser/index.js +1 -1
- package/dist/components/autocomplete/autocomplete.agent.d.ts +2 -1
- package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -1
- package/dist/components/autocomplete/autocomplete.d.ts +10 -0
- package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/badge/badge.d.ts.map +1 -1
- package/dist/components/badge/index.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.agent.d.ts +8 -0
- package/dist/components/breadcrumb/breadcrumb.agent.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +20 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/index.d.ts +2 -1
- package/dist/components/breadcrumb/index.d.ts.map +1 -1
- package/dist/components/breadcrumb/index.js +5 -4
- package/dist/components/button/button.agent.d.ts.map +1 -1
- package/dist/components/button/button.d.ts +1 -1
- package/dist/components/button/button.d.ts.map +1 -1
- package/dist/components/button/icon-button.d.ts.map +1 -1
- package/dist/components/button/index.js +2 -2
- package/dist/components/button-group/button-group.d.ts.map +1 -1
- package/dist/components/calendar/calendar.agent.d.ts.map +1 -1
- package/dist/components/calendar/calendar.d.ts.map +1 -1
- package/dist/components/calendar/contrast-warning.d.ts.map +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card/index.js +1 -1
- package/dist/components/chart/chart.agent.d.ts.map +1 -1
- package/dist/components/chart/chart.d.ts +2 -0
- package/dist/components/chart/chart.d.ts.map +1 -1
- package/dist/components/chart/index.d.ts +1 -1
- package/dist/components/chart/index.d.ts.map +1 -1
- package/dist/components/chart/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 +4 -2
- package/dist/components/chat-container/chat-container.d.ts.map +1 -1
- package/dist/components/chat-container/index.js +2 -3
- package/dist/components/chat-container/index.js.map +1 -1
- package/dist/components/chat-input/chat-input.agent.d.ts +4 -0
- package/dist/components/chat-input/chat-input.agent.d.ts.map +1 -0
- package/dist/components/chat-input/chat-input.d.ts +10 -1
- package/dist/components/chat-input/chat-input.d.ts.map +1 -1
- package/dist/components/chat-input/index.d.ts +2 -1
- package/dist/components/chat-input/index.d.ts.map +1 -1
- package/dist/components/chat-input/index.js +3 -2
- package/dist/components/chat-message/chat-message.d.ts.map +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/checkbox/checkbox.agent.d.ts +4 -0
- package/dist/components/checkbox/checkbox.agent.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +6 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/checkbox-group/checkbox-group.agent.d.ts +4 -0
- package/dist/components/checkbox-group/checkbox-group.agent.d.ts.map +1 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts +8 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/dist/components/checkbox-group/index.d.ts +1 -1
- package/dist/components/checkbox-group/index.d.ts.map +1 -1
- package/dist/components/checkbox-group/index.js +1 -1
- package/dist/components/collapsible/collapsible.agent.d.ts +4 -0
- package/dist/components/collapsible/collapsible.agent.d.ts.map +1 -0
- package/dist/components/collapsible/collapsible.d.ts +7 -0
- package/dist/components/collapsible/collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/index.d.ts +3 -2
- package/dist/components/collapsible/index.d.ts.map +1 -1
- package/dist/components/collapsible/index.js +4 -3
- package/dist/components/color-picker/color-picker.agent.d.ts +4 -0
- package/dist/components/color-picker/color-picker.agent.d.ts.map +1 -0
- package/dist/components/color-picker/color-picker.d.ts +5 -0
- package/dist/components/color-picker/color-picker.d.ts.map +1 -1
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/combobox/combobox.agent.d.ts +2 -1
- package/dist/components/combobox/combobox.agent.d.ts.map +1 -1
- package/dist/components/combobox/combobox.d.ts +10 -0
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/index.d.ts +1 -1
- package/dist/components/combobox/index.d.ts.map +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/command-palette/command-palette.agent.d.ts +2 -1
- package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -1
- package/dist/components/command-palette/command-palette.d.ts +52 -12
- package/dist/components/command-palette/command-palette.d.ts.map +1 -1
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/data-table.agent.d.ts.map +1 -1
- package/dist/components/data-table/data-table.d.ts +3 -1
- package/dist/components/data-table/data-table.d.ts.map +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/data-table/toolbar.d.ts +6 -5
- package/dist/components/data-table/toolbar.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker.agent.d.ts +4 -0
- package/dist/components/date-picker/date-picker.agent.d.ts.map +1 -0
- package/dist/components/date-picker/date-picker.d.ts +15 -0
- package/dist/components/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/index.d.ts +2 -1
- package/dist/components/date-picker/index.d.ts.map +1 -1
- package/dist/components/date-picker/index.js +3 -2
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts +4 -0
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.d.ts +16 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.d.ts +2 -1
- package/dist/components/date-range-picker/index.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +3 -2
- package/dist/components/date-time-picker/date-time-picker.agent.d.ts +4 -0
- package/dist/components/date-time-picker/date-time-picker.agent.d.ts.map +1 -0
- package/dist/components/date-time-picker/date-time-picker.d.ts +16 -1
- package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -1
- package/dist/components/date-time-picker/index.d.ts +2 -1
- package/dist/components/date-time-picker/index.d.ts.map +1 -1
- package/dist/components/date-time-picker/index.js +3 -2
- package/dist/components/description-list/description-list.d.ts +1 -2
- package/dist/components/description-list/description-list.d.ts.map +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/dialog/dialog.agent.d.ts +5 -6
- package/dist/components/dialog/dialog.agent.d.ts.map +1 -1
- package/dist/components/dialog/dialog.d.ts +11 -2
- package/dist/components/dialog/dialog.d.ts.map +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +2 -1
- package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +20 -17
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/index.js +3 -4
- package/dist/components/dropdown-menu/index.js.map +1 -1
- package/dist/components/empty-state/empty-state.d.ts.map +1 -1
- package/dist/components/empty-state/index.js +1 -1
- package/dist/components/file-upload/file-upload.agent.d.ts +2 -1
- package/dist/components/file-upload/file-upload.agent.d.ts.map +1 -1
- package/dist/components/file-upload/file-upload.d.ts +12 -0
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/index.d.ts +1 -1
- package/dist/components/file-upload/index.d.ts.map +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/flag/flag.d.ts.map +1 -1
- package/dist/components/floating-action-button/floating-action-button.d.ts.map +1 -1
- package/dist/components/floating-action-button/index.js +1 -1
- package/dist/components/form-field/form-field-context.d.ts.map +1 -1
- package/dist/components/form-field/form-field.d.ts.map +1 -1
- package/dist/components/form-field/index.js +2 -2
- package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts +4 -0
- package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts.map +1 -0
- package/dist/components/freemium-paywall/freemium-paywall.d.ts +7 -0
- package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
- package/dist/components/freemium-paywall/index.d.ts +2 -1
- package/dist/components/freemium-paywall/index.d.ts.map +1 -1
- package/dist/components/freemium-paywall/index.js +3 -2
- package/dist/components/header/header.d.ts.map +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/icon-button/index.js +1 -1
- package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/kbd/index.js +1 -1
- package/dist/components/kbd/kbd.d.ts.map +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/key-value-pair/key-value-pair.d.ts.map +1 -1
- package/dist/components/link/index.d.ts +2 -0
- package/dist/components/link/index.d.ts.map +1 -0
- package/dist/components/link/index.js +5 -0
- package/dist/components/link/index.js.map +1 -0
- package/dist/components/link/link.d.ts +39 -0
- package/dist/components/link/link.d.ts.map +1 -0
- package/dist/components/list/index.d.ts +2 -1
- package/dist/components/list/index.d.ts.map +1 -1
- package/dist/components/list/index.js +3 -2
- package/dist/components/list/list.agent.d.ts +4 -0
- package/dist/components/list/list.agent.d.ts.map +1 -0
- package/dist/components/list/list.d.ts +8 -2
- package/dist/components/list/list.d.ts.map +1 -1
- package/dist/components/live-region/live-region.d.ts.map +1 -1
- package/dist/components/logo/index.js +1 -1
- package/dist/components/logo/logo.d.ts.map +1 -1
- package/dist/components/matrix-rain/index.js +1 -1
- package/dist/components/matrix-rain/matrix-rain.d.ts.map +1 -1
- package/dist/components/message-card/index.d.ts +2 -1
- package/dist/components/message-card/index.d.ts.map +1 -1
- package/dist/components/message-card/index.js +5 -3
- package/dist/components/message-card/index.js.map +1 -1
- package/dist/components/message-card/message-card.agent.d.ts +3 -0
- package/dist/components/message-card/message-card.agent.d.ts.map +1 -0
- package/dist/components/message-card/message-card.d.ts.map +1 -1
- package/dist/components/message-tray/index.d.ts +2 -1
- package/dist/components/message-tray/index.d.ts.map +1 -1
- package/dist/components/message-tray/index.js +3 -2
- package/dist/components/message-tray/message-tray.agent.d.ts +4 -0
- package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -0
- package/dist/components/message-tray/message-tray.d.ts +26 -1
- package/dist/components/message-tray/message-tray.d.ts.map +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/multi-select/multi-select.agent.d.ts +2 -1
- package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -1
- package/dist/components/multi-select/multi-select.d.ts +10 -0
- package/dist/components/multi-select/multi-select.d.ts.map +1 -1
- package/dist/components/navigation-menu/index.d.ts +2 -1
- package/dist/components/navigation-menu/index.d.ts.map +1 -1
- package/dist/components/navigation-menu/index.js +7 -6
- package/dist/components/navigation-menu/navigation-menu.agent.d.ts +4 -0
- package/dist/components/navigation-menu/navigation-menu.agent.d.ts.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.d.ts +27 -1
- package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
- package/dist/components/notification-card/index.d.ts +2 -1
- package/dist/components/notification-card/index.d.ts.map +1 -1
- package/dist/components/notification-card/index.js +5 -3
- package/dist/components/notification-card/index.js.map +1 -1
- package/dist/components/notification-card/notification-card.agent.d.ts +3 -0
- package/dist/components/notification-card/notification-card.agent.d.ts.map +1 -0
- package/dist/components/notification-card/notification-card.d.ts.map +1 -1
- package/dist/components/notification-tray/index.d.ts +2 -1
- package/dist/components/notification-tray/index.d.ts.map +1 -1
- package/dist/components/notification-tray/index.js +3 -2
- package/dist/components/notification-tray/notification-tray.agent.d.ts +4 -0
- package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -0
- package/dist/components/notification-tray/notification-tray.d.ts +26 -1
- package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/number-input/number-input.agent.d.ts +4 -0
- package/dist/components/number-input/number-input.agent.d.ts.map +1 -0
- package/dist/components/number-input/number-input.d.ts +7 -0
- package/dist/components/number-input/number-input.d.ts.map +1 -1
- package/dist/components/number-input/use-locale-number.d.ts.map +1 -1
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/otp-input/otp-input.agent.d.ts +4 -0
- package/dist/components/otp-input/otp-input.agent.d.ts.map +1 -0
- package/dist/components/otp-input/otp-input.d.ts +10 -0
- package/dist/components/otp-input/otp-input.d.ts.map +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/pagination.agent.d.ts +2 -1
- package/dist/components/pagination/pagination.agent.d.ts.map +1 -1
- package/dist/components/pagination/pagination.d.ts +11 -6
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/password-input/password-input.agent.d.ts +4 -0
- package/dist/components/password-input/password-input.agent.d.ts.map +1 -0
- package/dist/components/password-input/password-input.d.ts +9 -0
- package/dist/components/password-input/password-input.d.ts.map +1 -1
- package/dist/components/payment-form/index.js +7 -8
- package/dist/components/payment-form/index.js.map +1 -1
- package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -1
- package/dist/components/payment-form/payment-form.d.ts +3 -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 +2 -0
- package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/components/phone-input/index.d.ts +1 -1
- package/dist/components/phone-input/index.d.ts.map +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/phone-input/phone-input.agent.d.ts +4 -0
- package/dist/components/phone-input/phone-input.agent.d.ts.map +1 -0
- package/dist/components/phone-input/phone-input.d.ts +7 -0
- package/dist/components/phone-input/phone-input.d.ts.map +1 -1
- package/dist/components/popover/index.js +3 -4
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/popover.agent.d.ts +2 -1
- package/dist/components/popover/popover.agent.d.ts.map +1 -1
- package/dist/components/popover/popover.d.ts +8 -1
- package/dist/components/popover/popover.d.ts.map +1 -1
- package/dist/components/privacy-lock/index.d.ts +2 -1
- package/dist/components/privacy-lock/index.d.ts.map +1 -1
- package/dist/components/privacy-lock/index.js +3 -2
- package/dist/components/privacy-lock/privacy-lock.agent.d.ts +4 -0
- package/dist/components/privacy-lock/privacy-lock.agent.d.ts.map +1 -0
- package/dist/components/privacy-lock/privacy-lock.d.ts +6 -0
- package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -1
- package/dist/components/progress/index.js +3 -4
- package/dist/components/progress/index.js.map +1 -1
- package/dist/components/progress/progress.agent.d.ts.map +1 -1
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/radio/index.js +1 -1
- package/dist/components/radio-group/index.js +2 -2
- package/dist/components/radio-group/radio-group.agent.d.ts +4 -0
- package/dist/components/radio-group/radio-group.agent.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.d.ts +5 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group/radio.d.ts.map +1 -1
- package/dist/components/recaptcha-widget/index.d.ts +3 -0
- package/dist/components/recaptcha-widget/index.d.ts.map +1 -0
- package/dist/components/recaptcha-widget/index.js +6 -0
- package/dist/components/recaptcha-widget/index.js.map +1 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts +4 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts.map +1 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.d.ts +56 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +1 -0
- package/dist/components/resizable/index.d.ts +1 -1
- package/dist/components/resizable/index.d.ts.map +1 -1
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/resizable/resizable-context.d.ts.map +1 -1
- package/dist/components/resizable/resizable.agent.d.ts +2 -1
- package/dist/components/resizable/resizable.agent.d.ts.map +1 -1
- package/dist/components/resizable/resizable.d.ts +6 -0
- package/dist/components/resizable/resizable.d.ts.map +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
- package/dist/components/rich-text-editor/rich-text-editor.d.ts +2 -0
- package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
- package/dist/components/scroll-area/index.js +1 -1
- package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
- package/dist/components/search-bar/index.d.ts +2 -1
- package/dist/components/search-bar/index.d.ts.map +1 -1
- package/dist/components/search-bar/index.js +3 -2
- package/dist/components/search-bar/search-bar.agent.d.ts +4 -0
- package/dist/components/search-bar/search-bar.agent.d.ts.map +1 -0
- package/dist/components/search-bar/search-bar.d.ts +26 -0
- package/dist/components/search-bar/search-bar.d.ts.map +1 -1
- package/dist/components/search-input/index.d.ts +2 -1
- package/dist/components/search-input/index.d.ts.map +1 -1
- package/dist/components/search-input/index.js +4 -2
- package/dist/components/search-input/index.js.map +1 -1
- package/dist/components/search-input/search-input.agent.d.ts +4 -0
- package/dist/components/search-input/search-input.agent.d.ts.map +1 -0
- package/dist/components/search-input/search-input.d.ts +27 -0
- package/dist/components/search-input/search-input.d.ts.map +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/select.agent.d.ts +4 -0
- package/dist/components/select/select.agent.d.ts.map +1 -0
- package/dist/components/select/select.d.ts +10 -1
- package/dist/components/select/select.d.ts.map +1 -1
- package/dist/components/separator/index.js +1 -1
- package/dist/components/separator/separator.d.ts.map +1 -1
- package/dist/components/sheet/index.js +3 -4
- package/dist/components/sheet/index.js.map +1 -1
- package/dist/components/sheet/sheet.agent.d.ts +2 -1
- package/dist/components/sheet/sheet.agent.d.ts.map +1 -1
- package/dist/components/sheet/sheet.d.ts +11 -2
- package/dist/components/sheet/sheet.d.ts.map +1 -1
- package/dist/components/sidebar/index.js +7 -8
- package/dist/components/sidebar/index.js.map +1 -1
- package/dist/components/sidebar/sidebar.agent.d.ts +2 -1
- package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.d.ts +4 -0
- package/dist/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +1 -1
- package/dist/components/signature-capture/index.js +1 -1
- package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -1
- package/dist/components/signature-capture/signature-capture.d.ts +2 -0
- package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
- package/dist/components/skeleton/index.js +1 -1
- package/dist/components/skeleton/skeleton.d.ts.map +1 -1
- package/dist/components/skip-link/skip-link.d.ts.map +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/slider.agent.d.ts +4 -0
- package/dist/components/slider/slider.agent.d.ts.map +1 -0
- package/dist/components/slider/slider.d.ts +5 -0
- package/dist/components/slider/slider.d.ts.map +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- 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.map +1 -1
- package/dist/components/sparkline/use-linear-trend.d.ts.map +1 -1
- package/dist/components/spinner/index.js +1 -1
- package/dist/components/spinner/spinner.d.ts.map +1 -1
- package/dist/components/stat/index.js +1 -1
- package/dist/components/stat/stat.d.ts.map +1 -1
- package/dist/components/stepper-accordion/index.d.ts +2 -1
- package/dist/components/stepper-accordion/index.d.ts.map +1 -1
- package/dist/components/stepper-accordion/index.js +3 -2
- package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts +4 -0
- package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts.map +1 -0
- package/dist/components/stepper-accordion/stepper-accordion.d.ts +19 -1
- package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -1
- package/dist/components/stepper-calendar/index.d.ts +2 -1
- package/dist/components/stepper-calendar/index.d.ts.map +1 -1
- package/dist/components/stepper-calendar/index.js +3 -2
- package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +4 -0
- package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts.map +1 -0
- package/dist/components/stepper-calendar/stepper-calendar.d.ts +18 -0
- package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +1 -1
- package/dist/components/stepper-progress/index.d.ts +2 -1
- package/dist/components/stepper-progress/index.d.ts.map +1 -1
- package/dist/components/stepper-progress/index.js +3 -2
- package/dist/components/stepper-progress/stepper-progress.agent.d.ts +4 -0
- package/dist/components/stepper-progress/stepper-progress.agent.d.ts.map +1 -0
- package/dist/components/stepper-progress/stepper-progress.d.ts +25 -0
- package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -1
- package/dist/components/streaming-text/streaming-text.d.ts.map +1 -1
- package/dist/components/suggestion-chip/index.d.ts +2 -1
- package/dist/components/suggestion-chip/index.d.ts.map +1 -1
- package/dist/components/suggestion-chip/index.js +5 -3
- package/dist/components/suggestion-chip/index.js.map +1 -1
- package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts +4 -0
- package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts.map +1 -0
- package/dist/components/suggestion-chip/suggestion-chip.d.ts +7 -1
- package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +1 -1
- package/dist/components/switch/index.js +1 -1
- package/dist/components/switch/switch.agent.d.ts +4 -0
- package/dist/components/switch/switch.agent.d.ts.map +1 -0
- package/dist/components/switch/switch.d.ts +6 -0
- package/dist/components/switch/switch.d.ts.map +1 -1
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/index.d.ts.map +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tabs/tabs.agent.d.ts +2 -1
- package/dist/components/tabs/tabs.agent.d.ts.map +1 -1
- package/dist/components/tabs/tabs.d.ts +4 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/tag/index.js +1 -1
- package/dist/components/tag/tag.d.ts.map +1 -1
- package/dist/components/task-card/index.d.ts +1 -0
- package/dist/components/task-card/index.d.ts.map +1 -1
- package/dist/components/task-card/index.js +5 -3
- package/dist/components/task-card/index.js.map +1 -1
- package/dist/components/task-card/task-card.agent.d.ts +3 -0
- package/dist/components/task-card/task-card.agent.d.ts.map +1 -0
- package/dist/components/task-card/task-card.d.ts.map +1 -1
- package/dist/components/task-tray/index.d.ts +2 -1
- package/dist/components/task-tray/index.d.ts.map +1 -1
- package/dist/components/task-tray/index.js +3 -2
- package/dist/components/task-tray/task-tray.agent.d.ts +4 -0
- package/dist/components/task-tray/task-tray.agent.d.ts.map +1 -0
- package/dist/components/task-tray/task-tray.d.ts +24 -1
- package/dist/components/task-tray/task-tray.d.ts.map +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-area/text-area.agent.d.ts +4 -0
- package/dist/components/text-area/text-area.agent.d.ts.map +1 -0
- package/dist/components/text-area/text-area.d.ts +7 -0
- package/dist/components/text-area/text-area.d.ts.map +1 -1
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/text-input/text-input.agent.d.ts +4 -0
- package/dist/components/text-input/text-input.agent.d.ts.map +1 -0
- package/dist/components/text-input/text-input.d.ts +10 -0
- package/dist/components/text-input/text-input.d.ts.map +1 -1
- package/dist/components/theme-root/index.js +1 -1
- package/dist/components/theme-root/theme-root.d.ts.map +1 -1
- package/dist/components/theme-toggle/index.d.ts +2 -1
- package/dist/components/theme-toggle/index.d.ts.map +1 -1
- package/dist/components/theme-toggle/index.js +3 -2
- package/dist/components/theme-toggle/theme-toggle.agent.d.ts +4 -0
- package/dist/components/theme-toggle/theme-toggle.agent.d.ts.map +1 -0
- package/dist/components/theme-toggle/theme-toggle.d.ts +8 -1
- package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -1
- package/dist/components/time-picker/index.d.ts +2 -1
- package/dist/components/time-picker/index.d.ts.map +1 -1
- package/dist/components/time-picker/index.js +3 -2
- package/dist/components/time-picker/time-picker.agent.d.ts +4 -0
- package/dist/components/time-picker/time-picker.agent.d.ts.map +1 -0
- package/dist/components/time-picker/time-picker.d.ts +15 -0
- package/dist/components/time-picker/time-picker.d.ts.map +1 -1
- package/dist/components/timeline/index.d.ts +2 -1
- package/dist/components/timeline/index.d.ts.map +1 -1
- package/dist/components/timeline/index.js +3 -2
- package/dist/components/timeline/timeline.agent.d.ts +4 -0
- package/dist/components/timeline/timeline.agent.d.ts.map +1 -0
- package/dist/components/timeline/timeline.d.ts +7 -0
- package/dist/components/timeline/timeline.d.ts.map +1 -1
- package/dist/components/timestamp/timestamp.d.ts.map +1 -1
- package/dist/components/toast/index.d.ts +3 -2
- package/dist/components/toast/index.d.ts.map +1 -1
- package/dist/components/toast/index.js +7 -5
- package/dist/components/toast/toast.agent.d.ts +4 -0
- package/dist/components/toast/toast.agent.d.ts.map +1 -0
- package/dist/components/toast/toast.d.ts +8 -0
- package/dist/components/toast/toast.d.ts.map +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/tooth-scheme/tooth-data.d.ts.map +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +3 -1
- package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
- package/dist/components/transcript-panel/index.d.ts +2 -1
- package/dist/components/transcript-panel/index.d.ts.map +1 -1
- package/dist/components/transcript-panel/index.js +3 -2
- package/dist/components/transcript-panel/transcript-panel.agent.d.ts +4 -0
- package/dist/components/transcript-panel/transcript-panel.agent.d.ts.map +1 -0
- package/dist/components/transcript-panel/transcript-panel.d.ts +9 -0
- package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
- package/dist/components/typing-indicator/index.js +1 -1
- package/dist/components/typing-indicator/typing-indicator.d.ts.map +1 -1
- package/dist/components/visually-hidden/index.js +1 -1
- package/dist/components/visually-hidden/visually-hidden.d.ts.map +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/components/workflow/index.d.ts +2 -1
- package/dist/components/workflow/index.d.ts.map +1 -1
- package/dist/components/workflow/index.js +10 -7
- package/dist/components/workflow/workflow-card.d.ts.map +1 -1
- package/dist/components/workflow/workflow-editor.d.ts +6 -0
- package/dist/components/workflow/workflow-editor.d.ts.map +1 -1
- package/dist/components/workflow/workflow-map.d.ts +2 -0
- package/dist/components/workflow/workflow-map.d.ts.map +1 -1
- package/dist/components/workflow/workflow-types.d.ts.map +1 -1
- package/dist/components/workflow/workflow.agent.d.ts +6 -0
- package/dist/components/workflow/workflow.agent.d.ts.map +1 -0
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-prefers-reduced-motion.d.ts.map +1 -1
- package/dist/hooks/use-theme.d.ts.map +1 -1
- package/dist/i18n/config.d.ts.map +1 -1
- package/dist/i18n/config.js +24 -11
- package/dist/i18n/config.js.map +1 -1
- package/dist/i18n/resources.d.ts +7 -0
- package/dist/i18n/resources.d.ts.map +1 -1
- package/dist/index.js +463 -425
- package/dist/locales/en.json +7 -0
- package/dist/patterns/leo-assistant/index.js +1 -1
- package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +1 -1
- package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/patterns/patient-shell/patient-shell.d.ts.map +1 -1
- package/dist/safe-html/index.js +20 -3
- package/dist/safe-html/index.js.map +1 -1
- package/dist/tokens/apexcharts-theme.d.ts.map +1 -1
- package/dist/tokens.css +2 -2
- package/package.json +28 -2
- package/dist/_chunks/accordion-B6fyINUk.js +0 -118
- package/dist/_chunks/accordion-B6fyINUk.js.map +0 -1
- package/dist/_chunks/accordion.agent-Cz-yglRa.js +0 -17
- package/dist/_chunks/accordion.agent-Cz-yglRa.js.map +0 -1
- package/dist/_chunks/agenda-card-DIWDvWum.js.map +0 -1
- package/dist/_chunks/agenda-tray-BqQZwiHc.js +0 -120
- package/dist/_chunks/agenda-tray-BqQZwiHc.js.map +0 -1
- package/dist/_chunks/ai-prompt-input-CI27KmZ1.js +0 -380
- package/dist/_chunks/ai-prompt-input-CI27KmZ1.js.map +0 -1
- package/dist/_chunks/alert-BlOUMkXj.js.map +0 -1
- package/dist/_chunks/app-frame-6d7Lu4ea.js.map +0 -1
- package/dist/_chunks/aspect-ratio-CxsdG8vk.js.map +0 -1
- package/dist/_chunks/audio-recorder-B-8SKgKn.js +0 -376
- package/dist/_chunks/audio-recorder-B-8SKgKn.js.map +0 -1
- package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +0 -1
- package/dist/_chunks/autocomplete.agent-DqOy0_1P.js +0 -372
- package/dist/_chunks/autocomplete.agent-DqOy0_1P.js.map +0 -1
- package/dist/_chunks/badge-mrstWxve.js.map +0 -1
- package/dist/_chunks/balance-cell-renderer-BWm3knY9.js.map +0 -1
- package/dist/_chunks/breadcrumb-D6xpsP7n.js +0 -293
- package/dist/_chunks/breadcrumb-D6xpsP7n.js.map +0 -1
- package/dist/_chunks/button-7mLWcMp_.js.map +0 -1
- package/dist/_chunks/calendar-nGEgelJs.js.map +0 -1
- package/dist/_chunks/card-BEy58ZKp.js.map +0 -1
- package/dist/_chunks/chart.agent-BdS-_8MO.js +0 -269
- package/dist/_chunks/chart.agent-BdS-_8MO.js.map +0 -1
- package/dist/_chunks/chat-container-Cm3SlR2p.js +0 -174
- package/dist/_chunks/chat-container-Cm3SlR2p.js.map +0 -1
- package/dist/_chunks/chat-container.agent-Dhw9xCJt.js +0 -22
- package/dist/_chunks/chat-container.agent-Dhw9xCJt.js.map +0 -1
- package/dist/_chunks/chat-input-DreOPP8A.js +0 -226
- package/dist/_chunks/chat-input-DreOPP8A.js.map +0 -1
- package/dist/_chunks/chat-message-ByouZpPP.js.map +0 -1
- package/dist/_chunks/checkbox-DNK4qS2_.js +0 -116
- package/dist/_chunks/checkbox-DNK4qS2_.js.map +0 -1
- package/dist/_chunks/checkbox-group-CWpGZEF6.js +0 -146
- package/dist/_chunks/checkbox-group-CWpGZEF6.js.map +0 -1
- package/dist/_chunks/collapsible-D4LOdLxp.js +0 -67
- package/dist/_chunks/collapsible-D4LOdLxp.js.map +0 -1
- package/dist/_chunks/color-picker-e9PmpaGH.js.map +0 -1
- package/dist/_chunks/combobox.agent-ByobCLJ_.js +0 -350
- package/dist/_chunks/combobox.agent-ByobCLJ_.js.map +0 -1
- package/dist/_chunks/command-palette.agent-js2rxgeR.js +0 -351
- package/dist/_chunks/command-palette.agent-js2rxgeR.js.map +0 -1
- package/dist/_chunks/date-picker-DYXNsWmM.js +0 -1726
- package/dist/_chunks/date-picker-DYXNsWmM.js.map +0 -1
- package/dist/_chunks/date-range-picker-BcNDJI7m.js +0 -183
- package/dist/_chunks/date-range-picker-BcNDJI7m.js.map +0 -1
- package/dist/_chunks/date-time-picker-CmGiTU__.js +0 -202
- package/dist/_chunks/date-time-picker-CmGiTU__.js.map +0 -1
- package/dist/_chunks/description-list-DvJbp6Yg.js.map +0 -1
- package/dist/_chunks/dialog.agent-DEG_fVzG.js +0 -147
- package/dist/_chunks/dialog.agent-DEG_fVzG.js.map +0 -1
- package/dist/_chunks/dropdown-menu-Cw3EyPZv.js +0 -215
- package/dist/_chunks/dropdown-menu-Cw3EyPZv.js.map +0 -1
- package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +0 -17
- package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js.map +0 -1
- package/dist/_chunks/empty-state-DQPtRp2b.js.map +0 -1
- package/dist/_chunks/file-upload.agent-B9AN82LA.js +0 -649
- package/dist/_chunks/file-upload.agent-B9AN82LA.js.map +0 -1
- package/dist/_chunks/floating-action-button-Cnw-f6AG.js.map +0 -1
- package/dist/_chunks/form-field-BfsPLTSc.js.map +0 -1
- package/dist/_chunks/form-field-context-94LwgYTQ.js.map +0 -1
- package/dist/_chunks/freemium-paywall-CkefGLM_.js +0 -198
- package/dist/_chunks/freemium-paywall-CkefGLM_.js.map +0 -1
- package/dist/_chunks/header-BGn1mRp8.js.map +0 -1
- package/dist/_chunks/icon-button-Wnnde5lc.js.map +0 -1
- package/dist/_chunks/kbd-8baVw3KU.js.map +0 -1
- package/dist/_chunks/key-value-pair-JRFS9Xrh.js.map +0 -1
- package/dist/_chunks/leo-sidebar-nbHib2D-.js.map +0 -1
- package/dist/_chunks/list-B1ozIjQe.js +0 -359
- package/dist/_chunks/list-B1ozIjQe.js.map +0 -1
- package/dist/_chunks/logo-BpFoCL-s.js.map +0 -1
- package/dist/_chunks/matrix-rain-BEkvux64.js.map +0 -1
- package/dist/_chunks/message-card-qAp2-WQK.js.map +0 -1
- package/dist/_chunks/message-tray-VaLpQU5t.js +0 -303
- package/dist/_chunks/message-tray-VaLpQU5t.js.map +0 -1
- package/dist/_chunks/multi-select.agent-CNsyW3n9.js +0 -450
- package/dist/_chunks/multi-select.agent-CNsyW3n9.js.map +0 -1
- package/dist/_chunks/navigation-menu-EVFau1O2.js +0 -180
- package/dist/_chunks/navigation-menu-EVFau1O2.js.map +0 -1
- package/dist/_chunks/notification-card-BF2_veHy.js.map +0 -1
- package/dist/_chunks/notification-tray-B7U5YZYg.js +0 -328
- package/dist/_chunks/notification-tray-B7U5YZYg.js.map +0 -1
- package/dist/_chunks/number-input-DjpT_RXJ.js +0 -249
- package/dist/_chunks/number-input-DjpT_RXJ.js.map +0 -1
- package/dist/_chunks/otp-input-De5_Ih7B.js +0 -189
- package/dist/_chunks/otp-input-De5_Ih7B.js.map +0 -1
- package/dist/_chunks/pagination.agent-oEaqmtx5.js +0 -380
- package/dist/_chunks/pagination.agent-oEaqmtx5.js.map +0 -1
- package/dist/_chunks/password-input-DJDVznWH.js +0 -193
- package/dist/_chunks/password-input-DJDVznWH.js.map +0 -1
- package/dist/_chunks/payment-form-hcl-gGrp.js.map +0 -1
- package/dist/_chunks/payment-form.agent-BkEnRerR.js +0 -26
- package/dist/_chunks/payment-form.agent-BkEnRerR.js.map +0 -1
- package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js +0 -859
- package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js.map +0 -1
- package/dist/_chunks/phone-input-DE_39q65.js +0 -428
- package/dist/_chunks/phone-input-DE_39q65.js.map +0 -1
- package/dist/_chunks/popover-C3CTUsqh.js +0 -227
- package/dist/_chunks/popover-C3CTUsqh.js.map +0 -1
- package/dist/_chunks/popover.agent-C0qOx9WT.js +0 -13
- package/dist/_chunks/popover.agent-C0qOx9WT.js.map +0 -1
- package/dist/_chunks/privacy-lock-CQpgkLec.js +0 -132
- package/dist/_chunks/privacy-lock-CQpgkLec.js.map +0 -1
- package/dist/_chunks/progress-B4Of_pzz.js +0 -252
- package/dist/_chunks/progress-B4Of_pzz.js.map +0 -1
- package/dist/_chunks/progress.agent-CXkHURjX.js +0 -22
- package/dist/_chunks/progress.agent-CXkHURjX.js.map +0 -1
- package/dist/_chunks/radio-cs8N1wJi.js.map +0 -1
- package/dist/_chunks/radio-group-BIUbpWml.js +0 -89
- package/dist/_chunks/radio-group-BIUbpWml.js.map +0 -1
- package/dist/_chunks/resizable.agent-DBpPGNdy.js +0 -435
- package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +0 -1
- package/dist/_chunks/rich-text-editor.agent-COSb5_2D.js.map +0 -1
- package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +0 -1
- package/dist/_chunks/search-bar-fcGqDFW3.js +0 -397
- package/dist/_chunks/search-bar-fcGqDFW3.js.map +0 -1
- package/dist/_chunks/search-input-BVMCONyN.js +0 -197
- package/dist/_chunks/search-input-BVMCONyN.js.map +0 -1
- package/dist/_chunks/select-IY_JQa-F.js +0 -321
- package/dist/_chunks/select-IY_JQa-F.js.map +0 -1
- package/dist/_chunks/separator-B4wXDLNC.js.map +0 -1
- package/dist/_chunks/sheet-BhNpLHc9.js.map +0 -1
- package/dist/_chunks/sheet.agent-DwQlBqK9.js +0 -13
- package/dist/_chunks/sheet.agent-DwQlBqK9.js.map +0 -1
- package/dist/_chunks/sidebar-OVzwN3jE.js.map +0 -1
- package/dist/_chunks/sidebar.agent-B0fnH9CC.js +0 -17
- package/dist/_chunks/sidebar.agent-B0fnH9CC.js.map +0 -1
- package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +0 -1
- package/dist/_chunks/signature-capture.agent-C38VPXxg.js.map +0 -1
- package/dist/_chunks/skeleton-dtqyF09N.js.map +0 -1
- package/dist/_chunks/slider-DjyRt3Mp.js +0 -274
- package/dist/_chunks/slider-DjyRt3Mp.js.map +0 -1
- package/dist/_chunks/slot-grid-D_l5VsHG.js.map +0 -1
- package/dist/_chunks/sparkline.agent-C_xp3NRB.js +0 -238
- package/dist/_chunks/sparkline.agent-C_xp3NRB.js.map +0 -1
- package/dist/_chunks/spinner-GCcv67vh.js.map +0 -1
- package/dist/_chunks/stat-DUB6g90R.js.map +0 -1
- package/dist/_chunks/stepper-accordion-CGog0JSF.js +0 -233
- package/dist/_chunks/stepper-accordion-CGog0JSF.js.map +0 -1
- package/dist/_chunks/stepper-calendar-_fLOAjus.js +0 -570
- package/dist/_chunks/stepper-calendar-_fLOAjus.js.map +0 -1
- package/dist/_chunks/stepper-progress-rE7tn7WY.js +0 -129
- package/dist/_chunks/stepper-progress-rE7tn7WY.js.map +0 -1
- package/dist/_chunks/suggestion-chip-BNJ2M8Os.js +0 -158
- package/dist/_chunks/suggestion-chip-BNJ2M8Os.js.map +0 -1
- package/dist/_chunks/switch-aN2EYxHh.js +0 -138
- package/dist/_chunks/switch-aN2EYxHh.js.map +0 -1
- package/dist/_chunks/tabs.agent-BpbVA-Zh.js +0 -348
- package/dist/_chunks/tabs.agent-BpbVA-Zh.js.map +0 -1
- package/dist/_chunks/tag-BqidXKo3.js.map +0 -1
- package/dist/_chunks/task-card-yW7tKlG4.js.map +0 -1
- package/dist/_chunks/task-tray-BzahI5FQ.js +0 -100
- package/dist/_chunks/task-tray-BzahI5FQ.js.map +0 -1
- package/dist/_chunks/text-area-DmKSd2DG.js +0 -152
- package/dist/_chunks/text-area-DmKSd2DG.js.map +0 -1
- package/dist/_chunks/text-input-CRHvl5zk.js +0 -188
- package/dist/_chunks/text-input-CRHvl5zk.js.map +0 -1
- package/dist/_chunks/theme-toggle-BHiMMEQN.js +0 -329
- package/dist/_chunks/theme-toggle-BHiMMEQN.js.map +0 -1
- package/dist/_chunks/time-picker-D-EueWUG.js +0 -322
- package/dist/_chunks/time-picker-D-EueWUG.js.map +0 -1
- package/dist/_chunks/timeline-RgAIzpMd.js +0 -220
- package/dist/_chunks/timeline-RgAIzpMd.js.map +0 -1
- package/dist/_chunks/toast-lOhJDKOH.js.map +0 -1
- package/dist/_chunks/tooth-scheme.agent-BlDyu-Gx.js.map +0 -1
- package/dist/_chunks/transcript-panel-CNbVGG9L.js +0 -266
- package/dist/_chunks/transcript-panel-CNbVGG9L.js.map +0 -1
- package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +0 -1
- package/dist/_chunks/use-theme-BMUhembX.js.map +0 -1
- package/dist/_chunks/warning-stack-8Pa3pekh.js.map +0 -1
- package/dist/_chunks/workflow-map-XeqHDFvp.js.map +0 -1
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { jsxs as c, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as z, useRef as h, useState as R, useCallback as V, useImperativeHandle as L, useEffect as B, useLayoutEffect as C } from "react";
|
|
3
|
-
import { c as b } from "./index-D2ZczOXr.js";
|
|
4
|
-
import { useTranslation as E } from "react-i18next";
|
|
5
|
-
import { u as O } from "./index-CJE9uQmb.js";
|
|
6
|
-
import { F as j } from "./floating-action-button-Cnw-f6AG.js";
|
|
7
|
-
import { u as H } from "./use-prefers-reduced-motion-BMwIQRjB.js";
|
|
8
|
-
import { C as M } from "./chevron-down-BX_NP2Yh.js";
|
|
9
|
-
const S = b(
|
|
10
|
-
"ds:relative ds:flex ds:w-full ds:flex-col ds:overflow-hidden ds:bg-background",
|
|
11
|
-
{
|
|
12
|
-
variants: {
|
|
13
|
-
density: {
|
|
14
|
-
default: "ds:gap-[var(--spacing-md)]",
|
|
15
|
-
compact: "ds:gap-[var(--spacing-sm)]"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
defaultVariants: { density: "default" }
|
|
19
|
-
}
|
|
20
|
-
), $ = b(
|
|
21
|
-
[
|
|
22
|
-
"ds:flex-1 ds:min-h-0 ds:overflow-y-auto ds:overflow-x-hidden",
|
|
23
|
-
"ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
|
|
24
|
-
"ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]",
|
|
25
|
-
"ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
|
|
26
|
-
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
27
|
-
"ds:scroll-smooth ds:motion-reduce:scroll-auto ds:[.theme-accessible_&]:scroll-auto",
|
|
28
|
-
// Edge fade — content near the scroll boundaries fades into the
|
|
29
|
-
// container surface instead of clipping abruptly against the header
|
|
30
|
-
// or composer, so avatars / bubbles don't look "cut in half" as they
|
|
31
|
-
// pass the viewport edge. Fade width matches the viewport padding so
|
|
32
|
-
// a row can slide fully behind the mask before disappearing.
|
|
33
|
-
// Disabled under HCM (mask strips content), reduced motion (less
|
|
34
|
-
// decoration when motion is off), and the accessible theme.
|
|
35
|
-
"ds:[mask-image:linear-gradient(to_bottom,transparent_0,black_var(--spacing-md),black_calc(100%-var(--spacing-md)),transparent_100%)]",
|
|
36
|
-
"ds:motion-reduce:[mask-image:none]",
|
|
37
|
-
"ds:[.theme-accessible_&]:[mask-image:none]",
|
|
38
|
-
"ds:forced-colors:[mask-image:none]"
|
|
39
|
-
].join(" ")
|
|
40
|
-
), D = 100, F = 48, K = z(
|
|
41
|
-
({
|
|
42
|
-
messages: a,
|
|
43
|
-
composer: m,
|
|
44
|
-
density: x = "default",
|
|
45
|
-
className: w,
|
|
46
|
-
onAutoScrollChange: o,
|
|
47
|
-
showScrollToLatest: N = !1,
|
|
48
|
-
...k
|
|
49
|
-
}, I) => {
|
|
50
|
-
const { t: u } = E(), n = h(null), f = h(null), [d, y] = R(!0), p = H(), i = V(
|
|
51
|
-
(s) => {
|
|
52
|
-
const e = n.current;
|
|
53
|
-
if (!e) return;
|
|
54
|
-
const r = ((s == null ? void 0 : s.smooth) ?? !0) && !p;
|
|
55
|
-
e.scrollTo({ top: e.scrollHeight, behavior: r ? "smooth" : "auto" });
|
|
56
|
-
},
|
|
57
|
-
[p]
|
|
58
|
-
);
|
|
59
|
-
L(
|
|
60
|
-
I,
|
|
61
|
-
() => ({
|
|
62
|
-
scrollToBottom: i,
|
|
63
|
-
getScrollViewport: () => n.current
|
|
64
|
-
}),
|
|
65
|
-
[i]
|
|
66
|
-
), B(() => {
|
|
67
|
-
const s = n.current, e = f.current;
|
|
68
|
-
if (!s || !e) return;
|
|
69
|
-
const r = new IntersectionObserver(
|
|
70
|
-
(_) => {
|
|
71
|
-
const g = _[0];
|
|
72
|
-
y(g.isIntersecting), o == null || o(g.isIntersecting);
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
root: s,
|
|
76
|
-
// Fire when the sentinel is within BOTTOM_SLACK_PX of being visible.
|
|
77
|
-
rootMargin: `0px 0px ${F}px 0px`,
|
|
78
|
-
threshold: 0
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
return r.observe(e), () => r.disconnect();
|
|
82
|
-
}, [o]);
|
|
83
|
-
const T = a.length;
|
|
84
|
-
C(() => {
|
|
85
|
-
d && i({ smooth: !1 });
|
|
86
|
-
}, [T, d, i]);
|
|
87
|
-
const v = a.length > D, l = O({
|
|
88
|
-
count: v ? a.length : 0,
|
|
89
|
-
getScrollElement: () => n.current,
|
|
90
|
-
estimateSize: () => 80,
|
|
91
|
-
overscan: 6,
|
|
92
|
-
getItemKey: (s) => {
|
|
93
|
-
var e;
|
|
94
|
-
return ((e = a[s]) == null ? void 0 : e.id) ?? s;
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
return /* @__PURE__ */ c("div", { className: S({ density: x, className: w }), "data-component": "chat-container", ...k, children: [
|
|
98
|
-
/* @__PURE__ */ c("div", { className: "ds:relative ds:flex-1 ds:min-h-0 ds:flex ds:flex-col", children: [
|
|
99
|
-
/* @__PURE__ */ c(
|
|
100
|
-
"div",
|
|
101
|
-
{
|
|
102
|
-
ref: n,
|
|
103
|
-
role: "log",
|
|
104
|
-
"aria-live": "polite",
|
|
105
|
-
"aria-relevant": "additions",
|
|
106
|
-
"aria-label": u("ui.chat.container"),
|
|
107
|
-
tabIndex: 0,
|
|
108
|
-
className: $(),
|
|
109
|
-
children: [
|
|
110
|
-
v ? /* @__PURE__ */ t(
|
|
111
|
-
"ol",
|
|
112
|
-
{
|
|
113
|
-
className: "ds:relative ds:list-none ds:ps-0 ds:m-0",
|
|
114
|
-
style: { blockSize: `${l.getTotalSize()}px` },
|
|
115
|
-
children: l.getVirtualItems().map((s) => {
|
|
116
|
-
const e = a[s.index];
|
|
117
|
-
return e ? /* @__PURE__ */ t(
|
|
118
|
-
"li",
|
|
119
|
-
{
|
|
120
|
-
"data-index": s.index,
|
|
121
|
-
ref: l.measureElement,
|
|
122
|
-
className: "ds:absolute ds:start-0 ds:end-0 ds:top-0 ds:w-full",
|
|
123
|
-
style: { transform: `translateY(${s.start}px)` },
|
|
124
|
-
children: /* @__PURE__ */ t("div", { className: "ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]", children: e.node })
|
|
125
|
-
},
|
|
126
|
-
e.id
|
|
127
|
-
) : null;
|
|
128
|
-
})
|
|
129
|
-
}
|
|
130
|
-
) : /* @__PURE__ */ t("ol", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:list-none ds:ps-0 ds:m-0", children: a.map((s) => /* @__PURE__ */ t("li", { children: s.node }, s.id)) }),
|
|
131
|
-
/* @__PURE__ */ t("div", { ref: f, "aria-hidden": "true", className: "ds:h-1 ds:w-full" })
|
|
132
|
-
]
|
|
133
|
-
}
|
|
134
|
-
),
|
|
135
|
-
N && !d ? /* @__PURE__ */ t(
|
|
136
|
-
"div",
|
|
137
|
-
{
|
|
138
|
-
className: [
|
|
139
|
-
"ds:pointer-events-none ds:absolute ds:inset-inline-end-0",
|
|
140
|
-
// `bottom` is measured from the bottom of the scroll
|
|
141
|
-
// column (i.e. the top edge of the composer slot). A
|
|
142
|
-
// small spacing-md gap keeps the FAB clear of the
|
|
143
|
-
// divider border above the composer.
|
|
144
|
-
"ds:bottom-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
|
|
145
|
-
// Enter animation — fade + scale in from 95%. The FAB only
|
|
146
|
-
// unmounts when the user returns to bottom, so an exit
|
|
147
|
-
// animation isn't justified (abrupt disappearance reads as
|
|
148
|
-
// "task complete" when they've scrolled back).
|
|
149
|
-
"ds:motion-safe:animate-in ds:motion-safe:fade-in-0 ds:motion-safe:zoom-in-95",
|
|
150
|
-
"ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]"
|
|
151
|
-
].join(" "),
|
|
152
|
-
children: /* @__PURE__ */ t("div", { className: "ds:pointer-events-auto", children: /* @__PURE__ */ t(
|
|
153
|
-
j,
|
|
154
|
-
{
|
|
155
|
-
icon: /* @__PURE__ */ t(M, {}),
|
|
156
|
-
"aria-label": u("ui.chat.scrollToLatest"),
|
|
157
|
-
size: "sm",
|
|
158
|
-
variant: "secondary",
|
|
159
|
-
position: "static",
|
|
160
|
-
onClick: () => i({ smooth: !0 })
|
|
161
|
-
}
|
|
162
|
-
) })
|
|
163
|
-
}
|
|
164
|
-
) : null
|
|
165
|
-
] }),
|
|
166
|
-
m ? /* @__PURE__ */ t("div", { className: "ds:shrink-0 ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)] ds:bg-background", children: m }) : null
|
|
167
|
-
] });
|
|
168
|
-
}
|
|
169
|
-
);
|
|
170
|
-
K.displayName = "ChatContainer";
|
|
171
|
-
export {
|
|
172
|
-
K as C
|
|
173
|
-
};
|
|
174
|
-
//# sourceMappingURL=chat-container-Cm3SlR2p.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-container-Cm3SlR2p.js","sources":["../../src/components/chat-container/chat-container.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { ChevronDown } from 'lucide-react';\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { FloatingActionButton } from '../floating-action-button/floating-action-button';\nimport { usePrefersReducedMotion } from '../../hooks';\n\nconst rootVariants = cva(\n 'ds:relative ds:flex ds:w-full ds:flex-col ds:overflow-hidden ds:bg-background',\n {\n variants: {\n density: {\n default: 'ds:gap-[var(--spacing-md)]',\n compact: 'ds:gap-[var(--spacing-sm)]',\n },\n },\n defaultVariants: { density: 'default' },\n },\n);\n\nconst scrollViewportVariants = cva(\n [\n 'ds:flex-1 ds:min-h-0 ds:overflow-y-auto ds:overflow-x-hidden',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:scroll-smooth ds:motion-reduce:scroll-auto ds:[.theme-accessible_&]:scroll-auto',\n // Edge fade — content near the scroll boundaries fades into the\n // container surface instead of clipping abruptly against the header\n // or composer, so avatars / bubbles don't look \"cut in half\" as they\n // pass the viewport edge. Fade width matches the viewport padding so\n // a row can slide fully behind the mask before disappearing.\n // Disabled under HCM (mask strips content), reduced motion (less\n // decoration when motion is off), and the accessible theme.\n 'ds:[mask-image:linear-gradient(to_bottom,transparent_0,black_var(--spacing-md),black_calc(100%-var(--spacing-md)),transparent_100%)]',\n 'ds:motion-reduce:[mask-image:none]',\n 'ds:[.theme-accessible_&]:[mask-image:none]',\n 'ds:forced-colors:[mask-image:none]',\n ].join(' '),\n);\n\nconst VIRTUALIZATION_THRESHOLD = 100;\n/** Pixel slack against the bottom edge that still counts as \"at bottom\". */\nconst BOTTOM_SLACK_PX = 48;\n\nexport interface ChatContainerHandle {\n scrollToBottom: (opts?: { smooth?: boolean }) => void;\n getScrollViewport: () => HTMLDivElement | null;\n}\n\nexport interface ChatContainerProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>,\n VariantProps<typeof rootVariants> {\n /** Array of messages to render. When the array exceeds 100 items the\n * list is virtualised via @tanstack/react-virtual. */\n messages: Array<{ id: string; node: ReactNode }>;\n /** Composer slot pinned to the block-end. */\n composer?: ReactNode;\n /** Fires when the user's auto-scroll preference flips. */\n onAutoScrollChange?: (isAtBottom: boolean) => void;\n /**\n * When true, renders a \"scroll to latest\" FloatingActionButton in the\n * bottom-end of the scroll column whenever the user has scrolled\n * away from the newest message. Defaults to `false` because the\n * affordance is only useful in long-form chat surfaces (fullscreen\n * assistants, dedicated messaging views); in compact docks — e.g. the\n * Leo side-panel — conversations rarely exceed one screen and the FAB\n * just adds visual noise. Turn on for fullscreen chat surfaces.\n */\n showScrollToLatest?: boolean;\n}\n\nexport const ChatContainer = forwardRef<ChatContainerHandle, ChatContainerProps>(\n (\n {\n messages,\n composer,\n density = 'default',\n className,\n onAutoScrollChange,\n showScrollToLatest = false,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const viewportRef = useRef<HTMLDivElement | null>(null);\n const sentinelRef = useRef<HTMLDivElement | null>(null);\n const [isAtBottom, setIsAtBottom] = useState(true);\n\n const prefersReducedMotion = usePrefersReducedMotion();\n\n const scrollToBottom = useCallback(\n (opts?: { smooth?: boolean }) => {\n const el = viewportRef.current;\n if (!el) return;\n const smooth = (opts?.smooth ?? true) && !prefersReducedMotion;\n el.scrollTo({ top: el.scrollHeight, behavior: smooth ? 'smooth' : 'auto' });\n },\n [prefersReducedMotion],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n scrollToBottom,\n getScrollViewport: () => viewportRef.current,\n }),\n [scrollToBottom],\n );\n\n /* ── Intersection observer: track \"at bottom\" via a sentinel ── */\n useEffect(() => {\n const root = viewportRef.current;\n const sentinel = sentinelRef.current;\n if (!root || !sentinel) return;\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n setIsAtBottom(entry.isIntersecting);\n onAutoScrollChange?.(entry.isIntersecting);\n },\n {\n root,\n // Fire when the sentinel is within BOTTOM_SLACK_PX of being visible.\n rootMargin: `0px 0px ${BOTTOM_SLACK_PX}px 0px`,\n threshold: 0,\n },\n );\n observer.observe(sentinel);\n return () => observer.disconnect();\n }, [onAutoScrollChange]);\n\n /* ── Auto-scroll on new messages when at bottom ── */\n const messagesLength = messages.length;\n useLayoutEffect(() => {\n // `smooth: false` — when we're already pinned to the bottom and a\n // new message appends, the user doesn't perceive any scroll motion\n // (the sentinel just slides a few px). But a smooth animation DOES\n // give the IntersectionObserver a window in which the sentinel is\n // temporarily outside the rootMargin zone — that's what causes the\n // scroll-to-latest FAB to flicker in and out on every new message.\n // Instant scroll settles in one frame; FAB state stays stable.\n // The user-initiated FAB click below still uses smooth because the\n // jump is large and the motion communicates the travel.\n if (isAtBottom) scrollToBottom({ smooth: false });\n // Intentionally watching only length — individual node updates (streaming)\n // are driven by their own scroll decisions.\n }, [messagesLength, isAtBottom, scrollToBottom]);\n\n const virtualized = messages.length > VIRTUALIZATION_THRESHOLD;\n\n const virtualizer = useVirtualizer({\n count: virtualized ? messages.length : 0,\n getScrollElement: () => viewportRef.current,\n estimateSize: () => 80,\n overscan: 6,\n getItemKey: (i) => messages[i]?.id ?? i,\n });\n\n return (\n <div className={rootVariants({ density, className })} data-component=\"chat-container\" {...rest}>\n {/* Scroll column wraps the viewport AND the FAB together so the\n FAB's absolute `bottom` is measured from the top of the\n composer (this wrapper's end edge), not from the root — which\n would drop the FAB inside the composer/suggestion-chip area. */}\n <div className=\"ds:relative ds:flex-1 ds:min-h-0 ds:flex ds:flex-col\">\n <div\n ref={viewportRef}\n role=\"log\"\n aria-live=\"polite\"\n aria-relevant=\"additions\"\n aria-label={t('ui.chat.container')}\n tabIndex={0}\n className={scrollViewportVariants()}\n >\n {virtualized ? (\n <ol\n className=\"ds:relative ds:list-none ds:ps-0 ds:m-0\"\n // Inline style — permitted per 23-constraints\n // §Runtime-computed dimensions (virtualizer total size).\n style={{ blockSize: `${virtualizer.getTotalSize()}px` }}\n >\n {virtualizer.getVirtualItems().map((vi) => {\n const msg = messages[vi.index];\n if (!msg) return null;\n return (\n <li\n key={msg.id}\n data-index={vi.index}\n ref={virtualizer.measureElement}\n className=\"ds:absolute ds:start-0 ds:end-0 ds:top-0 ds:w-full\"\n // Inline style — permitted per 23-constraints\n // §Runtime-computed dimensions (virtualizer translateY).\n style={{ transform: `translateY(${vi.start}px)` }}\n >\n <div className=\"ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]\">\n {msg.node}\n </div>\n </li>\n );\n })}\n </ol>\n ) : (\n <ol className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:list-none ds:ps-0 ds:m-0\">\n {messages.map((m) => (\n <li key={m.id}>{m.node}</li>\n ))}\n </ol>\n )}\n <div ref={sentinelRef} aria-hidden=\"true\" className=\"ds:h-1 ds:w-full\" />\n </div>\n\n {showScrollToLatest && !isAtBottom ? (\n <div\n className={[\n 'ds:pointer-events-none ds:absolute ds:inset-inline-end-0',\n // `bottom` is measured from the bottom of the scroll\n // column (i.e. the top edge of the composer slot). A\n // small spacing-md gap keeps the FAB clear of the\n // divider border above the composer.\n 'ds:bottom-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n // Enter animation — fade + scale in from 95%. The FAB only\n // unmounts when the user returns to bottom, so an exit\n // animation isn't justified (abrupt disappearance reads as\n // \"task complete\" when they've scrolled back).\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0 ds:motion-safe:zoom-in-95',\n 'ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n ].join(' ')}\n >\n <div className=\"ds:pointer-events-auto\">\n <FloatingActionButton\n icon={<ChevronDown />}\n aria-label={t('ui.chat.scrollToLatest')}\n size=\"sm\"\n variant=\"secondary\"\n // `position=\"static\"` — the wrapper is already\n // absolutely-positioned. Without this, FAB's default\n // `bottom-end` variant applies `position: fixed` and\n // pins the button to the browser viewport corner,\n // escaping the container and appearing as an orphan\n // circle that stays put while the chat scrolls.\n position=\"static\"\n onClick={() => scrollToBottom({ smooth: true })}\n />\n </div>\n </div>\n ) : null}\n </div>\n\n {composer ? (\n <div className=\"ds:shrink-0 ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)] ds:bg-background\">\n {composer}\n </div>\n ) : null}\n </div>\n );\n },\n);\n\nChatContainer.displayName = 'ChatContainer';\n"],"names":["rootVariants","cva","scrollViewportVariants","VIRTUALIZATION_THRESHOLD","BOTTOM_SLACK_PX","ChatContainer","forwardRef","messages","composer","density","className","onAutoScrollChange","showScrollToLatest","rest","ref","t","useTranslation","viewportRef","useRef","sentinelRef","isAtBottom","setIsAtBottom","useState","prefersReducedMotion","usePrefersReducedMotion","scrollToBottom","useCallback","opts","el","smooth","useImperativeHandle","useEffect","root","sentinel","observer","entries","entry","messagesLength","useLayoutEffect","virtualized","virtualizer","useVirtualizer","i","_a","jsxs","jsx","vi","msg","m","FloatingActionButton","ChevronDown"],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const a = {
|
|
2
|
-
id: "chat-container",
|
|
3
|
-
capabilities: ["navigate"],
|
|
4
|
-
state: {},
|
|
5
|
-
actions: {
|
|
6
|
-
scroll_to_bottom: {
|
|
7
|
-
safety: "read",
|
|
8
|
-
argsType: "{ smooth?: boolean }",
|
|
9
|
-
description: "Scroll the conversation viewport to the latest message.",
|
|
10
|
-
invoke: (t, o) => {
|
|
11
|
-
t.scrollToBottom(o);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
domHooks: {
|
|
16
|
-
root: { attr: "data-component", value: "chat-container" }
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
export {
|
|
20
|
-
a as c
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=chat-container.agent-Dhw9xCJt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-container.agent-Dhw9xCJt.js","sources":["../../src/components/chat-container/chat-container.agent.ts"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { ChatContainerHandle } from './chat-container';\n\nexport const chatContainerAgent: AgentAdapter<ChatContainerHandle> = {\n id: 'chat-container',\n capabilities: ['navigate'],\n state: {},\n actions: {\n scroll_to_bottom: {\n safety: 'read',\n argsType: '{ smooth?: boolean }',\n description: 'Scroll the conversation viewport to the latest message.',\n invoke: (handle, args: { smooth?: boolean }) => {\n handle.scrollToBottom(args);\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'chat-container' },\n },\n};\n"],"names":["chatContainerAgent","handle","args"],"mappings":"AAGO,MAAMA,IAAwD;AAAA,EACnE,IAAI;AAAA,EACJ,cAAc,CAAC,UAAU;AAAA,EACzB,OAAO,CAAA;AAAA,EACP,SAAS;AAAA,IACP,kBAAkB;AAAA,MAChB,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,aAAa;AAAA,MACb,QAAQ,CAACC,GAAQC,MAA+B;AAC9C,QAAAD,EAAO,eAAeC,CAAI;AAAA,MAC5B;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,IACR,MAAM,EAAE,MAAM,kBAAkB,OAAO,iBAAA;AAAA,EAAiB;AAE5D;"}
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { jsxs as c, jsx as s, Fragment as ge } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as he, useId as ve, useRef as w, useCallback as K, useState as be, useLayoutEffect as ye } from "react";
|
|
3
|
-
import { c as xe } from "./index-D2ZczOXr.js";
|
|
4
|
-
import { useTranslation as Ie } from "react-i18next";
|
|
5
|
-
import { I as W } from "./icon-button-Wnnde5lc.js";
|
|
6
|
-
import { c as Ce } from "./createLucideIcon-CrFbzy84.js";
|
|
7
|
-
import { C as Ne } from "./circle-alert-ChA9opNA.js";
|
|
8
|
-
import { S as ke } from "./send-CySZIRPJ.js";
|
|
9
|
-
/**
|
|
10
|
-
* @license lucide-react v1.8.0 - ISC
|
|
11
|
-
*
|
|
12
|
-
* This source code is licensed under the ISC license.
|
|
13
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
14
|
-
*/
|
|
15
|
-
const ze = [
|
|
16
|
-
[
|
|
17
|
-
"path",
|
|
18
|
-
{
|
|
19
|
-
d: "m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",
|
|
20
|
-
key: "1miecu"
|
|
21
|
-
}
|
|
22
|
-
]
|
|
23
|
-
], we = Ce("paperclip", ze), Fe = xe(
|
|
24
|
-
[
|
|
25
|
-
"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full",
|
|
26
|
-
// Soft drop-shadow + transparent border replaces a flat
|
|
27
|
-
// `border-border` (grey-800 since the WCAG 1.4.11 bump). Border kept
|
|
28
|
-
// at 1px so the focus-within color override + forced-colors
|
|
29
|
-
// fallback still paint a visible edge.
|
|
30
|
-
"ds:rounded-[var(--radius-md)] ds:shadow-[var(--shadow-sm)] ds:border ds:border-transparent",
|
|
31
|
-
"ds:bg-background ds:focus-within:border-[color:var(--primary)]",
|
|
32
|
-
"ds:transition-[border-color] ds:duration-[var(--animation-duration)]",
|
|
33
|
-
"ds:motion-reduce:transition-none",
|
|
34
|
-
"ds:forced-colors:border-[CanvasText]"
|
|
35
|
-
].join(" "),
|
|
36
|
-
{
|
|
37
|
-
variants: {
|
|
38
|
-
size: {
|
|
39
|
-
sm: "ds:text-[length:var(--font-size-sm)]",
|
|
40
|
-
md: "ds:text-[length:var(--font-size-base)]",
|
|
41
|
-
lg: "ds:text-[length:var(--font-size-lg)]"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
defaultVariants: { size: "md" }
|
|
45
|
-
}
|
|
46
|
-
);
|
|
47
|
-
function He(u, p) {
|
|
48
|
-
if (typeof Intl < "u" && typeof Intl.Segmenter == "function")
|
|
49
|
-
try {
|
|
50
|
-
const f = new Intl.Segmenter(p, { granularity: "grapheme" });
|
|
51
|
-
let t = 0;
|
|
52
|
-
for (const F of f.segment(u)) t += 1;
|
|
53
|
-
return t;
|
|
54
|
-
} catch {
|
|
55
|
-
}
|
|
56
|
-
return Array.from(u).length;
|
|
57
|
-
}
|
|
58
|
-
const Te = he(
|
|
59
|
-
({
|
|
60
|
-
size: u = "md",
|
|
61
|
-
value: p,
|
|
62
|
-
defaultValue: f,
|
|
63
|
-
maxLength: t,
|
|
64
|
-
submitOnEnter: F = !1,
|
|
65
|
-
minRows: y = 1,
|
|
66
|
-
maxRows: H = 8,
|
|
67
|
-
onSubmit: x,
|
|
68
|
-
onAttach: m,
|
|
69
|
-
accept: Y,
|
|
70
|
-
disabled: g,
|
|
71
|
-
toolbar: q,
|
|
72
|
-
label: T,
|
|
73
|
-
placeholder: G,
|
|
74
|
-
className: J,
|
|
75
|
-
onChange: I,
|
|
76
|
-
onKeyDown: C,
|
|
77
|
-
onCompositionStart: N,
|
|
78
|
-
onCompositionEnd: k,
|
|
79
|
-
id: L,
|
|
80
|
-
...O
|
|
81
|
-
}, i) => {
|
|
82
|
-
const { t: n, i18n: Q } = Ie(), U = ve(), h = w(!1), j = w(null), B = w(null), X = K(
|
|
83
|
-
(e) => {
|
|
84
|
-
B.current = e, typeof i == "function" ? i(e) : i && (i.current = e);
|
|
85
|
-
},
|
|
86
|
-
[i]
|
|
87
|
-
), o = p !== void 0, [Z, M] = be(
|
|
88
|
-
String(f ?? "")
|
|
89
|
-
), a = o ? String(p) : Z, z = He(a, Q.language), v = typeof t == "number" && t > 0, D = v ? Math.max(0, t - z) : 0, A = v && z > t * 0.9, l = v && z >= t, E = K(() => {
|
|
90
|
-
const e = B.current;
|
|
91
|
-
if (!e) return;
|
|
92
|
-
const r = window.getComputedStyle(e), b = parseFloat(r.lineHeight) || 24, de = parseFloat(r.paddingTop) || 0, ce = parseFloat(r.paddingBottom) || 0, ue = parseFloat(r.borderTopWidth) || 0, pe = parseFloat(r.borderBottomWidth) || 0, R = de + ce + ue + pe, fe = b * y + R, _ = b * H + R;
|
|
93
|
-
e.style.height = "auto";
|
|
94
|
-
const me = Math.max(fe, Math.min(e.scrollHeight, _));
|
|
95
|
-
e.style.height = `${me}px`, e.style.overflowY = e.scrollHeight > _ ? "auto" : "hidden";
|
|
96
|
-
}, [y, H]);
|
|
97
|
-
ye(() => {
|
|
98
|
-
E();
|
|
99
|
-
}, [E, a]);
|
|
100
|
-
const ee = (e) => {
|
|
101
|
-
o || M(e.target.value), !h.current && (I == null || I(e));
|
|
102
|
-
}, te = (e) => {
|
|
103
|
-
h.current = !0, N == null || N(e);
|
|
104
|
-
}, se = (e) => {
|
|
105
|
-
h.current = !1, k == null || k(e);
|
|
106
|
-
}, re = (e) => e.nativeEvent.isComposing || e.keyCode === 229 || h.current, V = () => {
|
|
107
|
-
!a.trim() || g || l || (x == null || x(a), o || M(""));
|
|
108
|
-
}, ne = (e) => {
|
|
109
|
-
if (C == null || C(e), !e.defaultPrevented && !re(e) && e.key === "Enter") {
|
|
110
|
-
const r = e.metaKey || e.ctrlKey, b = F && !e.shiftKey;
|
|
111
|
-
(r || b) && (e.preventDefault(), V());
|
|
112
|
-
}
|
|
113
|
-
}, ae = () => {
|
|
114
|
-
var e;
|
|
115
|
-
(e = j.current) == null || e.click();
|
|
116
|
-
}, ie = (e) => {
|
|
117
|
-
e.target.files && e.target.files.length > 0 && (m == null || m(e.target.files)), e.target.value = "";
|
|
118
|
-
}, d = L ?? U, P = `${d}-label`, S = v ? `${d}-counter` : void 0, $ = `${d}-hint`, oe = G ?? n("chat.input.placeholder"), le = T ?? n("chat.prompt");
|
|
119
|
-
return /* @__PURE__ */ c("div", { "data-component": "chat-input", className: Fe({ size: u, className: J }), children: [
|
|
120
|
-
/* @__PURE__ */ s("label", { id: P, htmlFor: d, className: T ? "type-label ds:ps-[var(--spacing-sm)] ds:pt-[var(--spacing-sm)]" : "ds:sr-only", children: le }),
|
|
121
|
-
/* @__PURE__ */ s(
|
|
122
|
-
"textarea",
|
|
123
|
-
{
|
|
124
|
-
ref: X,
|
|
125
|
-
id: d,
|
|
126
|
-
value: o ? a : void 0,
|
|
127
|
-
defaultValue: o ? void 0 : f,
|
|
128
|
-
disabled: g,
|
|
129
|
-
rows: y,
|
|
130
|
-
maxLength: t,
|
|
131
|
-
placeholder: oe,
|
|
132
|
-
"aria-labelledby": P,
|
|
133
|
-
"aria-describedby": [S, $].filter(Boolean).join(" ") || void 0,
|
|
134
|
-
"aria-invalid": l || void 0,
|
|
135
|
-
onChange: ee,
|
|
136
|
-
onKeyDown: ne,
|
|
137
|
-
onCompositionStart: te,
|
|
138
|
-
onCompositionEnd: se,
|
|
139
|
-
className: [
|
|
140
|
-
"ds:w-full ds:resize-none ds:bg-transparent",
|
|
141
|
-
"ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-xs)]",
|
|
142
|
-
"ds:placeholder:text-[color:var(--muted-foreground)]",
|
|
143
|
-
"ds:leading-[var(--line-height-base)]",
|
|
144
|
-
"ds:disabled:opacity-50 ds:disabled:cursor-not-allowed",
|
|
145
|
-
// Tokenised focus ring on the textarea itself — the 1px border
|
|
146
|
-
// shift on the wrapper alone fails the 3px accessible-theme
|
|
147
|
-
// requirement. See a11y-critical-fixes.mdx.
|
|
148
|
-
"ds:outline-none",
|
|
149
|
-
"ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
|
|
150
|
-
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
151
|
-
"ds:rounded-[var(--radius-sm)]",
|
|
152
|
-
"ds:forced-colors:focus-visible:outline-[CanvasText]"
|
|
153
|
-
].join(" "),
|
|
154
|
-
...O
|
|
155
|
-
}
|
|
156
|
-
),
|
|
157
|
-
/* @__PURE__ */ c("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]", children: [
|
|
158
|
-
m ? /* @__PURE__ */ c(ge, { children: [
|
|
159
|
-
/* @__PURE__ */ s(
|
|
160
|
-
"input",
|
|
161
|
-
{
|
|
162
|
-
ref: j,
|
|
163
|
-
type: "file",
|
|
164
|
-
className: "ds:sr-only",
|
|
165
|
-
multiple: !0,
|
|
166
|
-
accept: Y,
|
|
167
|
-
onChange: ie
|
|
168
|
-
}
|
|
169
|
-
),
|
|
170
|
-
/* @__PURE__ */ s(
|
|
171
|
-
W,
|
|
172
|
-
{
|
|
173
|
-
icon: /* @__PURE__ */ s(we, {}),
|
|
174
|
-
"aria-label": n("chat.input.attach"),
|
|
175
|
-
intent: "ghost",
|
|
176
|
-
size: "sm",
|
|
177
|
-
onClick: ae,
|
|
178
|
-
disabled: g
|
|
179
|
-
}
|
|
180
|
-
)
|
|
181
|
-
] }) : null,
|
|
182
|
-
q,
|
|
183
|
-
/* @__PURE__ */ c("div", { className: "ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
|
|
184
|
-
A ? /* @__PURE__ */ c(
|
|
185
|
-
"span",
|
|
186
|
-
{
|
|
187
|
-
id: S,
|
|
188
|
-
"aria-live": "polite",
|
|
189
|
-
className: [
|
|
190
|
-
"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
191
|
-
"type-meta ds:tabular-nums",
|
|
192
|
-
l ? "ds:text-[color:var(--destructive)]" : "ds:text-[color:var(--muted-foreground)]"
|
|
193
|
-
].join(" "),
|
|
194
|
-
children: [
|
|
195
|
-
l ? (
|
|
196
|
-
// Icon pairs with --destructive colour so the at-limit
|
|
197
|
-
// state is not conveyed by hue alone (WCAG 1.4.1).
|
|
198
|
-
/* @__PURE__ */ s(Ne, { "aria-hidden": "true", className: "ds:size-3.5" })
|
|
199
|
-
) : null,
|
|
200
|
-
n("chat.input.remaining", { count: D })
|
|
201
|
-
]
|
|
202
|
-
}
|
|
203
|
-
) : null,
|
|
204
|
-
/* @__PURE__ */ s("span", { id: $, className: "ds:sr-only", children: n("chat.input.sendHint") }),
|
|
205
|
-
/* @__PURE__ */ s(
|
|
206
|
-
W,
|
|
207
|
-
{
|
|
208
|
-
icon: /* @__PURE__ */ s(ke, {}),
|
|
209
|
-
"aria-label": n("chat.send"),
|
|
210
|
-
intent: "primary",
|
|
211
|
-
size: "sm",
|
|
212
|
-
disabled: g || !a.trim() || l,
|
|
213
|
-
onClick: V,
|
|
214
|
-
"aria-keyshortcuts": "Meta+Enter Control+Enter"
|
|
215
|
-
}
|
|
216
|
-
)
|
|
217
|
-
] })
|
|
218
|
-
] })
|
|
219
|
-
] });
|
|
220
|
-
}
|
|
221
|
-
);
|
|
222
|
-
Te.displayName = "ChatInput";
|
|
223
|
-
export {
|
|
224
|
-
Te as C
|
|
225
|
-
};
|
|
226
|
-
//# sourceMappingURL=chat-input-DreOPP8A.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input-DreOPP8A.js","sources":["../../node_modules/lucide-react/dist/esm/icons/paperclip.js","../../src/components/chat-input/chat-input.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 {\n d: \"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\",\n key: \"1miecu\"\n }\n ]\n];\nconst Paperclip = createLucideIcon(\"paperclip\", __iconNode);\n\nexport { __iconNode, Paperclip as default };\n//# sourceMappingURL=paperclip.js.map\n","import {\n forwardRef,\n useCallback,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n type ChangeEvent,\n type CompositionEvent,\n type KeyboardEvent,\n type ReactNode,\n type TextareaHTMLAttributes,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertCircle, Paperclip, Send } from 'lucide-react';\nimport { IconButton } from '../button';\n\nconst rootVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full',\n // Soft drop-shadow + transparent border replaces a flat\n // `border-border` (grey-800 since the WCAG 1.4.11 bump). Border kept\n // at 1px so the focus-within color override + forced-colors\n // fallback still paint a visible edge.\n 'ds:rounded-[var(--radius-md)] ds:shadow-[var(--shadow-sm)] ds:border ds:border-transparent',\n 'ds:bg-background ds:focus-within:border-[color:var(--primary)]',\n 'ds:transition-[border-color] ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:transition-none',\n 'ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:text-[length:var(--font-size-sm)]',\n md: 'ds:text-[length:var(--font-size-base)]',\n lg: 'ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\ntype NativeTextareaProps = Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n 'size' | 'onSubmit' | 'children'\n>;\n\nexport interface ChatInputProps\n extends NativeTextareaProps,\n VariantProps<typeof rootVariants> {\n /** Invoked when the user submits (Cmd/Ctrl+Enter, or send button). */\n onSubmit?: (text: string) => void;\n /** Maximum allowed characters (grapheme clusters via Intl.Segmenter when available). */\n maxLength?: number;\n /** When true, plain Enter submits and Shift+Enter inserts a newline.\n * Default false (Enter inserts newline; Cmd/Ctrl+Enter submits). */\n submitOnEnter?: boolean;\n /** Minimum visible rows. Default 1. */\n minRows?: number;\n /** Maximum visible rows before the field scrolls. Default 8. */\n maxRows?: number;\n /** Optional attachment handler — when provided, renders the attachment button. */\n onAttach?: (files: FileList) => void;\n /** `accept` forwarded to the hidden file input. */\n accept?: string;\n /** Controls whether the textarea is disabled and submit is blocked. */\n disabled?: boolean;\n /** Optional slot placed between the textarea and the send button. */\n toolbar?: ReactNode;\n /** Visible label above the textarea. When omitted, a visually-hidden label is used. */\n label?: string;\n}\n\nfunction graphemeCount(value: string, locale: string): number {\n if (typeof Intl !== 'undefined' && typeof Intl.Segmenter === 'function') {\n try {\n const seg = new Intl.Segmenter(locale, { granularity: 'grapheme' });\n let n = 0;\n for (const _s of seg.segment(value)) n += 1;\n return n;\n } catch {\n /* fall through to Array.from */\n }\n }\n return Array.from(value).length;\n}\n\nexport const ChatInput = forwardRef<HTMLTextAreaElement, ChatInputProps>(\n (\n {\n size = 'md',\n value,\n defaultValue,\n maxLength,\n submitOnEnter = false,\n minRows = 1,\n maxRows = 8,\n onSubmit,\n onAttach,\n accept,\n disabled,\n toolbar,\n label,\n placeholder,\n className,\n onChange,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n id,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const textareaId = useId();\n const composingRef = useRef(false);\n const fileInputRef = useRef<HTMLInputElement>(null);\n const innerRef = useRef<HTMLTextAreaElement | null>(null);\n\n const setRefs = useCallback(\n (node: HTMLTextAreaElement | null) => {\n innerRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<string>(\n String(defaultValue ?? ''),\n );\n const currentValue = isControlled ? String(value) : internalValue;\n\n const count = graphemeCount(currentValue, i18n.language);\n const hasMaxLength = typeof maxLength === 'number' && maxLength > 0;\n const remaining = hasMaxLength ? Math.max(0, maxLength - count) : 0;\n const showCounter = hasMaxLength && count > (maxLength as number) * 0.9;\n const atLimit = hasMaxLength && count >= maxLength;\n\n /* Auto-grow — compute height from scrollHeight, clamped to [minRows, maxRows].\n Imperative `.style` write is permitted per 23-constraints\n §Runtime-computed dimensions (textarea scrollHeight measurement). */\n const resize = useCallback(() => {\n const el = innerRef.current;\n if (!el) return;\n const styles = window.getComputedStyle(el);\n const lineHeight = parseFloat(styles.lineHeight) || 24;\n const padTop = parseFloat(styles.paddingTop) || 0;\n const padBot = parseFloat(styles.paddingBottom) || 0;\n const borderTop = parseFloat(styles.borderTopWidth) || 0;\n const borderBot = parseFloat(styles.borderBottomWidth) || 0;\n const chrome = padTop + padBot + borderTop + borderBot;\n const minH = lineHeight * minRows + chrome;\n const maxH = lineHeight * maxRows + chrome;\n el.style.height = 'auto';\n const next = Math.max(minH, Math.min(el.scrollHeight, maxH));\n el.style.height = `${next}px`;\n el.style.overflowY = el.scrollHeight > maxH ? 'auto' : 'hidden';\n }, [minRows, maxRows]);\n\n useLayoutEffect(() => {\n resize();\n }, [resize, currentValue]);\n\n const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n if (!isControlled) setInternalValue(e.target.value);\n if (composingRef.current) return;\n onChange?.(e);\n };\n\n const handleCompositionStart = (e: CompositionEvent<HTMLTextAreaElement>) => {\n composingRef.current = true;\n onCompositionStart?.(e);\n };\n const handleCompositionEnd = (e: CompositionEvent<HTMLTextAreaElement>) => {\n composingRef.current = false;\n onCompositionEnd?.(e);\n };\n\n const isIMEKey = (e: KeyboardEvent<HTMLTextAreaElement>) =>\n e.nativeEvent.isComposing || e.keyCode === 229 || composingRef.current;\n\n const submit = () => {\n const text = currentValue.trim();\n if (!text || disabled || atLimit) return;\n onSubmit?.(currentValue);\n if (!isControlled) setInternalValue('');\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n if (isIMEKey(e)) return;\n\n if (e.key === 'Enter') {\n const explicitSubmit = e.metaKey || e.ctrlKey;\n const plainEnterSubmits = submitOnEnter && !e.shiftKey;\n if (explicitSubmit || plainEnterSubmits) {\n e.preventDefault();\n submit();\n }\n }\n };\n\n const handleAttach = () => {\n fileInputRef.current?.click();\n };\n\n const handleFilePick = (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.files && e.target.files.length > 0) {\n onAttach?.(e.target.files);\n }\n // Reset so picking the same file twice still fires change.\n e.target.value = '';\n };\n\n const effectiveId = id ?? textareaId;\n const labelId = `${effectiveId}-label`;\n const counterId = hasMaxLength ? `${effectiveId}-counter` : undefined;\n const hintId = `${effectiveId}-hint`;\n\n const resolvedPlaceholder =\n placeholder ?? t('chat.input.placeholder');\n const resolvedLabel = label ?? t('chat.prompt');\n\n return (\n <div data-component=\"chat-input\" className={rootVariants({ size, className })}>\n <label id={labelId} htmlFor={effectiveId} className={label ? 'type-label ds:ps-[var(--spacing-sm)] ds:pt-[var(--spacing-sm)]' : 'ds:sr-only'}>\n {resolvedLabel}\n </label>\n <textarea\n ref={setRefs}\n id={effectiveId}\n value={isControlled ? currentValue : undefined}\n defaultValue={!isControlled ? defaultValue : undefined}\n disabled={disabled}\n rows={minRows}\n maxLength={maxLength}\n placeholder={resolvedPlaceholder}\n aria-labelledby={labelId}\n aria-describedby={[counterId, hintId].filter(Boolean).join(' ') || undefined}\n aria-invalid={atLimit || undefined}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n className={[\n 'ds:w-full ds:resize-none ds:bg-transparent',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-xs)]',\n 'ds:placeholder:text-[color:var(--muted-foreground)]',\n 'ds:leading-[var(--line-height-base)]',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed',\n // Tokenised focus ring on the textarea itself — the 1px border\n // shift on the wrapper alone fails the 3px accessible-theme\n // requirement. See a11y-critical-fixes.mdx.\n 'ds:outline-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' ')}\n {...rest}\n />\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]\">\n {onAttach ? (\n <>\n <input\n ref={fileInputRef}\n type=\"file\"\n className=\"ds:sr-only\"\n multiple\n accept={accept}\n onChange={handleFilePick}\n />\n <IconButton\n icon={<Paperclip />}\n aria-label={t('chat.input.attach')}\n intent=\"ghost\"\n size=\"sm\"\n onClick={handleAttach}\n disabled={disabled}\n />\n </>\n ) : null}\n {toolbar}\n <div className=\"ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n {showCounter ? (\n <span\n id={counterId}\n aria-live=\"polite\"\n className={[\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'type-meta ds:tabular-nums',\n atLimit\n ? 'ds:text-[color:var(--destructive)]'\n : 'ds:text-[color:var(--muted-foreground)]',\n ].join(' ')}\n >\n {atLimit ? (\n // Icon pairs with --destructive colour so the at-limit\n // state is not conveyed by hue alone (WCAG 1.4.1).\n <AlertCircle aria-hidden=\"true\" className=\"ds:size-3.5\" />\n ) : null}\n {t('chat.input.remaining', { count: remaining })}\n </span>\n ) : null}\n <span id={hintId} className=\"ds:sr-only\">\n {t('chat.input.sendHint')}\n </span>\n <IconButton\n icon={<Send />}\n aria-label={t('chat.send')}\n intent=\"primary\"\n size=\"sm\"\n disabled={disabled || !currentValue.trim() || atLimit}\n onClick={submit}\n aria-keyshortcuts=\"Meta+Enter Control+Enter\"\n />\n </div>\n </div>\n </div>\n );\n },\n);\n\nChatInput.displayName = 'ChatInput';\n"],"names":["__iconNode","Paperclip","createLucideIcon","rootVariants","cva","graphemeCount","value","locale","seg","n","_s","ChatInput","forwardRef","size","defaultValue","maxLength","submitOnEnter","minRows","maxRows","onSubmit","onAttach","accept","disabled","toolbar","label","placeholder","className","onChange","onKeyDown","onCompositionStart","onCompositionEnd","id","rest","ref","t","i18n","useTranslation","textareaId","useId","composingRef","useRef","fileInputRef","innerRef","setRefs","useCallback","node","isControlled","internalValue","setInternalValue","useState","currentValue","count","hasMaxLength","remaining","showCounter","atLimit","resize","el","styles","lineHeight","padTop","padBot","borderTop","borderBot","chrome","minH","maxH","next","useLayoutEffect","handleChange","handleCompositionStart","handleCompositionEnd","isIMEKey","submit","handleKeyDown","explicitSubmit","plainEnterSubmits","handleAttach","_a","handleFilePick","effectiveId","labelId","counterId","hintId","resolvedPlaceholder","resolvedLabel","jsxs","jsx","Fragment","IconButton","AlertCircle","Send"],"mappings":";;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AACA,GACMC,KAAYC,GAAiB,aAAaF,EAAU,GCApDG,KAAeC;AAAA,EACnB;AAAA,IACE;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB,EAAE,MAAM,KAAA;AAAA,EAAK;AAElC;AAiCA,SAASC,GAAcC,GAAeC,GAAwB;AAC5D,MAAI,OAAO,OAAS,OAAe,OAAO,KAAK,aAAc;AAC3D,QAAI;AACF,YAAMC,IAAM,IAAI,KAAK,UAAUD,GAAQ,EAAE,aAAa,YAAY;AAClE,UAAIE,IAAI;AACR,iBAAWC,KAAMF,EAAI,QAAQF,CAAK,EAAG,CAAAG,KAAK;AAC1C,aAAOA;AAAA,IACT,QAAQ;AAAA,IAER;AAEF,SAAO,MAAM,KAAKH,CAAK,EAAE;AAC3B;AAEO,MAAMK,KAAYC;AAAA,EACvB,CACE;AAAA,IACE,MAAAC,IAAO;AAAA,IACP,OAAAP;AAAA,IACA,cAAAQ;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,SAAAC,IAAU;AAAA,IACV,SAAAC,IAAU;AAAA,IACV,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,IAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,GAAG,MAAAC,EAAA,IAASC,GAAA,GACdC,IAAaC,GAAA,GACbC,IAAeC,EAAO,EAAK,GAC3BC,IAAeD,EAAyB,IAAI,GAC5CE,IAAWF,EAAmC,IAAI,GAElDG,IAAUC;AAAA,MACd,CAACC,MAAqC;AACpC,QAAAH,EAAS,UAAUG,GACf,OAAOZ,KAAQ,aAAYA,EAAIY,CAAI,IAC9BZ,QAAS,UAAUY;AAAA,MAC9B;AAAA,MACA,CAACZ,CAAG;AAAA,IAAA,GAGAa,IAAexC,MAAU,QACzB,CAACyC,GAAeC,CAAgB,IAAIC;AAAA,MACxC,OAAOnC,KAAgB,EAAE;AAAA,IAAA,GAErBoC,IAAeJ,IAAe,OAAOxC,CAAK,IAAIyC,GAE9CI,IAAQ9C,GAAc6C,GAAcf,EAAK,QAAQ,GACjDiB,IAAe,OAAOrC,KAAc,YAAYA,IAAY,GAC5DsC,IAAYD,IAAe,KAAK,IAAI,GAAGrC,IAAYoC,CAAK,IAAI,GAC5DG,IAAcF,KAAgBD,IAASpC,IAAuB,KAC9DwC,IAAUH,KAAgBD,KAASpC,GAKnCyC,IAASZ,EAAY,MAAM;AAC/B,YAAMa,IAAKf,EAAS;AACpB,UAAI,CAACe,EAAI;AACT,YAAMC,IAAS,OAAO,iBAAiBD,CAAE,GACnCE,IAAa,WAAWD,EAAO,UAAU,KAAK,IAC9CE,KAAS,WAAWF,EAAO,UAAU,KAAK,GAC1CG,KAAS,WAAWH,EAAO,aAAa,KAAK,GAC7CI,KAAY,WAAWJ,EAAO,cAAc,KAAK,GACjDK,KAAY,WAAWL,EAAO,iBAAiB,KAAK,GACpDM,IAASJ,KAASC,KAASC,KAAYC,IACvCE,KAAON,IAAa1C,IAAU+C,GAC9BE,IAAOP,IAAazC,IAAU8C;AACpC,MAAAP,EAAG,MAAM,SAAS;AAClB,YAAMU,KAAO,KAAK,IAAIF,IAAM,KAAK,IAAIR,EAAG,cAAcS,CAAI,CAAC;AAC3D,MAAAT,EAAG,MAAM,SAAS,GAAGU,EAAI,MACzBV,EAAG,MAAM,YAAYA,EAAG,eAAeS,IAAO,SAAS;AAAA,IACzD,GAAG,CAACjD,GAASC,CAAO,CAAC;AAErB,IAAAkD,GAAgB,MAAM;AACpB,MAAAZ,EAAA;AAAA,IACF,GAAG,CAACA,GAAQN,CAAY,CAAC;AAEzB,UAAMmB,KAAe,CAAC,MAAwC;AAE5D,MADKvB,KAAcE,EAAiB,EAAE,OAAO,KAAK,GAC9C,CAAAT,EAAa,YACjBZ,KAAA,QAAAA,EAAW;AAAA,IACb,GAEM2C,KAAyB,CAAC,MAA6C;AAC3E,MAAA/B,EAAa,UAAU,IACvBV,KAAA,QAAAA,EAAqB;AAAA,IACvB,GACM0C,KAAuB,CAAC,MAA6C;AACzE,MAAAhC,EAAa,UAAU,IACvBT,KAAA,QAAAA,EAAmB;AAAA,IACrB,GAEM0C,KAAW,CAAC,MAChB,EAAE,YAAY,eAAe,EAAE,YAAY,OAAOjC,EAAa,SAE3DkC,IAAS,MAAM;AAEnB,MAAI,CADSvB,EAAa,KAAA,KACb5B,KAAYiC,MACzBpC,KAAA,QAAAA,EAAW+B,IACNJ,KAAcE,EAAiB,EAAE;AAAA,IACxC,GAEM0B,KAAgB,CAAC,MAA0C;AAE/D,UADA9C,KAAA,QAAAA,EAAY,IACR,GAAE,oBACF,CAAA4C,GAAS,CAAC,KAEV,EAAE,QAAQ,SAAS;AACrB,cAAMG,IAAiB,EAAE,WAAW,EAAE,SAChCC,IAAoB5D,KAAiB,CAAC,EAAE;AAC9C,SAAI2D,KAAkBC,OACpB,EAAE,eAAA,GACFH,EAAA;AAAA,MAEJ;AAAA,IACF,GAEMI,KAAe,MAAM;;AACzB,OAAAC,IAAArC,EAAa,YAAb,QAAAqC,EAAsB;AAAA,IACxB,GAEMC,KAAiB,CAAC,MAAqC;AAC3D,MAAI,EAAE,OAAO,SAAS,EAAE,OAAO,MAAM,SAAS,MAC5C3D,KAAA,QAAAA,EAAW,EAAE,OAAO,SAGtB,EAAE,OAAO,QAAQ;AAAA,IACnB,GAEM4D,IAAcjD,KAAMM,GACpB4C,IAAU,GAAGD,CAAW,UACxBE,IAAY9B,IAAe,GAAG4B,CAAW,aAAa,QACtDG,IAAS,GAAGH,CAAW,SAEvBI,KACJ3D,KAAeS,EAAE,wBAAwB,GACrCmD,KAAgB7D,KAASU,EAAE,aAAa;AAE9C,WACE,gBAAAoD,EAAC,OAAA,EAAI,kBAAe,cAAa,WAAWnF,GAAa,EAAE,MAAAU,GAAM,WAAAa,EAAA,CAAW,GAC1E,UAAA;AAAA,MAAA,gBAAA6D,EAAC,SAAA,EAAM,IAAIN,GAAS,SAASD,GAAa,WAAWxD,IAAQ,mEAAmE,cAC7H,UAAA6D,GAAA,CACH;AAAA,MACA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK5C;AAAA,UACL,IAAIqC;AAAA,UACJ,OAAOlC,IAAeI,IAAe;AAAA,UACrC,cAAeJ,IAA8B,SAAfhC;AAAA,UAC9B,UAAAQ;AAAA,UACA,MAAML;AAAA,UACN,WAAAF;AAAA,UACA,aAAaqE;AAAA,UACb,mBAAiBH;AAAA,UACjB,oBAAkB,CAACC,GAAWC,CAAM,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAAA,UACnE,gBAAc5B,KAAW;AAAA,UACzB,UAAUc;AAAA,UACV,WAAWK;AAAA,UACX,oBAAoBJ;AAAA,UACpB,kBAAkBC;AAAA,UAClB,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA;AAAA;AAAA,YAIA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,EACA,KAAK,GAAG;AAAA,UACT,GAAGvC;AAAA,QAAA;AAAA,MAAA;AAAA,MAEN,gBAAAsD,EAAC,OAAA,EAAI,WAAU,oIACZ,UAAA;AAAA,QAAAlE,IACC,gBAAAkE,EAAAE,IAAA,EACE,UAAA;AAAA,UAAA,gBAAAD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK9C;AAAA,cACL,MAAK;AAAA,cACL,WAAU;AAAA,cACV,UAAQ;AAAA,cACR,QAAApB;AAAA,cACA,UAAU0D;AAAA,YAAA;AAAA,UAAA;AAAA,UAEZ,gBAAAQ;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,wBAAOxF,IAAA,EAAU;AAAA,cACjB,cAAYiC,EAAE,mBAAmB;AAAA,cACjC,QAAO;AAAA,cACP,MAAK;AAAA,cACL,SAAS2C;AAAA,cACT,UAAAvD;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF,IACE;AAAA,QACHC;AAAA,QACD,gBAAA+D,EAAC,OAAA,EAAI,WAAU,wEACZ,UAAA;AAAA,UAAAhC,IACC,gBAAAgC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAIJ;AAAA,cACJ,aAAU;AAAA,cACV,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA3B,IACI,uCACA;AAAA,cAAA,EACJ,KAAK,GAAG;AAAA,cAET,UAAA;AAAA,gBAAAA;AAAA;AAAA;AAAA,kBAGC,gBAAAgC,EAACG,IAAA,EAAY,eAAY,QAAO,WAAU,cAAA,CAAc;AAAA,oBACtD;AAAA,gBACHxD,EAAE,wBAAwB,EAAE,OAAOmB,GAAW;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,IAE/C;AAAA,UACJ,gBAAAkC,EAAC,UAAK,IAAIJ,GAAQ,WAAU,cACzB,UAAAjD,EAAE,qBAAqB,GAC1B;AAAA,UACA,gBAAAqD;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,wBAAOE,IAAA,EAAK;AAAA,cACZ,cAAYzD,EAAE,WAAW;AAAA,cACzB,QAAO;AAAA,cACP,MAAK;AAAA,cACL,UAAUZ,KAAY,CAAC4B,EAAa,UAAUK;AAAA,cAC9C,SAASkB;AAAA,cACT,qBAAkB;AAAA,YAAA;AAAA,UAAA;AAAA,QACpB,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GACF;AAAA,EAEJ;AACF;AAEA9D,GAAU,cAAc;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-ByouZpPP.js","sources":["../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.js","../../src/components/chat-message/chat-message.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 [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }]\n];\nconst RotateCcw = createLucideIcon(\"rotate-ccw\", __iconNode);\n\nexport { __iconNode, RotateCcw as default };\n//# sourceMappingURL=rotate-ccw.js.map\n","import {\n forwardRef,\n Fragment,\n useMemo,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertCircle, Check, Clock, RotateCcw } from 'lucide-react';\nimport { Button } from '../button';\nimport { Avatar } from '../avatar';\nimport { Timestamp } from '../timestamp';\nimport { safeImageSrc } from '../_shared';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport type ChatMessageRole = 'user' | 'assistant' | 'system';\nexport type ChatMessageStatus = 'sending' | 'sent' | 'error' | 'edited';\n\nexport interface ChatMessageAvatar {\n name?: string;\n src?: string;\n /**\n * Optional custom avatar node. When provided, it REPLACES the built-in\n * `<Avatar>` (initials / image) for this message. Used by the Leo\n * pattern to render a Sparkles identity tile instead of an avatar, and\n * by consumers that want to swap in a user-icon chip, brand glyph, etc.\n * The caller is responsible for accessible labelling on the custom node\n * — ChatMessage's own `aria-label` already announces the role/time, so\n * purely decorative nodes can be `aria-hidden`.\n */\n slot?: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rowVariants = cva('ds:flex ds:w-full ds:items-start ds:gap-[var(--spacing-sm)]', {\n variants: {\n role: {\n user: 'ds:flex-row-reverse',\n assistant: 'ds:flex-row',\n system: 'ds:flex-col ds:items-center ds:text-center',\n },\n },\n defaultVariants: { role: 'assistant' },\n});\n\nconst bubbleVariants = cva(\n [\n // Cap at 42rem on wide surfaces; on narrow docks (Leo sidebar ≈22rem)\n // leave room for the avatar column (size-8 = 32px = --spacing-xl) +\n // `gap-sm` (8px = --spacing-sm) so avatars don't clip off the inline\n // edge when the row is width-constrained.\n 'ds:relative ds:max-w-[min(42rem,calc(100%-var(--spacing-xl)-var(--spacing-sm)))]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'type-body',\n 'ds:break-words',\n ].join(' '),\n {\n variants: {\n role: {\n user: 'ds:bg-[color:var(--primary)] ds:text-[color:var(--primary-foreground)] ds:rounded-[var(--radius-md)] ds:rounded-ee-[var(--radius-sm)]',\n assistant:\n 'ds:bg-muted/40 ds:text-foreground ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]',\n system:\n 'ds:bg-transparent ds:text-[color:var(--muted-foreground)] type-body-sm ds:italic',\n },\n },\n defaultVariants: { role: 'assistant' },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Safe markdown-ish (bold, inline code, line-breaks, links as text) */\n/* No dangerouslySetInnerHTML. */\n/* ------------------------------------------------------------------ */\n\ntype Token =\n | { type: 'text'; value: string }\n | { type: 'bold'; value: string }\n | { type: 'code'; value: string }\n | { type: 'br' }\n | { type: 'link'; label: string; href: string };\n\nconst SAFE_SCHEMES = /^(https?:|mailto:)/i;\n\nfunction tokenize(input: string): Token[] {\n const tokens: Token[] = [];\n let remaining = input;\n const pattern = /\\*\\*([^*]+)\\*\\*|`([^`]+)`|\\[([^\\]]+)\\]\\(([^)]+)\\)|\\n/;\n while (remaining.length > 0) {\n const match = pattern.exec(remaining);\n if (!match) {\n tokens.push({ type: 'text', value: remaining });\n break;\n }\n if (match.index > 0) {\n tokens.push({ type: 'text', value: remaining.slice(0, match.index) });\n }\n if (match[1] !== undefined) {\n tokens.push({ type: 'bold', value: match[1] });\n } else if (match[2] !== undefined) {\n tokens.push({ type: 'code', value: match[2] });\n } else if (match[3] !== undefined && match[4] !== undefined) {\n tokens.push({ type: 'link', label: match[3], href: match[4] });\n } else {\n tokens.push({ type: 'br' });\n }\n remaining = remaining.slice(match.index + match[0].length);\n }\n return tokens;\n}\n\nfunction renderBody(input: string): ReactNode {\n return tokenize(input).map((tok, i) => {\n if (tok.type === 'bold') return <strong key={i}>{tok.value}</strong>;\n if (tok.type === 'code') {\n return (\n <code\n key={i}\n dir=\"ltr\"\n className=\"ds:rounded-[var(--radius-sm)] ds:bg-muted/30 ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-[family-name:var(--font-mono)]\"\n >\n {tok.value}\n </code>\n );\n }\n if (tok.type === 'br') return <br key={i} />;\n if (tok.type === 'link') {\n if (!SAFE_SCHEMES.test(tok.href)) {\n // Unsafe scheme (javascript:, data:) — render as inert text.\n return <Fragment key={i}>{tok.label}</Fragment>;\n }\n return (\n <a\n key={i}\n href={tok.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"ds:underline ds:underline-offset-2 ds:hover:opacity-80\"\n >\n {tok.label}\n </a>\n );\n }\n return <Fragment key={i}>{tok.value}</Fragment>;\n });\n}\n\n/* ------------------------------------------------------------------ */\n/* ChatMessage */\n/* ------------------------------------------------------------------ */\n\ntype NativeProps = Omit<HTMLAttributes<HTMLElement>, 'content' | 'role'>;\n\nexport interface ChatMessageProps\n extends NativeProps,\n VariantProps<typeof bubbleVariants> {\n role: ChatMessageRole;\n content: string;\n avatar?: ChatMessageAvatar;\n timestamp?: Date | number | string;\n status?: ChatMessageStatus;\n /** Parse a small, safe subset of markdown. Never renders raw HTML. */\n renderMarkdown?: boolean;\n /** Invoked when the retry button is activated (error status only). */\n onRetry?: () => void;\n}\n\nexport const ChatMessage = forwardRef<HTMLElement, ChatMessageProps>(\n (\n {\n role,\n content,\n avatar,\n timestamp,\n status,\n renderMarkdown = false,\n onRetry,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n // Local format — used for the aria-label interpolation only. Visible\n // label is rendered by `<Timestamp>` below, which computes the same\n // locale-aware HH:MM internally.\n const formattedTime = useMemo(() => {\n if (!timestamp) return null;\n const date =\n timestamp instanceof Date ? timestamp : new Date(timestamp);\n if (Number.isNaN(date.getTime())) return null;\n return new Intl.DateTimeFormat(i18n.language, {\n hour: '2-digit',\n minute: '2-digit',\n }).format(date);\n }, [timestamp, i18n.language]);\n\n const roleLabel = t(`chat.message.role.${role}`);\n const messageLabel = formattedTime\n ? t('chat.message.label', { role: roleLabel, time: formattedTime })\n : t('chat.message.labelNoTime', { role: roleLabel });\n\n const body = renderMarkdown ? renderBody(content) : content;\n\n const statusIcon = (() => {\n if (!status || status === 'edited') return null;\n if (status === 'sending')\n return <Clock aria-hidden=\"true\" className=\"ds:size-3.5\" />;\n if (status === 'sent')\n return <Check aria-hidden=\"true\" className=\"ds:size-3.5\" />;\n return (\n <AlertCircle\n aria-hidden=\"true\"\n className=\"ds:size-3.5 ds:text-[color:var(--destructive)]\"\n />\n );\n })();\n\n const statusText = status ? t(`chat.message.status.${status}`) : null;\n\n return (\n <article\n ref={ref}\n aria-label={messageLabel}\n data-component=\"chat-message\"\n className={[\n rowVariants({ role, className }),\n // Entrance: fade + slide up on mount. `--animation-duration` is 0ms\n // under `prefers-reduced-motion` and `.theme-accessible`, so both\n // collapse the animation to an instant state change automatically.\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0 ds:motion-safe:slide-in-from-bottom-2',\n 'ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n ].join(' ')}\n {...rest}\n >\n {role !== 'system' && avatar ? (\n avatar.slot ? (\n // Consumer-supplied avatar node (e.g. Leo's Sparkles tile).\n avatar.slot\n ) : (\n // Allow-list the src: LLM-supplied values can carry\n // `javascript:` / `data:text/html` / `data:image/svg+xml` and so\n // are scrubbed here before reaching <Avatar>. Fallback to initials.\n <Avatar name={avatar.name} src={safeImageSrc(avatar.src)} size=\"sm\" />\n )\n ) : null}\n\n <div\n className={[\n // min-w-0 allows this flex item to shrink below its content's\n // natural width — without it, a single unbreakable token (URL,\n // CJK run, hash) can force the bubble wider than the parent\n // and spill outside narrow containers like the Leo sidebar.\n 'ds:flex ds:flex-col ds:min-w-0',\n role === 'user' ? 'ds:items-end' : role === 'assistant' ? 'ds:items-start' : 'ds:items-center',\n ].join(' ')}\n >\n <div\n dir=\"auto\"\n className={[\n bubbleVariants({ role }),\n // `break-words` (from bubbleVariants) handles soft hyphens;\n // `overflow-wrap: anywhere` is the last-resort break for\n // URLs, hashes, or CJK runs that would otherwise push the\n // bubble wider than its parent in narrow docks like Leo.\n 'ds:[overflow-wrap:anywhere]',\n ].join(' ')}\n >\n {body}\n </div>\n\n {(formattedTime || statusText) && role !== 'system' ? (\n <div\n className={[\n 'ds:mt-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'type-meta ds:text-[color:var(--muted-foreground)]',\n ].join(' ')}\n >\n {timestamp ? (\n <Timestamp\n value={timestamp}\n format=\"absolute\"\n absoluteFormat={{ hour: '2-digit', minute: '2-digit' }}\n dir=\"ltr\"\n />\n ) : null}\n {statusIcon ? (\n // `key={status}` re-mounts the span on every status change so\n // `animate-in` re-runs — gives the sending → sent → error\n // swap a subtle cross-fade instead of an abrupt pop.\n <span\n key={status}\n className={[\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0',\n 'ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n ].join(' ')}\n >\n {statusIcon}\n <span className=\"ds:sr-only\">{statusText}</span>\n </span>\n ) : null}\n {status === 'error' && onRetry ? (\n <Button\n intent=\"ghost\"\n size=\"sm\"\n onClick={onRetry}\n startIcon={<RotateCcw />}\n >\n {t('chat.message.retry')}\n </Button>\n ) : null}\n </div>\n ) : null}\n </div>\n </article>\n );\n },\n);\n\nChatMessage.displayName = 'ChatMessage';\n"],"names":["__iconNode","RotateCcw","createLucideIcon","rowVariants","cva","bubbleVariants","SAFE_SCHEMES","tokenize","input","tokens","remaining","pattern","match","renderBody","tok","i","jsx","Fragment","ChatMessage","forwardRef","role","content","avatar","timestamp","status","renderMarkdown","onRetry","className","rest","ref","t","i18n","useTranslation","formattedTime","useMemo","date","roleLabel","messageLabel","body","statusIcon","Clock","Check","AlertCircle","statusText","jsxs","Avatar","safeImageSrc","Timestamp","Button"],"mappings":"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","x_google_ignoreList":[0]}
|