@alfadocs/ui-kit 0.1.10 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/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-BLWruOxK.js +459 -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-CrVefV0M.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-BcYW1eNM.js} +48 -35
- 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-DjvsB_3U.js} +58 -55
- package/dist/_chunks/{message-tray-xHUCra-Y.js → message-tray-BbnAzlLH.js} +86 -91
- 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-uTPEvAQS.js} +22 -22
- package/dist/_chunks/{notification-tray-DTXMq42J.js → notification-tray-PGtMqXbP.js} +84 -80
- 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-B_BdHwjb.js} +197 -188
- 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/transaction-chip-DE6DITun.js +196 -0
- 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 +594 -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/index.d.ts +1 -0
- 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/link/link.d.ts +1 -0
- 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/transaction-chip/index.d.ts +3 -0
- package/dist/components/transaction-chip/index.js +5 -0
- package/dist/components/transaction-chip/transaction-chip.d.ts +30 -0
- 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/i18n/config.js +36 -0
- package/dist/i18n/resources.d.ts +36 -0
- package/dist/index.js +394 -402
- package/dist/locales/de.json +12 -0
- package/dist/locales/en.json +12 -0
- package/dist/locales/it.json +12 -0
- 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,252 +0,0 @@
|
|
|
1
|
-
import { jsxs as d, jsx as r, Fragment as ge } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as he, useId as ve, useRef as H, useCallback as K, useState as be, useLayoutEffect as ye, useImperativeHandle as xe } from "react";
|
|
3
|
-
import { c as Ie } from "./index-D2ZczOXr.js";
|
|
4
|
-
import { useTranslation as Ce } from "react-i18next";
|
|
5
|
-
import { I as W } from "./icon-button-Wnnde5lc.js";
|
|
6
|
-
import { c as Ne } from "./createLucideIcon-CrFbzy84.js";
|
|
7
|
-
import { C as ke } from "./circle-alert-ChA9opNA.js";
|
|
8
|
-
import { S as ze } from "./send-CySZIRPJ.js";
|
|
9
|
-
/**
|
|
10
|
-
* @license lucide-react v1.8.0 - ISC
|
|
11
|
-
*
|
|
12
|
-
* This source code is licensed under the ISC license.
|
|
13
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
14
|
-
*/
|
|
15
|
-
const we = [
|
|
16
|
-
[
|
|
17
|
-
"path",
|
|
18
|
-
{
|
|
19
|
-
d: "m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",
|
|
20
|
-
key: "1miecu"
|
|
21
|
-
}
|
|
22
|
-
]
|
|
23
|
-
], Fe = Ne("paperclip", we), He = Ie(
|
|
24
|
-
[
|
|
25
|
-
"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full",
|
|
26
|
-
// Soft drop-shadow + transparent border replaces a flat
|
|
27
|
-
// `border-border` (grey-800 since the WCAG 1.4.11 bump). Border kept
|
|
28
|
-
// at 1px so the focus-within color override + forced-colors
|
|
29
|
-
// fallback still paint a visible edge.
|
|
30
|
-
"ds:rounded-[var(--radius-md)] ds:shadow-[var(--shadow-sm)] ds:border ds:border-transparent",
|
|
31
|
-
"ds:bg-background ds:focus-within:border-[color:var(--primary)]",
|
|
32
|
-
"ds:transition-[border-color] ds:duration-[var(--animation-duration)]",
|
|
33
|
-
"ds:motion-reduce:transition-none",
|
|
34
|
-
"ds:forced-colors:border-[CanvasText]"
|
|
35
|
-
].join(" "),
|
|
36
|
-
{
|
|
37
|
-
variants: {
|
|
38
|
-
size: {
|
|
39
|
-
sm: "ds:text-[length:var(--font-size-sm)]",
|
|
40
|
-
md: "ds:text-[length:var(--font-size-base)]",
|
|
41
|
-
lg: "ds:text-[length:var(--font-size-lg)]"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
defaultVariants: { size: "md" }
|
|
45
|
-
}
|
|
46
|
-
);
|
|
47
|
-
function Te(c, u) {
|
|
48
|
-
if (typeof Intl < "u" && typeof Intl.Segmenter == "function")
|
|
49
|
-
try {
|
|
50
|
-
const p = new Intl.Segmenter(u, { granularity: "grapheme" });
|
|
51
|
-
let t = 0;
|
|
52
|
-
for (const T of p.segment(c)) t += 1;
|
|
53
|
-
return t;
|
|
54
|
-
} catch {
|
|
55
|
-
}
|
|
56
|
-
return Array.from(c).length;
|
|
57
|
-
}
|
|
58
|
-
const Ve = he(
|
|
59
|
-
({
|
|
60
|
-
size: c = "md",
|
|
61
|
-
value: u,
|
|
62
|
-
defaultValue: p,
|
|
63
|
-
maxLength: t,
|
|
64
|
-
submitOnEnter: T = !1,
|
|
65
|
-
minRows: y = 1,
|
|
66
|
-
maxRows: V = 8,
|
|
67
|
-
onSubmit: x,
|
|
68
|
-
onAttach: f,
|
|
69
|
-
accept: Y,
|
|
70
|
-
disabled: m,
|
|
71
|
-
toolbar: q,
|
|
72
|
-
label: j,
|
|
73
|
-
placeholder: G,
|
|
74
|
-
className: J,
|
|
75
|
-
onChange: I,
|
|
76
|
-
onKeyDown: C,
|
|
77
|
-
onCompositionStart: N,
|
|
78
|
-
onCompositionEnd: k,
|
|
79
|
-
id: B,
|
|
80
|
-
...L
|
|
81
|
-
}, O) => {
|
|
82
|
-
const { t: i, i18n: Q } = Ce(), U = ve(), g = H(!1), E = H(null), z = H(null), X = K(
|
|
83
|
-
(e) => {
|
|
84
|
-
z.current = e;
|
|
85
|
-
},
|
|
86
|
-
[]
|
|
87
|
-
), a = u !== void 0, [Z, h] = be(
|
|
88
|
-
String(p ?? "")
|
|
89
|
-
), s = a ? String(u) : Z, w = Te(s, Q.language), v = typeof t == "number" && t > 0, D = v ? Math.max(0, t - w) : 0, A = v && w > t * 0.9, o = v && w >= t, M = K(() => {
|
|
90
|
-
const e = z.current;
|
|
91
|
-
if (!e) return;
|
|
92
|
-
const n = window.getComputedStyle(e), b = parseFloat(n.lineHeight) || 24, de = parseFloat(n.paddingTop) || 0, ce = parseFloat(n.paddingBottom) || 0, ue = parseFloat(n.borderTopWidth) || 0, pe = parseFloat(n.borderBottomWidth) || 0, R = de + ce + ue + pe, fe = b * y + R, _ = b * V + R;
|
|
93
|
-
e.style.height = "auto";
|
|
94
|
-
const me = Math.max(fe, Math.min(e.scrollHeight, _));
|
|
95
|
-
e.style.height = `${me}px`, e.style.overflowY = e.scrollHeight > _ ? "auto" : "hidden";
|
|
96
|
-
}, [y, V]);
|
|
97
|
-
ye(() => {
|
|
98
|
-
M();
|
|
99
|
-
}, [M, s]);
|
|
100
|
-
const ee = (e) => {
|
|
101
|
-
a || h(e.target.value), !g.current && (I == null || I(e));
|
|
102
|
-
}, te = (e) => {
|
|
103
|
-
g.current = !0, N == null || N(e);
|
|
104
|
-
}, se = (e) => {
|
|
105
|
-
g.current = !1, k == null || k(e);
|
|
106
|
-
}, re = (e) => e.nativeEvent.isComposing || e.keyCode === 229 || g.current, F = () => {
|
|
107
|
-
!s.trim() || m || o || (x == null || x(s), a || h(""));
|
|
108
|
-
};
|
|
109
|
-
xe(
|
|
110
|
-
O,
|
|
111
|
-
() => ({
|
|
112
|
-
getValue: () => s,
|
|
113
|
-
isEmpty: () => !s.trim(),
|
|
114
|
-
setValue: (e) => {
|
|
115
|
-
a || h(e);
|
|
116
|
-
},
|
|
117
|
-
clear: () => {
|
|
118
|
-
a || h("");
|
|
119
|
-
},
|
|
120
|
-
submit: () => {
|
|
121
|
-
F();
|
|
122
|
-
},
|
|
123
|
-
focus: () => {
|
|
124
|
-
var e;
|
|
125
|
-
(e = z.current) == null || e.focus();
|
|
126
|
-
}
|
|
127
|
-
}),
|
|
128
|
-
// `submit` is a local closure that always sees the latest currentValue
|
|
129
|
-
// via React's render cycle — depend on currentValue + isControlled so
|
|
130
|
-
// the handle picks up new values across renders.
|
|
131
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
132
|
-
[s, a]
|
|
133
|
-
);
|
|
134
|
-
const ae = (e) => {
|
|
135
|
-
if (C == null || C(e), !e.defaultPrevented && !re(e) && e.key === "Enter") {
|
|
136
|
-
const n = e.metaKey || e.ctrlKey, b = T && !e.shiftKey;
|
|
137
|
-
(n || b) && (e.preventDefault(), F());
|
|
138
|
-
}
|
|
139
|
-
}, ne = () => {
|
|
140
|
-
var e;
|
|
141
|
-
(e = E.current) == null || e.click();
|
|
142
|
-
}, ie = (e) => {
|
|
143
|
-
e.target.files && e.target.files.length > 0 && (f == null || f(e.target.files)), e.target.value = "";
|
|
144
|
-
}, l = B ?? U, P = `${l}-label`, S = v ? `${l}-counter` : void 0, $ = `${l}-hint`, oe = G ?? i("chat.input.placeholder"), le = j ?? i("chat.prompt");
|
|
145
|
-
return /* @__PURE__ */ d("div", { "data-component": "chat-input", "data-component-id": B, className: He({ size: c, className: J }), children: [
|
|
146
|
-
/* @__PURE__ */ r("label", { id: P, htmlFor: l, className: j ? "type-label ds:ps-[var(--spacing-sm)] ds:pt-[var(--spacing-sm)]" : "ds:sr-only", children: le }),
|
|
147
|
-
/* @__PURE__ */ r(
|
|
148
|
-
"textarea",
|
|
149
|
-
{
|
|
150
|
-
ref: X,
|
|
151
|
-
id: l,
|
|
152
|
-
value: a ? s : void 0,
|
|
153
|
-
defaultValue: a ? void 0 : p,
|
|
154
|
-
disabled: m,
|
|
155
|
-
rows: y,
|
|
156
|
-
maxLength: t,
|
|
157
|
-
placeholder: oe,
|
|
158
|
-
"aria-labelledby": P,
|
|
159
|
-
"aria-describedby": [S, $].filter(Boolean).join(" ") || void 0,
|
|
160
|
-
"aria-invalid": o || void 0,
|
|
161
|
-
onChange: ee,
|
|
162
|
-
onKeyDown: ae,
|
|
163
|
-
onCompositionStart: te,
|
|
164
|
-
onCompositionEnd: se,
|
|
165
|
-
className: [
|
|
166
|
-
"ds:w-full ds:resize-none ds:bg-transparent",
|
|
167
|
-
"ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-xs)]",
|
|
168
|
-
"ds:placeholder:text-[color:var(--muted-foreground)]",
|
|
169
|
-
"ds:leading-[var(--line-height-base)]",
|
|
170
|
-
"ds:disabled:opacity-50 ds:disabled:cursor-not-allowed",
|
|
171
|
-
// Tokenised focus ring on the textarea itself — the 1px border
|
|
172
|
-
// shift on the wrapper alone fails the 3px accessible-theme
|
|
173
|
-
// requirement. See a11y-critical-fixes.mdx.
|
|
174
|
-
"ds:outline-none",
|
|
175
|
-
"ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
|
|
176
|
-
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
177
|
-
"ds:rounded-[var(--radius-sm)]",
|
|
178
|
-
"ds:forced-colors:focus-visible:outline-[CanvasText]"
|
|
179
|
-
].join(" "),
|
|
180
|
-
...L
|
|
181
|
-
}
|
|
182
|
-
),
|
|
183
|
-
/* @__PURE__ */ d("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]", children: [
|
|
184
|
-
f ? /* @__PURE__ */ d(ge, { children: [
|
|
185
|
-
/* @__PURE__ */ r(
|
|
186
|
-
"input",
|
|
187
|
-
{
|
|
188
|
-
ref: E,
|
|
189
|
-
type: "file",
|
|
190
|
-
className: "ds:sr-only",
|
|
191
|
-
multiple: !0,
|
|
192
|
-
accept: Y,
|
|
193
|
-
onChange: ie
|
|
194
|
-
}
|
|
195
|
-
),
|
|
196
|
-
/* @__PURE__ */ r(
|
|
197
|
-
W,
|
|
198
|
-
{
|
|
199
|
-
icon: /* @__PURE__ */ r(Fe, {}),
|
|
200
|
-
"aria-label": i("chat.input.attach"),
|
|
201
|
-
intent: "ghost",
|
|
202
|
-
size: "sm",
|
|
203
|
-
onClick: ne,
|
|
204
|
-
disabled: m
|
|
205
|
-
}
|
|
206
|
-
)
|
|
207
|
-
] }) : null,
|
|
208
|
-
q,
|
|
209
|
-
/* @__PURE__ */ d("div", { className: "ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
|
|
210
|
-
A ? /* @__PURE__ */ d(
|
|
211
|
-
"span",
|
|
212
|
-
{
|
|
213
|
-
id: S,
|
|
214
|
-
"aria-live": "polite",
|
|
215
|
-
className: [
|
|
216
|
-
"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
217
|
-
"type-meta ds:tabular-nums",
|
|
218
|
-
o ? "ds:text-[color:var(--destructive)]" : "ds:text-[color:var(--muted-foreground)]"
|
|
219
|
-
].join(" "),
|
|
220
|
-
children: [
|
|
221
|
-
o ? (
|
|
222
|
-
// Icon pairs with --destructive colour so the at-limit
|
|
223
|
-
// state is not conveyed by hue alone (WCAG 1.4.1).
|
|
224
|
-
/* @__PURE__ */ r(ke, { "aria-hidden": "true", className: "ds:size-3.5" })
|
|
225
|
-
) : null,
|
|
226
|
-
i("chat.input.remaining", { count: D })
|
|
227
|
-
]
|
|
228
|
-
}
|
|
229
|
-
) : null,
|
|
230
|
-
/* @__PURE__ */ r("span", { id: $, className: "ds:sr-only", children: i("chat.input.sendHint") }),
|
|
231
|
-
/* @__PURE__ */ r(
|
|
232
|
-
W,
|
|
233
|
-
{
|
|
234
|
-
icon: /* @__PURE__ */ r(ze, {}),
|
|
235
|
-
"aria-label": i("chat.send"),
|
|
236
|
-
intent: "primary",
|
|
237
|
-
size: "sm",
|
|
238
|
-
disabled: m || !s.trim() || o,
|
|
239
|
-
onClick: F,
|
|
240
|
-
"aria-keyshortcuts": "Meta+Enter Control+Enter"
|
|
241
|
-
}
|
|
242
|
-
)
|
|
243
|
-
] })
|
|
244
|
-
] })
|
|
245
|
-
] });
|
|
246
|
-
}
|
|
247
|
-
);
|
|
248
|
-
Ve.displayName = "ChatInput";
|
|
249
|
-
export {
|
|
250
|
-
Ve as C
|
|
251
|
-
};
|
|
252
|
-
//# sourceMappingURL=chat-input-C_tMQv92.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input-C_tMQv92.js","sources":["../../node_modules/lucide-react/dist/esm/icons/paperclip.js","../../src/components/chat-input/chat-input.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\",\n key: \"1miecu\"\n }\n ]\n];\nconst Paperclip = createLucideIcon(\"paperclip\", __iconNode);\n\nexport { __iconNode, Paperclip as default };\n//# sourceMappingURL=paperclip.js.map\n","import {\n forwardRef,\n useCallback,\n useId,\n useImperativeHandle,\n useLayoutEffect,\n useRef,\n useState,\n type ChangeEvent,\n type CompositionEvent,\n type KeyboardEvent,\n type ReactNode,\n type TextareaHTMLAttributes,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertCircle, Paperclip, Send } from 'lucide-react';\nimport { IconButton } from '../button';\n\nconst rootVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full',\n // Soft drop-shadow + transparent border replaces a flat\n // `border-border` (grey-800 since the WCAG 1.4.11 bump). Border kept\n // at 1px so the focus-within color override + forced-colors\n // fallback still paint a visible edge.\n 'ds:rounded-[var(--radius-md)] ds:shadow-[var(--shadow-sm)] ds:border ds:border-transparent',\n 'ds:bg-background ds:focus-within:border-[color:var(--primary)]',\n 'ds:transition-[border-color] ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:transition-none',\n 'ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:text-[length:var(--font-size-sm)]',\n md: 'ds:text-[length:var(--font-size-base)]',\n lg: 'ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\ntype NativeTextareaProps = Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n 'size' | 'onSubmit' | 'children'\n>;\n\n/** Curated imperative handle for agent / external automation. */\nexport interface ChatInputHandle {\n getValue: () => string;\n isEmpty: () => boolean;\n setValue: (value: string) => void;\n clear: () => void;\n submit: () => void;\n focus: () => void;\n}\n\nexport interface ChatInputProps\n extends NativeTextareaProps,\n VariantProps<typeof rootVariants> {\n /** Invoked when the user submits (Cmd/Ctrl+Enter, or send button). */\n onSubmit?: (text: string) => void;\n /** Maximum allowed characters (grapheme clusters via Intl.Segmenter when available). */\n maxLength?: number;\n /** When true, plain Enter submits and Shift+Enter inserts a newline.\n * Default false (Enter inserts newline; Cmd/Ctrl+Enter submits). */\n submitOnEnter?: boolean;\n /** Minimum visible rows. Default 1. */\n minRows?: number;\n /** Maximum visible rows before the field scrolls. Default 8. */\n maxRows?: number;\n /** Optional attachment handler — when provided, renders the attachment button. */\n onAttach?: (files: FileList) => void;\n /** `accept` forwarded to the hidden file input. */\n accept?: string;\n /** Controls whether the textarea is disabled and submit is blocked. */\n disabled?: boolean;\n /** Optional slot placed between the textarea and the send button. */\n toolbar?: ReactNode;\n /** Visible label above the textarea. When omitted, a visually-hidden label is used. */\n label?: string;\n}\n\nfunction graphemeCount(value: string, locale: string): number {\n if (typeof Intl !== 'undefined' && typeof Intl.Segmenter === 'function') {\n try {\n const seg = new Intl.Segmenter(locale, { granularity: 'grapheme' });\n let n = 0;\n for (const _s of seg.segment(value)) n += 1;\n return n;\n } catch {\n /* fall through to Array.from */\n }\n }\n return Array.from(value).length;\n}\n\nexport const ChatInput = forwardRef<ChatInputHandle, ChatInputProps>(\n (\n {\n size = 'md',\n value,\n defaultValue,\n maxLength,\n submitOnEnter = false,\n minRows = 1,\n maxRows = 8,\n onSubmit,\n onAttach,\n accept,\n disabled,\n toolbar,\n label,\n placeholder,\n className,\n onChange,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n id,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const textareaId = useId();\n const composingRef = useRef(false);\n const fileInputRef = useRef<HTMLInputElement>(null);\n const innerRef = useRef<HTMLTextAreaElement | null>(null);\n\n const setRefs = useCallback(\n (node: HTMLTextAreaElement | null) => {\n innerRef.current = node;\n },\n [],\n );\n\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<string>(\n String(defaultValue ?? ''),\n );\n const currentValue = isControlled ? String(value) : internalValue;\n\n const count = graphemeCount(currentValue, i18n.language);\n const hasMaxLength = typeof maxLength === 'number' && maxLength > 0;\n const remaining = hasMaxLength ? Math.max(0, maxLength - count) : 0;\n const showCounter = hasMaxLength && count > (maxLength as number) * 0.9;\n const atLimit = hasMaxLength && count >= maxLength;\n\n /* Auto-grow — compute height from scrollHeight, clamped to [minRows, maxRows].\n Imperative `.style` write is permitted per 23-constraints\n §Runtime-computed dimensions (textarea scrollHeight measurement). */\n const resize = useCallback(() => {\n const el = innerRef.current;\n if (!el) return;\n const styles = window.getComputedStyle(el);\n const lineHeight = parseFloat(styles.lineHeight) || 24;\n const padTop = parseFloat(styles.paddingTop) || 0;\n const padBot = parseFloat(styles.paddingBottom) || 0;\n const borderTop = parseFloat(styles.borderTopWidth) || 0;\n const borderBot = parseFloat(styles.borderBottomWidth) || 0;\n const chrome = padTop + padBot + borderTop + borderBot;\n const minH = lineHeight * minRows + chrome;\n const maxH = lineHeight * maxRows + chrome;\n el.style.height = 'auto';\n const next = Math.max(minH, Math.min(el.scrollHeight, maxH));\n el.style.height = `${next}px`;\n el.style.overflowY = el.scrollHeight > maxH ? 'auto' : 'hidden';\n }, [minRows, maxRows]);\n\n useLayoutEffect(() => {\n resize();\n }, [resize, currentValue]);\n\n const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n if (!isControlled) setInternalValue(e.target.value);\n if (composingRef.current) return;\n onChange?.(e);\n };\n\n const handleCompositionStart = (e: CompositionEvent<HTMLTextAreaElement>) => {\n composingRef.current = true;\n onCompositionStart?.(e);\n };\n const handleCompositionEnd = (e: CompositionEvent<HTMLTextAreaElement>) => {\n composingRef.current = false;\n onCompositionEnd?.(e);\n };\n\n const isIMEKey = (e: KeyboardEvent<HTMLTextAreaElement>) =>\n e.nativeEvent.isComposing || e.keyCode === 229 || composingRef.current;\n\n const submit = () => {\n const text = currentValue.trim();\n if (!text || disabled || atLimit) return;\n onSubmit?.(currentValue);\n if (!isControlled) setInternalValue('');\n };\n\n useImperativeHandle(\n ref,\n () => ({\n getValue: () => currentValue,\n isEmpty: () => !currentValue.trim(),\n setValue: (next: string) => {\n if (!isControlled) setInternalValue(next);\n },\n clear: () => {\n if (!isControlled) setInternalValue('');\n },\n submit: () => {\n submit();\n },\n focus: () => {\n innerRef.current?.focus();\n },\n }),\n // `submit` is a local closure that always sees the latest currentValue\n // via React's render cycle — depend on currentValue + isControlled so\n // the handle picks up new values across renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [currentValue, isControlled],\n );\n\n const handleKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n if (isIMEKey(e)) return;\n\n if (e.key === 'Enter') {\n const explicitSubmit = e.metaKey || e.ctrlKey;\n const plainEnterSubmits = submitOnEnter && !e.shiftKey;\n if (explicitSubmit || plainEnterSubmits) {\n e.preventDefault();\n submit();\n }\n }\n };\n\n const handleAttach = () => {\n fileInputRef.current?.click();\n };\n\n const handleFilePick = (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.files && e.target.files.length > 0) {\n onAttach?.(e.target.files);\n }\n // Reset so picking the same file twice still fires change.\n e.target.value = '';\n };\n\n const effectiveId = id ?? textareaId;\n const labelId = `${effectiveId}-label`;\n const counterId = hasMaxLength ? `${effectiveId}-counter` : undefined;\n const hintId = `${effectiveId}-hint`;\n\n const resolvedPlaceholder =\n placeholder ?? t('chat.input.placeholder');\n const resolvedLabel = label ?? t('chat.prompt');\n\n return (\n <div data-component=\"chat-input\" data-component-id={id} className={rootVariants({ size, className })}>\n <label id={labelId} htmlFor={effectiveId} className={label ? 'type-label ds:ps-[var(--spacing-sm)] ds:pt-[var(--spacing-sm)]' : 'ds:sr-only'}>\n {resolvedLabel}\n </label>\n <textarea\n ref={setRefs}\n id={effectiveId}\n value={isControlled ? currentValue : undefined}\n defaultValue={!isControlled ? defaultValue : undefined}\n disabled={disabled}\n rows={minRows}\n maxLength={maxLength}\n placeholder={resolvedPlaceholder}\n aria-labelledby={labelId}\n aria-describedby={[counterId, hintId].filter(Boolean).join(' ') || undefined}\n aria-invalid={atLimit || undefined}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n className={[\n 'ds:w-full ds:resize-none ds:bg-transparent',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-xs)]',\n 'ds:placeholder:text-[color:var(--muted-foreground)]',\n 'ds:leading-[var(--line-height-base)]',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed',\n // Tokenised focus ring on the textarea itself — the 1px border\n // shift on the wrapper alone fails the 3px accessible-theme\n // requirement. See a11y-critical-fixes.mdx.\n 'ds:outline-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' ')}\n {...rest}\n />\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]\">\n {onAttach ? (\n <>\n <input\n ref={fileInputRef}\n type=\"file\"\n className=\"ds:sr-only\"\n multiple\n accept={accept}\n onChange={handleFilePick}\n />\n <IconButton\n icon={<Paperclip />}\n aria-label={t('chat.input.attach')}\n intent=\"ghost\"\n size=\"sm\"\n onClick={handleAttach}\n disabled={disabled}\n />\n </>\n ) : null}\n {toolbar}\n <div className=\"ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n {showCounter ? (\n <span\n id={counterId}\n aria-live=\"polite\"\n className={[\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'type-meta ds:tabular-nums',\n atLimit\n ? 'ds:text-[color:var(--destructive)]'\n : 'ds:text-[color:var(--muted-foreground)]',\n ].join(' ')}\n >\n {atLimit ? (\n // Icon pairs with --destructive colour so the at-limit\n // state is not conveyed by hue alone (WCAG 1.4.1).\n <AlertCircle aria-hidden=\"true\" className=\"ds:size-3.5\" />\n ) : null}\n {t('chat.input.remaining', { count: remaining })}\n </span>\n ) : null}\n <span id={hintId} className=\"ds:sr-only\">\n {t('chat.input.sendHint')}\n </span>\n <IconButton\n icon={<Send />}\n aria-label={t('chat.send')}\n intent=\"primary\"\n size=\"sm\"\n disabled={disabled || !currentValue.trim() || atLimit}\n onClick={submit}\n aria-keyshortcuts=\"Meta+Enter Control+Enter\"\n />\n </div>\n </div>\n </div>\n );\n },\n);\n\nChatInput.displayName = 'ChatInput';\n"],"names":["__iconNode","Paperclip","createLucideIcon","rootVariants","cva","graphemeCount","value","locale","seg","n","_s","ChatInput","forwardRef","size","defaultValue","maxLength","submitOnEnter","minRows","maxRows","onSubmit","onAttach","accept","disabled","toolbar","label","placeholder","className","onChange","onKeyDown","onCompositionStart","onCompositionEnd","id","rest","ref","t","i18n","useTranslation","textareaId","useId","composingRef","useRef","fileInputRef","innerRef","setRefs","useCallback","node","isControlled","internalValue","setInternalValue","useState","currentValue","count","hasMaxLength","remaining","showCounter","atLimit","resize","el","styles","lineHeight","padTop","padBot","borderTop","borderBot","chrome","minH","maxH","next","useLayoutEffect","handleChange","handleCompositionStart","handleCompositionEnd","isIMEKey","submit","useImperativeHandle","_a","handleKeyDown","explicitSubmit","plainEnterSubmits","handleAttach","handleFilePick","effectiveId","labelId","counterId","hintId","resolvedPlaceholder","resolvedLabel","jsxs","jsx","Fragment","IconButton","AlertCircle","Send"],"mappings":";;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AACA,GACMC,KAAYC,GAAiB,aAAaF,EAAU,GCCpDG,KAAeC;AAAA,EACnB;AAAA,IACE;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB,EAAE,MAAM,KAAA;AAAA,EAAK;AAElC;AA2CA,SAASC,GAAcC,GAAeC,GAAwB;AAC5D,MAAI,OAAO,OAAS,OAAe,OAAO,KAAK,aAAc;AAC3D,QAAI;AACF,YAAMC,IAAM,IAAI,KAAK,UAAUD,GAAQ,EAAE,aAAa,YAAY;AAClE,UAAIE,IAAI;AACR,iBAAWC,KAAMF,EAAI,QAAQF,CAAK,EAAG,CAAAG,KAAK;AAC1C,aAAOA;AAAA,IACT,QAAQ;AAAA,IAER;AAEF,SAAO,MAAM,KAAKH,CAAK,EAAE;AAC3B;AAEO,MAAMK,KAAYC;AAAA,EACvB,CACE;AAAA,IACE,MAAAC,IAAO;AAAA,IACP,OAAAP;AAAA,IACA,cAAAQ;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,SAAAC,IAAU;AAAA,IACV,SAAAC,IAAU;AAAA,IACV,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,IAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,GAAG,MAAAC,EAAA,IAASC,GAAA,GACdC,IAAaC,GAAA,GACbC,IAAeC,EAAO,EAAK,GAC3BC,IAAeD,EAAyB,IAAI,GAC5CE,IAAWF,EAAmC,IAAI,GAElDG,IAAUC;AAAA,MACd,CAACC,MAAqC;AACpC,QAAAH,EAAS,UAAUG;AAAA,MACrB;AAAA,MACA,CAAA;AAAA,IAAC,GAGGC,IAAexC,MAAU,QACzB,CAACyC,GAAeC,CAAgB,IAAIC;AAAA,MACxC,OAAOnC,KAAgB,EAAE;AAAA,IAAA,GAErBoC,IAAeJ,IAAe,OAAOxC,CAAK,IAAIyC,GAE9CI,IAAQ9C,GAAc6C,GAAcf,EAAK,QAAQ,GACjDiB,IAAe,OAAOrC,KAAc,YAAYA,IAAY,GAC5DsC,IAAYD,IAAe,KAAK,IAAI,GAAGrC,IAAYoC,CAAK,IAAI,GAC5DG,IAAcF,KAAgBD,IAASpC,IAAuB,KAC9DwC,IAAUH,KAAgBD,KAASpC,GAKnCyC,IAASZ,EAAY,MAAM;AAC/B,YAAMa,IAAKf,EAAS;AACpB,UAAI,CAACe,EAAI;AACT,YAAMC,IAAS,OAAO,iBAAiBD,CAAE,GACnCE,IAAa,WAAWD,EAAO,UAAU,KAAK,IAC9CE,KAAS,WAAWF,EAAO,UAAU,KAAK,GAC1CG,KAAS,WAAWH,EAAO,aAAa,KAAK,GAC7CI,KAAY,WAAWJ,EAAO,cAAc,KAAK,GACjDK,KAAY,WAAWL,EAAO,iBAAiB,KAAK,GACpDM,IAASJ,KAASC,KAASC,KAAYC,IACvCE,KAAON,IAAa1C,IAAU+C,GAC9BE,IAAOP,IAAazC,IAAU8C;AACpC,MAAAP,EAAG,MAAM,SAAS;AAClB,YAAMU,KAAO,KAAK,IAAIF,IAAM,KAAK,IAAIR,EAAG,cAAcS,CAAI,CAAC;AAC3D,MAAAT,EAAG,MAAM,SAAS,GAAGU,EAAI,MACzBV,EAAG,MAAM,YAAYA,EAAG,eAAeS,IAAO,SAAS;AAAA,IACzD,GAAG,CAACjD,GAASC,CAAO,CAAC;AAErB,IAAAkD,GAAgB,MAAM;AACpB,MAAAZ,EAAA;AAAA,IACF,GAAG,CAACA,GAAQN,CAAY,CAAC;AAEzB,UAAMmB,KAAe,CAAC,MAAwC;AAE5D,MADKvB,KAAcE,EAAiB,EAAE,OAAO,KAAK,GAC9C,CAAAT,EAAa,YACjBZ,KAAA,QAAAA,EAAW;AAAA,IACb,GAEM2C,KAAyB,CAAC,MAA6C;AAC3E,MAAA/B,EAAa,UAAU,IACvBV,KAAA,QAAAA,EAAqB;AAAA,IACvB,GACM0C,KAAuB,CAAC,MAA6C;AACzE,MAAAhC,EAAa,UAAU,IACvBT,KAAA,QAAAA,EAAmB;AAAA,IACrB,GAEM0C,KAAW,CAAC,MAChB,EAAE,YAAY,eAAe,EAAE,YAAY,OAAOjC,EAAa,SAE3DkC,IAAS,MAAM;AAEnB,MAAI,CADSvB,EAAa,KAAA,KACb5B,KAAYiC,MACzBpC,KAAA,QAAAA,EAAW+B,IACNJ,KAAcE,EAAiB,EAAE;AAAA,IACxC;AAEA,IAAA0B;AAAA,MACEzC;AAAA,MACA,OAAO;AAAA,QACL,UAAU,MAAMiB;AAAA,QAChB,SAAS,MAAM,CAACA,EAAa,KAAA;AAAA,QAC7B,UAAU,CAACiB,MAAiB;AAC1B,UAAKrB,KAAcE,EAAiBmB,CAAI;AAAA,QAC1C;AAAA,QACA,OAAO,MAAM;AACX,UAAKrB,KAAcE,EAAiB,EAAE;AAAA,QACxC;AAAA,QACA,QAAQ,MAAM;AACZ,UAAAyB,EAAA;AAAA,QACF;AAAA,QACA,OAAO,MAAM;;AACX,WAAAE,IAAAjC,EAAS,YAAT,QAAAiC,EAAkB;AAAA,QACpB;AAAA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMF,CAACzB,GAAcJ,CAAY;AAAA,IAAA;AAG7B,UAAM8B,KAAgB,CAAC,MAA0C;AAE/D,UADAhD,KAAA,QAAAA,EAAY,IACR,GAAE,oBACF,CAAA4C,GAAS,CAAC,KAEV,EAAE,QAAQ,SAAS;AACrB,cAAMK,IAAiB,EAAE,WAAW,EAAE,SAChCC,IAAoB9D,KAAiB,CAAC,EAAE;AAC9C,SAAI6D,KAAkBC,OACpB,EAAE,eAAA,GACFL,EAAA;AAAA,MAEJ;AAAA,IACF,GAEMM,KAAe,MAAM;;AACzB,OAAAJ,IAAAlC,EAAa,YAAb,QAAAkC,EAAsB;AAAA,IACxB,GAEMK,KAAiB,CAAC,MAAqC;AAC3D,MAAI,EAAE,OAAO,SAAS,EAAE,OAAO,MAAM,SAAS,MAC5C5D,KAAA,QAAAA,EAAW,EAAE,OAAO,SAGtB,EAAE,OAAO,QAAQ;AAAA,IACnB,GAEM6D,IAAclD,KAAMM,GACpB6C,IAAU,GAAGD,CAAW,UACxBE,IAAY/B,IAAe,GAAG6B,CAAW,aAAa,QACtDG,IAAS,GAAGH,CAAW,SAEvBI,KACJ5D,KAAeS,EAAE,wBAAwB,GACrCoD,KAAgB9D,KAASU,EAAE,aAAa;AAE9C,WACE,gBAAAqD,EAAC,OAAA,EAAI,kBAAe,cAAa,qBAAmBxD,GAAI,WAAW5B,GAAa,EAAE,MAAAU,GAAM,WAAAa,EAAA,CAAW,GACjG,UAAA;AAAA,MAAA,gBAAA8D,EAAC,SAAA,EAAM,IAAIN,GAAS,SAASD,GAAa,WAAWzD,IAAQ,mEAAmE,cAC7H,UAAA8D,GAAA,CACH;AAAA,MACA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK7C;AAAA,UACL,IAAIsC;AAAA,UACJ,OAAOnC,IAAeI,IAAe;AAAA,UACrC,cAAeJ,IAA8B,SAAfhC;AAAA,UAC9B,UAAAQ;AAAA,UACA,MAAML;AAAA,UACN,WAAAF;AAAA,UACA,aAAasE;AAAA,UACb,mBAAiBH;AAAA,UACjB,oBAAkB,CAACC,GAAWC,CAAM,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAAA,UACnE,gBAAc7B,KAAW;AAAA,UACzB,UAAUc;AAAA,UACV,WAAWO;AAAA,UACX,oBAAoBN;AAAA,UACpB,kBAAkBC;AAAA,UAClB,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA;AAAA;AAAA,YAIA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA,EACA,KAAK,GAAG;AAAA,UACT,GAAGvC;AAAA,QAAA;AAAA,MAAA;AAAA,MAEN,gBAAAuD,EAAC,OAAA,EAAI,WAAU,oIACZ,UAAA;AAAA,QAAAnE,IACC,gBAAAmE,EAAAE,IAAA,EACE,UAAA;AAAA,UAAA,gBAAAD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK/C;AAAA,cACL,MAAK;AAAA,cACL,WAAU;AAAA,cACV,UAAQ;AAAA,cACR,QAAApB;AAAA,cACA,UAAU2D;AAAA,YAAA;AAAA,UAAA;AAAA,UAEZ,gBAAAQ;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,wBAAOzF,IAAA,EAAU;AAAA,cACjB,cAAYiC,EAAE,mBAAmB;AAAA,cACjC,QAAO;AAAA,cACP,MAAK;AAAA,cACL,SAAS6C;AAAA,cACT,UAAAzD;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF,IACE;AAAA,QACHC;AAAA,QACD,gBAAAgE,EAAC,OAAA,EAAI,WAAU,wEACZ,UAAA;AAAA,UAAAjC,IACC,gBAAAiC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAIJ;AAAA,cACJ,aAAU;AAAA,cACV,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA5B,IACI,uCACA;AAAA,cAAA,EACJ,KAAK,GAAG;AAAA,cAET,UAAA;AAAA,gBAAAA;AAAA;AAAA;AAAA,kBAGC,gBAAAiC,EAACG,IAAA,EAAY,eAAY,QAAO,WAAU,cAAA,CAAc;AAAA,oBACtD;AAAA,gBACHzD,EAAE,wBAAwB,EAAE,OAAOmB,GAAW;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,IAE/C;AAAA,UACJ,gBAAAmC,EAAC,UAAK,IAAIJ,GAAQ,WAAU,cACzB,UAAAlD,EAAE,qBAAqB,GAC1B;AAAA,UACA,gBAAAsD;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,wBAAOE,IAAA,EAAK;AAAA,cACZ,cAAY1D,EAAE,WAAW;AAAA,cACzB,QAAO;AAAA,cACP,MAAK;AAAA,cACL,UAAUZ,KAAY,CAAC4B,EAAa,UAAUK;AAAA,cAC9C,SAASkB;AAAA,cACT,qBAAkB;AAAA,YAAA;AAAA,UAAA;AAAA,QACpB,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GACF;AAAA,EAEJ;AACF;AAEA9D,GAAU,cAAc;","x_google_ignoreList":[0]}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
const i = {
|
|
2
|
-
id: "chat-input",
|
|
3
|
-
capabilities: ["edit_inline", "submit"],
|
|
4
|
-
state: {
|
|
5
|
-
value: {
|
|
6
|
-
type: "string",
|
|
7
|
-
descriptionKey: "ui.agent.chatInput.state.value",
|
|
8
|
-
description: "Current text in the composer.",
|
|
9
|
-
read: (t) => t.getValue()
|
|
10
|
-
},
|
|
11
|
-
isEmpty: {
|
|
12
|
-
type: "boolean",
|
|
13
|
-
descriptionKey: "ui.agent.chatInput.state.isEmpty",
|
|
14
|
-
description: "True when the composer has no text.",
|
|
15
|
-
read: (t) => t.isEmpty()
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
actions: {
|
|
19
|
-
set_value: {
|
|
20
|
-
safety: "write",
|
|
21
|
-
argsType: "{ value: string }",
|
|
22
|
-
descriptionKey: "ui.agent.chatInput.actions.setValue",
|
|
23
|
-
description: "Replace the composer text.",
|
|
24
|
-
invoke: (t, e) => {
|
|
25
|
-
t.setValue(e.value);
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
clear: {
|
|
29
|
-
safety: "destructive",
|
|
30
|
-
descriptionKey: "ui.agent.chatInput.actions.clear",
|
|
31
|
-
description: "Clear the composer. Irreversible from the same UI.",
|
|
32
|
-
invoke: (t) => {
|
|
33
|
-
t.clear();
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
submit: {
|
|
37
|
-
safety: "write",
|
|
38
|
-
descriptionKey: "ui.agent.chatInput.actions.submit",
|
|
39
|
-
description: "Submit the current composer state via onSubmit.",
|
|
40
|
-
invoke: (t) => {
|
|
41
|
-
t.submit();
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
focus: {
|
|
45
|
-
safety: "read",
|
|
46
|
-
descriptionKey: "ui.agent.chatInput.actions.focus",
|
|
47
|
-
description: "Move keyboard focus into the textarea.",
|
|
48
|
-
invoke: (t) => {
|
|
49
|
-
t.focus();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
domHooks: {
|
|
54
|
-
root: {
|
|
55
|
-
attr: "data-component",
|
|
56
|
-
value: "chat-input",
|
|
57
|
-
description: "Marks the ChatInput wrapper."
|
|
58
|
-
},
|
|
59
|
-
instanceId: {
|
|
60
|
-
attr: "data-component-id",
|
|
61
|
-
sourceProp: "id",
|
|
62
|
-
description: "Sourced from the id prop."
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
export {
|
|
67
|
-
i as c
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=chat-input.agent-Bsz3ckGa.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input.agent-Bsz3ckGa.js","sources":["../../src/components/chat-input/chat-input.agent.ts"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — ChatInput. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { ChatInputHandle } from './chat-input';\n\nexport const chatInputAgent: AgentAdapter<ChatInputHandle> = {\n id: 'chat-input',\n capabilities: ['edit_inline', 'submit'],\n state: {\n value: {\n type: 'string',\n descriptionKey: 'ui.agent.chatInput.state.value',\n description: 'Current text in the composer.',\n read: (handle) => handle.getValue(),\n },\n isEmpty: {\n type: 'boolean',\n descriptionKey: 'ui.agent.chatInput.state.isEmpty',\n description: 'True when the composer has no text.',\n read: (handle) => handle.isEmpty(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string }',\n descriptionKey: 'ui.agent.chatInput.actions.setValue',\n description: 'Replace the composer text.',\n invoke: (handle, args: { value: string }) => {\n handle.setValue(args.value);\n },\n },\n clear: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.chatInput.actions.clear',\n description: 'Clear the composer. Irreversible from the same UI.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n submit: {\n safety: 'write',\n descriptionKey: 'ui.agent.chatInput.actions.submit',\n description: 'Submit the current composer state via onSubmit.',\n invoke: (handle) => {\n handle.submit();\n },\n },\n focus: {\n safety: 'read',\n descriptionKey: 'ui.agent.chatInput.actions.focus',\n description: 'Move keyboard focus into the textarea.',\n invoke: (handle) => {\n handle.focus();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'chat-input',\n description: 'Marks the ChatInput wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n"],"names":["chatInputAgent","handle","args"],"mappings":"AAOO,MAAMA,IAAgD;AAAA,EAC3D,IAAI;AAAA,EACJ,cAAc,CAAC,eAAe,QAAQ;AAAA,EACtC,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,MAAM,CAACC,MAAWA,EAAO,SAAA;AAAA,IAAS;AAAA,IAEpC,SAAS;AAAA,MACP,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,MAAM,CAACA,MAAWA,EAAO,QAAA;AAAA,IAAQ;AAAA,EACnC;AAAA,EAEF,SAAS;AAAA,IACP,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACA,GAAQC,MAA4B;AAC3C,QAAAD,EAAO,SAASC,EAAK,KAAK;AAAA,MAC5B;AAAA,IAAA;AAAA,IAEF,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACD,MAAW;AAClB,QAAAA,EAAO,MAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,OAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,MAAA;AAAA,MACT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-ByouZpPP.js","sources":["../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.js","../../src/components/chat-message/chat-message.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }]\n];\nconst RotateCcw = createLucideIcon(\"rotate-ccw\", __iconNode);\n\nexport { __iconNode, RotateCcw as default };\n//# sourceMappingURL=rotate-ccw.js.map\n","import {\n forwardRef,\n Fragment,\n useMemo,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertCircle, Check, Clock, RotateCcw } from 'lucide-react';\nimport { Button } from '../button';\nimport { Avatar } from '../avatar';\nimport { Timestamp } from '../timestamp';\nimport { safeImageSrc } from '../_shared';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport type ChatMessageRole = 'user' | 'assistant' | 'system';\nexport type ChatMessageStatus = 'sending' | 'sent' | 'error' | 'edited';\n\nexport interface ChatMessageAvatar {\n name?: string;\n src?: string;\n /**\n * Optional custom avatar node. When provided, it REPLACES the built-in\n * `<Avatar>` (initials / image) for this message. Used by the Leo\n * pattern to render a Sparkles identity tile instead of an avatar, and\n * by consumers that want to swap in a user-icon chip, brand glyph, etc.\n * The caller is responsible for accessible labelling on the custom node\n * — ChatMessage's own `aria-label` already announces the role/time, so\n * purely decorative nodes can be `aria-hidden`.\n */\n slot?: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rowVariants = cva('ds:flex ds:w-full ds:items-start ds:gap-[var(--spacing-sm)]', {\n variants: {\n role: {\n user: 'ds:flex-row-reverse',\n assistant: 'ds:flex-row',\n system: 'ds:flex-col ds:items-center ds:text-center',\n },\n },\n defaultVariants: { role: 'assistant' },\n});\n\nconst bubbleVariants = cva(\n [\n // Cap at 42rem on wide surfaces; on narrow docks (Leo sidebar ≈22rem)\n // leave room for the avatar column (size-8 = 32px = --spacing-xl) +\n // `gap-sm` (8px = --spacing-sm) so avatars don't clip off the inline\n // edge when the row is width-constrained.\n 'ds:relative ds:max-w-[min(42rem,calc(100%-var(--spacing-xl)-var(--spacing-sm)))]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'type-body',\n 'ds:break-words',\n ].join(' '),\n {\n variants: {\n role: {\n user: 'ds:bg-[color:var(--primary)] ds:text-[color:var(--primary-foreground)] ds:rounded-[var(--radius-md)] ds:rounded-ee-[var(--radius-sm)]',\n assistant:\n 'ds:bg-muted/40 ds:text-foreground ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]',\n system:\n 'ds:bg-transparent ds:text-[color:var(--muted-foreground)] type-body-sm ds:italic',\n },\n },\n defaultVariants: { role: 'assistant' },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Safe markdown-ish (bold, inline code, line-breaks, links as text) */\n/* No dangerouslySetInnerHTML. */\n/* ------------------------------------------------------------------ */\n\ntype Token =\n | { type: 'text'; value: string }\n | { type: 'bold'; value: string }\n | { type: 'code'; value: string }\n | { type: 'br' }\n | { type: 'link'; label: string; href: string };\n\nconst SAFE_SCHEMES = /^(https?:|mailto:)/i;\n\nfunction tokenize(input: string): Token[] {\n const tokens: Token[] = [];\n let remaining = input;\n const pattern = /\\*\\*([^*]+)\\*\\*|`([^`]+)`|\\[([^\\]]+)\\]\\(([^)]+)\\)|\\n/;\n while (remaining.length > 0) {\n const match = pattern.exec(remaining);\n if (!match) {\n tokens.push({ type: 'text', value: remaining });\n break;\n }\n if (match.index > 0) {\n tokens.push({ type: 'text', value: remaining.slice(0, match.index) });\n }\n if (match[1] !== undefined) {\n tokens.push({ type: 'bold', value: match[1] });\n } else if (match[2] !== undefined) {\n tokens.push({ type: 'code', value: match[2] });\n } else if (match[3] !== undefined && match[4] !== undefined) {\n tokens.push({ type: 'link', label: match[3], href: match[4] });\n } else {\n tokens.push({ type: 'br' });\n }\n remaining = remaining.slice(match.index + match[0].length);\n }\n return tokens;\n}\n\nfunction renderBody(input: string): ReactNode {\n return tokenize(input).map((tok, i) => {\n if (tok.type === 'bold') return <strong key={i}>{tok.value}</strong>;\n if (tok.type === 'code') {\n return (\n <code\n key={i}\n dir=\"ltr\"\n className=\"ds:rounded-[var(--radius-sm)] ds:bg-muted/30 ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-[family-name:var(--font-mono)]\"\n >\n {tok.value}\n </code>\n );\n }\n if (tok.type === 'br') return <br key={i} />;\n if (tok.type === 'link') {\n if (!SAFE_SCHEMES.test(tok.href)) {\n // Unsafe scheme (javascript:, data:) — render as inert text.\n return <Fragment key={i}>{tok.label}</Fragment>;\n }\n return (\n <a\n key={i}\n href={tok.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"ds:underline ds:underline-offset-2 ds:hover:opacity-80\"\n >\n {tok.label}\n </a>\n );\n }\n return <Fragment key={i}>{tok.value}</Fragment>;\n });\n}\n\n/* ------------------------------------------------------------------ */\n/* ChatMessage */\n/* ------------------------------------------------------------------ */\n\ntype NativeProps = Omit<HTMLAttributes<HTMLElement>, 'content' | 'role'>;\n\nexport interface ChatMessageProps\n extends NativeProps,\n VariantProps<typeof bubbleVariants> {\n role: ChatMessageRole;\n content: string;\n avatar?: ChatMessageAvatar;\n timestamp?: Date | number | string;\n status?: ChatMessageStatus;\n /** Parse a small, safe subset of markdown. Never renders raw HTML. */\n renderMarkdown?: boolean;\n /** Invoked when the retry button is activated (error status only). */\n onRetry?: () => void;\n}\n\nexport const ChatMessage = forwardRef<HTMLElement, ChatMessageProps>(\n (\n {\n role,\n content,\n avatar,\n timestamp,\n status,\n renderMarkdown = false,\n onRetry,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n // Local format — used for the aria-label interpolation only. Visible\n // label is rendered by `<Timestamp>` below, which computes the same\n // locale-aware HH:MM internally.\n const formattedTime = useMemo(() => {\n if (!timestamp) return null;\n const date =\n timestamp instanceof Date ? timestamp : new Date(timestamp);\n if (Number.isNaN(date.getTime())) return null;\n return new Intl.DateTimeFormat(i18n.language, {\n hour: '2-digit',\n minute: '2-digit',\n }).format(date);\n }, [timestamp, i18n.language]);\n\n const roleLabel = t(`chat.message.role.${role}`);\n const messageLabel = formattedTime\n ? t('chat.message.label', { role: roleLabel, time: formattedTime })\n : t('chat.message.labelNoTime', { role: roleLabel });\n\n const body = renderMarkdown ? renderBody(content) : content;\n\n const statusIcon = (() => {\n if (!status || status === 'edited') return null;\n if (status === 'sending')\n return <Clock aria-hidden=\"true\" className=\"ds:size-3.5\" />;\n if (status === 'sent')\n return <Check aria-hidden=\"true\" className=\"ds:size-3.5\" />;\n return (\n <AlertCircle\n aria-hidden=\"true\"\n className=\"ds:size-3.5 ds:text-[color:var(--destructive)]\"\n />\n );\n })();\n\n const statusText = status ? t(`chat.message.status.${status}`) : null;\n\n return (\n <article\n ref={ref}\n aria-label={messageLabel}\n data-component=\"chat-message\"\n className={[\n rowVariants({ role, className }),\n // Entrance: fade + slide up on mount. `--animation-duration` is 0ms\n // under `prefers-reduced-motion` and `.theme-accessible`, so both\n // collapse the animation to an instant state change automatically.\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0 ds:motion-safe:slide-in-from-bottom-2',\n 'ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n ].join(' ')}\n {...rest}\n >\n {role !== 'system' && avatar ? (\n avatar.slot ? (\n // Consumer-supplied avatar node (e.g. Leo's Sparkles tile).\n avatar.slot\n ) : (\n // Allow-list the src: LLM-supplied values can carry\n // `javascript:` / `data:text/html` / `data:image/svg+xml` and so\n // are scrubbed here before reaching <Avatar>. Fallback to initials.\n <Avatar name={avatar.name} src={safeImageSrc(avatar.src)} size=\"sm\" />\n )\n ) : null}\n\n <div\n className={[\n // min-w-0 allows this flex item to shrink below its content's\n // natural width — without it, a single unbreakable token (URL,\n // CJK run, hash) can force the bubble wider than the parent\n // and spill outside narrow containers like the Leo sidebar.\n 'ds:flex ds:flex-col ds:min-w-0',\n role === 'user' ? 'ds:items-end' : role === 'assistant' ? 'ds:items-start' : 'ds:items-center',\n ].join(' ')}\n >\n <div\n dir=\"auto\"\n className={[\n bubbleVariants({ role }),\n // `break-words` (from bubbleVariants) handles soft hyphens;\n // `overflow-wrap: anywhere` is the last-resort break for\n // URLs, hashes, or CJK runs that would otherwise push the\n // bubble wider than its parent in narrow docks like Leo.\n 'ds:[overflow-wrap:anywhere]',\n ].join(' ')}\n >\n {body}\n </div>\n\n {(formattedTime || statusText) && role !== 'system' ? (\n <div\n className={[\n 'ds:mt-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'type-meta ds:text-[color:var(--muted-foreground)]',\n ].join(' ')}\n >\n {timestamp ? (\n <Timestamp\n value={timestamp}\n format=\"absolute\"\n absoluteFormat={{ hour: '2-digit', minute: '2-digit' }}\n dir=\"ltr\"\n />\n ) : null}\n {statusIcon ? (\n // `key={status}` re-mounts the span on every status change so\n // `animate-in` re-runs — gives the sending → sent → error\n // swap a subtle cross-fade instead of an abrupt pop.\n <span\n key={status}\n className={[\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0',\n 'ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n ].join(' ')}\n >\n {statusIcon}\n <span className=\"ds:sr-only\">{statusText}</span>\n </span>\n ) : null}\n {status === 'error' && onRetry ? (\n <Button\n intent=\"ghost\"\n size=\"sm\"\n onClick={onRetry}\n startIcon={<RotateCcw />}\n >\n {t('chat.message.retry')}\n </Button>\n ) : null}\n </div>\n ) : null}\n </div>\n </article>\n );\n },\n);\n\nChatMessage.displayName = 'ChatMessage';\n"],"names":["__iconNode","RotateCcw","createLucideIcon","rowVariants","cva","bubbleVariants","SAFE_SCHEMES","tokenize","input","tokens","remaining","pattern","match","renderBody","tok","i","jsx","Fragment","ChatMessage","forwardRef","role","content","avatar","timestamp","status","renderMarkdown","onRetry","className","rest","ref","t","i18n","useTranslation","formattedTime","useMemo","date","roleLabel","messageLabel","body","statusIcon","Clock","Check","AlertCircle","statusText","jsxs","Avatar","safeImageSrc","Timestamp","Button"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check-DPdL_Sm7.js","sources":["../../node_modules/lucide-react/dist/esm/icons/check.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n"],"names":["__iconNode","Check","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,mBAAmB,KAAK,SAAQ,CAAE,CAAC,GAC/DC,IAAQC,EAAiB,SAASF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-CtPM6Rup.js","sources":["../../src/components/checkbox/checkbox-group-context.ts","../../src/components/checkbox/checkbox.agent.ts","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport interface CheckboxGroupContextShape {\n name?: string;\n value: Set<string>;\n toggle: (itemValue: string) => void;\n disabled: boolean;\n}\n\nexport const CheckboxGroupContext =\n createContext<CheckboxGroupContextShape | null>(null);\n\nexport function useCheckboxGroup(): CheckboxGroupContextShape | null {\n return useContext(CheckboxGroupContext);\n}\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — Checkbox. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` for the contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { CheckboxHandle } from './checkbox';\n\nexport const checkboxAgent: AgentAdapter<CheckboxHandle> = {\n id: 'checkbox',\n capabilities: ['select_single'],\n state: {\n checked: {\n type: 'boolean | \"indeterminate\"',\n descriptionKey: 'ui.agent.checkbox.state.checked',\n description: 'Current checked state.',\n read: (handle) => handle.getChecked(),\n },\n },\n actions: {\n set_checked: {\n safety: 'write',\n argsType: '{ checked: boolean | \"indeterminate\" }',\n descriptionKey: 'ui.agent.checkbox.actions.setChecked',\n description: 'Set the checked state to a specific value.',\n invoke: (handle, args: { checked: boolean | 'indeterminate' }) => {\n handle.setChecked(args.checked);\n },\n },\n toggle: {\n safety: 'write',\n descriptionKey: 'ui.agent.checkbox.actions.toggle',\n description: 'Flip the checked state between checked and unchecked.',\n invoke: (handle) => {\n handle.toggle();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'checkbox',\n description: 'Marks the Checkbox wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useId,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport * as RadixCheckbox from '@radix-ui/react-checkbox';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useCheckboxGroup } from './checkbox-group-context';\nimport { Tooltip } from '../tooltip';\nimport { useAgentRegistration } from '../../agent';\nimport { checkboxAgent } from './checkbox.agent';\n\n/** Agent-readiness curated handle for Checkbox. */\nexport interface CheckboxHandle {\n getChecked: () => boolean | 'indeterminate';\n setChecked: (checked: boolean | 'indeterminate') => void;\n toggle: () => void;\n}\n\nconst drawClasses = [\n 'ds:[stroke-dasharray:1] ds:[stroke-dashoffset:1]',\n 'ds:animate-[checkbox-indicator-draw_var(--animation-duration)_ease-out_forwards]',\n].join(' ');\n\nfunction CheckIcon({ className }: { className?: string }) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n data-slot=\"checkbox-check-icon\"\n className={className}\n >\n <path pathLength=\"1\" d=\"M5 12l5 5L20 7\" className={drawClasses} />\n </svg>\n );\n}\n\nfunction IndeterminateIcon({ className }: { className?: string }) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n aria-hidden=\"true\"\n data-slot=\"checkbox-indeterminate-icon\"\n className={className}\n >\n <path pathLength=\"1\" d=\"M5 12h14\" className={drawClasses} />\n </svg>\n );\n}\n\nconst checkboxVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center ds:shrink-0',\n 'ds:border ds:border-border ds:rounded-[var(--radius-sm)] ds:bg-background',\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:disabled:cursor-not-allowed ds:disabled:opacity-50',\n 'ds:data-[state=checked]:bg-primary ds:data-[state=checked]:border-primary ds:data-[state=checked]:text-primary-foreground',\n 'ds:data-[state=indeterminate]:bg-primary ds:data-[state=indeterminate]:border-primary ds:data-[state=indeterminate]:text-primary-foreground',\n 'ds:relative ds:before:absolute ds:before:inset-[calc((var(--min-target-size)-100%)/-2)] ds:before:content-[\"\"]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:size-3.5',\n md: 'ds:size-4',\n lg: 'ds:size-5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\ntype RadixRootProps = ComponentPropsWithoutRef<typeof RadixCheckbox.Root>;\n\nexport interface CheckboxProps\n extends Omit<RadixRootProps, 'checked' | 'onCheckedChange' | 'children'>,\n VariantProps<typeof checkboxVariants> {\n label: string;\n checked?: boolean | 'indeterminate';\n onCheckedChange?: (checked: boolean | 'indeterminate') => void;\n size?: 'sm' | 'md' | 'lg';\n disabledReason?: string;\n value?: string;\n}\n\nexport const Checkbox = forwardRef<HTMLButtonElement, CheckboxProps>(\n (\n {\n label,\n checked,\n onCheckedChange,\n size = 'md',\n disabled,\n disabledReason,\n name,\n value,\n id,\n className,\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const checkboxId = id ?? generatedId;\n const group = useCheckboxGroup();\n\n const inGroup = group !== null && value !== undefined;\n const [internalChecked, setInternalChecked] = useState<\n boolean | 'indeterminate'\n >(checked ?? false);\n const isControlled = checked !== undefined;\n const ownChecked = isControlled ? checked : internalChecked;\n const effectiveChecked = inGroup ? group.value.has(value) : ownChecked;\n const effectiveOnChange = inGroup\n ? () => group.toggle(value)\n : (next: boolean | 'indeterminate') => {\n if (!isControlled) setInternalChecked(next);\n onCheckedChange?.(next);\n };\n const effectiveName = group?.name ?? name;\n const effectiveDisabled = group?.disabled || disabled;\n\n const checkedRef = useRef<boolean | 'indeterminate'>(\n effectiveChecked ?? false,\n );\n checkedRef.current = effectiveChecked ?? false;\n\n const agentHandle = useMemo<CheckboxHandle>(\n () => ({\n getChecked: () => checkedRef.current,\n setChecked: (next) => {\n if (inGroup) {\n // Inside a group: toggle implements set via the group context.\n const isOn =\n checkedRef.current === true ||\n checkedRef.current === 'indeterminate';\n const want = next === true || next === 'indeterminate';\n if (isOn !== want) group.toggle(value);\n return;\n }\n if (!isControlled) setInternalChecked(next);\n onCheckedChange?.(next);\n },\n toggle: () => {\n if (inGroup) {\n group.toggle(value);\n return;\n }\n const next =\n checkedRef.current === true ||\n checkedRef.current === 'indeterminate'\n ? false\n : true;\n if (!isControlled) setInternalChecked(next);\n onCheckedChange?.(next);\n },\n }),\n [inGroup, group, value, isControlled, onCheckedChange],\n );\n useAgentRegistration(checkboxAgent, agentHandle, id);\n\n const iconSizeClass =\n size === 'sm' ? 'ds:size-3' : size === 'lg' ? 'ds:size-4' : 'ds:size-3.5';\n\n const labelClasses = [\n 'type-label ds:text-foreground ds:select-none',\n effectiveDisabled ? 'ds:cursor-not-allowed ds:opacity-50' : 'ds:cursor-pointer',\n ].join(' ');\n\n const content = (\n <div\n data-component=\"checkbox\"\n data-component-id={id}\n data-option-id={value}\n className=\"ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]\"\n >\n <RadixCheckbox.Root\n ref={ref}\n id={checkboxId}\n checked={effectiveChecked}\n onCheckedChange={effectiveOnChange}\n disabled={effectiveDisabled}\n aria-disabled={effectiveDisabled || undefined}\n name={effectiveName}\n value={value}\n className={checkboxVariants({ size, className })}\n {...props}\n >\n <RadixCheckbox.Indicator>\n {effectiveChecked === 'indeterminate' ? (\n <IndeterminateIcon className={iconSizeClass} />\n ) : (\n <CheckIcon className={iconSizeClass} />\n )}\n </RadixCheckbox.Indicator>\n </RadixCheckbox.Root>\n <label htmlFor={checkboxId} className={labelClasses}>\n {label}\n </label>\n </div>\n );\n\n if (effectiveDisabled && disabledReason) {\n return <Tooltip label={disabledReason}>{content}</Tooltip>;\n }\n\n return content;\n },\n);\n\nCheckbox.displayName = 'Checkbox';\n"],"names":["CheckboxGroupContext","createContext","useCheckboxGroup","useContext","checkboxAgent","handle","args","drawClasses","CheckIcon","className","jsx","IndeterminateIcon","checkboxVariants","cva","Checkbox","forwardRef","label","checked","onCheckedChange","size","disabled","disabledReason","name","value","id","props","ref","generatedId","useId","checkboxId","group","inGroup","internalChecked","setInternalChecked","useState","isControlled","effectiveChecked","effectiveOnChange","next","effectiveName","effectiveDisabled","checkedRef","useRef","agentHandle","useMemo","useAgentRegistration","iconSizeClass","labelClasses","content","jsxs","RadixCheckbox","Tooltip"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group-BTdEB6Yo.js","sources":["../../src/components/checkbox-group/checkbox-group.agent.ts","../../src/components/checkbox-group/checkbox-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — CheckboxGroup. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` for the contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { CheckboxGroupHandle } from './checkbox-group';\n\nexport const checkboxGroupAgent: AgentAdapter<CheckboxGroupHandle> = {\n id: 'checkbox-group',\n capabilities: ['select_multiple'],\n state: {\n selection: {\n type: 'string[]',\n descriptionKey: 'ui.agent.checkboxGroup.state.selection',\n description: 'Values of currently-checked options.',\n read: (handle) => handle.getSelection(),\n },\n },\n actions: {\n set_selection: {\n safety: 'write',\n argsType: '{ ids: string[] }',\n descriptionKey: 'ui.agent.checkboxGroup.actions.setSelection',\n description: 'Replace the current selection with the given option values.',\n invoke: (handle, args: { ids: string[] }) => {\n handle.setSelection(args.ids);\n },\n },\n clear_selection: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.checkboxGroup.actions.clearSelection',\n description: 'Uncheck every option in the group.',\n invoke: (handle) => {\n handle.clearSelection();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'checkbox-group',\n description: 'Marks the CheckboxGroup fieldset.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-option-id',\n description: 'Stable opaque value emitted on each rendered Checkbox child within the group.',\n },\n },\n};\n","import {\n Children,\n forwardRef,\n isValidElement,\n useId,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertCircle } from 'lucide-react';\nimport { Checkbox } from '../checkbox/checkbox';\nimport {\n CheckboxGroupContext,\n type CheckboxGroupContextShape,\n} from '../checkbox/checkbox-group-context';\nimport { useAgentRegistration } from '../../agent';\nimport { checkboxGroupAgent } from './checkbox-group.agent';\n\n/** Agent-readiness curated handle for CheckboxGroup. */\nexport interface CheckboxGroupHandle {\n getSelection: () => string[];\n setSelection: (ids: string[]) => void;\n clearSelection: () => void;\n}\n\nconst checkboxGroupVariants = cva('', {\n variants: {\n orientation: {\n vertical: 'ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]',\n horizontal:\n 'ds:flex ds:flex-wrap ds:gap-x-[var(--spacing-lg)] ds:gap-y-[var(--spacing-sm)]',\n },\n },\n defaultVariants: { orientation: 'vertical' },\n});\n\nexport interface CheckboxGroupOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface CheckboxGroupProps\n extends VariantProps<typeof checkboxGroupVariants> {\n label: string;\n value?: string[];\n onChange?: (value: string[]) => void;\n name?: string;\n /** Stable id, used to address this instance from the agent runtime. */\n id?: string;\n orientation?: 'vertical' | 'horizontal';\n disabled?: boolean;\n min?: number;\n max?: number;\n onConstraintViolation?: (type: 'min' | 'max') => void;\n withSelectAll?: boolean;\n options?: CheckboxGroupOption[];\n error?: string;\n helperText?: string;\n className?: string;\n children?: ReactNode;\n}\n\nfunction collectChildValues(children: ReactNode): string[] {\n const values: string[] = [];\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return;\n const props = child.props as { value?: unknown };\n if (typeof props.value === 'string') values.push(props.value);\n });\n return values;\n}\n\nexport const CheckboxGroup = forwardRef<\n HTMLFieldSetElement,\n CheckboxGroupProps\n>(\n (\n {\n label,\n value: controlledValue,\n onChange,\n name,\n id,\n orientation = 'vertical',\n disabled = false,\n min,\n max,\n onConstraintViolation,\n withSelectAll = false,\n options,\n error,\n helperText,\n className,\n children,\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const baseId = useId();\n const helperId = `${baseId}-helper`;\n const errorId = `${baseId}-error`;\n const counterId = `${baseId}-counter`;\n\n const [internalValue, setInternalValue] = useState<string[]>([]);\n const isControlled = controlledValue !== undefined;\n const currentValue = isControlled ? controlledValue : internalValue;\n\n const valueSet = useMemo(() => new Set(currentValue), [currentValue]);\n\n const [violationMsg, setViolationMsg] = useState<string>('');\n\n const allValues = useMemo<string[]>(\n () =>\n options ? options.map((o) => o.value) : collectChildValues(children),\n [options, children],\n );\n\n const commit = (next: string[]): void => {\n if (!isControlled) setInternalValue(next);\n onChange?.(next);\n };\n\n const currentValueRef = useRef<string[]>(currentValue);\n currentValueRef.current = currentValue;\n\n const agentHandle = useMemo<CheckboxGroupHandle>(\n () => ({\n getSelection: () => currentValueRef.current.slice(),\n setSelection: (ids) => commit(ids),\n clearSelection: () => commit([]),\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isControlled, onChange],\n );\n useAgentRegistration(checkboxGroupAgent, agentHandle, id);\n\n const toggle = (itemValue: string): void => {\n if (valueSet.has(itemValue)) {\n if (typeof min === 'number' && currentValue.length <= min) {\n setViolationMsg(t('ui.inputs.checkboxGroup.minReached', { min }));\n onConstraintViolation?.('min');\n return;\n }\n setViolationMsg('');\n commit(currentValue.filter((v) => v !== itemValue));\n return;\n }\n if (typeof max === 'number' && currentValue.length >= max) {\n setViolationMsg(t('ui.inputs.checkboxGroup.maxReached', { max }));\n onConstraintViolation?.('max');\n return;\n }\n setViolationMsg('');\n commit([...currentValue, itemValue]);\n };\n\n const ctxValue: CheckboxGroupContextShape = {\n name,\n value: valueSet,\n toggle,\n disabled,\n };\n\n const total = allValues.length;\n const count = currentValue.length;\n\n const parentChecked: boolean | 'indeterminate' =\n total === 0 || count === 0\n ? false\n : count >= total\n ? true\n : 'indeterminate';\n\n const handleSelectAll = (): void => {\n if (parentChecked === true) {\n if (typeof min === 'number' && min > 0) {\n setViolationMsg(t('ui.inputs.checkboxGroup.minReached', { min }));\n onConstraintViolation?.('min');\n return;\n }\n commit([]);\n setViolationMsg('');\n return;\n }\n const toCheck =\n typeof max === 'number' ? allValues.slice(0, max) : allValues;\n commit(toCheck);\n setViolationMsg('');\n };\n\n const describedBy =\n [\n helperText ? helperId : null,\n error ? errorId : null,\n total > 0 ? counterId : null,\n ]\n .filter(Boolean)\n .join(' ') || undefined;\n\n const resolvedChildren =\n children ??\n (options\n ? options.map((opt) => (\n <Checkbox\n key={opt.value}\n value={opt.value}\n label={opt.label}\n disabled={opt.disabled}\n />\n ))\n : null);\n\n const fieldsetClasses = [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:min-w-0 ds:border-0 ds:p-0 ds:m-0',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <fieldset\n ref={ref}\n id={id}\n className={fieldsetClasses}\n aria-describedby={describedBy}\n aria-invalid={Boolean(error) || undefined}\n data-component=\"checkbox-group\"\n data-component-id={id}\n >\n <legend className=\"type-label ds:text-foreground ds:p-0 ds:mb-[var(--spacing-sm)]\">\n {label}\n </legend>\n {withSelectAll ? (\n <Checkbox\n label={t('ui.inputs.checkboxGroup.selectAll')}\n checked={parentChecked}\n onCheckedChange={handleSelectAll}\n disabled={disabled}\n />\n ) : null}\n <CheckboxGroupContext.Provider value={ctxValue}>\n <div className={checkboxGroupVariants({ orientation })}>\n {resolvedChildren}\n </div>\n </CheckboxGroupContext.Provider>\n {helperText ? (\n <p id={helperId} className=\"type-body-sm ds:text-muted-foreground\">\n {helperText}\n </p>\n ) : null}\n {error ? (\n <p\n id={errorId}\n role=\"alert\"\n className=\"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] type-body-sm ds:text-destructive\"\n >\n <AlertCircle aria-hidden=\"true\" className=\"ds:size-4 ds:shrink-0\" />\n <span>{error}</span>\n </p>\n ) : null}\n <span\n id={counterId}\n role=\"status\"\n aria-live=\"polite\"\n className=\"ds:sr-only\"\n >\n {total > 0\n ? t('ui.inputs.checkboxGroup.counter', { count, total })\n : ''}\n </span>\n <span role=\"status\" aria-live=\"polite\" className=\"ds:sr-only\">\n {violationMsg}\n </span>\n </fieldset>\n );\n },\n);\n\nCheckboxGroup.displayName = 'CheckboxGroup';\n"],"names":["checkboxGroupAgent","handle","args","checkboxGroupVariants","cva","collectChildValues","children","values","Children","child","isValidElement","props","CheckboxGroup","forwardRef","label","controlledValue","onChange","name","id","orientation","disabled","min","max","onConstraintViolation","withSelectAll","options","error","helperText","className","ref","t","useTranslation","baseId","useId","helperId","errorId","counterId","internalValue","setInternalValue","useState","isControlled","currentValue","valueSet","useMemo","violationMsg","setViolationMsg","allValues","o","commit","next","currentValueRef","useRef","agentHandle","ids","useAgentRegistration","ctxValue","itemValue","v","total","count","parentChecked","handleSelectAll","toCheck","describedBy","resolvedChildren","opt","jsx","Checkbox","fieldsetClasses","jsxs","CheckboxGroupContext","AlertCircle"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron-down-BX_NP2Yh.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-down.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,KAAK,SAAQ,CAAE,CAAC,GAC5DC,IAAcC,EAAiB,gBAAgBF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron-left-CX1jqD2M.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-left.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m15 18-6-6 6-6\", key: \"1wnfg3\" }]];\nconst ChevronLeft = createLucideIcon(\"chevron-left\", __iconNode);\n\nexport { __iconNode, ChevronLeft as default };\n//# sourceMappingURL=chevron-left.js.map\n"],"names":["__iconNode","ChevronLeft","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,kBAAkB,KAAK,SAAQ,CAAE,CAAC,GAC9DC,IAAcC,EAAiB,gBAAgBF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron-right-BrpYejk0.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-right.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]];\nconst ChevronRight = createLucideIcon(\"chevron-right\", __iconNode);\n\nexport { __iconNode, ChevronRight as default };\n//# sourceMappingURL=chevron-right.js.map\n"],"names":["__iconNode","ChevronRight","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,SAAQ,CAAE,CAAC,GAC7DC,IAAeC,EAAiB,iBAAiBF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron-up-zOEDrmBB.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-up.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"chevron-up\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n"],"names":["__iconNode","ChevronUp","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,kBAAkB,KAAK,SAAQ,CAAE,CAAC,GAC9DC,IAAYC,EAAiB,cAAcF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevrons-right-d9MwesPG.js","sources":["../../node_modules/lucide-react/dist/esm/icons/chevrons-left.js","../../node_modules/lucide-react/dist/esm/icons/chevrons-right.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m11 17-5-5 5-5\", key: \"13zhaf\" }],\n [\"path\", { d: \"m18 17-5-5 5-5\", key: \"h8a8et\" }]\n];\nconst ChevronsLeft = createLucideIcon(\"chevrons-left\", __iconNode);\n\nexport { __iconNode, ChevronsLeft as default };\n//# sourceMappingURL=chevrons-left.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m6 17 5-5-5-5\", key: \"xnjwq\" }],\n [\"path\", { d: \"m13 17 5-5-5-5\", key: \"17xmmf\" }]\n];\nconst ChevronsRight = createLucideIcon(\"chevrons-right\", __iconNode);\n\nexport { __iconNode, ChevronsRight as default };\n//# sourceMappingURL=chevrons-right.js.map\n"],"names":["__iconNode","ChevronsLeft","createLucideIcon","ChevronsRight"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,kBAAkB,KAAK,SAAQ,CAAE;AAAA,EAC/C,CAAC,QAAQ,EAAE,GAAG,kBAAkB,KAAK,SAAQ,CAAE;AACjD,GACMC,IAAeC,EAAiB,iBAAiBF,CAAU;ACbjE;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,QAAO,CAAE;AAAA,EAC7C,CAAC,QAAQ,EAAE,GAAG,kBAAkB,KAAK,SAAQ,CAAE;AACjD,GACMG,IAAgBD,EAAiB,kBAAkBF,CAAU;","x_google_ignoreList":[0,1]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"circle-BkqTgYmt.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]];\nconst Circle = createLucideIcon(\"circle\", __iconNode);\n\nexport { __iconNode, Circle as default };\n//# sourceMappingURL=circle.js.map\n"],"names":["__iconNode","Circle","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,SAAQ,CAAE,CAAC,GACxEC,IAASC,EAAiB,UAAUF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"circle-alert-ChA9opNA.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-alert.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n];\nconst CircleAlert = createLucideIcon(\"circle-alert\", __iconNode);\n\nexport { __iconNode, CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n"],"names":["__iconNode","CircleAlert","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,UAAU;AAAA,EACzD,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,KAAK,SAAQ,CAAE;AAAA,EACjE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AACvE,GACMC,IAAcC,EAAiB,gBAAgBF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"circle-check-9AeSgJD_.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-check.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m9 12 2 2 4-4\", key: \"dzmm74\" }]\n];\nconst CircleCheck = createLucideIcon(\"circle-check\", __iconNode);\n\nexport { __iconNode, CircleCheck as default };\n//# sourceMappingURL=circle-check.js.map\n"],"names":["__iconNode","CircleCheck","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,UAAU;AAAA,EACzD,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,SAAQ,CAAE;AAChD,GACMC,IAAcC,EAAiB,gBAAgBF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"circle-x-Du2CmjaU.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-x.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m15 9-6 6\", key: \"1uzhvr\" }],\n [\"path\", { d: \"m9 9 6 6\", key: \"z0biqf\" }]\n];\nconst CircleX = createLucideIcon(\"circle-x\", __iconNode);\n\nexport { __iconNode, CircleX as default };\n//# sourceMappingURL=circle-x.js.map\n"],"names":["__iconNode","CircleX","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,UAAU;AAAA,EACzD,CAAC,QAAQ,EAAE,GAAG,aAAa,KAAK,SAAQ,CAAE;AAAA,EAC1C,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAC3C,GACMC,IAAUC,EAAiB,YAAYF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clock-21AGPWJ5.js","sources":["../../node_modules/lucide-react/dist/esm/icons/clock.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n];\nconst Clock = createLucideIcon(\"clock\", __iconNode);\n\nexport { __iconNode, Clock as default };\n//# sourceMappingURL=clock.js.map\n"],"names":["__iconNode","Clock","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,UAAU;AAAA,EACzD,CAAC,QAAQ,EAAE,GAAG,eAAe,KAAK,SAAQ,CAAE;AAC9C,GACMC,IAAQC,EAAiB,SAASF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collapsible.agent-DkS1jVyn.js","sources":["../../src/components/collapsible/collapsible.tsx","../../src/components/collapsible/collapsible.agent.ts"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { cva, cx, type VariantProps } from 'class-variance-authority';\n\nconst collapsibleVariants = cva('', {\n variants: {\n variant: {\n default: '',\n card: 'ds:bg-[var(--card)] ds:border ds:border-border ds:rounded-[var(--radius-lg)] ds:overflow-hidden',\n minimal: 'ds:forced-colors:[border-block-end:1px_solid]',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst contentCls = [\n 'ds:overflow-hidden',\n 'ds:transition-[block-size]',\n 'ds:duration-[var(--animation-duration)]',\n 'ds:ease-out',\n 'ds:motion-reduce:transition-none',\n 'ds:data-[state=open]:[block-size:var(--radix-collapsible-content-height)]',\n 'ds:data-[state=closed]:[block-size:0]',\n].join(' ');\n\ntype RootProps = ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;\ntype TriggerProps = ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;\ntype PrimitiveContentProps = ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;\n\nexport interface CollapsibleProps\n extends Omit<RootProps, 'asChild'>,\n VariantProps<typeof collapsibleVariants> {}\n\n/** Curated imperative handle for agent / external automation. */\nexport interface CollapsibleHandle {\n isOpen: () => boolean;\n toggle: () => void;\n open: () => void;\n close: () => void;\n}\n\nexport type CollapsibleTriggerProps = TriggerProps;\n\nexport type CollapsibleContentProps = PrimitiveContentProps;\n\nexport const Collapsible = forwardRef<CollapsibleHandle, CollapsibleProps>(\n (\n {\n variant,\n className,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...props\n },\n ref,\n ) => {\n const isControlled = openProp !== undefined;\n const [internalOpen, setInternalOpen] = useState<boolean>(\n Boolean(defaultOpen),\n );\n const currentOpen = isControlled ? Boolean(openProp) : internalOpen;\n // Latest snapshot for the imperative handle — keeps invoke callers from\n // reading stale state when they fire `toggle()` then `isOpen()` in rapid\n // succession (the latest setState batch may not have flushed yet).\n const latestRef = useRef(currentOpen);\n latestRef.current = currentOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n isOpen: () => latestRef.current,\n toggle: () => setOpen(!latestRef.current),\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [setOpen],\n );\n\n return (\n <CollapsiblePrimitive.Root\n open={currentOpen}\n onOpenChange={setOpen}\n className={collapsibleVariants({ variant, className })}\n data-component=\"collapsible\"\n data-component-id={props.id}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.Root>\n );\n },\n);\nCollapsible.displayName = 'Collapsible';\n\nexport const CollapsibleTrigger = forwardRef<HTMLButtonElement, CollapsibleTriggerProps>(\n ({ asChild = false, children, ...props }, ref) => (\n <CollapsiblePrimitive.Trigger ref={ref} asChild={asChild} {...props}>\n {children}\n </CollapsiblePrimitive.Trigger>\n ),\n);\nCollapsibleTrigger.displayName = 'CollapsibleTrigger';\n\nexport const CollapsibleContent = forwardRef<HTMLDivElement, CollapsibleContentProps>(\n (\n {\n className,\n children,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-label': ariaLabel,\n ...props\n },\n ref,\n ) => {\n useEffect(() => {\n if (import.meta.env.DEV && !ariaLabelledBy && !ariaLabel) {\n console.warn(\n 'CollapsibleContent: Provide `aria-labelledby` pointing at the trigger id, or `aria-label`, so screen readers can identify this region.',\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <CollapsiblePrimitive.Content\n ref={ref}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n className={cx(contentCls, className)}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.Content>\n );\n },\n);\nCollapsibleContent.displayName = 'CollapsibleContent';\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — Collapsible. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { CollapsibleHandle } from './collapsible';\n\nexport const collapsibleAgent: AgentAdapter<CollapsibleHandle> = {\n id: 'collapsible',\n capabilities: ['expand'],\n state: {\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.collapsible.state.isOpen',\n description: 'True when the content panel is expanded.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n toggle: {\n safety: 'write',\n descriptionKey: 'ui.agent.collapsible.actions.toggle',\n description: 'Toggle between open and closed.',\n invoke: (handle) => {\n handle.toggle();\n },\n },\n open: {\n safety: 'write',\n descriptionKey: 'ui.agent.collapsible.actions.open',\n description: 'Expand the content panel.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'write',\n descriptionKey: 'ui.agent.collapsible.actions.close',\n description: 'Collapse the content panel.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'collapsible',\n description: 'Marks the Collapsible root.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n"],"names":["collapsibleVariants","cva","contentCls","Collapsible","forwardRef","variant","className","children","openProp","defaultOpen","onOpenChange","props","ref","isControlled","internalOpen","setInternalOpen","useState","currentOpen","latestRef","useRef","setOpen","useCallback","next","useImperativeHandle","jsx","CollapsiblePrimitive","CollapsibleTrigger","asChild","CollapsibleContent","ariaLabelledBy","ariaLabel","useEffect","cx","collapsibleAgent","handle"],"mappings":"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"}
|