@alfadocs/ui-kit 0.1.10 → 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/dist/_chunks/accordion-DOmxGEWU.js +228 -0
- package/dist/_chunks/{agenda-card-DwLIxgi7.js → agenda-card-CalZqycc.js} +12 -3
- package/dist/_chunks/{agenda-tray-DUvengGQ.js → agenda-tray-3ffFDQZC.js} +54 -51
- package/dist/_chunks/{ai-prompt-input.agent-0NHYLTWD.js → ai-prompt-input-BBiDlEIS.js} +231 -231
- package/dist/_chunks/{alert-BlOUMkXj.js → alert-B1sj8Ss0.js} +24 -14
- package/dist/_chunks/{apexcharts-theme-BkSShpEy.js → apexcharts-theme-BJigns_V.js} +7 -2
- package/dist/_chunks/{app-frame-6d7Lu4ea.js → app-frame-CDJOgPXe.js} +7 -16
- package/dist/_chunks/{audio-recorder.agent--VKeykUp.js → audio-recorder-B4U1LuiQ.js} +161 -162
- package/dist/_chunks/{audio-visualiser-CeMPCZkd.js → audio-visualiser-ByDEFLNm.js} +25 -19
- package/dist/_chunks/autocomplete-D4oUZbsP.js +466 -0
- package/dist/_chunks/{badge-mrstWxve.js → badge-DKFbntoa.js} +16 -13
- package/dist/_chunks/{balance-cell-renderer-5CA7zpAi.js → balance-cell-renderer-B8zgIM-m.js} +63 -44
- package/dist/_chunks/{breadcrumb.agent-GM2hAKFX.js → breadcrumb-D1snXjPb.js} +165 -157
- package/dist/_chunks/{button-7mLWcMp_.js → button-DD_0Xdmr.js} +12 -2
- package/dist/_chunks/{calendar-nGEgelJs.js → calendar-zy0tUUVG.js} +13 -18
- package/dist/_chunks/{card-BEy58ZKp.js → card-CWzuTLYE.js} +40 -34
- package/dist/_chunks/{chart.agent-_pRYS17d.js → chart-BLvFl169.js} +147 -131
- package/dist/_chunks/chat-container-ClzsWXp2.js +220 -0
- package/dist/_chunks/chat-input-DOlsB1fm.js +333 -0
- package/dist/_chunks/{chat-message-ByouZpPP.js → chat-message-DoAhgUTj.js} +23 -13
- package/dist/_chunks/{collapsible.agent-DkS1jVyn.js → collapsible-CuxUBoHJ.js} +97 -99
- package/dist/_chunks/{color-picker-94qcBZqZ.js → color-picker-CTIcHlDF.js} +111 -45
- package/dist/_chunks/combobox-DCNXqbC7.js +460 -0
- package/dist/_chunks/command-palette-C_vgSgrI.js +441 -0
- package/dist/_chunks/{date-picker-BqPTn7bO.js → date-picker-B1PO1ZQP.js} +190 -181
- package/dist/_chunks/{date-range-picker-B2hGsffw.js → date-range-picker-mix2nEVC.js} +21 -8
- package/dist/_chunks/{date-time-picker-Bzt0S8yO.js → date-time-picker-Dnong_BY.js} +30 -15
- package/dist/_chunks/{description-list-DvJbp6Yg.js → description-list-BYA77Yud.js} +26 -23
- package/dist/_chunks/dialog-BPD7wlGE.js +211 -0
- package/dist/_chunks/dropdown-menu-CpiF6CPz.js +300 -0
- package/dist/_chunks/{empty-state-DQPtRp2b.js → empty-state-3CLJIXSj.js} +132 -101
- package/dist/_chunks/file-upload-C947ACDK.js +829 -0
- package/dist/_chunks/{floating-action-button-Cnw-f6AG.js → floating-action-button-C8OYj8mE.js} +9 -2
- package/dist/_chunks/{form-field-BfsPLTSc.js → form-field-Bmkeh7WY.js} +12 -11
- package/dist/_chunks/{form-field-context-94LwgYTQ.js → form-field-context-B3APVHKx.js} +4 -2
- package/dist/_chunks/{freemium-paywall.agent-_nQqLyRF.js → freemium-paywall-CnvceDav.js} +124 -117
- package/dist/_chunks/{header-BGn1mRp8.js → header-D0ULgQl3.js} +69 -68
- package/dist/_chunks/{icon-button-Wnnde5lc.js → icon-button-C4CGcYuz.js} +11 -3
- package/dist/_chunks/{kbd-8baVw3KU.js → kbd-Cglkd7CY.js} +6 -2
- package/dist/_chunks/{key-value-pair-JRFS9Xrh.js → key-value-pair-CgWvAIGb.js} +2 -2
- package/dist/_chunks/{leo-sidebar-BwINPdix.js → leo-sidebar-CfEY-xi2.js} +16 -20
- package/dist/_chunks/{link-QheANk74.js → link-8QmFjIz2.js} +2 -5
- package/dist/_chunks/list-qP6p0NTw.js +434 -0
- package/dist/_chunks/{logo-BpFoCL-s.js → logo-_Z-jLq80.js} +155 -26
- package/dist/_chunks/{matrix-rain-BEkvux64.js → matrix-rain-CRPMXcVx.js} +8 -2
- package/dist/_chunks/{message-card-qhoGv947.js → message-card-ChCX9Iv6.js} +63 -60
- package/dist/_chunks/{message-tray-xHUCra-Y.js → message-tray-n8q9ITXI.js} +71 -76
- package/dist/_chunks/{multi-select.agent-Do6CeQUT.js → multi-select-wqqrgjUQ.js} +326 -291
- package/dist/_chunks/{navigation-menu.agent-D69ND6Qq.js → navigation-menu-ClbHeawy.js} +136 -123
- package/dist/_chunks/{notification-card-CsVEYJE-.js → notification-card-hBlPN1-c.js} +3 -3
- package/dist/_chunks/{notification-tray-DTXMq42J.js → notification-tray-C5cnXbl9.js} +70 -66
- package/dist/_chunks/{number-input-fvGmnRy9.js → number-input-Q7wkHnvQ.js} +7 -3
- package/dist/_chunks/{otp-input-EglXOUue.js → otp-input-C9gUByF0.js} +6 -3
- package/dist/_chunks/{pagination.agent-BkZQl45y.js → pagination-3AC4zTsi.js} +234 -194
- package/dist/_chunks/{password-input-D6kuYXmr.js → password-input-C4LmjIH1.js} +6 -9
- package/dist/_chunks/{patient-shell-BRmrrUUW.js → patient-shell-BlsEUKWB.js} +10 -15
- package/dist/_chunks/{payment-form-BWaXas8z.js → payment-form-C3vT_npe.js} +195 -186
- package/dist/_chunks/{pdf-viewer.agent-BaGEDheA.js → pdf-viewer-CZIfY08H.js} +270 -241
- package/dist/_chunks/{phone-input-C8Op4sEc.js → phone-input-CSHJOJ13.js} +4 -9
- package/dist/_chunks/popover-DekUKNBk.js +293 -0
- package/dist/_chunks/{privacy-lock.agent-C1i1-T58.js → privacy-lock-BKsI6ReN.js} +117 -109
- package/dist/_chunks/progress-C11tqhoI.js +298 -0
- package/dist/_chunks/{recaptcha-widget.agent-BGHpU5zD.js → recaptcha-widget-NyfOfLII.js} +95 -86
- package/dist/_chunks/resizable-mpXXyIsN.js +483 -0
- package/dist/_chunks/{rich-text-editor.agent-DnE125Tz.js → rich-text-editor-C7TCIlQO.js} +298 -209
- package/dist/_chunks/{scroll-area-DLr5w9Dd.js → scroll-area-DEDU-lp-.js} +67 -54
- package/dist/_chunks/{search-bar.agent-DxFAxctc.js → search-bar-BTDfgYtg.js} +291 -268
- package/dist/_chunks/{search-input-Xw3cdWXW.js → search-input-CdJIEjFo.js} +116 -107
- package/dist/_chunks/{select-DY1Cb2Tg.js → select-y6bXV1f1.js} +84 -83
- package/dist/_chunks/{separator-B4wXDLNC.js → separator-CYU_bGFn.js} +2 -5
- package/dist/_chunks/{sheet-B9kH9pcI.js → sheet-4tgMFwj0.js} +135 -60
- package/dist/_chunks/{sidebar-CHF5xr_P.js → sidebar-Bx3wCDyy.js} +546 -457
- package/dist/_chunks/{sign-in-with-alfadocs-button-BN_FPGHT.js → sign-in-with-alfadocs-button-B9UrqOqH.js} +9 -5
- package/dist/_chunks/{signature-capture.agent-BpeDwFht.js → signature-capture-DjMlFOzS.js} +210 -212
- package/dist/_chunks/{skeleton-dtqyF09N.js → skeleton-CZbwyJAA.js} +9 -3
- package/dist/_chunks/{slider-CcsQTZTA.js → slider-BT2bZWsy.js} +138 -134
- package/dist/_chunks/{slot-grid-D_l5VsHG.js → slot-grid-CgpYgBkW.js} +105 -95
- package/dist/_chunks/{sparkline.agent-56Sj7nOP.js → sparkline-_gy8aJDG.js} +107 -100
- package/dist/_chunks/{spinner-GCcv67vh.js → spinner-DLaYfLPl.js} +66 -14
- package/dist/_chunks/{stat-DUB6g90R.js → stat-B9PHSPbN.js} +45 -27
- package/dist/_chunks/{stepper-calendar.agent-9iT3ClIB.js → stepper-calendar-BLOJUE0-.js} +189 -187
- package/dist/_chunks/stepper-progress-jFY8BSf7.js +208 -0
- package/dist/_chunks/{suggestion-chip-DhFrkRPj.js → suggestion-chip-C4Jz0LrM.js} +50 -52
- package/dist/_chunks/{switch-BYEH8I53.js → switch-C0psfIQF.js} +2 -2
- package/dist/_chunks/{tabs.agent-h7NvsTR1.js → tabs-DaFA3Muo.js} +183 -155
- package/dist/_chunks/{tag-BqidXKo3.js → tag-DuLMjRbF.js} +90 -32
- package/dist/_chunks/{task-card-CY5ztNkU.js → task-card-Dw_ZJDL8.js} +5 -2
- package/dist/_chunks/{task-tray-CCoUdorl.js → task-tray-XlIW9ueh.js} +50 -49
- package/dist/_chunks/{text-area-C_M8wliK.js → text-area-CO9Dz0qX.js} +2 -2
- package/dist/_chunks/{text-input-BX39e6T6.js → text-input-DZwt9L8H.js} +65 -62
- package/dist/_chunks/{theme-root-DDb0TJjd.js → theme-root-CSKD5ZRm.js} +9 -2
- package/dist/_chunks/{theme-toggle.agent-btmXTWdW.js → theme-toggle-B9zzCnvl.js} +179 -177
- package/dist/_chunks/{time-picker-B8AMIrX7.js → time-picker-DvPUmHH-.js} +95 -93
- package/dist/_chunks/{timeline.agent-CRPza9wc.js → timeline-BvmnQadS.js} +96 -96
- package/dist/_chunks/{toast.agent-BjEGuq1Z.js → toast.agent-BwKXA0km.js} +46 -8
- package/dist/_chunks/{tooth-scheme.agent-CWrQBjJM.js → tooth-scheme-3mITSXiZ.js} +146 -162
- package/dist/_chunks/{transcript-panel.agent-BXEYP6w-.js → transcript-panel-Bx5ANMsv.js} +110 -101
- package/dist/_chunks/{typing-indicator-CbUBf-Dx.js → typing-indicator-BZ5jXZPn.js} +27 -5
- package/dist/_chunks/{use-theme-BMUhembX.js → use-theme-B1cwAXJR.js} +2 -5
- package/dist/_chunks/{visually-hidden-Bw7vBHLm.js → visually-hidden-BHxEUGyT.js} +11 -2
- package/dist/_chunks/{warning-stack-8Pa3pekh.js → warning-stack-VygGHSqC.js} +11 -13
- package/dist/_chunks/{workflow-map-D2A7rTEG.js → workflow-map-C-nlogPC.js} +430 -452
- package/dist/agent-catalog.json +580 -15
- package/dist/components/_shared/index.d.ts +2 -2
- package/dist/components/accordion/index.d.ts +1 -1
- package/dist/components/accordion/index.js +5 -6
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/agenda-tray.d.ts +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/alert/index.js +1 -1
- package/dist/components/app-frame/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/audio-visualiser/index.js +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/badge/index.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts +1 -1
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/button/index.js +2 -2
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/card/index.js +1 -1
- package/dist/components/chart/index.d.ts +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/chat-container/chat-container.d.ts +1 -1
- package/dist/components/chat-container/index.js +2 -3
- package/dist/components/chat-input/chat-input.d.ts +1 -1
- package/dist/components/chat-input/index.js +3 -4
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/checkbox-group/index.d.ts +1 -1
- package/dist/components/collapsible/collapsible.d.ts +1 -1
- package/dist/components/collapsible/index.d.ts +1 -1
- package/dist/components/collapsible/index.js +1 -1
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/combobox/index.d.ts +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/command-palette/command-palette.d.ts +46 -13
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/data-table/data-table.d.ts +3 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/data-table/toolbar.d.ts +6 -5
- package/dist/components/date-picker/date-picker.d.ts +1 -1
- package/dist/components/date-picker/index.d.ts +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.d.ts +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/description-list/description-list.d.ts +1 -2
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/dialog/dialog.d.ts +2 -2
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +11 -16
- package/dist/components/dropdown-menu/index.js +3 -4
- package/dist/components/empty-state/index.js +1 -1
- package/dist/components/file-upload/index.d.ts +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/floating-action-button/index.js +1 -1
- package/dist/components/form-field/index.js +2 -2
- package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/icon-button/index.js +1 -1
- package/dist/components/kbd/index.js +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/link/index.js +1 -1
- package/dist/components/list/index.js +1 -1
- package/dist/components/logo/index.js +1 -1
- package/dist/components/matrix-rain/index.js +1 -1
- package/dist/components/message-card/index.d.ts +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/message-tray/message-tray.d.ts +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/navigation-menu/index.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.d.ts +1 -1
- package/dist/components/notification-card/index.d.ts +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/notification-tray/notification-tray.d.ts +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/pagination.d.ts +4 -6
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/payment-form/index.js +7 -8
- package/dist/components/payment-form/payment-form.d.ts +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/phone-input/index.d.ts +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/popover/index.js +3 -4
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/privacy-lock/privacy-lock.d.ts +1 -1
- package/dist/components/progress/index.js +3 -4
- package/dist/components/recaptcha-widget/index.js +1 -1
- package/dist/components/resizable/index.d.ts +1 -1
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/scroll-area/index.js +1 -1
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-bar/search-bar.d.ts +1 -1
- package/dist/components/search-input/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/separator/index.js +1 -1
- package/dist/components/sheet/index.js +3 -4
- package/dist/components/sheet/sheet.d.ts +2 -2
- package/dist/components/sidebar/index.js +7 -8
- package/dist/components/sidebar/sidebar.d.ts +0 -2
- package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
- package/dist/components/signature-capture/index.js +1 -1
- package/dist/components/skeleton/index.js +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/sparkline/index.js +1 -1
- package/dist/components/spinner/index.js +1 -1
- package/dist/components/stat/index.js +1 -1
- package/dist/components/stepper-calendar/index.js +1 -1
- package/dist/components/stepper-calendar/stepper-calendar.d.ts +1 -1
- package/dist/components/stepper-progress/index.d.ts +1 -1
- package/dist/components/stepper-progress/index.js +1 -2
- package/dist/components/stepper-progress/stepper-progress.d.ts +1 -1
- package/dist/components/suggestion-chip/index.js +1 -1
- package/dist/components/switch/index.js +1 -1
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tag/index.js +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/task-tray/task-tray.d.ts +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/theme-root/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/theme-toggle/theme-toggle.d.ts +1 -1
- package/dist/components/time-picker/index.js +1 -1
- package/dist/components/time-picker/time-picker.d.ts +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/timeline/timeline.d.ts +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/transcript-panel/transcript-panel.d.ts +1 -1
- package/dist/components/typing-indicator/index.js +1 -1
- package/dist/components/visually-hidden/index.js +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/components/workflow/workflow-editor.d.ts +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/index.js +392 -402
- package/dist/patterns/leo-assistant/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/safe-html/index.js +20 -3
- package/dist/tokens.css +2 -2
- package/package.json +8 -6
- package/dist/_chunks/accordion-BEnrZmAn.js +0 -120
- package/dist/_chunks/accordion-BEnrZmAn.js.map +0 -1
- package/dist/_chunks/accordion.agent-BTjeO1Sx.js +0 -52
- package/dist/_chunks/accordion.agent-BTjeO1Sx.js.map +0 -1
- package/dist/_chunks/agenda-card-DwLIxgi7.js.map +0 -1
- package/dist/_chunks/agenda-card.agent-B_R47-c9.js.map +0 -1
- package/dist/_chunks/agenda-tray-DUvengGQ.js.map +0 -1
- package/dist/_chunks/ai-prompt-input.agent-0NHYLTWD.js.map +0 -1
- package/dist/_chunks/alert-BlOUMkXj.js.map +0 -1
- package/dist/_chunks/apexcharts-theme-BkSShpEy.js.map +0 -1
- package/dist/_chunks/app-frame-6d7Lu4ea.js.map +0 -1
- package/dist/_chunks/aspect-ratio-DeSNzASA.js.map +0 -1
- package/dist/_chunks/audio-recorder.agent--VKeykUp.js.map +0 -1
- package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +0 -1
- package/dist/_chunks/autocomplete.agent-Dh7KioS6.js +0 -432
- package/dist/_chunks/autocomplete.agent-Dh7KioS6.js.map +0 -1
- package/dist/_chunks/avatar-Dcr6XuDQ.js.map +0 -1
- package/dist/_chunks/badge-mrstWxve.js.map +0 -1
- package/dist/_chunks/balance-cell-renderer-5CA7zpAi.js.map +0 -1
- package/dist/_chunks/breadcrumb.agent-GM2hAKFX.js.map +0 -1
- package/dist/_chunks/button-7mLWcMp_.js.map +0 -1
- package/dist/_chunks/button-group-CONver7M.js.map +0 -1
- package/dist/_chunks/button.agent-BuGZBktn.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-_pRYS17d.js.map +0 -1
- package/dist/_chunks/chat-container-Dl0Kfy5a.js +0 -175
- package/dist/_chunks/chat-container-Dl0Kfy5a.js.map +0 -1
- package/dist/_chunks/chat-container.agent-CM4WModE.js +0 -27
- package/dist/_chunks/chat-container.agent-CM4WModE.js.map +0 -1
- package/dist/_chunks/chat-input-C_tMQv92.js +0 -252
- package/dist/_chunks/chat-input-C_tMQv92.js.map +0 -1
- package/dist/_chunks/chat-input.agent-Bsz3ckGa.js +0 -69
- package/dist/_chunks/chat-input.agent-Bsz3ckGa.js.map +0 -1
- package/dist/_chunks/chat-message-ByouZpPP.js.map +0 -1
- package/dist/_chunks/check-DPdL_Sm7.js.map +0 -1
- package/dist/_chunks/checkbox-CtPM6Rup.js.map +0 -1
- package/dist/_chunks/checkbox-group-BTdEB6Yo.js.map +0 -1
- package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +0 -1
- package/dist/_chunks/chevron-left-CX1jqD2M.js.map +0 -1
- package/dist/_chunks/chevron-right-BrpYejk0.js.map +0 -1
- package/dist/_chunks/chevron-up-zOEDrmBB.js.map +0 -1
- package/dist/_chunks/chevrons-right-d9MwesPG.js.map +0 -1
- package/dist/_chunks/circle-BkqTgYmt.js.map +0 -1
- package/dist/_chunks/circle-alert-ChA9opNA.js.map +0 -1
- package/dist/_chunks/circle-check-9AeSgJD_.js.map +0 -1
- package/dist/_chunks/circle-x-Du2CmjaU.js.map +0 -1
- package/dist/_chunks/clock-21AGPWJ5.js.map +0 -1
- package/dist/_chunks/collapsible.agent-DkS1jVyn.js.map +0 -1
- package/dist/_chunks/color-picker-94qcBZqZ.js.map +0 -1
- package/dist/_chunks/combobox.agent-CAvUkkIe.js +0 -410
- package/dist/_chunks/combobox.agent-CAvUkkIe.js.map +0 -1
- package/dist/_chunks/command-palette.agent-HatEt_EM.js +0 -391
- package/dist/_chunks/command-palette.agent-HatEt_EM.js.map +0 -1
- package/dist/_chunks/compose-refs-C0k0tdqF.js.map +0 -1
- package/dist/_chunks/copy-B00HK7tj.js.map +0 -1
- package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +0 -1
- package/dist/_chunks/date-picker-BqPTn7bO.js.map +0 -1
- package/dist/_chunks/date-range-picker-B2hGsffw.js.map +0 -1
- package/dist/_chunks/date-time-picker-Bzt0S8yO.js.map +0 -1
- package/dist/_chunks/description-list-DvJbp6Yg.js.map +0 -1
- package/dist/_chunks/dialog.agent-Daf1TTko.js +0 -179
- package/dist/_chunks/dialog.agent-Daf1TTko.js.map +0 -1
- package/dist/_chunks/dropdown-menu-C7AZipNz.js +0 -219
- package/dist/_chunks/dropdown-menu-C7AZipNz.js.map +0 -1
- package/dist/_chunks/dropdown-menu.agent-BcxIKOjK.js +0 -43
- package/dist/_chunks/dropdown-menu.agent-BcxIKOjK.js.map +0 -1
- package/dist/_chunks/ellipsis-rgGdiK_9.js.map +0 -1
- package/dist/_chunks/empty-state-DQPtRp2b.js.map +0 -1
- package/dist/_chunks/eye-off-xEXDAh5z.js.map +0 -1
- package/dist/_chunks/file-text-DSNuv2B8.js.map +0 -1
- package/dist/_chunks/file-upload.agent-DJaH2dHg.js +0 -681
- package/dist/_chunks/file-upload.agent-DJaH2dHg.js.map +0 -1
- package/dist/_chunks/flag-DZ6V7-hU.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.agent-_nQqLyRF.js.map +0 -1
- package/dist/_chunks/globe-BkEFMNSg.js.map +0 -1
- package/dist/_chunks/group-options-BvKhQ3xb.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/icon-button-group-DeV3FpNY.js.map +0 -1
- package/dist/_chunks/index-4xgbg-sn.js.map +0 -1
- package/dist/_chunks/index-CJE9uQmb.js.map +0 -1
- package/dist/_chunks/index-CeY1nNvd.js.map +0 -1
- package/dist/_chunks/index-D2ZczOXr.js.map +0 -1
- package/dist/_chunks/info-B9XNKn05.js.map +0 -1
- package/dist/_chunks/input-surface-u4QB0lxe.js.map +0 -1
- package/dist/_chunks/isSameDay-ecuM8PBB.js.map +0 -1
- package/dist/_chunks/isSameMonth-5wNF2f4I.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-BwINPdix.js.map +0 -1
- package/dist/_chunks/link-QheANk74.js.map +0 -1
- package/dist/_chunks/list.agent-D0iWt4VI.js +0 -420
- package/dist/_chunks/list.agent-D0iWt4VI.js.map +0 -1
- package/dist/_chunks/live-region-C41SO3cA.js.map +0 -1
- package/dist/_chunks/log-out-616hnn2-.js.map +0 -1
- package/dist/_chunks/logo-BpFoCL-s.js.map +0 -1
- package/dist/_chunks/mail-C8irm52s.js.map +0 -1
- package/dist/_chunks/matrix-rain-BEkvux64.js.map +0 -1
- package/dist/_chunks/message-card-qhoGv947.js.map +0 -1
- package/dist/_chunks/message-card.agent-4IeIgrnJ.js.map +0 -1
- package/dist/_chunks/message-tray-xHUCra-Y.js.map +0 -1
- package/dist/_chunks/multi-select.agent-Do6CeQUT.js.map +0 -1
- package/dist/_chunks/navigation-menu.agent-D69ND6Qq.js.map +0 -1
- package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +0 -1
- package/dist/_chunks/notification-card-CsVEYJE-.js.map +0 -1
- package/dist/_chunks/notification-card.agent-Rqt3ofk9.js.map +0 -1
- package/dist/_chunks/notification-tray-DTXMq42J.js.map +0 -1
- package/dist/_chunks/number-input-fvGmnRy9.js.map +0 -1
- package/dist/_chunks/otp-input-EglXOUue.js.map +0 -1
- package/dist/_chunks/pagination.agent-BkZQl45y.js.map +0 -1
- package/dist/_chunks/password-input-D6kuYXmr.js.map +0 -1
- package/dist/_chunks/patient-shell-BRmrrUUW.js.map +0 -1
- package/dist/_chunks/payment-form-BWaXas8z.js.map +0 -1
- package/dist/_chunks/payment-form.agent-kuIfodCj.js +0 -31
- package/dist/_chunks/payment-form.agent-kuIfodCj.js.map +0 -1
- package/dist/_chunks/pdf-viewer.agent-BaGEDheA.js.map +0 -1
- package/dist/_chunks/phone-input-C8Op4sEc.js.map +0 -1
- package/dist/_chunks/plus-CYKNmfuA.js.map +0 -1
- package/dist/_chunks/popover-kFN8s84V.js +0 -229
- package/dist/_chunks/popover-kFN8s84V.js.map +0 -1
- package/dist/_chunks/popover.agent-K_d1cfbj.js +0 -39
- package/dist/_chunks/popover.agent-K_d1cfbj.js.map +0 -1
- package/dist/_chunks/printer-CeVEWfQq.js.map +0 -1
- package/dist/_chunks/privacy-lock.agent-C1i1-T58.js.map +0 -1
- package/dist/_chunks/progress-wNsqkw8I.js +0 -253
- package/dist/_chunks/progress-wNsqkw8I.js.map +0 -1
- package/dist/_chunks/progress.agent-C68rDOXL.js +0 -27
- package/dist/_chunks/progress.agent-C68rDOXL.js.map +0 -1
- package/dist/_chunks/purify.es-DpIUMBYC.js.map +0 -1
- package/dist/_chunks/radio-DvF59ThA.js.map +0 -1
- package/dist/_chunks/radio-group-Cz1a4QCA.js.map +0 -1
- package/dist/_chunks/react-day-picker-C04L_28V.js.map +0 -1
- package/dist/_chunks/recaptcha-widget.agent-BGHpU5zD.js.map +0 -1
- package/dist/_chunks/registry-C9nwlNyL.js.map +0 -1
- package/dist/_chunks/resizable.agent-CMwZzvsi.js +0 -456
- package/dist/_chunks/resizable.agent-CMwZzvsi.js.map +0 -1
- package/dist/_chunks/rich-text-editor.agent-DnE125Tz.js.map +0 -1
- package/dist/_chunks/safe-image-src-DstKgCo7.js.map +0 -1
- package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +0 -1
- package/dist/_chunks/search-BonnQsHv.js.map +0 -1
- package/dist/_chunks/search-bar.agent-DxFAxctc.js.map +0 -1
- package/dist/_chunks/search-input-Xw3cdWXW.js.map +0 -1
- package/dist/_chunks/search-input.agent-CfZvViOd.js.map +0 -1
- package/dist/_chunks/select-DY1Cb2Tg.js.map +0 -1
- package/dist/_chunks/send-CySZIRPJ.js.map +0 -1
- package/dist/_chunks/separator-B4wXDLNC.js.map +0 -1
- package/dist/_chunks/sheet-B9kH9pcI.js.map +0 -1
- package/dist/_chunks/sheet.agent-QAyTOxgk.js +0 -46
- package/dist/_chunks/sheet.agent-QAyTOxgk.js.map +0 -1
- package/dist/_chunks/sidebar-CHF5xr_P.js.map +0 -1
- package/dist/_chunks/sidebar.agent-C9TM_ZDZ.js +0 -49
- package/dist/_chunks/sidebar.agent-C9TM_ZDZ.js.map +0 -1
- package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +0 -1
- package/dist/_chunks/signature-capture.agent-BpeDwFht.js.map +0 -1
- package/dist/_chunks/skeleton-dtqyF09N.js.map +0 -1
- package/dist/_chunks/skip-link-DmZ3c6cb.js.map +0 -1
- package/dist/_chunks/slider-CcsQTZTA.js.map +0 -1
- package/dist/_chunks/slot-grid-D_l5VsHG.js.map +0 -1
- package/dist/_chunks/sparkline.agent-56Sj7nOP.js.map +0 -1
- package/dist/_chunks/spinner-GCcv67vh.js.map +0 -1
- package/dist/_chunks/square-CZoGU14v.js.map +0 -1
- package/dist/_chunks/square-check-big-Jr-0202D.js.map +0 -1
- package/dist/_chunks/stat-DUB6g90R.js.map +0 -1
- package/dist/_chunks/stepper-C-sIpRRU.js.map +0 -1
- package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js.map +0 -1
- package/dist/_chunks/stepper-calendar.agent-9iT3ClIB.js.map +0 -1
- package/dist/_chunks/stepper-progress-Bmen-YXB.js +0 -149
- package/dist/_chunks/stepper-progress-Bmen-YXB.js.map +0 -1
- package/dist/_chunks/stepper-progress.agent-q9InWca4.js +0 -61
- package/dist/_chunks/stepper-progress.agent-q9InWca4.js.map +0 -1
- package/dist/_chunks/streaming-text-BgjCTVOw.js.map +0 -1
- package/dist/_chunks/suggestion-chip-DhFrkRPj.js.map +0 -1
- package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js.map +0 -1
- package/dist/_chunks/switch-BYEH8I53.js.map +0 -1
- package/dist/_chunks/tabs.agent-h7NvsTR1.js.map +0 -1
- package/dist/_chunks/tag-BqidXKo3.js.map +0 -1
- package/dist/_chunks/task-card-CY5ztNkU.js.map +0 -1
- package/dist/_chunks/task-card.agent-CUPKYd7w.js.map +0 -1
- package/dist/_chunks/task-tray-CCoUdorl.js.map +0 -1
- package/dist/_chunks/text-area-C_M8wliK.js.map +0 -1
- package/dist/_chunks/text-input-BX39e6T6.js.map +0 -1
- package/dist/_chunks/theme-root-DDb0TJjd.js.map +0 -1
- package/dist/_chunks/theme-toggle.agent-btmXTWdW.js.map +0 -1
- package/dist/_chunks/time-picker-B8AMIrX7.js.map +0 -1
- package/dist/_chunks/timeline.agent-CRPza9wc.js.map +0 -1
- package/dist/_chunks/timestamp-BV2lC-wV.js.map +0 -1
- package/dist/_chunks/toast.agent-BjEGuq1Z.js.map +0 -1
- package/dist/_chunks/tooltip-DHik5yRI.js.map +0 -1
- package/dist/_chunks/tooth-scheme.agent-CWrQBjJM.js.map +0 -1
- package/dist/_chunks/transcript-panel.agent-BXEYP6w-.js.map +0 -1
- package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +0 -1
- package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +0 -1
- package/dist/_chunks/use-debounced-callback-BisrB-Fq.js.map +0 -1
- package/dist/_chunks/use-direction-D6rvvG9G.js.map +0 -1
- package/dist/_chunks/use-locale-BuXR_Zl9.js.map +0 -1
- package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +0 -1
- package/dist/_chunks/use-theme-BMUhembX.js.map +0 -1
- package/dist/_chunks/user-CPxpqFjJ.js.map +0 -1
- package/dist/_chunks/visually-hidden-Bw7vBHLm.js.map +0 -1
- package/dist/_chunks/warning-stack-8Pa3pekh.js.map +0 -1
- package/dist/_chunks/workflow-map-D2A7rTEG.js.map +0 -1
- package/dist/_chunks/x-CCcI3eJp.js.map +0 -1
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/registry.d.ts.map +0 -1
- package/dist/agent/types.d.ts.map +0 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +0 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +0 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +0 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +0 -1
- package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +0 -1
- package/dist/brand/logo-asset/index.d.ts.map +0 -1
- package/dist/components/_shared/calendar-chevron.d.ts.map +0 -1
- package/dist/components/_shared/compose-refs.d.ts.map +0 -1
- package/dist/components/_shared/date-locale.d.ts.map +0 -1
- package/dist/components/_shared/date-picker-variants.d.ts.map +0 -1
- package/dist/components/_shared/date-utils.d.ts.map +0 -1
- package/dist/components/_shared/group-options.d.ts.map +0 -1
- package/dist/components/_shared/index.d.ts.map +0 -1
- package/dist/components/_shared/input-surface.d.ts.map +0 -1
- package/dist/components/_shared/normalize-diacritics.d.ts.map +0 -1
- package/dist/components/_shared/option.d.ts.map +0 -1
- package/dist/components/_shared/safe-html.d.ts.map +0 -1
- package/dist/components/_shared/safe-image-src.d.ts.map +0 -1
- package/dist/components/_shared/stepper.d.ts.map +0 -1
- package/dist/components/_shared/time.d.ts.map +0 -1
- package/dist/components/_shared/use-debounced-callback.d.ts.map +0 -1
- package/dist/components/_shared/use-direction.d.ts.map +0 -1
- package/dist/components/_shared/use-focus-trap.d.ts.map +0 -1
- package/dist/components/_shared/use-neutralize-hidden-focus.d.ts.map +0 -1
- package/dist/components/accordion/accordion.agent.d.ts.map +0 -1
- package/dist/components/accordion/accordion.d.ts.map +0 -1
- package/dist/components/accordion/index.d.ts.map +0 -1
- package/dist/components/accordion/index.js.map +0 -1
- package/dist/components/agenda-card/agenda-card.agent.d.ts.map +0 -1
- package/dist/components/agenda-card/agenda-card.d.ts.map +0 -1
- package/dist/components/agenda-card/index.d.ts.map +0 -1
- package/dist/components/agenda-card/index.js.map +0 -1
- package/dist/components/agenda-tray/agenda-tray.agent.d.ts.map +0 -1
- package/dist/components/agenda-tray/agenda-tray.d.ts.map +0 -1
- package/dist/components/agenda-tray/index.d.ts.map +0 -1
- package/dist/components/agenda-tray/index.js.map +0 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts.map +0 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +0 -1
- package/dist/components/ai-prompt-input/index.d.ts.map +0 -1
- package/dist/components/ai-prompt-input/index.js.map +0 -1
- package/dist/components/alert/alert.d.ts.map +0 -1
- package/dist/components/alert/index.d.ts.map +0 -1
- package/dist/components/alert/index.js.map +0 -1
- package/dist/components/app-frame/app-frame.d.ts.map +0 -1
- package/dist/components/app-frame/index.d.ts.map +0 -1
- package/dist/components/app-frame/index.js.map +0 -1
- package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +0 -1
- package/dist/components/aspect-ratio/index.d.ts.map +0 -1
- package/dist/components/aspect-ratio/index.js.map +0 -1
- package/dist/components/audio-recorder/audio-recorder.agent.d.ts.map +0 -1
- package/dist/components/audio-recorder/audio-recorder.d.ts.map +0 -1
- package/dist/components/audio-recorder/index.d.ts.map +0 -1
- package/dist/components/audio-recorder/index.js.map +0 -1
- package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +0 -1
- package/dist/components/audio-visualiser/index.d.ts.map +0 -1
- package/dist/components/audio-visualiser/index.js.map +0 -1
- package/dist/components/autocomplete/autocomplete.agent.d.ts.map +0 -1
- package/dist/components/autocomplete/autocomplete.d.ts.map +0 -1
- package/dist/components/autocomplete/index.d.ts.map +0 -1
- package/dist/components/autocomplete/index.js.map +0 -1
- package/dist/components/avatar/avatar.d.ts.map +0 -1
- package/dist/components/avatar/index.d.ts.map +0 -1
- package/dist/components/avatar/index.js.map +0 -1
- package/dist/components/badge/badge.d.ts.map +0 -1
- package/dist/components/badge/index.d.ts.map +0 -1
- package/dist/components/badge/index.js.map +0 -1
- package/dist/components/breadcrumb/breadcrumb.agent.d.ts.map +0 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +0 -1
- package/dist/components/breadcrumb/index.d.ts.map +0 -1
- package/dist/components/breadcrumb/index.js.map +0 -1
- package/dist/components/button/button.agent.d.ts.map +0 -1
- package/dist/components/button/button.d.ts.map +0 -1
- package/dist/components/button/icon-button.d.ts.map +0 -1
- package/dist/components/button/index.d.ts.map +0 -1
- package/dist/components/button/index.js.map +0 -1
- package/dist/components/button-group/button-group.d.ts.map +0 -1
- package/dist/components/button-group/index.d.ts.map +0 -1
- package/dist/components/button-group/index.js.map +0 -1
- package/dist/components/calendar/calendar.agent.d.ts.map +0 -1
- package/dist/components/calendar/calendar.d.ts.map +0 -1
- package/dist/components/calendar/contrast-warning.d.ts.map +0 -1
- package/dist/components/calendar/index.d.ts.map +0 -1
- package/dist/components/calendar/index.js.map +0 -1
- package/dist/components/card/card.d.ts.map +0 -1
- package/dist/components/card/index.d.ts.map +0 -1
- package/dist/components/card/index.js.map +0 -1
- package/dist/components/chart/chart.agent.d.ts.map +0 -1
- package/dist/components/chart/chart.d.ts.map +0 -1
- package/dist/components/chart/index.d.ts.map +0 -1
- package/dist/components/chart/index.js.map +0 -1
- package/dist/components/chat-container/chat-container.agent.d.ts.map +0 -1
- package/dist/components/chat-container/chat-container.d.ts.map +0 -1
- package/dist/components/chat-container/index.d.ts.map +0 -1
- package/dist/components/chat-container/index.js.map +0 -1
- package/dist/components/chat-input/chat-input.agent.d.ts.map +0 -1
- package/dist/components/chat-input/chat-input.d.ts.map +0 -1
- package/dist/components/chat-input/index.d.ts.map +0 -1
- package/dist/components/chat-input/index.js.map +0 -1
- package/dist/components/chat-message/chat-message.d.ts.map +0 -1
- package/dist/components/chat-message/index.d.ts.map +0 -1
- package/dist/components/chat-message/index.js.map +0 -1
- package/dist/components/checkbox/checkbox-group-context.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox.agent.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts.map +0 -1
- package/dist/components/checkbox/index.d.ts.map +0 -1
- package/dist/components/checkbox/index.js.map +0 -1
- package/dist/components/checkbox-group/checkbox-group.agent.d.ts.map +0 -1
- package/dist/components/checkbox-group/checkbox-group.d.ts.map +0 -1
- package/dist/components/checkbox-group/index.d.ts.map +0 -1
- package/dist/components/checkbox-group/index.js.map +0 -1
- package/dist/components/collapsible/collapsible.agent.d.ts.map +0 -1
- package/dist/components/collapsible/collapsible.d.ts.map +0 -1
- package/dist/components/collapsible/index.d.ts.map +0 -1
- package/dist/components/collapsible/index.js.map +0 -1
- package/dist/components/color-picker/color-picker.agent.d.ts.map +0 -1
- package/dist/components/color-picker/color-picker.d.ts.map +0 -1
- package/dist/components/color-picker/color-utils.d.ts.map +0 -1
- package/dist/components/color-picker/index.d.ts.map +0 -1
- package/dist/components/color-picker/index.js.map +0 -1
- package/dist/components/color-picker/palettes.d.ts.map +0 -1
- package/dist/components/combobox/combobox.agent.d.ts.map +0 -1
- package/dist/components/combobox/combobox.d.ts.map +0 -1
- package/dist/components/combobox/index.d.ts.map +0 -1
- package/dist/components/combobox/index.js.map +0 -1
- package/dist/components/command-palette/command-palette.agent.d.ts.map +0 -1
- package/dist/components/command-palette/command-palette.d.ts.map +0 -1
- package/dist/components/command-palette/index.d.ts.map +0 -1
- package/dist/components/command-palette/index.js.map +0 -1
- package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts.map +0 -1
- package/dist/components/data-table/data-table.agent.d.ts.map +0 -1
- package/dist/components/data-table/data-table.d.ts.map +0 -1
- package/dist/components/data-table/hooks/use-total-row.d.ts.map +0 -1
- package/dist/components/data-table/index.d.ts.map +0 -1
- package/dist/components/data-table/index.js.map +0 -1
- package/dist/components/data-table/toolbar.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker.agent.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker.d.ts.map +0 -1
- package/dist/components/date-picker/index.d.ts.map +0 -1
- package/dist/components/date-picker/index.js.map +0 -1
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +0 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +0 -1
- package/dist/components/date-range-picker/index.d.ts.map +0 -1
- package/dist/components/date-range-picker/index.js.map +0 -1
- package/dist/components/date-time-picker/date-time-picker.agent.d.ts.map +0 -1
- package/dist/components/date-time-picker/date-time-picker.d.ts.map +0 -1
- package/dist/components/date-time-picker/index.d.ts.map +0 -1
- package/dist/components/date-time-picker/index.js.map +0 -1
- package/dist/components/description-list/description-list.d.ts.map +0 -1
- package/dist/components/description-list/index.d.ts.map +0 -1
- package/dist/components/description-list/index.js.map +0 -1
- package/dist/components/dialog/dialog.agent.d.ts.map +0 -1
- package/dist/components/dialog/dialog.d.ts.map +0 -1
- package/dist/components/dialog/index.d.ts.map +0 -1
- package/dist/components/dialog/index.js.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
- package/dist/components/dropdown-menu/index.d.ts.map +0 -1
- package/dist/components/dropdown-menu/index.js.map +0 -1
- package/dist/components/empty-state/empty-state.d.ts.map +0 -1
- package/dist/components/empty-state/index.d.ts.map +0 -1
- package/dist/components/empty-state/index.js.map +0 -1
- package/dist/components/file-upload/file-upload.agent.d.ts.map +0 -1
- package/dist/components/file-upload/file-upload.d.ts.map +0 -1
- package/dist/components/file-upload/index.d.ts.map +0 -1
- package/dist/components/file-upload/index.js.map +0 -1
- package/dist/components/flag/flag.d.ts.map +0 -1
- package/dist/components/flag/index.d.ts.map +0 -1
- package/dist/components/flag/index.js.map +0 -1
- package/dist/components/floating-action-button/floating-action-button.d.ts.map +0 -1
- package/dist/components/floating-action-button/index.d.ts.map +0 -1
- package/dist/components/floating-action-button/index.js.map +0 -1
- package/dist/components/form-field/form-field-context.d.ts.map +0 -1
- package/dist/components/form-field/form-field.d.ts.map +0 -1
- package/dist/components/form-field/index.d.ts.map +0 -1
- package/dist/components/form-field/index.js.map +0 -1
- package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts.map +0 -1
- package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +0 -1
- package/dist/components/freemium-paywall/index.d.ts.map +0 -1
- package/dist/components/freemium-paywall/index.js.map +0 -1
- package/dist/components/header/header.d.ts.map +0 -1
- package/dist/components/header/index.d.ts.map +0 -1
- package/dist/components/header/index.js.map +0 -1
- package/dist/components/icon-button/index.d.ts.map +0 -1
- package/dist/components/icon-button/index.js.map +0 -1
- package/dist/components/icon-button-group/icon-button-group.d.ts.map +0 -1
- package/dist/components/icon-button-group/index.d.ts.map +0 -1
- package/dist/components/icon-button-group/index.js.map +0 -1
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/kbd/index.d.ts.map +0 -1
- package/dist/components/kbd/index.js.map +0 -1
- package/dist/components/kbd/kbd.d.ts.map +0 -1
- package/dist/components/key-value-pair/index.d.ts.map +0 -1
- package/dist/components/key-value-pair/index.js.map +0 -1
- package/dist/components/key-value-pair/key-value-pair.d.ts.map +0 -1
- package/dist/components/link/index.d.ts.map +0 -1
- package/dist/components/link/index.js.map +0 -1
- package/dist/components/link/link.d.ts.map +0 -1
- package/dist/components/list/index.d.ts.map +0 -1
- package/dist/components/list/index.js.map +0 -1
- package/dist/components/list/list.agent.d.ts.map +0 -1
- package/dist/components/list/list.d.ts.map +0 -1
- package/dist/components/live-region/index.d.ts.map +0 -1
- package/dist/components/live-region/index.js.map +0 -1
- package/dist/components/live-region/live-region.d.ts.map +0 -1
- package/dist/components/logo/index.d.ts.map +0 -1
- package/dist/components/logo/index.js.map +0 -1
- package/dist/components/logo/logo.d.ts.map +0 -1
- package/dist/components/matrix-rain/index.d.ts.map +0 -1
- package/dist/components/matrix-rain/index.js.map +0 -1
- package/dist/components/matrix-rain/matrix-rain.d.ts.map +0 -1
- package/dist/components/message-card/index.d.ts.map +0 -1
- package/dist/components/message-card/index.js.map +0 -1
- package/dist/components/message-card/message-card.agent.d.ts.map +0 -1
- package/dist/components/message-card/message-card.d.ts.map +0 -1
- package/dist/components/message-tray/index.d.ts.map +0 -1
- package/dist/components/message-tray/index.js.map +0 -1
- package/dist/components/message-tray/message-tray.agent.d.ts.map +0 -1
- package/dist/components/message-tray/message-tray.d.ts.map +0 -1
- package/dist/components/multi-select/index.d.ts.map +0 -1
- package/dist/components/multi-select/index.js.map +0 -1
- package/dist/components/multi-select/multi-select.agent.d.ts.map +0 -1
- package/dist/components/multi-select/multi-select.d.ts.map +0 -1
- package/dist/components/navigation-menu/index.d.ts.map +0 -1
- package/dist/components/navigation-menu/index.js.map +0 -1
- package/dist/components/navigation-menu/navigation-menu.agent.d.ts.map +0 -1
- package/dist/components/navigation-menu/navigation-menu.d.ts.map +0 -1
- package/dist/components/notification-card/index.d.ts.map +0 -1
- package/dist/components/notification-card/index.js.map +0 -1
- package/dist/components/notification-card/notification-card.agent.d.ts.map +0 -1
- package/dist/components/notification-card/notification-card.d.ts.map +0 -1
- package/dist/components/notification-tray/index.d.ts.map +0 -1
- package/dist/components/notification-tray/index.js.map +0 -1
- package/dist/components/notification-tray/notification-tray.agent.d.ts.map +0 -1
- package/dist/components/notification-tray/notification-tray.d.ts.map +0 -1
- package/dist/components/number-input/index.d.ts.map +0 -1
- package/dist/components/number-input/index.js.map +0 -1
- package/dist/components/number-input/number-input.agent.d.ts.map +0 -1
- package/dist/components/number-input/number-input.d.ts.map +0 -1
- package/dist/components/number-input/use-locale-number.d.ts.map +0 -1
- package/dist/components/otp-input/index.d.ts.map +0 -1
- package/dist/components/otp-input/index.js.map +0 -1
- package/dist/components/otp-input/otp-input.agent.d.ts.map +0 -1
- package/dist/components/otp-input/otp-input.d.ts.map +0 -1
- package/dist/components/pagination/index.d.ts.map +0 -1
- package/dist/components/pagination/index.js.map +0 -1
- package/dist/components/pagination/pagination.agent.d.ts.map +0 -1
- package/dist/components/pagination/pagination.d.ts.map +0 -1
- package/dist/components/password-input/index.d.ts.map +0 -1
- package/dist/components/password-input/index.js.map +0 -1
- package/dist/components/password-input/password-input.agent.d.ts.map +0 -1
- package/dist/components/password-input/password-input.d.ts.map +0 -1
- package/dist/components/payment-form/index.d.ts.map +0 -1
- package/dist/components/payment-form/index.js.map +0 -1
- package/dist/components/payment-form/payment-form.agent.d.ts.map +0 -1
- package/dist/components/payment-form/payment-form.d.ts.map +0 -1
- package/dist/components/pdf-viewer/index.d.ts.map +0 -1
- package/dist/components/pdf-viewer/index.js.map +0 -1
- package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +0 -1
- package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +0 -1
- package/dist/components/phone-input/index.d.ts.map +0 -1
- package/dist/components/phone-input/index.js.map +0 -1
- package/dist/components/phone-input/phone-input.agent.d.ts.map +0 -1
- package/dist/components/phone-input/phone-input.d.ts.map +0 -1
- package/dist/components/popover/index.d.ts.map +0 -1
- package/dist/components/popover/index.js.map +0 -1
- package/dist/components/popover/popover.agent.d.ts.map +0 -1
- package/dist/components/popover/popover.d.ts.map +0 -1
- package/dist/components/privacy-lock/index.d.ts.map +0 -1
- package/dist/components/privacy-lock/index.js.map +0 -1
- package/dist/components/privacy-lock/privacy-lock.agent.d.ts.map +0 -1
- package/dist/components/privacy-lock/privacy-lock.d.ts.map +0 -1
- package/dist/components/progress/index.d.ts.map +0 -1
- package/dist/components/progress/index.js.map +0 -1
- package/dist/components/progress/progress.agent.d.ts.map +0 -1
- package/dist/components/progress/progress.d.ts.map +0 -1
- package/dist/components/radio/index.d.ts.map +0 -1
- package/dist/components/radio/index.js.map +0 -1
- package/dist/components/radio-group/index.d.ts.map +0 -1
- package/dist/components/radio-group/index.js.map +0 -1
- package/dist/components/radio-group/radio-group-context.d.ts.map +0 -1
- package/dist/components/radio-group/radio-group.agent.d.ts.map +0 -1
- package/dist/components/radio-group/radio-group.d.ts.map +0 -1
- package/dist/components/radio-group/radio.d.ts.map +0 -1
- package/dist/components/recaptcha-widget/index.d.ts.map +0 -1
- package/dist/components/recaptcha-widget/index.js.map +0 -1
- package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts.map +0 -1
- package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +0 -1
- package/dist/components/resizable/index.d.ts.map +0 -1
- package/dist/components/resizable/index.js.map +0 -1
- package/dist/components/resizable/resizable-context.d.ts.map +0 -1
- package/dist/components/resizable/resizable.agent.d.ts.map +0 -1
- package/dist/components/resizable/resizable.d.ts.map +0 -1
- package/dist/components/rich-text-editor/index.d.ts.map +0 -1
- package/dist/components/rich-text-editor/index.js.map +0 -1
- package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +0 -1
- package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +0 -1
- package/dist/components/scroll-area/index.d.ts.map +0 -1
- package/dist/components/scroll-area/index.js.map +0 -1
- package/dist/components/scroll-area/scroll-area.d.ts.map +0 -1
- package/dist/components/search-bar/index.d.ts.map +0 -1
- package/dist/components/search-bar/index.js.map +0 -1
- package/dist/components/search-bar/search-bar.agent.d.ts.map +0 -1
- package/dist/components/search-bar/search-bar.d.ts.map +0 -1
- package/dist/components/search-input/index.d.ts.map +0 -1
- package/dist/components/search-input/index.js.map +0 -1
- package/dist/components/search-input/search-input.agent.d.ts.map +0 -1
- package/dist/components/search-input/search-input.d.ts.map +0 -1
- package/dist/components/select/index.d.ts.map +0 -1
- package/dist/components/select/index.js.map +0 -1
- package/dist/components/select/select.agent.d.ts.map +0 -1
- package/dist/components/select/select.d.ts.map +0 -1
- package/dist/components/separator/index.d.ts.map +0 -1
- package/dist/components/separator/index.js.map +0 -1
- package/dist/components/separator/separator.d.ts.map +0 -1
- package/dist/components/sheet/index.d.ts.map +0 -1
- package/dist/components/sheet/index.js.map +0 -1
- package/dist/components/sheet/sheet.agent.d.ts.map +0 -1
- package/dist/components/sheet/sheet.d.ts.map +0 -1
- package/dist/components/sidebar/index.d.ts.map +0 -1
- package/dist/components/sidebar/index.js.map +0 -1
- package/dist/components/sidebar/sidebar.agent.d.ts.map +0 -1
- package/dist/components/sidebar/sidebar.d.ts.map +0 -1
- package/dist/components/sign-in-with-alfadocs-button/index.d.ts.map +0 -1
- package/dist/components/sign-in-with-alfadocs-button/index.js.map +0 -1
- package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +0 -1
- package/dist/components/signature-capture/index.d.ts.map +0 -1
- package/dist/components/signature-capture/index.js.map +0 -1
- package/dist/components/signature-capture/signature-capture.agent.d.ts.map +0 -1
- package/dist/components/signature-capture/signature-capture.d.ts.map +0 -1
- package/dist/components/skeleton/index.d.ts.map +0 -1
- package/dist/components/skeleton/index.js.map +0 -1
- package/dist/components/skeleton/skeleton.d.ts.map +0 -1
- package/dist/components/skip-link/index.d.ts.map +0 -1
- package/dist/components/skip-link/index.js.map +0 -1
- package/dist/components/skip-link/skip-link.d.ts.map +0 -1
- package/dist/components/slider/index.d.ts.map +0 -1
- package/dist/components/slider/index.js.map +0 -1
- package/dist/components/slider/slider.agent.d.ts.map +0 -1
- package/dist/components/slider/slider.d.ts.map +0 -1
- package/dist/components/slot-grid/index.d.ts.map +0 -1
- package/dist/components/slot-grid/index.js.map +0 -1
- package/dist/components/slot-grid/slot-grid.d.ts.map +0 -1
- package/dist/components/sparkline/index.d.ts.map +0 -1
- package/dist/components/sparkline/index.js.map +0 -1
- package/dist/components/sparkline/sparkline.agent.d.ts.map +0 -1
- package/dist/components/sparkline/sparkline.d.ts.map +0 -1
- package/dist/components/sparkline/use-linear-trend.d.ts.map +0 -1
- package/dist/components/spinner/index.d.ts.map +0 -1
- package/dist/components/spinner/index.js.map +0 -1
- package/dist/components/spinner/spinner.d.ts.map +0 -1
- package/dist/components/stat/index.d.ts.map +0 -1
- package/dist/components/stat/index.js.map +0 -1
- package/dist/components/stat/stat.d.ts.map +0 -1
- package/dist/components/stepper-accordion/index.d.ts.map +0 -1
- package/dist/components/stepper-accordion/index.js.map +0 -1
- package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts.map +0 -1
- package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +0 -1
- package/dist/components/stepper-calendar/index.d.ts.map +0 -1
- package/dist/components/stepper-calendar/index.js.map +0 -1
- package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts.map +0 -1
- package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +0 -1
- package/dist/components/stepper-progress/index.d.ts.map +0 -1
- package/dist/components/stepper-progress/index.js.map +0 -1
- package/dist/components/stepper-progress/stepper-progress.agent.d.ts.map +0 -1
- package/dist/components/stepper-progress/stepper-progress.d.ts.map +0 -1
- package/dist/components/streaming-text/index.d.ts.map +0 -1
- package/dist/components/streaming-text/index.js.map +0 -1
- package/dist/components/streaming-text/streaming-text.d.ts.map +0 -1
- package/dist/components/suggestion-chip/index.d.ts.map +0 -1
- package/dist/components/suggestion-chip/index.js.map +0 -1
- package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts.map +0 -1
- package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +0 -1
- package/dist/components/switch/index.d.ts.map +0 -1
- package/dist/components/switch/index.js.map +0 -1
- package/dist/components/switch/switch.agent.d.ts.map +0 -1
- package/dist/components/switch/switch.d.ts.map +0 -1
- package/dist/components/tabs/index.d.ts.map +0 -1
- package/dist/components/tabs/index.js.map +0 -1
- package/dist/components/tabs/tabs.agent.d.ts.map +0 -1
- package/dist/components/tabs/tabs.d.ts.map +0 -1
- package/dist/components/tag/index.d.ts.map +0 -1
- package/dist/components/tag/index.js.map +0 -1
- package/dist/components/tag/tag.d.ts.map +0 -1
- package/dist/components/task-card/index.d.ts.map +0 -1
- package/dist/components/task-card/index.js.map +0 -1
- package/dist/components/task-card/task-card.agent.d.ts.map +0 -1
- package/dist/components/task-card/task-card.d.ts.map +0 -1
- package/dist/components/task-tray/index.d.ts.map +0 -1
- package/dist/components/task-tray/index.js.map +0 -1
- package/dist/components/task-tray/task-tray.agent.d.ts.map +0 -1
- package/dist/components/task-tray/task-tray.d.ts.map +0 -1
- package/dist/components/text-area/index.d.ts.map +0 -1
- package/dist/components/text-area/index.js.map +0 -1
- package/dist/components/text-area/text-area.agent.d.ts.map +0 -1
- package/dist/components/text-area/text-area.d.ts.map +0 -1
- package/dist/components/text-input/index.d.ts.map +0 -1
- package/dist/components/text-input/index.js.map +0 -1
- package/dist/components/text-input/text-input.agent.d.ts.map +0 -1
- package/dist/components/text-input/text-input.d.ts.map +0 -1
- package/dist/components/theme-root/index.d.ts.map +0 -1
- package/dist/components/theme-root/index.js.map +0 -1
- package/dist/components/theme-root/theme-root.d.ts.map +0 -1
- package/dist/components/theme-toggle/index.d.ts.map +0 -1
- package/dist/components/theme-toggle/index.js.map +0 -1
- package/dist/components/theme-toggle/theme-toggle.agent.d.ts.map +0 -1
- package/dist/components/theme-toggle/theme-toggle.d.ts.map +0 -1
- package/dist/components/time-picker/index.d.ts.map +0 -1
- package/dist/components/time-picker/index.js.map +0 -1
- package/dist/components/time-picker/time-picker.agent.d.ts.map +0 -1
- package/dist/components/time-picker/time-picker.d.ts.map +0 -1
- package/dist/components/timeline/index.d.ts.map +0 -1
- package/dist/components/timeline/index.js.map +0 -1
- package/dist/components/timeline/timeline.agent.d.ts.map +0 -1
- package/dist/components/timeline/timeline.d.ts.map +0 -1
- package/dist/components/timestamp/index.d.ts.map +0 -1
- package/dist/components/timestamp/index.js.map +0 -1
- package/dist/components/timestamp/timestamp.d.ts.map +0 -1
- package/dist/components/toast/index.d.ts.map +0 -1
- package/dist/components/toast/index.js.map +0 -1
- package/dist/components/toast/toast.agent.d.ts.map +0 -1
- package/dist/components/toast/toast.d.ts.map +0 -1
- package/dist/components/tooltip/index.d.ts.map +0 -1
- package/dist/components/tooltip/index.js.map +0 -1
- package/dist/components/tooltip/tooltip.d.ts.map +0 -1
- package/dist/components/tooth-scheme/index.d.ts.map +0 -1
- package/dist/components/tooth-scheme/index.js.map +0 -1
- package/dist/components/tooth-scheme/tooth-data.d.ts.map +0 -1
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +0 -1
- package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +0 -1
- package/dist/components/transcript-panel/index.d.ts.map +0 -1
- package/dist/components/transcript-panel/index.js.map +0 -1
- package/dist/components/transcript-panel/transcript-panel.agent.d.ts.map +0 -1
- package/dist/components/transcript-panel/transcript-panel.d.ts.map +0 -1
- package/dist/components/typing-indicator/index.d.ts.map +0 -1
- package/dist/components/typing-indicator/index.js.map +0 -1
- package/dist/components/typing-indicator/typing-indicator.d.ts.map +0 -1
- package/dist/components/visually-hidden/index.d.ts.map +0 -1
- package/dist/components/visually-hidden/index.js.map +0 -1
- package/dist/components/visually-hidden/visually-hidden.d.ts.map +0 -1
- package/dist/components/warning-stack/index.d.ts.map +0 -1
- package/dist/components/warning-stack/index.js.map +0 -1
- package/dist/components/warning-stack/warning-stack.d.ts.map +0 -1
- package/dist/components/workflow/index.d.ts.map +0 -1
- package/dist/components/workflow/index.js.map +0 -1
- package/dist/components/workflow/workflow-card.d.ts.map +0 -1
- package/dist/components/workflow/workflow-editor.d.ts.map +0 -1
- package/dist/components/workflow/workflow-map.d.ts.map +0 -1
- package/dist/components/workflow/workflow-types.d.ts.map +0 -1
- package/dist/components/workflow/workflow.agent.d.ts.map +0 -1
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/use-locale.d.ts.map +0 -1
- package/dist/hooks/use-media-query.d.ts.map +0 -1
- package/dist/hooks/use-prefers-reduced-motion.d.ts.map +0 -1
- package/dist/hooks/use-theme.d.ts.map +0 -1
- package/dist/i18n/config.d.ts.map +0 -1
- package/dist/i18n/config.js.map +0 -1
- package/dist/i18n/resources.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/option/index.js.map +0 -1
- package/dist/patterns/leo-assistant/index.d.ts.map +0 -1
- package/dist/patterns/leo-assistant/index.js.map +0 -1
- package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +0 -1
- package/dist/patterns/leo-assistant/leo-embedded.d.ts.map +0 -1
- package/dist/patterns/leo-assistant/leo-popout.d.ts.map +0 -1
- package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +0 -1
- package/dist/patterns/leo-assistant/leo-types.d.ts.map +0 -1
- package/dist/patterns/patient-shell/index.d.ts.map +0 -1
- package/dist/patterns/patient-shell/index.js.map +0 -1
- package/dist/patterns/patient-shell/patient-shell.d.ts.map +0 -1
- package/dist/safe-html/index.js.map +0 -1
- package/dist/tokens/apexcharts-theme.d.ts.map +0 -1
- package/dist/tokens/themes/bridges/stripe-appearance.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"leo-sidebar-BwINPdix.js","sources":["../../node_modules/lucide-react/dist/esm/icons/sparkles.js","../../src/patterns/leo-assistant/leo-chat-surface.tsx","../../src/patterns/leo-assistant/leo-embedded.tsx","../../src/patterns/leo-assistant/leo-popout.tsx","../../src/patterns/leo-assistant/leo-sidebar.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: \"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\",\n key: \"1s2grr\"\n }\n ],\n [\"path\", { d: \"M20 2v4\", key: \"1rf3ol\" }],\n [\"path\", { d: \"M22 4h-4\", key: \"gwowj6\" }],\n [\"circle\", { cx: \"4\", cy: \"20\", r: \"2\", key: \"6kqj1y\" }]\n];\nconst Sparkles = createLucideIcon(\"sparkles\", __iconNode);\n\nexport { __iconNode, Sparkles as default };\n//# sourceMappingURL=sparkles.js.map\n","/**\n * Leo Assistant — inner chat surface shared between embedded and popout\n * modes. This is a pure presentational composition of existing DS\n * primitives and owns NO state, NO API calls, NO SSE parsing — the\n * consuming app drives `messages`, `isGenerating`, `usage`, and the\n * callbacks.\n */\nimport {\n forwardRef,\n useMemo,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Plus, Sparkles, Square, User } from 'lucide-react';\nimport { Avatar } from '../../components/avatar';\nimport { Button } from '../../components/button';\nimport { ChatContainer } from '../../components/chat-container';\nimport { ChatMessage } from '../../components/chat-message';\nimport { ChatInput } from '../../components/chat-input';\nimport { StreamingText } from '../../components/streaming-text';\nimport {\n SuggestionChip,\n SuggestionChipGroup,\n} from '../../components/suggestion-chip';\nimport { TypingIndicator } from '../../components/typing-indicator';\nimport { Progress } from '../../components/progress';\nimport type {\n LeoChatSurfaceProps,\n LeoMessage,\n LeoSuggestion,\n LeoUserAvatar,\n} from './leo-types';\n\n/* ------------------------------------------------------------------ */\n/* Leo identity tile — Sparkles on an accent-tinted disc. */\n/* */\n/* Used in place of <Avatar> for Leo's own identity (header + empty */\n/* state + streaming/typing rows) so the visual identity matches the */\n/* collapsed sidebar rail trigger. When the consuming app supplies an */\n/* `assistantAvatar.src`, LeoChatSurface falls back to <Avatar> — the */\n/* sparkle is for the DS-provided default only. */\n/* */\n/* Sizes mirror the Avatar size scale we were replacing: */\n/* sm → 32px (row messages, streaming bubble, compact header) */\n/* md → 40px (default header) */\n/* xl → 64px (empty-state hero) */\n/* ------------------------------------------------------------------ */\n\nconst LEO_TILE_SIZES = {\n sm: {\n box: 'ds:size-[calc(var(--spacing-md)*2)]',\n icon: 'ds:size-4',\n },\n md: {\n box: 'ds:size-[calc(var(--spacing-md)*2.5)]',\n icon: 'ds:size-[1.125rem]',\n },\n xl: {\n box: 'ds:size-[calc(var(--spacing-md)*4)]',\n icon: 'ds:size-8',\n },\n} as const;\n\nfunction LeoIdentityTile({\n size,\n label,\n}: {\n size: keyof typeof LEO_TILE_SIZES;\n label: string;\n}) {\n const dims = LEO_TILE_SIZES[size];\n return (\n <span\n role=\"img\"\n aria-label={label}\n className={[\n 'ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center',\n 'ds:rounded-[var(--radius-full)]',\n // Subtle accent-tinted disc so the sparkle reads against both\n // light and dark surfaces without a hard-coded literal colour.\n 'ds:bg-[color-mix(in_srgb,var(--accent)_14%,transparent)]',\n 'ds:text-[color:var(--accent)]',\n // forced-colors: UA strips color-mix backgrounds; fall back to\n // a bordered disc so the identity still reads in HCM.\n 'ds:forced-colors:bg-transparent ds:forced-colors:border ds:forced-colors:border-[CanvasText]',\n dims.box,\n ].join(' ')}\n >\n <Sparkles aria-hidden=\"true\" className={dims.icon} />\n </span>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* User identity tile — neutral companion to the Sparkles tile above. */\n/* Rendered when the caller has no user avatar to display, so the */\n/* conversation still has a consistent visual anchor on both sides. */\n/* Uses --muted/--muted-foreground so it reads as \"neutral person\" */\n/* without borrowing the brand accent. */\n/* ------------------------------------------------------------------ */\n\nfunction UserIdentityTile({\n size,\n label,\n}: {\n size: keyof typeof LEO_TILE_SIZES;\n label: string;\n}) {\n const dims = LEO_TILE_SIZES[size];\n return (\n <span\n role=\"img\"\n aria-label={label}\n className={[\n 'ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color-mix(in_srgb,var(--muted-foreground)_14%,transparent)]',\n 'ds:text-[color:var(--muted-foreground)]',\n 'ds:forced-colors:bg-transparent ds:forced-colors:border ds:forced-colors:border-[CanvasText]',\n dims.box,\n ].join(' ')}\n >\n <User aria-hidden=\"true\" className={dims.icon} />\n </span>\n );\n}\n\n/**\n * Pick the right avatar shape for a user message.\n *\n * Precedence (highest wins):\n * 1. `userAvatar.slot` — caller supplied a fully custom node.\n * 2. `userAvatar.src` — caller supplied a photo (or initials override via `name`).\n * 3. `userAvatar.name` only — <Avatar> renders initials.\n * 4. Nothing supplied — fall back to the neutral `<UserIdentityTile>`.\n */\nfunction resolveUserAvatar(\n userAvatar: LeoUserAvatar | undefined,\n defaultLabel: string,\n) {\n if (!userAvatar) {\n return { slot: <UserIdentityTile size=\"sm\" label={defaultLabel} /> };\n }\n if (userAvatar.slot) return { slot: userAvatar.slot };\n // Pass the fields straight through; ChatMessage scrubs `src` with\n // `safeImageSrc` and falls back to initials from `name`.\n return { name: userAvatar.name, src: userAvatar.src };\n}\n\n/* ------------------------------------------------------------------ */\n/* Empty state — branded welcome shown when messages is empty */\n/* ------------------------------------------------------------------ */\n\ninterface EmptyStateProps {\n assistantName: string;\n avatarSrc?: string;\n greeting: string;\n subtitle: string;\n suggestions?: LeoSuggestion[];\n onSuggestion?: (suggestion: LeoSuggestion) => void;\n}\n\nfunction EmptyState({\n assistantName,\n avatarSrc,\n greeting,\n subtitle,\n suggestions,\n onSuggestion,\n}: EmptyStateProps) {\n const { t } = useTranslation();\n const headingId = 'leo-empty-state-heading';\n\n return (\n <section\n role=\"region\"\n aria-labelledby={headingId}\n className={[\n 'ds:flex ds:flex-1 ds:min-h-0 ds:flex-col ds:items-center ds:justify-center',\n 'ds:text-center',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)]',\n 'ds:pt-[var(--spacing-xl)] ds:pb-[var(--spacing-xl)]',\n 'ds:gap-[var(--spacing-md)]',\n ].join(' ')}\n data-testid=\"leo-empty-state\"\n >\n {avatarSrc ? (\n <Avatar name={assistantName} src={avatarSrc} size=\"xl\" />\n ) : (\n <LeoIdentityTile size=\"xl\" label={assistantName} />\n )}\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-xs)] ds:max-w-[32rem]\">\n <h2\n id={headingId}\n className=\"type-title-section ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {greeting}\n </h2>\n <p className=\"type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]\">\n {subtitle}\n </p>\n </div>\n {suggestions && suggestions.length > 0 ? (\n <div className=\"ds:w-full ds:max-w-[40rem]\">\n <SuggestionChipGroup\n label={t('leo.exampleQuestions')}\n className=\"ds:justify-center\"\n >\n {suggestions.map((s) => (\n <SuggestionChip\n key={s.id}\n intent=\"suggestion\"\n startIcon={s.icon}\n keepOnSelect\n onSelect={() => onSuggestion?.(s)}\n >\n {s.label}\n </SuggestionChip>\n ))}\n </SuggestionChipGroup>\n </div>\n ) : null}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Streaming message — renders the last assistant message's body via */\n/* StreamingText when `streaming: true`. */\n/* ------------------------------------------------------------------ */\n\ninterface StreamingMessageProps {\n message: LeoMessage;\n assistantName: string;\n avatarSrc?: string;\n renderMarkdown?: boolean;\n}\n\nfunction StreamingMessage({\n message,\n assistantName,\n avatarSrc,\n renderMarkdown,\n}: StreamingMessageProps) {\n const { t, i18n } = useTranslation();\n const roleLabel = t('chat.message.role.assistant');\n const formattedTime = useMemo(() => {\n if (!message.timestamp) return null;\n const date =\n message.timestamp instanceof Date\n ? message.timestamp\n : new Date(message.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 }, [message.timestamp, i18n.language]);\n\n const label = formattedTime\n ? t('chat.message.label', { role: roleLabel, time: formattedTime })\n : t('chat.message.labelNoTime', { role: roleLabel });\n\n return (\n <article\n aria-label={label}\n className=\"ds:flex ds:w-full ds:items-start ds:flex-row ds:gap-[var(--spacing-sm)]\"\n >\n {avatarSrc ? (\n <Avatar name={assistantName} src={avatarSrc} size=\"sm\" />\n ) : (\n <LeoIdentityTile size=\"sm\" label={assistantName} />\n )}\n <div className=\"ds:flex ds:flex-col ds:items-start\">\n <div\n dir=\"auto\"\n className={[\n 'ds:relative ds:max-w-[min(42rem,90%)]',\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 'ds:bg-muted/40 ds:text-foreground',\n 'ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]',\n ].join(' ')}\n >\n <StreamingText\n content={message.content}\n isStreaming={true}\n renderMarkdown={renderMarkdown}\n />\n </div>\n </div>\n </article>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Header bar — avatar + name + optional new-conversation + end slot */\n/* ------------------------------------------------------------------ */\n\ninterface HeaderBarProps {\n assistantName: string;\n avatarSrc?: string;\n onNewConversation?: () => void;\n headerEndSlot?: ReactNode;\n density: 'default' | 'compact';\n}\n\nfunction HeaderBar({\n assistantName,\n avatarSrc,\n onNewConversation,\n headerEndSlot,\n density,\n}: HeaderBarProps) {\n const { t } = useTranslation();\n return (\n <header\n aria-label={t('leo.headerLabel')}\n className={[\n 'ds:flex ds:shrink-0 ds:items-center ds:gap-[var(--spacing-sm)]',\n // Soft drop-shadow on the block-end edge in place of a `border-b`\n // against `--border` — same rationale as the Leo sidebar's inline\n // edge (see leo-sidebar.tsx).\n 'ds:shadow-[var(--shadow-chrome-down)]',\n 'ds:bg-[var(--background)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n density === 'compact'\n ? 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]'\n : 'ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]',\n ].join(' ')}\n data-testid=\"leo-header\"\n >\n {avatarSrc ? (\n <Avatar\n name={assistantName}\n src={avatarSrc}\n size={density === 'compact' ? 'sm' : 'md'}\n />\n ) : (\n <LeoIdentityTile\n size={density === 'compact' ? 'sm' : 'md'}\n label={assistantName}\n />\n )}\n <span className=\"type-title-item ds:text-[color:var(--foreground)]\">\n {assistantName}\n </span>\n <div className=\"ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n {onNewConversation ? (\n <Button\n intent=\"ghost\"\n size=\"sm\"\n startIcon={<Plus aria-hidden=\"true\" />}\n onClick={onNewConversation}\n >\n {t('leo.newConversation')}\n </Button>\n ) : null}\n {headerEndSlot}\n </div>\n </header>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Main export — LeoChatSurface */\n/* ------------------------------------------------------------------ */\n\nexport const LeoChatSurface = forwardRef<HTMLDivElement, LeoChatSurfaceProps>(\n (\n {\n messages,\n onSend,\n onRetry,\n onSuggestion,\n suggestions,\n isGenerating = false,\n onStopGenerating,\n usage,\n onUpgrade,\n assistantName,\n assistantAvatar,\n userAvatar,\n greeting,\n subtitle,\n density = 'default',\n renderMarkdown = true,\n onNewConversation,\n onAttach,\n acceptedFileTypes,\n headerEndSlot,\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const resolvedName = assistantName ?? t('leo.name');\n const resolvedGreeting = greeting ?? t('leo.greeting');\n const resolvedSubtitle = subtitle ?? t('leo.subtitle');\n\n const lastMessage = messages[messages.length - 1];\n const lastIsStreamingAssistant =\n lastMessage?.role === 'assistant' && lastMessage.streaming === true;\n const listMessages = lastIsStreamingAssistant\n ? messages.slice(0, -1)\n : messages;\n\n // ChatContainer messages — each visible non-streaming message becomes\n // a ChatMessage; the streaming tail + typing indicator are appended.\n const containerMessages = useMemo(() => {\n const userLabel = t('chat.message.role.user');\n const base = listMessages.map((m) => {\n let avatar;\n if (m.role === 'assistant') {\n // Consumer-provided image wins; otherwise render the Sparkles tile.\n avatar = assistantAvatar?.src\n ? { name: resolvedName, src: assistantAvatar.src }\n : { slot: <LeoIdentityTile size=\"sm\" label={resolvedName} /> };\n } else if (m.role === 'user') {\n avatar = resolveUserAvatar(userAvatar, userLabel);\n }\n return {\n id: m.id,\n node: (\n <ChatMessage\n role={m.role}\n content={m.content}\n avatar={avatar}\n timestamp={m.timestamp}\n status={m.status}\n renderMarkdown={renderMarkdown}\n onRetry={onRetry ? () => onRetry(m.id) : undefined}\n />\n ),\n };\n });\n\n if (lastIsStreamingAssistant && lastMessage) {\n base.push({\n id: lastMessage.id,\n node: (\n <StreamingMessage\n message={lastMessage}\n assistantName={resolvedName}\n avatarSrc={assistantAvatar?.src}\n renderMarkdown={renderMarkdown}\n />\n ),\n });\n }\n\n if (isGenerating && !lastIsStreamingAssistant) {\n base.push({\n id: '__leo-typing__',\n node: (\n <div className=\"ds:flex ds:w-full ds:items-start ds:gap-[var(--spacing-sm)]\">\n {assistantAvatar?.src ? (\n <Avatar\n name={resolvedName}\n src={assistantAvatar.src}\n size=\"sm\"\n />\n ) : (\n <LeoIdentityTile size=\"sm\" label={resolvedName} />\n )}\n <div\n className={[\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]',\n 'ds:bg-muted/40',\n ].join(' ')}\n >\n <TypingIndicator\n label={t('chat.typing')}\n density={density}\n />\n </div>\n </div>\n ),\n });\n }\n\n return base;\n }, [\n listMessages,\n lastIsStreamingAssistant,\n lastMessage,\n isGenerating,\n resolvedName,\n assistantAvatar?.src,\n userAvatar,\n renderMarkdown,\n onRetry,\n density,\n t,\n ]);\n\n // Usage progress data.\n const usagePercent = usage\n ? Math.min(100, Math.max(0, (usage.current / Math.max(1, usage.limit)) * 100))\n : 0;\n const usageFull = usage ? usage.current >= usage.limit : false;\n const usageLabel = usage\n ? usage.label ??\n t('leo.usageLabel', {\n current: usage.current,\n limit: usage.limit,\n })\n : null;\n\n const isEmpty = messages.length === 0 && !isGenerating;\n\n // Composer — disabled when usage is full.\n const composer = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n {usage ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]\">\n <span\n className={[\n 'type-meta',\n usageFull\n ? 'ds:text-[color:var(--destructive)]'\n : 'ds:text-[color:var(--muted-foreground)]',\n ].join(' ')}\n data-testid=\"leo-usage-label\"\n >\n {usageFull ? t('leo.usageLimitReached') : usageLabel}\n </span>\n {usageFull && onUpgrade ? (\n <Button intent=\"primary\" size=\"sm\" onClick={onUpgrade}>\n {t('leo.upgrade')}\n </Button>\n ) : null}\n </div>\n <Progress\n value={usagePercent}\n max={100}\n size=\"sm\"\n ariaLabel={usageLabel ?? t('leo.usageLabel', {\n current: usage.current,\n limit: usage.limit,\n })}\n className={\n usageFull\n ? 'ds:[&_[role=progressbar]>*]:bg-[color:var(--destructive)]'\n : undefined\n }\n data-testid=\"leo-usage-progress\"\n />\n </div>\n ) : null}\n {!isEmpty && suggestions && suggestions.length > 0 && !isGenerating ? (\n <SuggestionChipGroup\n label={t('leo.exampleQuestions')}\n data-testid=\"leo-followup-suggestions\"\n >\n {suggestions.map((s) => (\n <SuggestionChip\n key={s.id}\n intent=\"followup\"\n startIcon={s.icon}\n keepOnSelect\n onSelect={() => onSuggestion?.(s)}\n >\n {s.label}\n </SuggestionChip>\n ))}\n </SuggestionChipGroup>\n ) : null}\n <div className=\"ds:flex ds:items-end ds:gap-[var(--spacing-sm)]\">\n <div className=\"ds:flex-1 ds:min-w-0\">\n <ChatInput\n submitOnEnter\n onSubmit={onSend}\n onAttach={onAttach}\n accept={acceptedFileTypes}\n disabled={usageFull}\n data-testid=\"leo-composer\"\n />\n </div>\n {isGenerating && onStopGenerating ? (\n <Button\n intent=\"outline\"\n size=\"sm\"\n startIcon={<Square aria-hidden=\"true\" />}\n onClick={onStopGenerating}\n aria-label={t('leo.stopGenerating')}\n >\n {t('leo.stopGenerating')}\n </Button>\n ) : null}\n </div>\n </div>\n );\n\n return (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:min-h-0 ds:flex-1 ds:flex-col',\n 'ds:bg-[var(--background)] ds:text-[color:var(--foreground)]',\n ].join(' ')}\n data-testid=\"leo-surface\"\n >\n <HeaderBar\n assistantName={resolvedName}\n avatarSrc={assistantAvatar?.src}\n onNewConversation={onNewConversation}\n headerEndSlot={headerEndSlot}\n density={density}\n />\n {isEmpty ? (\n <>\n <EmptyState\n assistantName={resolvedName}\n avatarSrc={assistantAvatar?.src}\n greeting={resolvedGreeting}\n subtitle={resolvedSubtitle}\n suggestions={suggestions}\n onSuggestion={onSuggestion}\n />\n <div\n className={[\n // No top divider — the ChatInput's own soft shadow + the\n // border-radius give it enough visual containment, and a\n // surface-level separator here read as a sharp line at\n // 1px-equivalent shadow blur. Keep the bg explicit so\n // the chat-input chrome paints over the messages-area\n // background instead of mixing with it.\n 'ds:shrink-0 ds:bg-[var(--background)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n ].join(' ')}\n >\n {composer}\n </div>\n </>\n ) : (\n <ChatContainer\n messages={containerMessages}\n density={density}\n composer={composer}\n className=\"ds:flex-1 ds:min-h-0\"\n />\n )}\n </div>\n );\n },\n);\n\nLeoChatSurface.displayName = 'LeoChatSurface';\n","/**\n * Leo Assistant — embedded (full-page) mode. Fills the parent container\n * (typically `<AppFrame padded={false}>`'s `<main>` slot) with a\n * ChatGPT-style centred conversation column.\n */\nimport { forwardRef, type ReactNode } from 'react';\nimport { LeoChatSurface } from './leo-chat-surface';\nimport type { LeoChatSurfaceProps } from './leo-types';\n\nexport interface LeoEmbeddedProps extends LeoChatSurfaceProps {\n /** Optional slot rendered above the chat surface (e.g. a breadcrumb). */\n headerSlot?: ReactNode;\n}\n\nexport const LeoEmbedded = forwardRef<HTMLDivElement, LeoEmbeddedProps>(\n ({ headerSlot, ...surfaceProps }, ref) => {\n return (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:min-h-0 ds:flex-1 ds:flex-col',\n 'ds:bg-[var(--background)] ds:text-[color:var(--foreground)]',\n 'ds:h-full ds:w-full',\n ].join(' ')}\n data-testid=\"leo-embedded\"\n >\n {headerSlot ? (\n <div\n className={[\n 'ds:shrink-0',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n ].join(' ')}\n >\n {headerSlot}\n </div>\n ) : null}\n <div className=\"ds:flex ds:min-h-0 ds:flex-1 ds:flex-col ds:items-stretch\">\n <div\n className={[\n 'ds:flex ds:min-h-0 ds:w-full ds:flex-1 ds:flex-col',\n 'ds:ms-auto ds:me-auto',\n 'ds:[max-inline-size:48rem]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n ].join(' ')}\n >\n <LeoChatSurface {...surfaceProps} />\n </div>\n </div>\n </div>\n );\n },\n);\n\nLeoEmbedded.displayName = 'LeoEmbedded';\n","/**\n * Leo Assistant — popout (FAB + Sheet) mode. A floating trigger button\n * anchored to the bottom-inline-end corner opens a slide-in `Sheet`\n * panel containing the same `LeoChatSurface` in compact density.\n *\n * Z-index: the FAB sits on `--z-fixed`; the Sheet sits on `--z-modal`.\n * Both render above the app chrome but below any open Dialog.\n */\nimport { forwardRef } from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { useTranslation } from 'react-i18next';\nimport { Sparkles, X } from 'lucide-react';\nimport { FloatingActionButton } from '../../components/floating-action-button';\nimport { IconButton } from '../../components/button';\nimport { Sheet } from '../../components/sheet';\nimport { LeoChatSurface } from './leo-chat-surface';\nimport type { LeoChatSurfaceProps } from './leo-types';\n\nexport interface LeoPopoutProps extends LeoChatSurfaceProps {\n /** Whether the popout panel is open. */\n open: boolean;\n /** Fires when the panel should open or close. */\n onOpenChange: (open: boolean) => void;\n /** Position of the FAB trigger. */\n position?: 'bottom-end' | 'bottom-start';\n /** Optional unseen message count badge on the FAB. */\n unseenCount?: number;\n}\n\nfunction formatBadgeCount(count: number): string {\n return count > 99 ? '99+' : String(count);\n}\n\nexport const LeoPopout = forwardRef<HTMLDivElement, LeoPopoutProps>(\n (\n {\n open,\n onOpenChange,\n position = 'bottom-end',\n unseenCount,\n assistantName,\n assistantAvatar,\n ...surfaceProps\n },\n ref,\n ) => {\n const { t } = useTranslation();\n // `|| t(…)` (not `??`) — also defaults when the host passes an empty\n // string so Radix Dialog's required `Sheet.Title` is never empty.\n const resolvedName = assistantName || t('leo.name');\n const showBadge = typeof unseenCount === 'number' && unseenCount > 0;\n\n const triggerLabel = showBadge\n ? t('leo.unseenCount', { count: unseenCount })\n : t('leo.open');\n\n // Close button injected into the chat surface header via the\n // headerEndSlot hook — keeps the Sheet's title wiring and DialogClose\n // semantics without duplicating the header shell.\n const headerEndSlot = (\n <RadixDialog.Close asChild>\n <IconButton\n icon={<X aria-hidden=\"true\" />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('leo.close')}\n data-testid=\"leo-popout-close\"\n />\n </RadixDialog.Close>\n );\n\n return (\n <Sheet.Root open={open} onOpenChange={onOpenChange}>\n {/* FAB trigger — sits outside the Sheet.Trigger so the unseen-\n count badge can overlay it. A Sheet.Trigger wrapper would\n turn the FAB into a button-inside-a-button. Instead, we\n invoke `onOpenChange(true)` on click. */}\n <div\n ref={ref}\n className={[\n 'ds:fixed ds:z-[var(--z-fixed)]',\n 'ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))]',\n position === 'bottom-end'\n ? 'ds:end-[var(--spacing-lg)]'\n : 'ds:start-[var(--spacing-lg)]',\n ].join(' ')}\n data-testid=\"leo-popout-fab-wrapper\"\n >\n <div className=\"ds:relative\">\n <FloatingActionButton\n icon={<Sparkles aria-hidden=\"true\" />}\n aria-label={triggerLabel}\n variant=\"primary\"\n size=\"md\"\n position=\"static\"\n onClick={() => onOpenChange(true)}\n data-testid=\"leo-popout-fab\"\n />\n {showBadge ? (\n <span\n aria-hidden=\"true\"\n data-testid=\"leo-popout-badge\"\n className={[\n 'ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:h-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]',\n 'ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n 'ds:pointer-events-none ds:select-none',\n 'ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]',\n ].join(' ')}\n >\n {formatBadgeCount(unseenCount)}\n </span>\n ) : null}\n </div>\n </div>\n\n <Sheet.Content\n side=\"end\"\n size=\"md\"\n aria-label={t('leo.panelLabel')}\n className=\"ds:flex ds:min-h-0 ds:flex-col ds:p-0\"\n data-testid=\"leo-popout-panel\"\n >\n {/* Sheet.Title is required by Radix Dialog for a11y. We hide it\n visually because LeoChatSurface renders its own header. */}\n <Sheet.Title className=\"ds:sr-only\">{resolvedName}</Sheet.Title>\n <LeoChatSurface\n {...surfaceProps}\n assistantName={resolvedName}\n assistantAvatar={assistantAvatar}\n density=\"compact\"\n headerEndSlot={headerEndSlot}\n />\n </Sheet.Content>\n </Sheet.Root>\n );\n },\n);\n\nLeoPopout.displayName = 'LeoPopout';\n","/**\n * Leo Assistant — sidebar (docked panel) mode.\n *\n * A persistent, non-modal panel that docks to the `inline-end` edge of\n * the layout. Unlike `LeoPopout` it does NOT trap focus or overlay\n * content — users can chat with Leo while continuing to interact with\n * the main surface. Collapses to an icon rail when `open={false}`.\n *\n * This is the intended **default desktop mode** for Leo once MCP tool\n * access and settings land: users will want Leo visible while they\n * configure servers, inspect tool runs, and reference data. On mobile\n * viewports the consuming app should flip to `LeoPopout` because a\n * 22rem sidebar would consume the entire screen.\n *\n * Unlike the popout (Radix Dialog) and embedded (full-page main) modes,\n * the sidebar is a plain `<aside>` landmark — it lives in the normal\n * layout flow and consumes inline space.\n */\nimport { forwardRef, type ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n ChevronsLeft,\n ChevronsRight,\n Sparkles,\n} from 'lucide-react';\nimport { IconButton } from '../../components/button';\nimport { LeoChatSurface } from './leo-chat-surface';\nimport type { LeoChatSurfaceProps } from './leo-types';\n\nexport interface LeoSidebarProps extends LeoChatSurfaceProps {\n /** Whether the sidebar is expanded. When false, a narrow icon rail\n * stays visible and clicking it fires `onOpenChange(true)`. */\n open: boolean;\n /** Fires when the user expands or collapses the sidebar. */\n onOpenChange: (open: boolean) => void;\n /** Which edge of the container the sidebar docks to. Defaults to\n * `'end'` (inline-end). RTL flips automatically via logical\n * properties. */\n side?: 'end' | 'start';\n /** Optional unseen-message count shown on the collapsed rail. */\n unseenCount?: number;\n /** Optional slot rendered under the chat surface (e.g. an MCP server\n * list or settings accordion). Future hook for the MCP panel. */\n footerSlot?: ReactNode;\n}\n\nfunction formatBadgeCount(count: number): string {\n return count > 99 ? '99+' : String(count);\n}\n\n// Fixed tokenised widths — keeps the pattern constraint-compliant (no\n// prop-driven inline styles). Consuming apps that need a different size\n// can wrap the sidebar in their own container and override via CSS.\nconst EXPANDED_WIDTH = 'ds:[inline-size:22rem]';\nconst RAIL_WIDTH = 'ds:[inline-size:3rem]';\n\nexport const LeoSidebar = forwardRef<HTMLElement, LeoSidebarProps>(\n (\n {\n open,\n onOpenChange,\n side = 'end',\n unseenCount,\n footerSlot,\n assistantName,\n assistantAvatar,\n ...surfaceProps\n },\n ref,\n ) => {\n const { t } = useTranslation();\n // `|| t(…)` — also defaults when the host passes an empty string,\n // so the collapsed-rail `aria-label` is never empty.\n const resolvedName = assistantName || t('leo.name');\n const showBadge = typeof unseenCount === 'number' && unseenCount > 0;\n\n // Soft drop-shadow on the inline-edge that faces the main content\n // area. Replaces a flat `border-s`/`border-e` against `--border`,\n // which since the WCAG 1.4.11 bump (grey-600 → grey-800) reads as a\n // heavy charcoal line at this scale. A directional shadow keeps the\n // panel-edge cue without needing to clear contrast thresholds the\n // way an actual border would. Tokenised via `--shadow-chrome-start`\n // / `--shadow-chrome-end` (see `src/tokens/index.css`).\n const borderClass =\n side === 'end'\n ? 'ds:shadow-[var(--shadow-chrome-start)]'\n : 'ds:shadow-[var(--shadow-chrome-end)]';\n\n const triggerLabel = showBadge\n ? t('leo.unseenCount', { count: unseenCount })\n : t('leo.open');\n\n // Collapsed rail — a tall vertical strip with the Leo icon plus an\n // unseen badge. Clicking it expands the sidebar.\n if (!open) {\n return (\n <aside\n ref={ref}\n aria-label={t('leo.panelLabel')}\n className={[\n 'ds:flex ds:shrink-0 ds:flex-col ds:items-center',\n 'ds:bg-[var(--background)]',\n borderClass,\n 'ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]',\n RAIL_WIDTH,\n ].join(' ')}\n data-testid=\"leo-sidebar-rail\"\n data-leo-sidebar-state=\"collapsed\"\n >\n <div className=\"ds:relative ds:[&_svg]:text-[color:var(--accent)]\">\n <IconButton\n icon={<Sparkles aria-hidden=\"true\" />}\n aria-label={triggerLabel}\n aria-expanded=\"false\"\n intent=\"ghost\"\n size=\"sm\"\n onClick={() => onOpenChange(true)}\n data-testid=\"leo-sidebar-rail-trigger\"\n />\n {showBadge ? (\n <span\n aria-hidden=\"true\"\n data-testid=\"leo-sidebar-badge\"\n className={[\n 'ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:h-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]',\n 'ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n 'ds:pointer-events-none ds:select-none',\n 'ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]',\n ].join(' ')}\n >\n {formatBadgeCount(unseenCount)}\n </span>\n ) : null}\n </div>\n </aside>\n );\n }\n\n // Expanded panel — same LeoChatSurface as embedded / popout, in\n // compact density, with a collapse-toggle injected into the header.\n // Chevron points toward the docked edge so users read it as\n // \"collapse toward that side\".\n const headerEndSlot = (\n <IconButton\n icon={side === 'end' ? <ChevronsRight /> : <ChevronsLeft />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('leo.close')}\n aria-expanded=\"true\"\n onClick={() => onOpenChange(false)}\n data-testid=\"leo-sidebar-collapse\"\n />\n );\n\n return (\n <aside\n ref={ref}\n aria-label={t('leo.panelLabel')}\n className={[\n 'ds:flex ds:shrink-0 ds:flex-col ds:min-h-0',\n 'ds:bg-[var(--background)]',\n borderClass,\n EXPANDED_WIDTH,\n 'ds:h-full',\n ].join(' ')}\n data-testid=\"leo-sidebar\"\n data-leo-sidebar-state=\"expanded\"\n >\n <div className=\"ds:flex ds:min-h-0 ds:flex-1 ds:flex-col\">\n <LeoChatSurface\n {...surfaceProps}\n assistantName={resolvedName}\n assistantAvatar={assistantAvatar}\n density=\"compact\"\n headerEndSlot={headerEndSlot}\n />\n </div>\n {footerSlot ? (\n <div\n data-testid=\"leo-sidebar-footer-slot\"\n className=\"ds:shrink-0 ds:shadow-[var(--shadow-chrome-up)]\"\n >\n {footerSlot}\n </div>\n ) : null}\n </aside>\n );\n },\n);\n\nLeoSidebar.displayName = 'LeoSidebar';\n"],"names":["__iconNode","Sparkles","createLucideIcon","LEO_TILE_SIZES","LeoIdentityTile","size","label","dims","jsx","UserIdentityTile","User","resolveUserAvatar","userAvatar","defaultLabel","EmptyState","assistantName","avatarSrc","greeting","subtitle","suggestions","onSuggestion","t","useTranslation","headingId","jsxs","Avatar","SuggestionChipGroup","s","SuggestionChip","StreamingMessage","message","renderMarkdown","i18n","roleLabel","formattedTime","useMemo","date","StreamingText","HeaderBar","onNewConversation","headerEndSlot","density","Button","Plus","LeoChatSurface","forwardRef","messages","onSend","onRetry","isGenerating","onStopGenerating","usage","onUpgrade","assistantAvatar","onAttach","acceptedFileTypes","ref","resolvedName","resolvedGreeting","resolvedSubtitle","lastMessage","lastIsStreamingAssistant","listMessages","containerMessages","userLabel","base","m","avatar","ChatMessage","TypingIndicator","usagePercent","usageFull","usageLabel","isEmpty","composer","Progress","ChatInput","Square","Fragment","ChatContainer","LeoEmbedded","headerSlot","surfaceProps","formatBadgeCount","count","LeoPopout","open","onOpenChange","position","unseenCount","showBadge","triggerLabel","RadixDialog","IconButton","X","Sheet","FloatingActionButton","EXPANDED_WIDTH","RAIL_WIDTH","LeoSidebar","side","footerSlot","borderClass","ChevronsRight","ChevronsLeft"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link-QheANk74.js","sources":["../../node_modules/lucide-react/dist/esm/icons/external-link.js","../../src/components/link/link.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: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n];\nconst ExternalLink = createLucideIcon(\"external-link\", __iconNode);\n\nexport { __iconNode, ExternalLink as default };\n//# sourceMappingURL=external-link.js.map\n","import {\n forwardRef,\n type AnchorHTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { ExternalLink } from 'lucide-react';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\n/**\n * Link is the semantic anchor primitive for inline navigation —\n * privacy / terms in form copy, external \"remote support\" links in\n * sidebars, in-paragraph references inside info-tip body copy.\n *\n * For action affordances that *look* like a link but trigger UI rather\n * than navigation, use `<Button intent=\"link\">` instead — the semantic\n * boundary matters for screen readers and keyboard users.\n */\nconst linkVariants = cva(\n [\n 'ds:inline ds:underline-offset-4',\n 'ds:rounded-[var(--radius-xs)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:aria-disabled:cursor-not-allowed ds:aria-disabled:opacity-50 ds:aria-disabled:no-underline',\n ].join(' '),\n {\n variants: {\n intent: {\n // `--primary` already maps to `magenta-700` in light-accent and\n // `magenta-500` in dark (see tokens/index.css), so the accent\n // contrast trade-off in §11 of CLAUDE.md is handled at the\n // token layer, not here.\n default:\n 'ds:text-primary ds:underline ds:hover:text-primary-hover ds:active:opacity-80',\n subtle:\n 'ds:text-muted-foreground ds:no-underline ds:hover:text-foreground ds:hover:underline ds:active:opacity-80',\n inverted:\n 'ds:text-primary-foreground ds:underline ds:hover:opacity-90 ds:active:opacity-80',\n },\n weight: {\n normal: 'ds:font-normal',\n strong: 'ds:font-semibold',\n },\n },\n defaultVariants: {\n intent: 'default',\n weight: 'normal',\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport interface LinkProps\n extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>,\n VariantProps<typeof linkVariants> {\n /** Anchor target. Required — the whole point of the component. */\n href: string;\n /**\n * Flag the link as opening in a new browsing context. Automatically\n * adds `target=\"_blank\"` + `rel=\"noopener noreferrer\"` and renders a\n * trailing `ExternalLink` icon with an i18n'd aria-label.\n */\n external?: boolean;\n /**\n * Render the link in a non-interactive disabled state. Strips `href`,\n * adds `aria-disabled` + `role=\"link\"`, suppresses the underline.\n * Prefer hiding the link entirely when possible — disabled links are\n * a usability anti-pattern outside of state-machine flows.\n */\n disabled?: boolean;\n /** Optional leading icon (inline-start). */\n startIcon?: ReactNode;\n /** Optional trailing icon (inline-end). Ignored when `external`. */\n endIcon?: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n href,\n external = false,\n disabled = false,\n startIcon,\n endIcon,\n intent,\n weight,\n className,\n children,\n target,\n rel,\n onClick,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const effectiveTarget = external ? '_blank' : target;\n const effectiveRel = external\n ? [rel, 'noopener', 'noreferrer'].filter(Boolean).join(' ')\n : rel;\n\n const externalLabel = t(\n 'ui.link.opensInNewTab',\n 'Opens in a new tab',\n );\n\n const handleClick: AnchorHTMLAttributes<HTMLAnchorElement>['onClick'] = (\n event,\n ) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n };\n\n return (\n <a\n ref={ref}\n // When disabled, drop href so the link is not actionable; pair\n // with aria-disabled + role=\"link\" so AT still announces the\n // role (the implicit role disappears once href is removed).\n href={disabled ? undefined : href}\n role={disabled ? 'link' : undefined}\n aria-disabled={disabled || undefined}\n target={effectiveTarget}\n rel={effectiveRel || undefined}\n onClick={handleClick}\n data-component=\"link\"\n data-intent={intent ?? 'default'}\n className={linkVariants({ intent, weight, className })}\n {...rest}\n >\n {startIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:me-[var(--spacing-2xs)] ds:[&_svg]:size-[1em] ds:align-[-0.125em]\"\n >\n {startIcon}\n </span>\n ) : null}\n {children}\n {external ? (\n <span\n className=\"ds:inline-flex ds:items-center ds:ms-[var(--spacing-2xs)] ds:align-[-0.125em]\"\n aria-label={externalLabel}\n >\n <ExternalLink aria-hidden=\"true\" className=\"ds:size-[1em]\" />\n </span>\n ) : endIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:ms-[var(--spacing-2xs)] ds:[&_svg]:size-[1em] ds:align-[-0.125em]\"\n >\n {endIcon}\n </span>\n ) : null}\n </a>\n );\n },\n);\n\nLink.displayName = 'Link';\n"],"names":["__iconNode","ExternalLink","createLucideIcon","linkVariants","cva","Link","forwardRef","href","external","disabled","startIcon","endIcon","intent","weight","className","children","target","rel","onClick","rest","ref","t","useTranslation","effectiveTarget","effectiveRel","externalLabel","jsxs","event","jsx"],"mappings":";;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,aAAa,KAAK,SAAQ,CAAE;AAAA,EAC1C,CAAC,QAAQ,EAAE,GAAG,eAAe,KAAK,SAAQ,CAAE;AAAA,EAC5C,CAAC,QAAQ,EAAE,GAAG,4DAA4D,KAAK,SAAQ,CAAE;AAC3F,GACMC,IAAeC,EAAiB,iBAAiBF,CAAU,GCQ3DG,IAAeC;AAAA,EACnB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAKN,SACE;AAAA,QACF,QACE;AAAA,QACF,UACE;AAAA,MAAA;AAAA,MAEJ,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,IAEF,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,QAAQ;AAAA,IAAA;AAAA,EACV;AAEJ,GAkCaC,IAAOC;AAAA,EAClB,CACE;AAAA,IACE,MAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,KAAAC;AAAA,IACA,SAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GAERC,IAAkBf,IAAW,WAAWQ,GACxCQ,IAAehB,IACjB,CAACS,GAAK,YAAY,YAAY,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,IACxDA,GAEEQ,IAAgBJ;AAAA,MACpB;AAAA,MACA;AAAA,IAAA;AAaF,WACE,gBAAAK;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAN;AAAA,QAIA,MAAMX,IAAW,SAAYF;AAAA,QAC7B,MAAME,IAAW,SAAS;AAAA,QAC1B,iBAAeA,KAAY;AAAA,QAC3B,QAAQc;AAAA,QACR,KAAKC,KAAgB;AAAA,QACrB,SArBoE,CACtEG,MACG;AACH,cAAIlB,GAAU;AACZ,YAAAkB,EAAM,eAAA;AACN;AAAA,UACF;AACA,UAAAT,KAAA,QAAAA,EAAUS;AAAA,QACZ;AAAA,QAcI,kBAAe;AAAA,QACf,eAAaf,KAAU;AAAA,QACvB,WAAWT,EAAa,EAAE,QAAAS,GAAQ,QAAAC,GAAQ,WAAAC,GAAW;AAAA,QACpD,GAAGK;AAAA,QAEH,UAAA;AAAA,UAAAT,IACC,gBAAAkB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAU;AAAA,cAET,UAAAlB;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,UACHK;AAAA,UACAP,IACC,gBAAAoB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,cAAYH;AAAA,cAEZ,UAAA,gBAAAG,EAAC3B,GAAA,EAAa,eAAY,QAAO,WAAU,gBAAA,CAAgB;AAAA,YAAA;AAAA,UAAA,IAE3DU,IACF,gBAAAiB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAU;AAAA,cAET,UAAAjB;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEAN,EAAK,cAAc;","x_google_ignoreList":[0]}
|
|
@@ -1,420 +0,0 @@
|
|
|
1
|
-
import { jsx as r, jsxs as U, Fragment as Y } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as J, useState as G, useMemo as B, useRef as Q, useCallback as u, useImperativeHandle as Z, useContext as $, useLayoutEffect as V, Children as C, isValidElement as ee, createContext as te } from "react";
|
|
3
|
-
import { c as W } from "./index-D2ZczOXr.js";
|
|
4
|
-
import { useTranslation as se } from "react-i18next";
|
|
5
|
-
const z = te({
|
|
6
|
-
selection: "none",
|
|
7
|
-
selectedValues: /* @__PURE__ */ new Set(),
|
|
8
|
-
focusedValue: null,
|
|
9
|
-
disabled: !1,
|
|
10
|
-
enabledItemValues: [],
|
|
11
|
-
onItemSelect: () => {
|
|
12
|
-
},
|
|
13
|
-
onItemFocus: () => {
|
|
14
|
-
},
|
|
15
|
-
onItemKeyDown: () => {
|
|
16
|
-
},
|
|
17
|
-
registerItemRef: () => {
|
|
18
|
-
},
|
|
19
|
-
divider: "spaced"
|
|
20
|
-
}), ie = W("ds:flex ds:flex-col ds:p-0 ds:m-0", {
|
|
21
|
-
variants: {
|
|
22
|
-
divider: {
|
|
23
|
-
spaced: "",
|
|
24
|
-
divided: "",
|
|
25
|
-
bordered: "ds:border ds:border-[color:var(--border)] ds:rounded-[var(--radius-md)] ds:overflow-hidden"
|
|
26
|
-
},
|
|
27
|
-
density: {
|
|
28
|
-
compact: "ds:gap-[var(--spacing-xs)]",
|
|
29
|
-
default: "ds:gap-[var(--spacing-sm)]",
|
|
30
|
-
relaxed: "ds:gap-[var(--spacing-md)]"
|
|
31
|
-
},
|
|
32
|
-
ordered: {
|
|
33
|
-
true: "ds:list-decimal ds:ps-[var(--spacing-lg)]",
|
|
34
|
-
false: "ds:list-none"
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
defaultVariants: {
|
|
38
|
-
divider: "spaced",
|
|
39
|
-
density: "default",
|
|
40
|
-
ordered: !1
|
|
41
|
-
}
|
|
42
|
-
}), re = W(
|
|
43
|
-
"ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-xs)]",
|
|
44
|
-
{
|
|
45
|
-
variants: {
|
|
46
|
-
divider: {
|
|
47
|
-
spaced: "",
|
|
48
|
-
divided: "ds:[&:not(:last-child)]:[border-block-end:1px_solid_var(--border)]",
|
|
49
|
-
bordered: "ds:[&:not(:last-child)]:[border-block-end:1px_solid_var(--border)]"
|
|
50
|
-
},
|
|
51
|
-
interactive: {
|
|
52
|
-
// flex lives on the outer <div role="option"> so it doesn't suppress ::marker on <li>
|
|
53
|
-
true: [
|
|
54
|
-
"ds:flex ds:items-center ds:gap-x-[var(--spacing-sm)]",
|
|
55
|
-
"ds:min-h-[var(--min-target-size)] ds:cursor-pointer ds:select-none",
|
|
56
|
-
"ds:rounded-[var(--radius-sm)]",
|
|
57
|
-
"ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
|
|
58
|
-
"ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
|
|
59
|
-
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
|
|
60
|
-
].join(" "),
|
|
61
|
-
// no flex here — <li> keeps display:list-item so ::marker renders correctly
|
|
62
|
-
false: ""
|
|
63
|
-
},
|
|
64
|
-
selected: {
|
|
65
|
-
true: "",
|
|
66
|
-
false: ""
|
|
67
|
-
},
|
|
68
|
-
disabled: {
|
|
69
|
-
true: "",
|
|
70
|
-
false: ""
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
compoundVariants: [
|
|
74
|
-
{
|
|
75
|
-
interactive: !0,
|
|
76
|
-
selected: !1,
|
|
77
|
-
disabled: !1,
|
|
78
|
-
className: "ds:hover:bg-[color:var(--muted)]/20"
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
interactive: !0,
|
|
82
|
-
selected: !0,
|
|
83
|
-
className: "ds:bg-[color:var(--primary)]/10"
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
interactive: !0,
|
|
87
|
-
disabled: !0,
|
|
88
|
-
className: "ds:opacity-50 ds:cursor-not-allowed ds:pointer-events-none"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
defaultVariants: {
|
|
92
|
-
divider: "spaced",
|
|
93
|
-
interactive: !1,
|
|
94
|
-
selected: !1,
|
|
95
|
-
disabled: !1
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
);
|
|
99
|
-
function ne(t) {
|
|
100
|
-
const p = [];
|
|
101
|
-
return C.forEach(t, (x) => {
|
|
102
|
-
if (!ee(x)) return;
|
|
103
|
-
const h = x.props;
|
|
104
|
-
typeof h.value == "string" && p.push({ value: h.value, disabled: !!h.disabled });
|
|
105
|
-
}), p;
|
|
106
|
-
}
|
|
107
|
-
const T = J(
|
|
108
|
-
({
|
|
109
|
-
as: t = "ul",
|
|
110
|
-
start: p,
|
|
111
|
-
divider: x = "spaced",
|
|
112
|
-
density: h = "default",
|
|
113
|
-
selection: S = "none",
|
|
114
|
-
value: y,
|
|
115
|
-
defaultValue: N,
|
|
116
|
-
onValueChange: v,
|
|
117
|
-
disabled: o = !1,
|
|
118
|
-
className: k,
|
|
119
|
-
children: l,
|
|
120
|
-
"aria-label": F,
|
|
121
|
-
...n
|
|
122
|
-
}, H) => {
|
|
123
|
-
const { t: O } = se(), a = S !== "none", b = S === "multiple", L = y !== void 0, [_, P] = G(() => N === void 0 ? [] : Array.isArray(N) ? N : [N]), c = B(() => {
|
|
124
|
-
if (L) {
|
|
125
|
-
const e = y;
|
|
126
|
-
return new Set(Array.isArray(e) ? e : [e]);
|
|
127
|
-
}
|
|
128
|
-
return new Set(_);
|
|
129
|
-
}, [L, y, _]), j = B(() => ne(l), [l]), f = B(
|
|
130
|
-
() => j.filter((e) => !e.disabled && !o).map((e) => e.value),
|
|
131
|
-
[j, o]
|
|
132
|
-
), [I, g] = G(null), D = Q(/* @__PURE__ */ new Map()), q = u((e, i) => {
|
|
133
|
-
i ? D.current.set(e, i) : D.current.delete(e);
|
|
134
|
-
}, []), w = u((e) => {
|
|
135
|
-
g(e), requestAnimationFrame(() => {
|
|
136
|
-
var i;
|
|
137
|
-
(i = D.current.get(e)) == null || i.focus();
|
|
138
|
-
});
|
|
139
|
-
}, []), m = u(
|
|
140
|
-
(e) => {
|
|
141
|
-
L || P(e), b ? v == null || v(e) : v == null || v(e[0] ?? "");
|
|
142
|
-
},
|
|
143
|
-
[L, b, v]
|
|
144
|
-
), R = u(
|
|
145
|
-
(e) => {
|
|
146
|
-
if (!o && a)
|
|
147
|
-
if (b) {
|
|
148
|
-
const i = [...c];
|
|
149
|
-
c.has(e) ? m(i.filter((s) => s !== e)) : m([...i, e]);
|
|
150
|
-
} else
|
|
151
|
-
c.has(e) ? m([]) : m([e]);
|
|
152
|
-
},
|
|
153
|
-
[o, a, b, c, m]
|
|
154
|
-
), K = u((e) => {
|
|
155
|
-
g(e);
|
|
156
|
-
}, []), M = u(
|
|
157
|
-
(e, i) => {
|
|
158
|
-
if (!a) return;
|
|
159
|
-
const s = f.indexOf(i);
|
|
160
|
-
switch (e.key) {
|
|
161
|
-
case "ArrowDown": {
|
|
162
|
-
e.preventDefault();
|
|
163
|
-
const d = f[s + 1];
|
|
164
|
-
d !== void 0 && w(d);
|
|
165
|
-
break;
|
|
166
|
-
}
|
|
167
|
-
case "ArrowUp": {
|
|
168
|
-
e.preventDefault();
|
|
169
|
-
const d = f[s - 1];
|
|
170
|
-
d !== void 0 && w(d);
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
case "Home": {
|
|
174
|
-
e.preventDefault();
|
|
175
|
-
const d = f[0];
|
|
176
|
-
d !== void 0 && w(d);
|
|
177
|
-
break;
|
|
178
|
-
}
|
|
179
|
-
case "End": {
|
|
180
|
-
e.preventDefault();
|
|
181
|
-
const d = f[f.length - 1];
|
|
182
|
-
d !== void 0 && w(d);
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
case " ":
|
|
186
|
-
case "Enter": {
|
|
187
|
-
e.preventDefault(), R(i);
|
|
188
|
-
break;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
},
|
|
192
|
-
[a, f, w, R]
|
|
193
|
-
), A = {
|
|
194
|
-
selection: S,
|
|
195
|
-
selectedValues: c,
|
|
196
|
-
focusedValue: I,
|
|
197
|
-
disabled: o,
|
|
198
|
-
enabledItemValues: f,
|
|
199
|
-
onItemSelect: R,
|
|
200
|
-
onItemFocus: K,
|
|
201
|
-
onItemKeyDown: M,
|
|
202
|
-
registerItemRef: q,
|
|
203
|
-
divider: x
|
|
204
|
-
}, E = ie({ divider: x, density: h, ordered: t === "ol", className: k });
|
|
205
|
-
if (Z(
|
|
206
|
-
H,
|
|
207
|
-
() => ({
|
|
208
|
-
getSelection: () => Array.from(c),
|
|
209
|
-
setSelection: (e) => {
|
|
210
|
-
a && m(b ? e : e.slice(0, 1));
|
|
211
|
-
},
|
|
212
|
-
clearSelection: () => {
|
|
213
|
-
a && m([]);
|
|
214
|
-
}
|
|
215
|
-
}),
|
|
216
|
-
[c, a, b, m]
|
|
217
|
-
), a) {
|
|
218
|
-
const e = F ?? O("ui.list.label", "List");
|
|
219
|
-
return /* @__PURE__ */ r(z.Provider, { value: A, children: /* @__PURE__ */ r(
|
|
220
|
-
"div",
|
|
221
|
-
{
|
|
222
|
-
role: "listbox",
|
|
223
|
-
"aria-label": e,
|
|
224
|
-
"aria-multiselectable": b ? !0 : void 0,
|
|
225
|
-
"aria-disabled": o ? !0 : void 0,
|
|
226
|
-
className: E,
|
|
227
|
-
"data-component": "list",
|
|
228
|
-
"data-component-id": n.id,
|
|
229
|
-
...n,
|
|
230
|
-
children: l
|
|
231
|
-
}
|
|
232
|
-
) });
|
|
233
|
-
}
|
|
234
|
-
return t === "ol" ? /* @__PURE__ */ r(z.Provider, { value: A, children: /* @__PURE__ */ r(
|
|
235
|
-
"ol",
|
|
236
|
-
{
|
|
237
|
-
role: "list",
|
|
238
|
-
start: p,
|
|
239
|
-
className: E,
|
|
240
|
-
"data-component": "list",
|
|
241
|
-
"data-component-id": n.id,
|
|
242
|
-
...n,
|
|
243
|
-
children: l
|
|
244
|
-
}
|
|
245
|
-
) }) : /* @__PURE__ */ r(z.Provider, { value: A, children: /* @__PURE__ */ r(
|
|
246
|
-
"ul",
|
|
247
|
-
{
|
|
248
|
-
role: "list",
|
|
249
|
-
className: E,
|
|
250
|
-
"data-component": "list",
|
|
251
|
-
"data-component-id": n.id,
|
|
252
|
-
...n,
|
|
253
|
-
children: l
|
|
254
|
-
}
|
|
255
|
-
) });
|
|
256
|
-
}
|
|
257
|
-
);
|
|
258
|
-
T.displayName = "List";
|
|
259
|
-
const X = J(
|
|
260
|
-
({
|
|
261
|
-
value: t,
|
|
262
|
-
leading: p,
|
|
263
|
-
title: x,
|
|
264
|
-
description: h,
|
|
265
|
-
trailing: S,
|
|
266
|
-
lineClamp: y,
|
|
267
|
-
disabled: N = !1,
|
|
268
|
-
className: v,
|
|
269
|
-
onClick: o,
|
|
270
|
-
onFocus: k,
|
|
271
|
-
onKeyDown: l,
|
|
272
|
-
...F
|
|
273
|
-
}, n) => {
|
|
274
|
-
const {
|
|
275
|
-
selection: H,
|
|
276
|
-
selectedValues: O,
|
|
277
|
-
focusedValue: a,
|
|
278
|
-
disabled: b,
|
|
279
|
-
enabledItemValues: L,
|
|
280
|
-
onItemSelect: _,
|
|
281
|
-
onItemFocus: P,
|
|
282
|
-
onItemKeyDown: c,
|
|
283
|
-
registerItemRef: j,
|
|
284
|
-
divider: f
|
|
285
|
-
} = $(z), I = H !== "none", g = b || N, D = t !== void 0 ? O.has(t) : !1, q = t !== void 0 && a === t, w = t !== void 0 && L[0] === t, m = I ? a !== null ? q && !g ? 0 : -1 : w && !g ? 0 : -1 : void 0, R = Q(null);
|
|
286
|
-
V(() => {
|
|
287
|
-
const s = R.current;
|
|
288
|
-
s && (y != null ? s.style.setProperty("--list-item-clamp", String(y)) : s.style.removeProperty("--list-item-clamp"));
|
|
289
|
-
}, [y]);
|
|
290
|
-
const K = u(
|
|
291
|
-
(s) => {
|
|
292
|
-
t && j(t, s), typeof n == "function" ? n(s) : n && (n.current = s);
|
|
293
|
-
},
|
|
294
|
-
[t, j, n]
|
|
295
|
-
), M = u(
|
|
296
|
-
(s) => {
|
|
297
|
-
I && t && !g && _(t), o == null || o(s);
|
|
298
|
-
},
|
|
299
|
-
[I, t, g, _, o]
|
|
300
|
-
), A = u(
|
|
301
|
-
(s) => {
|
|
302
|
-
t && P(t), k == null || k(s);
|
|
303
|
-
},
|
|
304
|
-
[t, P, k]
|
|
305
|
-
), E = u(
|
|
306
|
-
(s) => {
|
|
307
|
-
t && c(s, t), l == null || l(s);
|
|
308
|
-
},
|
|
309
|
-
[t, c, l]
|
|
310
|
-
), e = re({
|
|
311
|
-
divider: f,
|
|
312
|
-
interactive: I,
|
|
313
|
-
selected: D,
|
|
314
|
-
disabled: g,
|
|
315
|
-
className: v
|
|
316
|
-
}), i = /* @__PURE__ */ U(Y, { children: [
|
|
317
|
-
p && /* @__PURE__ */ r("span", { className: "ds:shrink-0 ds:flex ds:items-center ds:justify-center", children: p }),
|
|
318
|
-
/* @__PURE__ */ U("div", { className: "ds:flex-1 ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-0", children: [
|
|
319
|
-
/* @__PURE__ */ r("span", { className: "ds:text-[color:var(--foreground)] ds:text-[length:var(--font-size-sm)] ds:font-medium ds:leading-[var(--line-height-base)] ds:[overflow-wrap:anywhere]", children: x }),
|
|
320
|
-
h && /* @__PURE__ */ r(
|
|
321
|
-
"span",
|
|
322
|
-
{
|
|
323
|
-
ref: R,
|
|
324
|
-
className: [
|
|
325
|
-
"ds:text-[color:var(--muted-foreground)] ds:text-[length:var(--font-size-xs)] ds:leading-[var(--line-height-base)]",
|
|
326
|
-
y != null ? "ds:[overflow:hidden] ds:[display:-webkit-box] ds:[-webkit-box-orient:vertical] ds:[-webkit-line-clamp:var(--list-item-clamp)]" : ""
|
|
327
|
-
].filter(Boolean).join(" "),
|
|
328
|
-
children: h
|
|
329
|
-
}
|
|
330
|
-
)
|
|
331
|
-
] }),
|
|
332
|
-
S && /* @__PURE__ */ r("span", { className: "ds:shrink-0 ds:flex ds:items-center ds:justify-center", children: S })
|
|
333
|
-
] });
|
|
334
|
-
return I ? /* @__PURE__ */ r(
|
|
335
|
-
"div",
|
|
336
|
-
{
|
|
337
|
-
ref: K,
|
|
338
|
-
role: "option",
|
|
339
|
-
"aria-selected": D,
|
|
340
|
-
"aria-disabled": g ? !0 : void 0,
|
|
341
|
-
tabIndex: m,
|
|
342
|
-
onClick: M,
|
|
343
|
-
onFocus: A,
|
|
344
|
-
onKeyDown: E,
|
|
345
|
-
className: e,
|
|
346
|
-
"data-item-id": t,
|
|
347
|
-
...F,
|
|
348
|
-
children: i
|
|
349
|
-
}
|
|
350
|
-
) : /* @__PURE__ */ r(
|
|
351
|
-
"li",
|
|
352
|
-
{
|
|
353
|
-
ref: K,
|
|
354
|
-
onClick: M,
|
|
355
|
-
onFocus: A,
|
|
356
|
-
onKeyDown: E,
|
|
357
|
-
className: e,
|
|
358
|
-
"data-item-id": t,
|
|
359
|
-
...F,
|
|
360
|
-
children: /* @__PURE__ */ r("div", { className: "ds:flex ds:items-center ds:gap-x-[var(--spacing-sm)]", children: i })
|
|
361
|
-
}
|
|
362
|
-
);
|
|
363
|
-
}
|
|
364
|
-
);
|
|
365
|
-
X.displayName = "List.Item";
|
|
366
|
-
const ce = Object.assign(T, {
|
|
367
|
-
Root: T,
|
|
368
|
-
Item: X
|
|
369
|
-
}), fe = {
|
|
370
|
-
id: "list",
|
|
371
|
-
capabilities: ["select_single", "select_multiple"],
|
|
372
|
-
state: {
|
|
373
|
-
selection: {
|
|
374
|
-
type: "string[]",
|
|
375
|
-
descriptionKey: "ui.agent.list.state.selection",
|
|
376
|
-
description: "Ids of currently-selected list items. Empty array when none selected or list is presentational.",
|
|
377
|
-
read: (t) => t.getSelection()
|
|
378
|
-
}
|
|
379
|
-
},
|
|
380
|
-
actions: {
|
|
381
|
-
set_selection: {
|
|
382
|
-
safety: "read",
|
|
383
|
-
argsType: "{ ids: string[] }",
|
|
384
|
-
descriptionKey: "ui.agent.list.actions.setSelection",
|
|
385
|
-
description: "Replace the current selection with the given item ids. No-op on presentational lists.",
|
|
386
|
-
invoke: (t, p) => {
|
|
387
|
-
t.setSelection(p.ids);
|
|
388
|
-
}
|
|
389
|
-
},
|
|
390
|
-
clear_selection: {
|
|
391
|
-
safety: "read",
|
|
392
|
-
descriptionKey: "ui.agent.list.actions.clearSelection",
|
|
393
|
-
description: "Deselect all items.",
|
|
394
|
-
invoke: (t) => {
|
|
395
|
-
t.clearSelection();
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
},
|
|
399
|
-
domHooks: {
|
|
400
|
-
root: {
|
|
401
|
-
attr: "data-component",
|
|
402
|
-
value: "list",
|
|
403
|
-
description: "Marks the List root."
|
|
404
|
-
},
|
|
405
|
-
instanceId: {
|
|
406
|
-
attr: "data-component-id",
|
|
407
|
-
sourceProp: "id",
|
|
408
|
-
description: "Sourced from the id prop."
|
|
409
|
-
},
|
|
410
|
-
item: {
|
|
411
|
-
attr: "data-item-id",
|
|
412
|
-
description: "Opaque item id; sourced from each ListItem `value` prop. Emitted only when `value` is set."
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
};
|
|
416
|
-
export {
|
|
417
|
-
ce as L,
|
|
418
|
-
fe as l
|
|
419
|
-
};
|
|
420
|
-
//# sourceMappingURL=list.agent-D0iWt4VI.js.map
|