@alfadocs/ui-kit 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/_chunks/{accordion-B6fyINUk.js → accordion-BEnrZmAn.js} +34 -32
- package/dist/_chunks/accordion-BEnrZmAn.js.map +1 -0
- package/dist/_chunks/accordion.agent-BTjeO1Sx.js +52 -0
- package/dist/_chunks/accordion.agent-BTjeO1Sx.js.map +1 -0
- package/dist/_chunks/{agenda-card-DIWDvWum.js → agenda-card-DwLIxgi7.js} +2 -1
- package/dist/_chunks/agenda-card-DwLIxgi7.js.map +1 -0
- package/dist/_chunks/agenda-card.agent-B_R47-c9.js +22 -0
- package/dist/_chunks/agenda-card.agent-B_R47-c9.js.map +1 -0
- package/dist/_chunks/agenda-tray-DUvengGQ.js +178 -0
- package/dist/_chunks/agenda-tray-DUvengGQ.js.map +1 -0
- package/dist/_chunks/ai-prompt-input.agent-0NHYLTWD.js +476 -0
- package/dist/_chunks/ai-prompt-input.agent-0NHYLTWD.js.map +1 -0
- package/dist/_chunks/alert-BlOUMkXj.js.map +1 -0
- package/dist/_chunks/apexcharts-theme-BkSShpEy.js.map +1 -0
- package/dist/_chunks/app-frame-6d7Lu4ea.js.map +1 -0
- package/dist/_chunks/{aspect-ratio-CxsdG8vk.js → aspect-ratio-DeSNzASA.js} +12 -12
- package/dist/_chunks/aspect-ratio-DeSNzASA.js.map +1 -0
- package/dist/_chunks/audio-recorder.agent--VKeykUp.js +458 -0
- package/dist/_chunks/audio-recorder.agent--VKeykUp.js.map +1 -0
- package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +1 -0
- package/dist/_chunks/autocomplete.agent-Dh7KioS6.js +432 -0
- package/dist/_chunks/autocomplete.agent-Dh7KioS6.js.map +1 -0
- package/dist/_chunks/avatar-Dcr6XuDQ.js.map +1 -0
- package/dist/_chunks/badge-mrstWxve.js.map +1 -0
- package/dist/_chunks/{balance-cell-renderer-BWm3knY9.js → balance-cell-renderer-5CA7zpAi.js} +3 -3
- package/dist/_chunks/balance-cell-renderer-5CA7zpAi.js.map +1 -0
- package/dist/_chunks/breadcrumb.agent-GM2hAKFX.js +371 -0
- package/dist/_chunks/breadcrumb.agent-GM2hAKFX.js.map +1 -0
- package/dist/_chunks/button-7mLWcMp_.js.map +1 -0
- package/dist/_chunks/button-group-CONver7M.js.map +1 -0
- package/dist/_chunks/button.agent-BuGZBktn.js.map +1 -0
- package/dist/_chunks/calendar-nGEgelJs.js.map +1 -0
- package/dist/_chunks/card-BEy58ZKp.js.map +1 -0
- package/dist/_chunks/{chart.agent-BdS-_8MO.js → chart.agent-_pRYS17d.js} +112 -105
- package/dist/_chunks/chart.agent-_pRYS17d.js.map +1 -0
- package/dist/_chunks/{chat-container-Cm3SlR2p.js → chat-container-Dl0Kfy5a.js} +33 -32
- package/dist/_chunks/chat-container-Dl0Kfy5a.js.map +1 -0
- package/dist/_chunks/{chat-container.agent-Dhw9xCJt.js → chat-container.agent-CM4WModE.js} +9 -4
- package/dist/_chunks/chat-container.agent-CM4WModE.js.map +1 -0
- package/dist/_chunks/{chat-input-DreOPP8A.js → chat-input-C_tMQv92.js} +108 -82
- package/dist/_chunks/chat-input-C_tMQv92.js.map +1 -0
- package/dist/_chunks/chat-input.agent-Bsz3ckGa.js +69 -0
- package/dist/_chunks/chat-input.agent-Bsz3ckGa.js.map +1 -0
- package/dist/_chunks/chat-message-ByouZpPP.js.map +1 -0
- package/dist/_chunks/check-DPdL_Sm7.js.map +1 -0
- package/dist/_chunks/checkbox-CtPM6Rup.js +196 -0
- package/dist/_chunks/checkbox-CtPM6Rup.js.map +1 -0
- package/dist/_chunks/checkbox-group-BTdEB6Yo.js +208 -0
- package/dist/_chunks/checkbox-group-BTdEB6Yo.js.map +1 -0
- package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +1 -0
- package/dist/_chunks/chevron-left-CX1jqD2M.js.map +1 -0
- package/dist/_chunks/chevron-right-BrpYejk0.js.map +1 -0
- package/dist/_chunks/chevron-up-zOEDrmBB.js.map +1 -0
- package/dist/_chunks/chevrons-right-d9MwesPG.js.map +1 -0
- package/dist/_chunks/circle-BkqTgYmt.js.map +1 -0
- package/dist/_chunks/circle-alert-ChA9opNA.js.map +1 -0
- package/dist/_chunks/circle-check-9AeSgJD_.js.map +1 -0
- package/dist/_chunks/circle-x-Du2CmjaU.js.map +1 -0
- package/dist/_chunks/clock-21AGPWJ5.js.map +1 -0
- package/dist/_chunks/collapsible.agent-DkS1jVyn.js +149 -0
- package/dist/_chunks/collapsible.agent-DkS1jVyn.js.map +1 -0
- package/dist/_chunks/{color-picker-e9PmpaGH.js → color-picker-94qcBZqZ.js} +234 -184
- package/dist/_chunks/color-picker-94qcBZqZ.js.map +1 -0
- package/dist/_chunks/combobox.agent-CAvUkkIe.js +410 -0
- package/dist/_chunks/combobox.agent-CAvUkkIe.js.map +1 -0
- package/dist/_chunks/{command-palette.agent-js2rxgeR.js → command-palette.agent-HatEt_EM.js} +161 -121
- package/dist/_chunks/command-palette.agent-HatEt_EM.js.map +1 -0
- package/dist/_chunks/compose-refs-C0k0tdqF.js.map +1 -0
- package/dist/_chunks/copy-B00HK7tj.js.map +1 -0
- package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +1 -0
- package/dist/_chunks/date-picker-BqPTn7bO.js +1813 -0
- package/dist/_chunks/date-picker-BqPTn7bO.js.map +1 -0
- package/dist/_chunks/date-range-picker-B2hGsffw.js +274 -0
- package/dist/_chunks/date-range-picker-B2hGsffw.js.map +1 -0
- package/dist/_chunks/date-time-picker-Bzt0S8yO.js +293 -0
- package/dist/_chunks/date-time-picker-Bzt0S8yO.js.map +1 -0
- package/dist/_chunks/description-list-DvJbp6Yg.js.map +1 -0
- package/dist/_chunks/dialog.agent-Daf1TTko.js +179 -0
- package/dist/_chunks/dialog.agent-Daf1TTko.js.map +1 -0
- package/dist/_chunks/{dropdown-menu-Cw3EyPZv.js → dropdown-menu-C7AZipNz.js} +75 -71
- package/dist/_chunks/dropdown-menu-C7AZipNz.js.map +1 -0
- package/dist/_chunks/dropdown-menu.agent-BcxIKOjK.js +43 -0
- package/dist/_chunks/dropdown-menu.agent-BcxIKOjK.js.map +1 -0
- package/dist/_chunks/ellipsis-rgGdiK_9.js.map +1 -0
- package/dist/_chunks/empty-state-DQPtRp2b.js.map +1 -0
- package/dist/_chunks/eye-off-xEXDAh5z.js.map +1 -0
- package/dist/_chunks/file-text-DSNuv2B8.js.map +1 -0
- package/dist/_chunks/{file-upload.agent-B9AN82LA.js → file-upload.agent-DJaH2dHg.js} +275 -243
- package/dist/_chunks/file-upload.agent-DJaH2dHg.js.map +1 -0
- package/dist/_chunks/flag-DZ6V7-hU.js.map +1 -0
- package/dist/_chunks/floating-action-button-Cnw-f6AG.js.map +1 -0
- package/dist/_chunks/form-field-BfsPLTSc.js.map +1 -0
- package/dist/_chunks/form-field-context-94LwgYTQ.js.map +1 -0
- package/dist/_chunks/freemium-paywall.agent-_nQqLyRF.js +260 -0
- package/dist/_chunks/freemium-paywall.agent-_nQqLyRF.js.map +1 -0
- package/dist/_chunks/globe-BkEFMNSg.js.map +1 -0
- package/dist/_chunks/group-options-BvKhQ3xb.js.map +1 -0
- package/dist/_chunks/header-BGn1mRp8.js.map +1 -0
- package/dist/_chunks/icon-button-Wnnde5lc.js.map +1 -0
- package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +1 -0
- package/dist/_chunks/index-4xgbg-sn.js.map +1 -0
- package/dist/_chunks/index-CJE9uQmb.js.map +1 -0
- package/dist/_chunks/index-CeY1nNvd.js.map +1 -0
- package/dist/_chunks/index-D2ZczOXr.js.map +1 -0
- package/dist/_chunks/info-B9XNKn05.js.map +1 -0
- package/dist/_chunks/input-surface-u4QB0lxe.js.map +1 -0
- package/dist/_chunks/isSameDay-ecuM8PBB.js.map +1 -0
- package/dist/_chunks/isSameMonth-5wNF2f4I.js.map +1 -0
- package/dist/_chunks/kbd-8baVw3KU.js.map +1 -0
- package/dist/_chunks/key-value-pair-JRFS9Xrh.js.map +1 -0
- package/dist/_chunks/{leo-sidebar-nbHib2D-.js → leo-sidebar-BwINPdix.js} +6 -6
- package/dist/_chunks/leo-sidebar-BwINPdix.js.map +1 -0
- package/dist/_chunks/link-QheANk74.js +121 -0
- package/dist/_chunks/link-QheANk74.js.map +1 -0
- package/dist/_chunks/list.agent-D0iWt4VI.js +420 -0
- package/dist/_chunks/list.agent-D0iWt4VI.js.map +1 -0
- package/dist/_chunks/live-region-C41SO3cA.js.map +1 -0
- package/dist/_chunks/log-out-616hnn2-.js.map +1 -0
- package/dist/_chunks/logo-BpFoCL-s.js.map +1 -0
- package/dist/_chunks/mail-C8irm52s.js.map +1 -0
- package/dist/_chunks/matrix-rain-BEkvux64.js.map +1 -0
- package/dist/_chunks/{message-card-qAp2-WQK.js → message-card-qhoGv947.js} +2 -1
- package/dist/_chunks/message-card-qhoGv947.js.map +1 -0
- package/dist/_chunks/message-card.agent-4IeIgrnJ.js +22 -0
- package/dist/_chunks/message-card.agent-4IeIgrnJ.js.map +1 -0
- package/dist/_chunks/message-tray-xHUCra-Y.js +419 -0
- package/dist/_chunks/message-tray-xHUCra-Y.js.map +1 -0
- package/dist/_chunks/{multi-select.agent-CNsyW3n9.js → multi-select.agent-Do6CeQUT.js} +239 -179
- package/dist/_chunks/multi-select.agent-Do6CeQUT.js.map +1 -0
- package/dist/_chunks/navigation-menu.agent-D69ND6Qq.js +266 -0
- package/dist/_chunks/navigation-menu.agent-D69ND6Qq.js.map +1 -0
- package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +1 -0
- package/dist/_chunks/{notification-card-BF2_veHy.js → notification-card-CsVEYJE-.js} +13 -12
- package/dist/_chunks/notification-card-CsVEYJE-.js.map +1 -0
- package/dist/_chunks/notification-card.agent-Rqt3ofk9.js +22 -0
- package/dist/_chunks/notification-card.agent-Rqt3ofk9.js.map +1 -0
- package/dist/_chunks/notification-tray-DTXMq42J.js +444 -0
- package/dist/_chunks/notification-tray-DTXMq42J.js.map +1 -0
- package/dist/_chunks/number-input-fvGmnRy9.js +333 -0
- package/dist/_chunks/number-input-fvGmnRy9.js.map +1 -0
- package/dist/_chunks/otp-input-EglXOUue.js +257 -0
- package/dist/_chunks/otp-input-EglXOUue.js.map +1 -0
- package/dist/_chunks/pagination.agent-BkZQl45y.js +422 -0
- package/dist/_chunks/pagination.agent-BkZQl45y.js.map +1 -0
- package/dist/_chunks/password-input-D6kuYXmr.js +304 -0
- package/dist/_chunks/password-input-D6kuYXmr.js.map +1 -0
- package/dist/_chunks/{patient-shell-7cXqIMFg.js → patient-shell-BRmrrUUW.js} +3 -3
- package/dist/_chunks/patient-shell-BRmrrUUW.js.map +1 -0
- package/dist/_chunks/{payment-form-hcl-gGrp.js → payment-form-BWaXas8z.js} +120 -118
- package/dist/_chunks/payment-form-BWaXas8z.js.map +1 -0
- package/dist/_chunks/{payment-form.agent-BkEnRerR.js → payment-form.agent-kuIfodCj.js} +7 -2
- package/dist/_chunks/payment-form.agent-kuIfodCj.js.map +1 -0
- package/dist/_chunks/{pdf-viewer.agent-CfIHhcHx.js → pdf-viewer.agent-BaGEDheA.js} +358 -351
- package/dist/_chunks/pdf-viewer.agent-BaGEDheA.js.map +1 -0
- package/dist/_chunks/phone-input-C8Op4sEc.js +513 -0
- package/dist/_chunks/phone-input-C8Op4sEc.js.map +1 -0
- package/dist/_chunks/plus-CYKNmfuA.js.map +1 -0
- package/dist/_chunks/popover-kFN8s84V.js +229 -0
- package/dist/_chunks/popover-kFN8s84V.js.map +1 -0
- package/dist/_chunks/popover.agent-K_d1cfbj.js +39 -0
- package/dist/_chunks/popover.agent-K_d1cfbj.js.map +1 -0
- package/dist/_chunks/printer-CeVEWfQq.js.map +1 -0
- package/dist/_chunks/privacy-lock.agent-C1i1-T58.js +185 -0
- package/dist/_chunks/privacy-lock.agent-C1i1-T58.js.map +1 -0
- package/dist/_chunks/progress-wNsqkw8I.js +253 -0
- package/dist/_chunks/progress-wNsqkw8I.js.map +1 -0
- package/dist/_chunks/progress.agent-C68rDOXL.js +27 -0
- package/dist/_chunks/progress.agent-C68rDOXL.js.map +1 -0
- package/dist/_chunks/purify.es-DpIUMBYC.js.map +1 -0
- package/dist/_chunks/{radio-cs8N1wJi.js → radio-DvF59ThA.js} +14 -13
- package/dist/_chunks/radio-DvF59ThA.js.map +1 -0
- package/dist/_chunks/radio-group-Cz1a4QCA.js +152 -0
- package/dist/_chunks/radio-group-Cz1a4QCA.js.map +1 -0
- package/dist/_chunks/react-day-picker-C04L_28V.js.map +1 -0
- package/dist/_chunks/recaptcha-widget.agent-BGHpU5zD.js +183 -0
- package/dist/_chunks/recaptcha-widget.agent-BGHpU5zD.js.map +1 -0
- package/dist/_chunks/registry-C9nwlNyL.js.map +1 -0
- package/dist/_chunks/resizable.agent-CMwZzvsi.js +456 -0
- package/dist/_chunks/resizable.agent-CMwZzvsi.js.map +1 -0
- package/dist/_chunks/{rich-text-editor.agent-COSb5_2D.js → rich-text-editor.agent-DnE125Tz.js} +221 -214
- package/dist/_chunks/rich-text-editor.agent-DnE125Tz.js.map +1 -0
- package/dist/_chunks/safe-image-src-DstKgCo7.js.map +1 -0
- package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +1 -0
- package/dist/_chunks/search-BonnQsHv.js.map +1 -0
- package/dist/_chunks/search-bar.agent-DxFAxctc.js +562 -0
- package/dist/_chunks/search-bar.agent-DxFAxctc.js.map +1 -0
- package/dist/_chunks/search-input-Xw3cdWXW.js +227 -0
- package/dist/_chunks/search-input-Xw3cdWXW.js.map +1 -0
- package/dist/_chunks/search-input.agent-CfZvViOd.js +69 -0
- package/dist/_chunks/search-input.agent-CfZvViOd.js.map +1 -0
- package/dist/_chunks/select-DY1Cb2Tg.js +410 -0
- package/dist/_chunks/select-DY1Cb2Tg.js.map +1 -0
- package/dist/_chunks/send-CySZIRPJ.js.map +1 -0
- package/dist/_chunks/separator-B4wXDLNC.js.map +1 -0
- package/dist/_chunks/{sheet-BhNpLHc9.js → sheet-B9kH9pcI.js} +55 -54
- package/dist/_chunks/sheet-B9kH9pcI.js.map +1 -0
- package/dist/_chunks/sheet.agent-QAyTOxgk.js +46 -0
- package/dist/_chunks/sheet.agent-QAyTOxgk.js.map +1 -0
- package/dist/_chunks/{sidebar-OVzwN3jE.js → sidebar-CHF5xr_P.js} +188 -185
- package/dist/_chunks/sidebar-CHF5xr_P.js.map +1 -0
- package/dist/_chunks/sidebar.agent-C9TM_ZDZ.js +49 -0
- package/dist/_chunks/sidebar.agent-C9TM_ZDZ.js.map +1 -0
- package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +1 -0
- package/dist/_chunks/{signature-capture.agent-C38VPXxg.js → signature-capture.agent-BpeDwFht.js} +127 -120
- package/dist/_chunks/signature-capture.agent-BpeDwFht.js.map +1 -0
- package/dist/_chunks/skeleton-dtqyF09N.js.map +1 -0
- package/dist/_chunks/skip-link-DmZ3c6cb.js.map +1 -0
- package/dist/_chunks/slider-CcsQTZTA.js +322 -0
- package/dist/_chunks/slider-CcsQTZTA.js.map +1 -0
- package/dist/_chunks/slot-grid-D_l5VsHG.js.map +1 -0
- package/dist/_chunks/sparkline.agent-56Sj7nOP.js +245 -0
- package/dist/_chunks/sparkline.agent-56Sj7nOP.js.map +1 -0
- package/dist/_chunks/spinner-GCcv67vh.js.map +1 -0
- package/dist/_chunks/square-CZoGU14v.js.map +1 -0
- package/dist/_chunks/square-check-big-Jr-0202D.js.map +1 -0
- package/dist/_chunks/stat-DUB6g90R.js.map +1 -0
- package/dist/_chunks/stepper-C-sIpRRU.js.map +1 -0
- package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +322 -0
- package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js.map +1 -0
- package/dist/_chunks/stepper-calendar.agent-9iT3ClIB.js +646 -0
- package/dist/_chunks/stepper-calendar.agent-9iT3ClIB.js.map +1 -0
- package/dist/_chunks/stepper-progress-Bmen-YXB.js +149 -0
- package/dist/_chunks/stepper-progress-Bmen-YXB.js.map +1 -0
- package/dist/_chunks/stepper-progress.agent-q9InWca4.js +61 -0
- package/dist/_chunks/stepper-progress.agent-q9InWca4.js.map +1 -0
- package/dist/_chunks/streaming-text-BgjCTVOw.js.map +1 -0
- package/dist/_chunks/suggestion-chip-DhFrkRPj.js +169 -0
- package/dist/_chunks/suggestion-chip-DhFrkRPj.js.map +1 -0
- package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js +46 -0
- package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js.map +1 -0
- package/dist/_chunks/switch-BYEH8I53.js +196 -0
- package/dist/_chunks/switch-BYEH8I53.js.map +1 -0
- package/dist/_chunks/{tabs.agent-BpbVA-Zh.js → tabs.agent-h7NvsTR1.js} +146 -123
- package/dist/_chunks/tabs.agent-h7NvsTR1.js.map +1 -0
- package/dist/_chunks/tag-BqidXKo3.js.map +1 -0
- package/dist/_chunks/{task-card-yW7tKlG4.js → task-card-CY5ztNkU.js} +2 -1
- package/dist/_chunks/task-card-CY5ztNkU.js.map +1 -0
- package/dist/_chunks/task-card.agent-CUPKYd7w.js +22 -0
- package/dist/_chunks/task-card.agent-CUPKYd7w.js.map +1 -0
- package/dist/_chunks/task-tray-CCoUdorl.js +194 -0
- package/dist/_chunks/task-tray-CCoUdorl.js.map +1 -0
- package/dist/_chunks/text-area-C_M8wliK.js +239 -0
- package/dist/_chunks/text-area-C_M8wliK.js.map +1 -0
- package/dist/_chunks/text-input-BX39e6T6.js +272 -0
- package/dist/_chunks/text-input-BX39e6T6.js.map +1 -0
- package/dist/_chunks/theme-root-DDb0TJjd.js.map +1 -0
- package/dist/_chunks/theme-toggle.agent-btmXTWdW.js +394 -0
- package/dist/_chunks/theme-toggle.agent-btmXTWdW.js.map +1 -0
- package/dist/_chunks/time-picker-B8AMIrX7.js +410 -0
- package/dist/_chunks/time-picker-B8AMIrX7.js.map +1 -0
- package/dist/_chunks/timeline.agent-CRPza9wc.js +279 -0
- package/dist/_chunks/timeline.agent-CRPza9wc.js.map +1 -0
- package/dist/_chunks/timestamp-BV2lC-wV.js.map +1 -0
- package/dist/_chunks/{toast-lOhJDKOH.js → toast.agent-BjEGuq1Z.js} +403 -342
- package/dist/_chunks/toast.agent-BjEGuq1Z.js.map +1 -0
- package/dist/_chunks/tooltip-DHik5yRI.js.map +1 -0
- package/dist/_chunks/{tooth-scheme.agent-BlDyu-Gx.js → tooth-scheme.agent-CWrQBjJM.js} +218 -211
- package/dist/_chunks/tooth-scheme.agent-CWrQBjJM.js.map +1 -0
- package/dist/_chunks/transcript-panel.agent-BXEYP6w-.js +337 -0
- package/dist/_chunks/transcript-panel.agent-BXEYP6w-.js.map +1 -0
- package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +1 -0
- package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +1 -0
- package/dist/_chunks/use-debounced-callback-BisrB-Fq.js.map +1 -0
- package/dist/_chunks/use-direction-D6rvvG9G.js.map +1 -0
- package/dist/_chunks/use-locale-BuXR_Zl9.js.map +1 -0
- package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +1 -0
- package/dist/_chunks/use-theme-BMUhembX.js.map +1 -0
- package/dist/_chunks/user-CPxpqFjJ.js.map +1 -0
- package/dist/_chunks/visually-hidden-Bw7vBHLm.js.map +1 -0
- package/dist/_chunks/warning-stack-8Pa3pekh.js.map +1 -0
- package/dist/_chunks/{workflow-map-XeqHDFvp.js → workflow-map-D2A7rTEG.js} +465 -368
- package/dist/_chunks/workflow-map-D2A7rTEG.js.map +1 -0
- package/dist/_chunks/x-CCcI3eJp.js.map +1 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/registry.d.ts.map +1 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent-catalog.json +2929 -268
- package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +1 -0
- package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +1 -0
- package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +1 -0
- package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +1 -0
- package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +1 -0
- package/dist/brand/logo-asset/index.d.ts.map +1 -0
- package/dist/components/_shared/calendar-chevron.d.ts.map +1 -0
- package/dist/components/_shared/compose-refs.d.ts.map +1 -0
- package/dist/components/_shared/date-locale.d.ts.map +1 -0
- package/dist/components/_shared/date-picker-variants.d.ts.map +1 -0
- package/dist/components/_shared/date-utils.d.ts.map +1 -0
- package/dist/components/_shared/group-options.d.ts.map +1 -0
- package/dist/components/_shared/index.d.ts.map +1 -0
- package/dist/components/_shared/input-surface.d.ts.map +1 -0
- package/dist/components/_shared/normalize-diacritics.d.ts.map +1 -0
- package/dist/components/_shared/option.d.ts.map +1 -0
- package/dist/components/_shared/safe-html.d.ts.map +1 -0
- package/dist/components/_shared/safe-image-src.d.ts.map +1 -0
- package/dist/components/_shared/stepper.d.ts.map +1 -0
- package/dist/components/_shared/time.d.ts.map +1 -0
- package/dist/components/_shared/use-debounced-callback.d.ts.map +1 -0
- package/dist/components/_shared/use-direction.d.ts.map +1 -0
- package/dist/components/_shared/use-focus-trap.d.ts.map +1 -0
- package/dist/components/_shared/use-neutralize-hidden-focus.d.ts.map +1 -0
- package/dist/components/accordion/accordion.agent.d.ts +2 -1
- package/dist/components/accordion/accordion.agent.d.ts.map +1 -0
- package/dist/components/accordion/accordion.d.ts +6 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/accordion/index.js +2 -2
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/agenda-card/agenda-card.agent.d.ts +3 -0
- package/dist/components/agenda-card/agenda-card.agent.d.ts.map +1 -0
- package/dist/components/agenda-card/agenda-card.d.ts.map +1 -0
- package/dist/components/agenda-card/index.d.ts +1 -0
- package/dist/components/agenda-card/index.d.ts.map +1 -0
- package/dist/components/agenda-card/index.js +3 -1
- package/dist/components/agenda-card/index.js.map +1 -0
- package/dist/components/agenda-tray/agenda-tray.agent.d.ts +4 -0
- package/dist/components/agenda-tray/agenda-tray.agent.d.ts.map +1 -0
- package/dist/components/agenda-tray/agenda-tray.d.ts +19 -2
- package/dist/components/agenda-tray/agenda-tray.d.ts.map +1 -0
- package/dist/components/agenda-tray/index.d.ts +2 -1
- package/dist/components/agenda-tray/index.d.ts.map +1 -0
- package/dist/components/agenda-tray/index.js +3 -2
- package/dist/components/agenda-tray/index.js.map +1 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts +4 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts.map +1 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +18 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -0
- package/dist/components/ai-prompt-input/index.d.ts +2 -1
- package/dist/components/ai-prompt-input/index.d.ts.map +1 -0
- package/dist/components/ai-prompt-input/index.js +3 -2
- package/dist/components/ai-prompt-input/index.js.map +1 -0
- package/dist/components/alert/alert.d.ts.map +1 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/alert/index.js.map +1 -0
- package/dist/components/app-frame/app-frame.d.ts.map +1 -0
- package/dist/components/app-frame/index.d.ts.map +1 -0
- package/dist/components/app-frame/index.js.map +1 -0
- package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -0
- package/dist/components/aspect-ratio/index.d.ts.map +1 -0
- package/dist/components/aspect-ratio/index.js +1 -1
- package/dist/components/aspect-ratio/index.js.map +1 -0
- package/dist/components/audio-recorder/audio-recorder.agent.d.ts +4 -0
- package/dist/components/audio-recorder/audio-recorder.agent.d.ts.map +1 -0
- package/dist/components/audio-recorder/audio-recorder.d.ts +10 -1
- package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -0
- package/dist/components/audio-recorder/index.d.ts +2 -1
- package/dist/components/audio-recorder/index.d.ts.map +1 -0
- package/dist/components/audio-recorder/index.js +3 -2
- package/dist/components/audio-recorder/index.js.map +1 -0
- package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -0
- package/dist/components/audio-visualiser/index.d.ts.map +1 -0
- package/dist/components/audio-visualiser/index.js.map +1 -0
- package/dist/components/autocomplete/autocomplete.agent.d.ts +2 -1
- package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -0
- package/dist/components/autocomplete/autocomplete.d.ts +10 -0
- package/dist/components/autocomplete/autocomplete.d.ts.map +1 -0
- package/dist/components/autocomplete/index.d.ts.map +1 -0
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/autocomplete/index.js.map +1 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.agent.d.ts +8 -0
- package/dist/components/breadcrumb/breadcrumb.agent.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +21 -2
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +2 -1
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.js +5 -4
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/button/button.agent.d.ts.map +1 -0
- package/dist/components/button/button.d.ts +1 -1
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/icon-button.d.ts.map +1 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button-group/button-group.d.ts.map +1 -0
- package/dist/components/button-group/index.d.ts.map +1 -0
- package/dist/components/button-group/index.js.map +1 -0
- package/dist/components/calendar/calendar.agent.d.ts.map +1 -0
- package/dist/components/calendar/calendar.d.ts.map +1 -0
- package/dist/components/calendar/contrast-warning.d.ts.map +1 -0
- package/dist/components/calendar/index.d.ts.map +1 -0
- package/dist/components/calendar/index.js.map +1 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/chart/chart.agent.d.ts.map +1 -0
- package/dist/components/chart/chart.d.ts +2 -0
- package/dist/components/chart/chart.d.ts.map +1 -0
- package/dist/components/chart/index.d.ts.map +1 -0
- package/dist/components/chart/index.js +1 -1
- package/dist/components/chart/index.js.map +1 -0
- package/dist/components/chat-container/chat-container.agent.d.ts.map +1 -0
- package/dist/components/chat-container/chat-container.d.ts +3 -1
- package/dist/components/chat-container/chat-container.d.ts.map +1 -0
- package/dist/components/chat-container/index.d.ts.map +1 -0
- package/dist/components/chat-container/index.js +2 -2
- package/dist/components/chat-container/index.js.map +1 -0
- package/dist/components/chat-input/chat-input.agent.d.ts +4 -0
- package/dist/components/chat-input/chat-input.agent.d.ts.map +1 -0
- package/dist/components/chat-input/chat-input.d.ts +10 -1
- package/dist/components/chat-input/chat-input.d.ts.map +1 -0
- package/dist/components/chat-input/index.d.ts +2 -1
- package/dist/components/chat-input/index.d.ts.map +1 -0
- package/dist/components/chat-input/index.js +4 -2
- package/dist/components/chat-input/index.js.map +1 -0
- package/dist/components/chat-message/chat-message.d.ts.map +1 -0
- package/dist/components/chat-message/index.d.ts.map +1 -0
- package/dist/components/chat-message/index.js.map +1 -0
- package/dist/components/checkbox/checkbox-group-context.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.agent.d.ts +4 -0
- package/dist/components/checkbox/checkbox.agent.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +6 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/checkbox-group/checkbox-group.agent.d.ts +4 -0
- package/dist/components/checkbox-group/checkbox-group.agent.d.ts.map +1 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts +8 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -0
- package/dist/components/checkbox-group/index.d.ts.map +1 -0
- package/dist/components/checkbox-group/index.js +1 -1
- package/dist/components/checkbox-group/index.js.map +1 -0
- package/dist/components/collapsible/collapsible.agent.d.ts +4 -0
- package/dist/components/collapsible/collapsible.agent.d.ts.map +1 -0
- package/dist/components/collapsible/collapsible.d.ts +8 -1
- package/dist/components/collapsible/collapsible.d.ts.map +1 -0
- package/dist/components/collapsible/index.d.ts +2 -1
- package/dist/components/collapsible/index.d.ts.map +1 -0
- package/dist/components/collapsible/index.js +4 -3
- package/dist/components/collapsible/index.js.map +1 -0
- package/dist/components/color-picker/color-picker.agent.d.ts +4 -0
- package/dist/components/color-picker/color-picker.agent.d.ts.map +1 -0
- package/dist/components/color-picker/color-picker.d.ts +5 -0
- package/dist/components/color-picker/color-picker.d.ts.map +1 -0
- package/dist/components/color-picker/color-utils.d.ts.map +1 -0
- package/dist/components/color-picker/index.d.ts.map +1 -0
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/color-picker/index.js.map +1 -0
- package/dist/components/color-picker/palettes.d.ts.map +1 -0
- package/dist/components/combobox/combobox.agent.d.ts +2 -1
- package/dist/components/combobox/combobox.agent.d.ts.map +1 -0
- package/dist/components/combobox/combobox.d.ts +10 -0
- package/dist/components/combobox/combobox.d.ts.map +1 -0
- package/dist/components/combobox/index.d.ts.map +1 -0
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/combobox/index.js.map +1 -0
- package/dist/components/command-palette/command-palette.agent.d.ts +2 -1
- package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -0
- package/dist/components/command-palette/command-palette.d.ts +7 -0
- package/dist/components/command-palette/command-palette.d.ts.map +1 -0
- package/dist/components/command-palette/index.d.ts.map +1 -0
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/command-palette/index.js.map +1 -0
- package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts.map +1 -0
- package/dist/components/data-table/data-table.agent.d.ts.map +1 -0
- package/dist/components/data-table/data-table.d.ts.map +1 -0
- package/dist/components/data-table/hooks/use-total-row.d.ts.map +1 -0
- package/dist/components/data-table/index.d.ts.map +1 -0
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/data-table/index.js.map +1 -0
- package/dist/components/data-table/toolbar.d.ts.map +1 -0
- package/dist/components/date-picker/date-picker.agent.d.ts +4 -0
- package/dist/components/date-picker/date-picker.agent.d.ts.map +1 -0
- package/dist/components/date-picker/date-picker.d.ts +16 -1
- package/dist/components/date-picker/date-picker.d.ts.map +1 -0
- package/dist/components/date-picker/index.d.ts +2 -1
- package/dist/components/date-picker/index.d.ts.map +1 -0
- package/dist/components/date-picker/index.js +3 -2
- package/dist/components/date-picker/index.js.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts +4 -0
- package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.d.ts +16 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -0
- package/dist/components/date-range-picker/index.d.ts +2 -1
- package/dist/components/date-range-picker/index.d.ts.map +1 -0
- package/dist/components/date-range-picker/index.js +3 -2
- package/dist/components/date-range-picker/index.js.map +1 -0
- package/dist/components/date-time-picker/date-time-picker.agent.d.ts +4 -0
- package/dist/components/date-time-picker/date-time-picker.agent.d.ts.map +1 -0
- package/dist/components/date-time-picker/date-time-picker.d.ts +16 -1
- package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -0
- package/dist/components/date-time-picker/index.d.ts +2 -1
- package/dist/components/date-time-picker/index.d.ts.map +1 -0
- package/dist/components/date-time-picker/index.js +3 -2
- package/dist/components/date-time-picker/index.js.map +1 -0
- package/dist/components/description-list/description-list.d.ts.map +1 -0
- package/dist/components/description-list/index.d.ts.map +1 -0
- package/dist/components/description-list/index.js.map +1 -0
- package/dist/components/dialog/dialog.agent.d.ts +5 -6
- package/dist/components/dialog/dialog.agent.d.ts.map +1 -0
- package/dist/components/dialog/dialog.d.ts +11 -2
- package/dist/components/dialog/dialog.d.ts.map +1 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +2 -1
- package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +10 -2
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/dropdown-menu/index.js +2 -2
- package/dist/components/dropdown-menu/index.js.map +1 -0
- package/dist/components/empty-state/empty-state.d.ts.map +1 -0
- package/dist/components/empty-state/index.d.ts.map +1 -0
- package/dist/components/empty-state/index.js.map +1 -0
- package/dist/components/file-upload/file-upload.agent.d.ts +2 -1
- package/dist/components/file-upload/file-upload.agent.d.ts.map +1 -0
- package/dist/components/file-upload/file-upload.d.ts +12 -0
- package/dist/components/file-upload/file-upload.d.ts.map +1 -0
- package/dist/components/file-upload/index.d.ts.map +1 -0
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/file-upload/index.js.map +1 -0
- package/dist/components/flag/flag.d.ts.map +1 -0
- package/dist/components/flag/index.d.ts.map +1 -0
- package/dist/components/flag/index.js.map +1 -0
- package/dist/components/floating-action-button/floating-action-button.d.ts.map +1 -0
- package/dist/components/floating-action-button/index.d.ts.map +1 -0
- package/dist/components/floating-action-button/index.js.map +1 -0
- package/dist/components/form-field/form-field-context.d.ts.map +1 -0
- package/dist/components/form-field/form-field.d.ts.map +1 -0
- package/dist/components/form-field/index.d.ts.map +1 -0
- package/dist/components/form-field/index.js.map +1 -0
- package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts +4 -0
- package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts.map +1 -0
- package/dist/components/freemium-paywall/freemium-paywall.d.ts +8 -1
- package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -0
- package/dist/components/freemium-paywall/index.d.ts +2 -1
- package/dist/components/freemium-paywall/index.d.ts.map +1 -0
- package/dist/components/freemium-paywall/index.js +3 -2
- package/dist/components/freemium-paywall/index.js.map +1 -0
- package/dist/components/header/header.d.ts.map +1 -0
- package/dist/components/header/index.d.ts.map +1 -0
- package/dist/components/header/index.js.map +1 -0
- package/dist/components/icon-button/index.d.ts.map +1 -0
- package/dist/components/icon-button/index.js.map +1 -0
- package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -0
- package/dist/components/icon-button-group/index.d.ts.map +1 -0
- package/dist/components/icon-button-group/index.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/kbd/index.d.ts.map +1 -0
- package/dist/components/kbd/index.js.map +1 -0
- package/dist/components/kbd/kbd.d.ts.map +1 -0
- package/dist/components/key-value-pair/index.d.ts.map +1 -0
- package/dist/components/key-value-pair/index.js.map +1 -0
- package/dist/components/key-value-pair/key-value-pair.d.ts.map +1 -0
- package/dist/components/link/index.d.ts +2 -0
- package/dist/components/link/index.d.ts.map +1 -0
- package/dist/components/link/index.js +5 -0
- package/dist/components/link/index.js.map +1 -0
- package/dist/components/link/link.d.ts +39 -0
- package/dist/components/link/link.d.ts.map +1 -0
- package/dist/components/list/index.d.ts +2 -1
- package/dist/components/list/index.d.ts.map +1 -0
- package/dist/components/list/index.js +3 -2
- package/dist/components/list/index.js.map +1 -0
- package/dist/components/list/list.agent.d.ts +4 -0
- package/dist/components/list/list.agent.d.ts.map +1 -0
- package/dist/components/list/list.d.ts +8 -2
- package/dist/components/list/list.d.ts.map +1 -0
- package/dist/components/live-region/index.d.ts.map +1 -0
- package/dist/components/live-region/index.js.map +1 -0
- package/dist/components/live-region/live-region.d.ts.map +1 -0
- package/dist/components/logo/index.d.ts.map +1 -0
- package/dist/components/logo/index.js.map +1 -0
- package/dist/components/logo/logo.d.ts.map +1 -0
- package/dist/components/matrix-rain/index.d.ts.map +1 -0
- package/dist/components/matrix-rain/index.js.map +1 -0
- package/dist/components/matrix-rain/matrix-rain.d.ts.map +1 -0
- package/dist/components/message-card/index.d.ts +1 -0
- package/dist/components/message-card/index.d.ts.map +1 -0
- package/dist/components/message-card/index.js +5 -3
- package/dist/components/message-card/index.js.map +1 -0
- package/dist/components/message-card/message-card.agent.d.ts +3 -0
- package/dist/components/message-card/message-card.agent.d.ts.map +1 -0
- package/dist/components/message-card/message-card.d.ts.map +1 -0
- package/dist/components/message-tray/index.d.ts +2 -1
- package/dist/components/message-tray/index.d.ts.map +1 -0
- package/dist/components/message-tray/index.js +3 -2
- package/dist/components/message-tray/index.js.map +1 -0
- package/dist/components/message-tray/message-tray.agent.d.ts +4 -0
- package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -0
- package/dist/components/message-tray/message-tray.d.ts +27 -2
- package/dist/components/message-tray/message-tray.d.ts.map +1 -0
- package/dist/components/multi-select/index.d.ts.map +1 -0
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/multi-select/index.js.map +1 -0
- package/dist/components/multi-select/multi-select.agent.d.ts +2 -1
- package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -0
- package/dist/components/multi-select/multi-select.d.ts +10 -0
- package/dist/components/multi-select/multi-select.d.ts.map +1 -0
- package/dist/components/navigation-menu/index.d.ts +2 -1
- package/dist/components/navigation-menu/index.d.ts.map +1 -0
- package/dist/components/navigation-menu/index.js +7 -6
- package/dist/components/navigation-menu/index.js.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.agent.d.ts +4 -0
- package/dist/components/navigation-menu/navigation-menu.agent.d.ts.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.d.ts +28 -2
- package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
- package/dist/components/notification-card/index.d.ts +1 -0
- package/dist/components/notification-card/index.d.ts.map +1 -0
- package/dist/components/notification-card/index.js +5 -3
- package/dist/components/notification-card/index.js.map +1 -0
- package/dist/components/notification-card/notification-card.agent.d.ts +3 -0
- package/dist/components/notification-card/notification-card.agent.d.ts.map +1 -0
- package/dist/components/notification-card/notification-card.d.ts.map +1 -0
- package/dist/components/notification-tray/index.d.ts +2 -1
- package/dist/components/notification-tray/index.d.ts.map +1 -0
- package/dist/components/notification-tray/index.js +3 -2
- package/dist/components/notification-tray/index.js.map +1 -0
- package/dist/components/notification-tray/notification-tray.agent.d.ts +4 -0
- package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -0
- package/dist/components/notification-tray/notification-tray.d.ts +27 -2
- package/dist/components/notification-tray/notification-tray.d.ts.map +1 -0
- package/dist/components/number-input/index.d.ts.map +1 -0
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/number-input/index.js.map +1 -0
- package/dist/components/number-input/number-input.agent.d.ts +4 -0
- package/dist/components/number-input/number-input.agent.d.ts.map +1 -0
- package/dist/components/number-input/number-input.d.ts +7 -0
- package/dist/components/number-input/number-input.d.ts.map +1 -0
- package/dist/components/number-input/use-locale-number.d.ts.map +1 -0
- package/dist/components/otp-input/index.d.ts.map +1 -0
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/otp-input/index.js.map +1 -0
- package/dist/components/otp-input/otp-input.agent.d.ts +4 -0
- package/dist/components/otp-input/otp-input.agent.d.ts.map +1 -0
- package/dist/components/otp-input/otp-input.d.ts +10 -0
- package/dist/components/otp-input/otp-input.d.ts.map +1 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/pagination/pagination.agent.d.ts +2 -1
- package/dist/components/pagination/pagination.agent.d.ts.map +1 -0
- package/dist/components/pagination/pagination.d.ts +7 -0
- package/dist/components/pagination/pagination.d.ts.map +1 -0
- package/dist/components/password-input/index.d.ts.map +1 -0
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/password-input/index.js.map +1 -0
- package/dist/components/password-input/password-input.agent.d.ts +4 -0
- package/dist/components/password-input/password-input.agent.d.ts.map +1 -0
- package/dist/components/password-input/password-input.d.ts +9 -0
- package/dist/components/password-input/password-input.d.ts.map +1 -0
- package/dist/components/payment-form/index.d.ts.map +1 -0
- package/dist/components/payment-form/index.js +2 -2
- package/dist/components/payment-form/index.js.map +1 -0
- package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -0
- package/dist/components/payment-form/payment-form.d.ts +2 -0
- package/dist/components/payment-form/payment-form.d.ts.map +1 -0
- package/dist/components/pdf-viewer/index.d.ts.map +1 -0
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/pdf-viewer/index.js.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
- package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -0
- package/dist/components/phone-input/index.d.ts.map +1 -0
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/phone-input/index.js.map +1 -0
- package/dist/components/phone-input/phone-input.agent.d.ts +4 -0
- package/dist/components/phone-input/phone-input.agent.d.ts.map +1 -0
- package/dist/components/phone-input/phone-input.d.ts +7 -0
- package/dist/components/phone-input/phone-input.d.ts.map +1 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popover/index.js +2 -2
- package/dist/components/popover/index.js.map +1 -0
- package/dist/components/popover/popover.agent.d.ts +2 -1
- package/dist/components/popover/popover.agent.d.ts.map +1 -0
- package/dist/components/popover/popover.d.ts +8 -1
- package/dist/components/popover/popover.d.ts.map +1 -0
- package/dist/components/privacy-lock/index.d.ts +2 -1
- package/dist/components/privacy-lock/index.d.ts.map +1 -0
- package/dist/components/privacy-lock/index.js +3 -2
- package/dist/components/privacy-lock/index.js.map +1 -0
- package/dist/components/privacy-lock/privacy-lock.agent.d.ts +4 -0
- package/dist/components/privacy-lock/privacy-lock.agent.d.ts.map +1 -0
- package/dist/components/privacy-lock/privacy-lock.d.ts +7 -1
- package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -0
- package/dist/components/progress/index.d.ts.map +1 -0
- package/dist/components/progress/index.js +2 -2
- package/dist/components/progress/index.js.map +1 -0
- package/dist/components/progress/progress.agent.d.ts.map +1 -0
- package/dist/components/progress/progress.d.ts.map +1 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +1 -1
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/radio-group/index.d.ts.map +1 -0
- package/dist/components/radio-group/index.js +2 -2
- package/dist/components/radio-group/index.js.map +1 -0
- package/dist/components/radio-group/radio-group-context.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.agent.d.ts +4 -0
- package/dist/components/radio-group/radio-group.agent.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.d.ts +5 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group/radio.d.ts.map +1 -0
- package/dist/components/recaptcha-widget/index.d.ts +3 -0
- package/dist/components/recaptcha-widget/index.d.ts.map +1 -0
- package/dist/components/recaptcha-widget/index.js +6 -0
- package/dist/components/recaptcha-widget/index.js.map +1 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts +4 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts.map +1 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.d.ts +56 -0
- package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +1 -0
- package/dist/components/resizable/index.d.ts.map +1 -0
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/resizable/index.js.map +1 -0
- package/dist/components/resizable/resizable-context.d.ts.map +1 -0
- package/dist/components/resizable/resizable.agent.d.ts +2 -1
- package/dist/components/resizable/resizable.agent.d.ts.map +1 -0
- package/dist/components/resizable/resizable.d.ts +6 -0
- package/dist/components/resizable/resizable.d.ts.map +1 -0
- package/dist/components/rich-text-editor/index.d.ts.map +1 -0
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/rich-text-editor/index.js.map +1 -0
- package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -0
- package/dist/components/rich-text-editor/rich-text-editor.d.ts +2 -0
- package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -0
- package/dist/components/scroll-area/index.d.ts.map +1 -0
- package/dist/components/scroll-area/index.js.map +1 -0
- package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
- package/dist/components/search-bar/index.d.ts +2 -1
- package/dist/components/search-bar/index.d.ts.map +1 -0
- package/dist/components/search-bar/index.js +3 -2
- package/dist/components/search-bar/index.js.map +1 -0
- package/dist/components/search-bar/search-bar.agent.d.ts +4 -0
- package/dist/components/search-bar/search-bar.agent.d.ts.map +1 -0
- package/dist/components/search-bar/search-bar.d.ts +27 -1
- package/dist/components/search-bar/search-bar.d.ts.map +1 -0
- package/dist/components/search-input/index.d.ts +2 -1
- package/dist/components/search-input/index.d.ts.map +1 -0
- package/dist/components/search-input/index.js +4 -2
- package/dist/components/search-input/index.js.map +1 -0
- package/dist/components/search-input/search-input.agent.d.ts +4 -0
- package/dist/components/search-input/search-input.agent.d.ts.map +1 -0
- package/dist/components/search-input/search-input.d.ts +27 -0
- package/dist/components/search-input/search-input.d.ts.map +1 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/select.agent.d.ts +4 -0
- package/dist/components/select/select.agent.d.ts.map +1 -0
- package/dist/components/select/select.d.ts +9 -0
- package/dist/components/select/select.d.ts.map +1 -0
- package/dist/components/separator/index.d.ts.map +1 -0
- package/dist/components/separator/index.js.map +1 -0
- package/dist/components/separator/separator.d.ts.map +1 -0
- package/dist/components/sheet/index.d.ts.map +1 -0
- package/dist/components/sheet/index.js +2 -2
- package/dist/components/sheet/index.js.map +1 -0
- package/dist/components/sheet/sheet.agent.d.ts +2 -1
- package/dist/components/sheet/sheet.agent.d.ts.map +1 -0
- package/dist/components/sheet/sheet.d.ts +11 -2
- package/dist/components/sheet/sheet.d.ts.map +1 -0
- package/dist/components/sidebar/index.d.ts.map +1 -0
- package/dist/components/sidebar/index.js +2 -2
- package/dist/components/sidebar/index.js.map +1 -0
- package/dist/components/sidebar/sidebar.agent.d.ts +2 -1
- package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar.d.ts +6 -0
- package/dist/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/components/sign-in-with-alfadocs-button/index.d.ts.map +1 -0
- package/dist/components/sign-in-with-alfadocs-button/index.js.map +1 -0
- package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +1 -0
- package/dist/components/signature-capture/index.d.ts.map +1 -0
- package/dist/components/signature-capture/index.js +1 -1
- package/dist/components/signature-capture/index.js.map +1 -0
- package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -0
- package/dist/components/signature-capture/signature-capture.d.ts +2 -0
- package/dist/components/signature-capture/signature-capture.d.ts.map +1 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/skip-link/index.d.ts.map +1 -0
- package/dist/components/skip-link/index.js.map +1 -0
- package/dist/components/skip-link/skip-link.d.ts.map +1 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/slider/slider.agent.d.ts +4 -0
- package/dist/components/slider/slider.agent.d.ts.map +1 -0
- package/dist/components/slider/slider.d.ts +5 -0
- package/dist/components/slider/slider.d.ts.map +1 -0
- package/dist/components/slot-grid/index.d.ts.map +1 -0
- package/dist/components/slot-grid/index.js.map +1 -0
- package/dist/components/slot-grid/slot-grid.d.ts.map +1 -0
- package/dist/components/sparkline/index.d.ts.map +1 -0
- package/dist/components/sparkline/index.js +1 -1
- package/dist/components/sparkline/index.js.map +1 -0
- package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -0
- package/dist/components/sparkline/sparkline.d.ts.map +1 -0
- package/dist/components/sparkline/use-linear-trend.d.ts.map +1 -0
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/spinner/spinner.d.ts.map +1 -0
- package/dist/components/stat/index.d.ts.map +1 -0
- package/dist/components/stat/index.js.map +1 -0
- package/dist/components/stat/stat.d.ts.map +1 -0
- package/dist/components/stepper-accordion/index.d.ts +2 -1
- package/dist/components/stepper-accordion/index.d.ts.map +1 -0
- package/dist/components/stepper-accordion/index.js +3 -2
- package/dist/components/stepper-accordion/index.js.map +1 -0
- package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts +4 -0
- package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts.map +1 -0
- package/dist/components/stepper-accordion/stepper-accordion.d.ts +19 -1
- package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -0
- package/dist/components/stepper-calendar/index.d.ts +2 -1
- package/dist/components/stepper-calendar/index.d.ts.map +1 -0
- package/dist/components/stepper-calendar/index.js +3 -2
- package/dist/components/stepper-calendar/index.js.map +1 -0
- package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +4 -0
- package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts.map +1 -0
- package/dist/components/stepper-calendar/stepper-calendar.d.ts +19 -1
- package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +1 -0
- package/dist/components/stepper-progress/index.d.ts +2 -1
- package/dist/components/stepper-progress/index.d.ts.map +1 -0
- package/dist/components/stepper-progress/index.js +4 -2
- package/dist/components/stepper-progress/index.js.map +1 -0
- package/dist/components/stepper-progress/stepper-progress.agent.d.ts +4 -0
- package/dist/components/stepper-progress/stepper-progress.agent.d.ts.map +1 -0
- package/dist/components/stepper-progress/stepper-progress.d.ts +26 -1
- package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -0
- package/dist/components/streaming-text/index.d.ts.map +1 -0
- package/dist/components/streaming-text/index.js.map +1 -0
- package/dist/components/streaming-text/streaming-text.d.ts.map +1 -0
- package/dist/components/suggestion-chip/index.d.ts +2 -1
- package/dist/components/suggestion-chip/index.d.ts.map +1 -0
- package/dist/components/suggestion-chip/index.js +5 -3
- package/dist/components/suggestion-chip/index.js.map +1 -0
- package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts +4 -0
- package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts.map +1 -0
- package/dist/components/suggestion-chip/suggestion-chip.d.ts +7 -1
- package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +1 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +1 -1
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/switch.agent.d.ts +4 -0
- package/dist/components/switch/switch.agent.d.ts.map +1 -0
- package/dist/components/switch/switch.d.ts +6 -0
- package/dist/components/switch/switch.d.ts.map +1 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/tabs.agent.d.ts +2 -1
- package/dist/components/tabs/tabs.agent.d.ts.map +1 -0
- package/dist/components/tabs/tabs.d.ts +4 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tag/index.d.ts.map +1 -0
- package/dist/components/tag/index.js.map +1 -0
- package/dist/components/tag/tag.d.ts.map +1 -0
- package/dist/components/task-card/index.d.ts +1 -0
- package/dist/components/task-card/index.d.ts.map +1 -0
- package/dist/components/task-card/index.js +5 -3
- package/dist/components/task-card/index.js.map +1 -0
- package/dist/components/task-card/task-card.agent.d.ts +3 -0
- package/dist/components/task-card/task-card.agent.d.ts.map +1 -0
- package/dist/components/task-card/task-card.d.ts.map +1 -0
- package/dist/components/task-tray/index.d.ts +2 -1
- package/dist/components/task-tray/index.d.ts.map +1 -0
- package/dist/components/task-tray/index.js +3 -2
- package/dist/components/task-tray/index.js.map +1 -0
- package/dist/components/task-tray/task-tray.agent.d.ts +4 -0
- package/dist/components/task-tray/task-tray.agent.d.ts.map +1 -0
- package/dist/components/task-tray/task-tray.d.ts +25 -2
- package/dist/components/task-tray/task-tray.d.ts.map +1 -0
- package/dist/components/text-area/index.d.ts.map +1 -0
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-area/index.js.map +1 -0
- package/dist/components/text-area/text-area.agent.d.ts +4 -0
- package/dist/components/text-area/text-area.agent.d.ts.map +1 -0
- package/dist/components/text-area/text-area.d.ts +7 -0
- package/dist/components/text-area/text-area.d.ts.map +1 -0
- package/dist/components/text-input/index.d.ts.map +1 -0
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/text-input/index.js.map +1 -0
- package/dist/components/text-input/text-input.agent.d.ts +4 -0
- package/dist/components/text-input/text-input.agent.d.ts.map +1 -0
- package/dist/components/text-input/text-input.d.ts +10 -0
- package/dist/components/text-input/text-input.d.ts.map +1 -0
- package/dist/components/theme-root/index.d.ts.map +1 -0
- package/dist/components/theme-root/index.js.map +1 -0
- package/dist/components/theme-root/theme-root.d.ts.map +1 -0
- package/dist/components/theme-toggle/index.d.ts +2 -1
- package/dist/components/theme-toggle/index.d.ts.map +1 -0
- package/dist/components/theme-toggle/index.js +3 -2
- package/dist/components/theme-toggle/index.js.map +1 -0
- package/dist/components/theme-toggle/theme-toggle.agent.d.ts +4 -0
- package/dist/components/theme-toggle/theme-toggle.agent.d.ts.map +1 -0
- package/dist/components/theme-toggle/theme-toggle.d.ts +9 -2
- package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -0
- package/dist/components/time-picker/index.d.ts +2 -1
- package/dist/components/time-picker/index.d.ts.map +1 -0
- package/dist/components/time-picker/index.js +3 -2
- package/dist/components/time-picker/index.js.map +1 -0
- package/dist/components/time-picker/time-picker.agent.d.ts +4 -0
- package/dist/components/time-picker/time-picker.agent.d.ts.map +1 -0
- package/dist/components/time-picker/time-picker.d.ts +16 -1
- package/dist/components/time-picker/time-picker.d.ts.map +1 -0
- package/dist/components/timeline/index.d.ts +2 -1
- package/dist/components/timeline/index.d.ts.map +1 -0
- package/dist/components/timeline/index.js +3 -2
- package/dist/components/timeline/index.js.map +1 -0
- package/dist/components/timeline/timeline.agent.d.ts +4 -0
- package/dist/components/timeline/timeline.agent.d.ts.map +1 -0
- package/dist/components/timeline/timeline.d.ts +8 -1
- package/dist/components/timeline/timeline.d.ts.map +1 -0
- package/dist/components/timestamp/index.d.ts.map +1 -0
- package/dist/components/timestamp/index.js.map +1 -0
- package/dist/components/timestamp/timestamp.d.ts.map +1 -0
- package/dist/components/toast/index.d.ts +3 -2
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +7 -5
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/toast.agent.d.ts +4 -0
- package/dist/components/toast/toast.agent.d.ts.map +1 -0
- package/dist/components/toast/toast.d.ts +8 -0
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/tooth-scheme/index.d.ts.map +1 -0
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/tooth-scheme/index.js.map +1 -0
- package/dist/components/tooth-scheme/tooth-data.d.ts.map +1 -0
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -0
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +2 -0
- package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -0
- package/dist/components/transcript-panel/index.d.ts +2 -1
- package/dist/components/transcript-panel/index.d.ts.map +1 -0
- package/dist/components/transcript-panel/index.js +3 -2
- package/dist/components/transcript-panel/index.js.map +1 -0
- package/dist/components/transcript-panel/transcript-panel.agent.d.ts +4 -0
- package/dist/components/transcript-panel/transcript-panel.agent.d.ts.map +1 -0
- package/dist/components/transcript-panel/transcript-panel.d.ts +10 -1
- package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -0
- package/dist/components/typing-indicator/index.d.ts.map +1 -0
- package/dist/components/typing-indicator/index.js.map +1 -0
- package/dist/components/typing-indicator/typing-indicator.d.ts.map +1 -0
- package/dist/components/visually-hidden/index.d.ts.map +1 -0
- package/dist/components/visually-hidden/index.js.map +1 -0
- package/dist/components/visually-hidden/visually-hidden.d.ts.map +1 -0
- package/dist/components/warning-stack/index.d.ts.map +1 -0
- package/dist/components/warning-stack/index.js.map +1 -0
- package/dist/components/warning-stack/warning-stack.d.ts.map +1 -0
- package/dist/components/workflow/index.d.ts +2 -1
- package/dist/components/workflow/index.d.ts.map +1 -0
- package/dist/components/workflow/index.js +10 -7
- package/dist/components/workflow/index.js.map +1 -0
- package/dist/components/workflow/workflow-card.d.ts.map +1 -0
- package/dist/components/workflow/workflow-editor.d.ts +7 -1
- package/dist/components/workflow/workflow-editor.d.ts.map +1 -0
- package/dist/components/workflow/workflow-map.d.ts +2 -0
- package/dist/components/workflow/workflow-map.d.ts.map +1 -0
- package/dist/components/workflow/workflow-types.d.ts.map +1 -0
- package/dist/components/workflow/workflow.agent.d.ts +6 -0
- package/dist/components/workflow/workflow.agent.d.ts.map +1 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-locale.d.ts.map +1 -0
- package/dist/hooks/use-media-query.d.ts.map +1 -0
- package/dist/hooks/use-prefers-reduced-motion.d.ts.map +1 -0
- package/dist/hooks/use-theme.d.ts.map +1 -0
- package/dist/i18n/config.d.ts.map +1 -0
- package/dist/i18n/config.js +24 -11
- package/dist/i18n/config.js.map +1 -0
- package/dist/i18n/resources.d.ts +7 -0
- package/dist/i18n/resources.d.ts.map +1 -0
- package/dist/index.js +471 -423
- package/dist/index.js.map +1 -0
- package/dist/locales/en.json +7 -0
- package/dist/option/index.js.map +1 -0
- package/dist/patterns/leo-assistant/index.d.ts.map +1 -0
- package/dist/patterns/leo-assistant/index.js +1 -1
- package/dist/patterns/leo-assistant/index.js.map +1 -0
- package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +1 -0
- package/dist/patterns/leo-assistant/leo-embedded.d.ts.map +1 -0
- package/dist/patterns/leo-assistant/leo-popout.d.ts.map +1 -0
- package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +1 -0
- package/dist/patterns/leo-assistant/leo-types.d.ts.map +1 -0
- package/dist/patterns/patient-shell/index.d.ts.map +1 -0
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/patterns/patient-shell/index.js.map +1 -0
- package/dist/patterns/patient-shell/patient-shell.d.ts.map +1 -0
- package/dist/safe-html/index.js.map +1 -0
- package/dist/tokens/apexcharts-theme.d.ts.map +1 -0
- package/dist/tokens/themes/bridges/stripe-appearance.d.ts.map +1 -0
- package/dist/tokens.css +1 -1
- package/package.json +26 -2
- package/dist/_chunks/accordion.agent-Cz-yglRa.js +0 -17
- package/dist/_chunks/agenda-tray-BqQZwiHc.js +0 -120
- package/dist/_chunks/ai-prompt-input-CI27KmZ1.js +0 -380
- package/dist/_chunks/audio-recorder-B-8SKgKn.js +0 -376
- package/dist/_chunks/autocomplete.agent-DqOy0_1P.js +0 -372
- package/dist/_chunks/breadcrumb-D6xpsP7n.js +0 -293
- package/dist/_chunks/checkbox-DNK4qS2_.js +0 -116
- package/dist/_chunks/checkbox-group-CWpGZEF6.js +0 -146
- package/dist/_chunks/collapsible-D4LOdLxp.js +0 -67
- package/dist/_chunks/combobox.agent-ByobCLJ_.js +0 -350
- package/dist/_chunks/date-picker-DYXNsWmM.js +0 -1726
- package/dist/_chunks/date-range-picker-BcNDJI7m.js +0 -183
- package/dist/_chunks/date-time-picker-CmGiTU__.js +0 -202
- package/dist/_chunks/dialog.agent-DEG_fVzG.js +0 -147
- package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +0 -17
- package/dist/_chunks/freemium-paywall-CkefGLM_.js +0 -198
- package/dist/_chunks/list-B1ozIjQe.js +0 -359
- package/dist/_chunks/message-tray-VaLpQU5t.js +0 -303
- package/dist/_chunks/navigation-menu-EVFau1O2.js +0 -180
- package/dist/_chunks/notification-tray-B7U5YZYg.js +0 -328
- package/dist/_chunks/number-input-DjpT_RXJ.js +0 -249
- package/dist/_chunks/otp-input-De5_Ih7B.js +0 -189
- package/dist/_chunks/pagination.agent-oEaqmtx5.js +0 -380
- package/dist/_chunks/password-input-DJDVznWH.js +0 -193
- package/dist/_chunks/phone-input-DE_39q65.js +0 -428
- package/dist/_chunks/popover-C3CTUsqh.js +0 -227
- package/dist/_chunks/popover.agent-C0qOx9WT.js +0 -13
- package/dist/_chunks/privacy-lock-CQpgkLec.js +0 -132
- package/dist/_chunks/progress-B4Of_pzz.js +0 -252
- package/dist/_chunks/progress.agent-CXkHURjX.js +0 -22
- package/dist/_chunks/radio-group-BIUbpWml.js +0 -89
- package/dist/_chunks/resizable.agent-DBpPGNdy.js +0 -435
- package/dist/_chunks/search-bar-fcGqDFW3.js +0 -397
- package/dist/_chunks/search-input-BVMCONyN.js +0 -197
- package/dist/_chunks/select-IY_JQa-F.js +0 -321
- package/dist/_chunks/sheet.agent-DwQlBqK9.js +0 -13
- package/dist/_chunks/sidebar.agent-B0fnH9CC.js +0 -17
- package/dist/_chunks/slider-DjyRt3Mp.js +0 -274
- package/dist/_chunks/sparkline.agent-C_xp3NRB.js +0 -238
- package/dist/_chunks/stepper-accordion-CGog0JSF.js +0 -233
- package/dist/_chunks/stepper-calendar-_fLOAjus.js +0 -570
- package/dist/_chunks/stepper-progress-rE7tn7WY.js +0 -129
- package/dist/_chunks/suggestion-chip-BNJ2M8Os.js +0 -158
- package/dist/_chunks/switch-aN2EYxHh.js +0 -138
- package/dist/_chunks/task-tray-BzahI5FQ.js +0 -100
- package/dist/_chunks/text-area-DmKSd2DG.js +0 -152
- package/dist/_chunks/text-input-CRHvl5zk.js +0 -188
- package/dist/_chunks/theme-toggle-BHiMMEQN.js +0 -329
- package/dist/_chunks/time-picker-D-EueWUG.js +0 -322
- package/dist/_chunks/timeline-RgAIzpMd.js +0 -220
- package/dist/_chunks/transcript-panel-CNbVGG9L.js +0 -266
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-calendar.agent-9iT3ClIB.js","sources":["../../node_modules/date-fns/subMonths.js","../../src/components/stepper-calendar/stepper-calendar.tsx","../../src/components/stepper-calendar/stepper-calendar.agent.ts"],"sourcesContent":["import { addMonths } from \"./addMonths.js\";\n\n/**\n * The subMonths function options.\n */\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount, options) {\n return addMonths(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n addDays,\n addMonths,\n format as fnsFormat,\n isSameDay,\n isSameMonth,\n parseISO,\n startOfMonth,\n startOfWeek,\n subMonths,\n} from 'date-fns';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport type { StepSpec, StepStatus } from '../_shared/stepper';\nimport { stateForStep } from '../_shared/stepper';\nimport { StepperProgress } from '../stepper-progress/stepper-progress';\nimport { Button } from '../button/button';\nimport { IconButton } from '../button/icon-button';\nimport { SlotGrid, type SlotGridDay, type SlotGridSlot } from '../slot-grid/slot-grid';\nimport { Skeleton } from '../skeleton/skeleton';\nimport { EmptyState } from '../empty-state/empty-state';\nimport { resolveFirstDay } from '../calendar/calendar';\n\n// Slot IDs use a fixed `${yyyy-mm-dd}T${HH:mm}` shape so the trailing time\n// segment can be safely peeled off in onSlotSelect. Validating against the\n// shape rather than splitting blindly so an unexpected ID surfaces as a\n// no-op rather than a malformed time value.\nconst SLOT_ID_PATTERN = /^(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2})$/;\n\n/* -------------------------------------------------------------------- */\n/* StepperCalendar */\n/* */\n/* Single-component, A/B-testable appointment-booking flow with 4 */\n/* fixed steps in this order: */\n/* 0. Service — pick from `services` */\n/* 1. Date — inline month grid; only `availableDates` are enabled */\n/* 2. Time — slot grid showing `availableSlots[selectedDate]` */\n/* 3. Details — render-prop slot for the consumer's form fields */\n/* -------------------------------------------------------------------- */\n\n/** Service offering rendered on Step 1. Data is API-driven by the consumer. */\nexport interface StepperCalendarService {\n id: string;\n /** Already-translated label (consumer is responsible for i18n of data). */\n label: string;\n /** Duration in minutes — shown alongside the label. */\n durationMin: number;\n /** Optional secondary line. */\n description?: string;\n}\n\n/** Re-exported for convenience. */\nexport type ServiceOption = StepperCalendarService;\n\n/** Booking selection — controlled by the consumer. */\nexport interface StepperCalendarValue {\n serviceId?: string;\n /** ISO yyyy-mm-dd. */\n date?: string;\n /** HH:mm (24h). */\n time?: string;\n}\n\nconst TOTAL_STEPS = 4;\n\nconst rootVariants = cva(\n 'ds:flex ds:w-full ds:flex-col ds:gap-[var(--spacing-md)] ds:text-[var(--foreground)]',\n {\n variants: {\n layout: {\n vertical: 'ds:flex-col',\n horizontal: 'ds:lg:flex-row ds:lg:items-start',\n },\n density: {\n comfortable: 'ds:gap-[var(--spacing-md)]',\n compact: 'ds:gap-[var(--spacing-sm)]',\n },\n },\n defaultVariants: {\n layout: 'vertical',\n density: 'comfortable',\n },\n },\n);\n\nconst stepBodyVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-md)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[var(--border)] ds:bg-[var(--card)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]',\n ].join(' '),\n {\n variants: {\n density: {\n comfortable: 'ds:gap-[var(--spacing-md)]',\n compact: 'ds:gap-[var(--spacing-sm)]',\n },\n },\n defaultVariants: { density: 'comfortable' },\n },\n);\n\nconst serviceCardVariants = cva(\n [\n 'ds:group/service ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)] ds:text-start',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[var(--border)] ds:bg-[var(--background)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:transition-[background-color,border-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n 'ds:motion-reduce:transition-none',\n 'ds:hover:enabled:bg-[var(--muted)]/40',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:aria-checked:border-[var(--primary)] ds:aria-checked:bg-[var(--primary)]/5',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed',\n ].join(' '),\n);\n\nconst monthHeaderVariants = cva(\n 'ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]',\n);\n\nconst monthGridVariants = cva(\n 'ds:grid ds:grid-cols-7 ds:gap-[var(--spacing-xs)]',\n);\n\nconst dayCellVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center',\n // `min-target-size` (44/48px) governs the rendered size — it always\n // exceeds the explicit floor below. Keeping the explicit floor for\n // grid layout stability when the cell content is empty (skeletons),\n // matching the precedent in `slot-grid`.\n 'ds:min-h-[var(--min-target-size)] ds:min-w-[var(--min-target-size)]',\n 'ds:h-10 ds:w-10 ds:rounded-[var(--radius-sm)]',\n 'ds:text-[length:var(--font-size-sm)] ds:font-[var(--font-weight-medium)]',\n 'ds:border ds:border-transparent ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n 'ds:transition-[background-color,border-color,color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n 'ds:motion-reduce:transition-none',\n 'ds:hover:enabled:bg-[var(--muted)]/40',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:opacity-40 ds:disabled:cursor-not-allowed',\n 'ds:aria-selected:bg-[var(--primary)] ds:aria-selected:text-[var(--primary-foreground)]',\n 'ds:aria-selected:border-[var(--primary)]',\n 'ds:data-[outside=true]:text-[var(--muted-foreground)]',\n ].join(' '),\n);\n\nconst actionsRowVariants = cva(\n 'ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:mt-[var(--spacing-md)]',\n);\n\n/* -------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------- */\n\nfunction isoDay(date: Date): string {\n return fnsFormat(date, 'yyyy-MM-dd');\n}\n\n/** Compute the first incomplete step from the current value. */\nfunction firstIncompleteStep(value: StepperCalendarValue): number {\n if (!value.serviceId) return 0;\n if (!value.date) return 1;\n if (!value.time) return 2;\n return 3;\n}\n\n/* -------------------------------------------------------------------- */\n/* Public props */\n/* -------------------------------------------------------------------- */\n\nexport interface StepperCalendarProps\n extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'onChange' | 'onSubmit'\n >,\n VariantProps<typeof rootVariants> {\n services: StepperCalendarService[];\n availableDates: string[];\n availableSlots: Record<string, string[]>;\n value: StepperCalendarValue;\n onChange: (next: StepperCalendarValue) => void;\n onSubmit?: (value: StepperCalendarValue) => void;\n detailsFields?: ReactNode;\n loadingDates?: boolean;\n loadingSlots?: boolean;\n /** Per-step status overrides — `error` will mark a step in the rail. */\n stepStatuses?: Partial<Record<0 | 1 | 2 | 3, StepStatus>>;\n 'aria-label'?: string;\n /**\n * Consumer-supplied instance id, surfaced as `data-component-id` so an\n * agent / UI bridge can address this instance.\n */\n id?: string;\n}\n\n/**\n * Imperative handle for agent-readiness. The booking value itself is\n * owned by the consumer through `value` / `onChange`, so the handle\n * deliberately exposes only step navigation — not the selected\n * service / date / time.\n */\nexport interface StepperCalendarHandle {\n getCurrentStep: () => number;\n getTotalSteps: () => number;\n gotoStep: (step: number) => void;\n next: () => void;\n previous: () => void;\n}\n\n/* -------------------------------------------------------------------- */\n/* Service grid (Step 0) */\n/* -------------------------------------------------------------------- */\n\ninterface ServiceGridProps {\n services: StepperCalendarService[];\n selectedId?: string;\n onSelect: (id: string) => void;\n durationLabel: (minutes: number) => string;\n groupLabel: string;\n}\n\nconst ServiceGrid = forwardRef<HTMLDivElement, ServiceGridProps>(\n ({ services, selectedId, onSelect, durationLabel, groupLabel }, ref) => {\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n const focusedIndex = (() => {\n const i = services.findIndex((s) => s.id === selectedId);\n return i >= 0 ? i : 0;\n })();\n\n const moveFocus = (next: number) => {\n const wrapped = (next + services.length) % services.length;\n const target = itemRefs.current[wrapped];\n if (!target) return;\n // Per WAI-ARIA radiogroup, arrow keys move focus AND selection.\n target.focus();\n const svc = services[wrapped];\n if (svc) onSelect(svc.id);\n };\n\n const handleKeyDown = (\n event: KeyboardEvent<HTMLButtonElement>,\n currentIndex: number,\n ) => {\n // RTL inversion: in an RTL document, ArrowLeft visually advances forward.\n const isRtl =\n typeof document !== 'undefined' &&\n document.documentElement.dir === 'rtl';\n const forward = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const back = isRtl ? 'ArrowRight' : 'ArrowLeft';\n if (event.key === forward || event.key === 'ArrowDown') {\n event.preventDefault();\n moveFocus(currentIndex + 1);\n return;\n }\n if (event.key === back || event.key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(currentIndex - 1);\n return;\n }\n if (event.key === 'Home') {\n event.preventDefault();\n moveFocus(0);\n return;\n }\n if (event.key === 'End') {\n event.preventDefault();\n moveFocus(services.length - 1);\n }\n };\n\n return (\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={groupLabel}\n className=\"ds:grid ds:gap-[var(--spacing-sm)] ds:sm:grid-cols-2\"\n >\n {services.map((svc, index) => {\n const checked = svc.id === selectedId;\n const isRovingTabStop = index === focusedIndex;\n return (\n <button\n key={svc.id}\n ref={(el) => {\n itemRefs.current[index] = el;\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n tabIndex={isRovingTabStop ? 0 : -1}\n onClick={() => onSelect(svc.id)}\n onKeyDown={(e) => handleKeyDown(e, index)}\n className={serviceCardVariants()}\n >\n <span className=\"type-body-sm ds:font-[var(--font-weight-semibold)] ds:text-[var(--foreground)]\">\n {svc.label}\n </span>\n {svc.description ? (\n <span className=\"type-meta ds:text-[var(--muted-foreground)]\">\n {svc.description}\n </span>\n ) : null}\n <span className=\"type-meta ds:text-[var(--muted-foreground)]\">\n {durationLabel(svc.durationMin)}\n </span>\n </button>\n );\n })}\n </div>\n );\n },\n);\nServiceGrid.displayName = 'StepperCalendar.ServiceGrid';\n\n/* -------------------------------------------------------------------- */\n/* Inline month grid (Step 1) */\n/* -------------------------------------------------------------------- */\n\ntype WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\ninterface MonthGridProps {\n availableDates: Set<string>;\n selectedDate?: string;\n onSelectDate: (iso: string) => void;\n loading: boolean;\n locale: string;\n weekStartsOn: WeekStart;\n prevLabel: string;\n nextLabel: string;\n emptyLabel: string;\n}\n\nconst MonthGrid = forwardRef<HTMLDivElement, MonthGridProps>(\n (\n {\n availableDates,\n selectedDate,\n onSelectDate,\n loading,\n locale,\n weekStartsOn,\n prevLabel,\n nextLabel,\n emptyLabel,\n },\n ref,\n ) => {\n const initialMonth = useMemo(() => {\n if (selectedDate) return parseISO(selectedDate);\n const first = [...availableDates].sort()[0];\n return first ? parseISO(first) : new Date();\n }, [availableDates, selectedDate]);\n\n const [month, setMonth] = useState<Date>(initialMonth);\n const [focusedDay, setFocusedDay] = useState<Date>(\n selectedDate ? parseISO(selectedDate) : initialMonth,\n );\n\n // Build the 6x7 grid (always full weeks for stable layout).\n const monthStart = startOfMonth(month);\n const gridStart = startOfWeek(monthStart, { weekStartsOn });\n const days: Date[] = useMemo(() => {\n const cells: Date[] = [];\n for (let i = 0; i < 42; i += 1) {\n cells.push(addDays(gridStart, i));\n }\n return cells;\n }, [gridStart]);\n\n const weekdayLabels = useMemo(() => {\n const base = startOfWeek(new Date(), { weekStartsOn });\n const fmt = new Intl.DateTimeFormat(locale, { weekday: 'short' });\n return Array.from({ length: 7 }, (_, i) => fmt.format(addDays(base, i)));\n }, [locale, weekStartsOn]);\n\n const monthLabel = useMemo(() => {\n try {\n return new Intl.DateTimeFormat(locale, {\n month: 'long',\n year: 'numeric',\n }).format(month);\n } catch {\n return fnsFormat(month, 'MMMM yyyy');\n }\n }, [locale, month]);\n\n const isAvailable = useCallback(\n (d: Date) => availableDates.has(isoDay(d)),\n [availableDates],\n );\n\n const moveFocus = useCallback(\n (next: Date) => {\n setFocusedDay(next);\n if (!isSameMonth(next, month)) setMonth(startOfMonth(next));\n },\n [month],\n );\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const map: Record<string, number> = {\n ArrowLeft: -1,\n ArrowRight: 1,\n ArrowUp: -7,\n ArrowDown: 7,\n };\n if (event.key in map) {\n event.preventDefault();\n moveFocus(addDays(focusedDay, map[event.key]));\n return;\n }\n if (event.key === 'Home') {\n event.preventDefault();\n moveFocus(startOfWeek(focusedDay, { weekStartsOn }));\n return;\n }\n if (event.key === 'End') {\n event.preventDefault();\n moveFocus(addDays(startOfWeek(focusedDay, { weekStartsOn }), 6));\n return;\n }\n if (event.key === 'PageUp') {\n event.preventDefault();\n moveFocus(subMonths(focusedDay, 1));\n return;\n }\n if (event.key === 'PageDown') {\n event.preventDefault();\n moveFocus(addMonths(focusedDay, 1));\n return;\n }\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n if (isAvailable(focusedDay)) onSelectDate(isoDay(focusedDay));\n }\n };\n\n const focusedRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n // Move focus to the focused day when it changes. Note: when the parent\n // StepperCalendar transitions Service → Date, its own step-change focus\n // effect *also* tries to focus the body's first interactive element. In\n // practice this effect runs deeper in the tree and after mount, so it\n // wins — but consumers should be aware of the interaction if they\n // tweak the ordering.\n focusedRef.current?.focus();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedDay.getTime()]);\n\n if (loading) {\n return (\n <div ref={ref} className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n <Skeleton variant=\"text\" size=\"md\" width=\"40%\" />\n <div className={monthGridVariants()}>\n {Array.from({ length: 42 }, (_, i) => (\n <Skeleton\n key={`day-skeleton-${i}`}\n variant=\"rounded\"\n size=\"md\"\n height=\"40px\"\n />\n ))}\n </div>\n </div>\n );\n }\n\n if (availableDates.size === 0) {\n return (\n <div ref={ref}>\n <EmptyState variant=\"no-results\" title={emptyLabel} />\n </div>\n );\n }\n\n return (\n <div ref={ref} className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n <div className={monthHeaderVariants()}>\n <IconButton\n icon={<ChevronLeft />}\n aria-label={prevLabel}\n size=\"sm\"\n intent=\"ghost\"\n flipIconInRtl\n onClick={() => setMonth(subMonths(month, 1))}\n />\n <span\n className=\"type-body-sm ds:font-[var(--font-weight-semibold)]\"\n aria-live=\"polite\"\n >\n {monthLabel}\n </span>\n <IconButton\n icon={<ChevronRight />}\n aria-label={nextLabel}\n size=\"sm\"\n intent=\"ghost\"\n flipIconInRtl\n onClick={() => setMonth(addMonths(month, 1))}\n />\n </div>\n <div\n role=\"grid\"\n aria-label={monthLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\"\n onKeyDown={handleKeyDown}\n >\n <div className={monthGridVariants()} role=\"row\">\n {weekdayLabels.map((wd) => (\n <span\n key={wd}\n role=\"columnheader\"\n className=\"type-meta ds:text-center ds:text-[var(--muted-foreground)]\"\n >\n {wd}\n </span>\n ))}\n </div>\n {Array.from({ length: 6 }, (_, weekIndex) => {\n const week = days.slice(weekIndex * 7, weekIndex * 7 + 7);\n return (\n <div\n key={`week-${weekIndex}`}\n role=\"row\"\n className={monthGridVariants()}\n >\n {week.map((d) => {\n const iso = isoDay(d);\n const outside = !isSameMonth(d, month);\n const available = isAvailable(d);\n const selected = selectedDate === iso;\n const isFocused = isSameDay(d, focusedDay);\n return (\n <button\n key={iso}\n ref={isFocused ? focusedRef : undefined}\n type=\"button\"\n role=\"gridcell\"\n aria-selected={selected}\n aria-disabled={!available || undefined}\n disabled={!available}\n data-outside={outside || undefined}\n tabIndex={isFocused ? 0 : -1}\n onClick={() => available && onSelectDate(iso)}\n className={dayCellVariants()}\n >\n {fnsFormat(d, 'd')}\n </button>\n );\n })}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\nMonthGrid.displayName = 'StepperCalendar.MonthGrid';\n\n/* -------------------------------------------------------------------- */\n/* Time step body */\n/* -------------------------------------------------------------------- */\n\ninterface TimeStepBodyProps {\n date?: string;\n slots: string[];\n selectedTime?: string;\n loading: boolean;\n emptyLabel: string;\n onSelect: (time: string) => void;\n}\n\nfunction TimeStepBody({\n date,\n slots,\n selectedTime,\n loading,\n emptyLabel,\n onSelect,\n}: TimeStepBodyProps) {\n if (!date) return null;\n if (loading) {\n return (\n <SlotGrid\n days={[{ date, slots: [] }]}\n state=\"loading\"\n />\n );\n }\n if (slots.length === 0) {\n return <EmptyState variant=\"no-results\" title={emptyLabel} />;\n }\n const slotObjects: SlotGridSlot[] = slots.map((time) => {\n // Build a Date from `date` + `time` for `Intl` formatting.\n const [h, m] = time.split(':');\n const start = parseISO(date);\n start.setHours(Number(h), Number(m), 0, 0);\n return {\n id: `${date}T${time}`,\n start,\n label: time,\n };\n });\n const day: SlotGridDay = { date, slots: slotObjects };\n return (\n <SlotGrid\n days={[day]}\n selectedSlotId={selectedTime ? `${date}T${selectedTime}` : undefined}\n onSlotSelect={(slot) => {\n // Validate against the documented `${yyyy-mm-dd}T${HH:mm}` shape so\n // an unexpected ID surfaces as a no-op rather than a malformed time.\n const match = SLOT_ID_PATTERN.exec(slot.id);\n if (match) onSelect(match[2]);\n }}\n />\n );\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nconst StepperCalendar = forwardRef<StepperCalendarHandle, StepperCalendarProps>(\n (\n {\n services,\n availableDates,\n availableSlots,\n value,\n onChange,\n onSubmit,\n detailsFields,\n loadingDates = false,\n loadingSlots = false,\n stepStatuses,\n layout = 'vertical',\n density = 'comfortable',\n 'aria-label': ariaLabel,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const locale = i18n.language ?? 'en';\n const weekStartsOn = useMemo(\n () => resolveFirstDay(locale) as WeekStart,\n [locale],\n );\n\n // Derive max-allowed step from value, then clamp internal active step.\n const maxAllowed = firstIncompleteStep(value);\n const [activeStep, setActiveStep] = useState<number>(maxAllowed);\n // If `value` regresses (consumer cleared a field), pull active back.\n useEffect(() => {\n if (activeStep > maxAllowed) setActiveStep(maxAllowed);\n }, [activeStep, maxAllowed]);\n\n const headingRef = useRef<HTMLHeadingElement>(null);\n const isFirstRenderRef = useRef(true);\n\n // Move focus to the new step's heading when activeStep changes (skip\n // first render to avoid stealing focus on mount). Targeting the heading\n // (rather than the first interactive control) is the pattern recommended\n // by 05-accessibility.mdx — screen-reader users hear the step label\n // before any field, and sighted keyboard users can Tab into the form.\n useEffect(() => {\n if (isFirstRenderRef.current) {\n isFirstRenderRef.current = false;\n return;\n }\n headingRef.current?.focus();\n }, [activeStep]);\n\n const steps: StepSpec[] = useMemo(\n () => [\n {\n label: t('navigation.stepperCalendar.steps.service'),\n status: stepStatuses?.[0],\n },\n {\n label: t('navigation.stepperCalendar.steps.date'),\n status: stepStatuses?.[1],\n },\n {\n label: t('navigation.stepperCalendar.steps.time'),\n status: stepStatuses?.[2],\n },\n {\n label: t('navigation.stepperCalendar.steps.details'),\n status: stepStatuses?.[3],\n },\n ],\n [stepStatuses, t],\n );\n\n const label = ariaLabel ?? t('navigation.stepperCalendar.label');\n const backLabel = t('navigation.stepperCalendar.actions.back');\n const nextLabel = t('navigation.stepperCalendar.actions.next');\n const submitLabel = t('navigation.stepperCalendar.actions.submit');\n const emptyTimeLabel = t('navigation.stepperCalendar.time.empty');\n const prevMonthLabel = t('navigation.stepperCalendar.date.previousMonth');\n const nextMonthLabel = t('navigation.stepperCalendar.date.nextMonth');\n const serviceGroupLabel = t('navigation.stepperCalendar.steps.service');\n\n const durationLabel = useCallback(\n (minutes: number) =>\n t('navigation.stepperCalendar.service.duration', { minutes }),\n [t],\n );\n\n const canAdvance = (() => {\n if (activeStep === 0) return Boolean(value.serviceId);\n if (activeStep === 1) return Boolean(value.date);\n if (activeStep === 2) return Boolean(value.time);\n return false; // step 3 is terminal\n })();\n\n const handleServiceSelect = (serviceId: string) => {\n onChange({ ...value, serviceId });\n // Auto-advance for conversion. Use a short delay so users see the\n // selection register before the step swaps. Plain `setTimeout` (not\n // `window.setTimeout`) so the component does not assume a DOM global.\n setTimeout(() => {\n setActiveStep((s) => (s === 0 ? 1 : s));\n }, 120);\n };\n\n const handleDateSelect = (date: string) => {\n // Clear time when date changes.\n onChange({ ...value, date, time: undefined });\n };\n\n const handleTimeSelect = (time: string) => {\n onChange({ ...value, time });\n };\n\n const handleBack = () => setActiveStep((s) => Math.max(0, s - 1));\n const handleNext = () =>\n setActiveStep((s) => Math.min(TOTAL_STEPS - 1, s + 1));\n const handleSubmit = () => onSubmit?.(value);\n\n const headingId = `stepper-calendar-step-${activeStep}-heading`;\n const availableDateSet = useMemo(\n () => new Set(availableDates),\n [availableDates],\n );\n\n /* ---- Active step body ---- */\n let body: ReactNode = null;\n if (activeStep === 0) {\n body = (\n <ServiceGrid\n services={services}\n selectedId={value.serviceId}\n onSelect={handleServiceSelect}\n durationLabel={durationLabel}\n groupLabel={serviceGroupLabel}\n />\n );\n } else if (activeStep === 1) {\n body = (\n <MonthGrid\n availableDates={availableDateSet}\n selectedDate={value.date}\n onSelectDate={handleDateSelect}\n loading={loadingDates}\n locale={locale}\n weekStartsOn={weekStartsOn}\n prevLabel={prevMonthLabel}\n nextLabel={nextMonthLabel}\n emptyLabel={emptyTimeLabel}\n />\n );\n } else if (activeStep === 2) {\n body = (\n <TimeStepBody\n date={value.date}\n slots={value.date ? (availableSlots[value.date] ?? []) : []}\n selectedTime={value.time}\n loading={loadingSlots}\n emptyLabel={emptyTimeLabel}\n onSelect={handleTimeSelect}\n />\n );\n } else {\n body = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n {detailsFields}\n </div>\n );\n }\n\n const isTerminal = activeStep === TOTAL_STEPS - 1;\n const activeState = stateForStep(\n activeStep,\n activeStep,\n stepStatuses?.[activeStep as 0 | 1 | 2 | 3],\n );\n\n const handle = useMemo<StepperCalendarHandle>(\n () => ({\n getCurrentStep: () => activeStep,\n getTotalSteps: () => TOTAL_STEPS,\n gotoStep: (step: number) => {\n const clamped = Math.max(0, Math.min(step, TOTAL_STEPS - 1));\n // Honour the same gating as the UI: don't jump past first-incomplete.\n const allowed = Math.min(clamped, maxAllowed);\n if (allowed !== activeStep) setActiveStep(allowed);\n },\n next: () => {\n if (activeStep < TOTAL_STEPS - 1 && canAdvance) {\n setActiveStep(activeStep + 1);\n }\n },\n previous: () => {\n if (activeStep > 0) setActiveStep(activeStep - 1);\n },\n }),\n [activeStep, maxAllowed, canAdvance],\n );\n useImperativeHandle(ref, () => handle, [handle]);\n\n return (\n <div\n role=\"region\"\n aria-label={label}\n id={id}\n data-component=\"stepper-calendar\"\n data-component-id={id}\n className={rootVariants({ layout, density, className })}\n {...rest}\n >\n <StepperProgress\n activeStep={activeStep}\n steps={steps}\n aria-label={label}\n />\n <section\n aria-labelledby={headingId}\n className={stepBodyVariants({ density })}\n data-step={activeStep}\n data-state={activeState}\n >\n <h2\n ref={headingRef}\n id={headingId}\n tabIndex={-1}\n className=\"type-body-sm ds:font-[var(--font-weight-semibold)] ds:focus:outline-none\"\n >\n {steps[activeStep]?.label}\n </h2>\n {body}\n <div className={actionsRowVariants()}>\n <Button\n type=\"button\"\n intent=\"ghost\"\n size=\"md\"\n onClick={handleBack}\n disabled={activeStep === 0}\n >\n {backLabel}\n </Button>\n {isTerminal ? (\n <Button\n type=\"button\"\n intent=\"primary\"\n size=\"md\"\n onClick={handleSubmit}\n >\n {submitLabel}\n </Button>\n ) : (\n <Button\n type=\"button\"\n intent=\"primary\"\n size=\"md\"\n onClick={handleNext}\n disabled={!canAdvance}\n >\n {nextLabel}\n </Button>\n )}\n </div>\n </section>\n </div>\n );\n },\n);\nStepperCalendar.displayName = 'StepperCalendar';\n\nexport { StepperCalendar };\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — StepperCalendar. */\n/* */\n/* The booking flow's four steps (service / date / time / details) are */\n/* presented as a single component. The adapter exposes the active step */\n/* + total + lets agents step forward / backward or jump to a step. */\n/* The booking value itself is owned by the consumer — the adapter */\n/* deliberately does NOT read selected serviceId / date / time, since */\n/* those flow through the consumer's `value` / `onChange` contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { StepperCalendarHandle } from './stepper-calendar';\n\nexport const stepperCalendarAgent: AgentAdapter<StepperCalendarHandle> = {\n id: 'stepper-calendar',\n capabilities: ['navigate', 'view_change'],\n state: {\n currentStep: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperCalendar.state.currentStep',\n description: 'Zero-indexed active step (0 = service, 1 = date, 2 = time, 3 = details).',\n read: (handle) => handle.getCurrentStep(),\n },\n totalSteps: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperCalendar.state.totalSteps',\n description: 'Total number of steps in the booking flow (always 4).',\n read: (handle) => handle.getTotalSteps(),\n },\n },\n actions: {\n goto_step: {\n safety: 'read',\n argsType: '{ step: number }',\n descriptionKey: 'ui.agent.stepperCalendar.actions.gotoStep',\n description: 'Jump to the given step. Steps beyond the first-incomplete are gated internally.',\n invoke: (handle, args: { step: number }) => {\n handle.gotoStep(args.step);\n },\n },\n next: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperCalendar.actions.next',\n description: 'Advance to the next step when the current step has a valid value.',\n invoke: (handle) => {\n handle.next();\n },\n },\n previous: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperCalendar.actions.previous',\n description: 'Return to the previous step.',\n invoke: (handle) => {\n handle.previous();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'stepper-calendar',\n description: 'Marks the StepperCalendar root region.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n"],"names":["subMonths","date","amount","options","addMonths","SLOT_ID_PATTERN","TOTAL_STEPS","rootVariants","cva","stepBodyVariants","serviceCardVariants","monthHeaderVariants","monthGridVariants","dayCellVariants","actionsRowVariants","isoDay","fnsFormat","firstIncompleteStep","value","ServiceGrid","forwardRef","services","selectedId","onSelect","durationLabel","groupLabel","ref","itemRefs","useRef","focusedIndex","i","moveFocus","next","wrapped","target","svc","handleKeyDown","event","currentIndex","isRtl","forward","back","jsx","index","checked","jsxs","el","e","MonthGrid","availableDates","selectedDate","onSelectDate","loading","locale","weekStartsOn","prevLabel","nextLabel","emptyLabel","initialMonth","useMemo","parseISO","first","month","setMonth","useState","focusedDay","setFocusedDay","monthStart","startOfMonth","gridStart","startOfWeek","days","cells","addDays","weekdayLabels","base","fmt","_","monthLabel","isAvailable","useCallback","d","isSameMonth","map","focusedRef","useEffect","_a","Skeleton","EmptyState","IconButton","ChevronLeft","ChevronRight","wd","weekIndex","week","iso","outside","available","selected","isFocused","isSameDay","TimeStepBody","slots","selectedTime","SlotGrid","slotObjects","time","h","m","start","slot","match","StepperCalendar","availableSlots","onChange","onSubmit","detailsFields","loadingDates","loadingSlots","stepStatuses","layout","density","ariaLabel","id","className","rest","t","i18n","useTranslation","resolveFirstDay","maxAllowed","activeStep","setActiveStep","headingRef","isFirstRenderRef","steps","label","backLabel","submitLabel","emptyTimeLabel","prevMonthLabel","nextMonthLabel","serviceGroupLabel","minutes","canAdvance","handleServiceSelect","serviceId","s","handleDateSelect","handleTimeSelect","handleBack","handleNext","handleSubmit","headingId","availableDateSet","body","isTerminal","activeState","stateForStep","handle","step","clamped","allowed","useImperativeHandle","StepperProgress","Button","stepperCalendarAgent","args"],"mappings":";;;;;;;;;;;;;;;;AA4BO,SAASA,GAAUC,GAAMC,GAAQC,GAAS;AAC/C,SAAOC,EAAUH,GAAM,IAASE,CAAO;AACzC;ACUA,MAAME,KAAkB,uCAoClBC,IAAc,GAEdC,KAAeC;AAAA,EACnB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,YAAY;AAAA,MAAA;AAAA,MAEd,SAAS;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,GAEMC,KAAmBD;AAAA,EACvB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,aAAa;AAAA,QACb,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB,EAAE,SAAS,cAAA;AAAA,EAAc;AAE9C,GAEME,KAAsBF;AAAA,EAC1B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ,GAEMG,KAAsBH;AAAA,EAC1B;AACF,GAEMI,IAAoBJ;AAAA,EACxB;AACF,GAEMK,KAAkBL;AAAA,EACtB;AAAA,IACE;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ,GAEMM,KAAqBN;AAAA,EACzB;AACF;AAMA,SAASO,EAAOd,GAAoB;AAClC,SAAOe,EAAUf,GAAM,YAAY;AACrC;AAGA,SAASgB,GAAoBC,GAAqC;AAChE,SAAKA,EAAM,YACNA,EAAM,OACNA,EAAM,OACJ,IADiB,IADA,IADK;AAI/B;AAyDA,MAAMC,KAAcC;AAAA,EAClB,CAAC,EAAE,UAAAC,GAAU,YAAAC,GAAY,UAAAC,GAAU,eAAAC,GAAe,YAAAC,EAAA,GAAcC,MAAQ;AACtE,UAAMC,IAAWC,EAAqC,EAAE,GAClDC,KAAgB,MAAM;AAC1B,YAAMC,IAAIT,EAAS,UAAU,CAAC,MAAM,EAAE,OAAOC,CAAU;AACvD,aAAOQ,KAAK,IAAIA,IAAI;AAAA,IACtB,GAAA,GAEMC,IAAY,CAACC,MAAiB;AAClC,YAAMC,KAAWD,IAAOX,EAAS,UAAUA,EAAS,QAC9Ca,IAASP,EAAS,QAAQM,CAAO;AACvC,UAAI,CAACC,EAAQ;AAEb,MAAAA,EAAO,MAAA;AACP,YAAMC,IAAMd,EAASY,CAAO;AAC5B,MAAIE,KAAKZ,EAASY,EAAI,EAAE;AAAA,IAC1B,GAEMC,IAAgB,CACpBC,GACAC,MACG;AAEH,YAAMC,IACJ,OAAO,WAAa,OACpB,SAAS,gBAAgB,QAAQ,OAC7BC,IAAUD,IAAQ,cAAc,cAChCE,IAAOF,IAAQ,eAAe;AACpC,UAAIF,EAAM,QAAQG,KAAWH,EAAM,QAAQ,aAAa;AACtD,QAAAA,EAAM,eAAA,GACNN,EAAUO,IAAe,CAAC;AAC1B;AAAA,MACF;AACA,UAAID,EAAM,QAAQI,KAAQJ,EAAM,QAAQ,WAAW;AACjD,QAAAA,EAAM,eAAA,GACNN,EAAUO,IAAe,CAAC;AAC1B;AAAA,MACF;AACA,UAAID,EAAM,QAAQ,QAAQ;AACxB,QAAAA,EAAM,eAAA,GACNN,EAAU,CAAC;AACX;AAAA,MACF;AACA,MAAIM,EAAM,QAAQ,UAChBA,EAAM,eAAA,GACNN,EAAUV,EAAS,SAAS,CAAC;AAAA,IAEjC;AAEA,WACE,gBAAAqB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAhB;AAAA,QACA,MAAK;AAAA,QACL,cAAYD;AAAA,QACZ,WAAU;AAAA,QAET,UAAAJ,EAAS,IAAI,CAACc,GAAKQ,MAAU;AAC5B,gBAAMC,IAAUT,EAAI,OAAOb;AAE3B,iBACE,gBAAAuB;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,KAAK,CAACC,MAAO;AACX,gBAAAnB,EAAS,QAAQgB,CAAK,IAAIG;AAAA,cAC5B;AAAA,cACA,MAAK;AAAA,cACL,MAAK;AAAA,cACL,gBAAcF;AAAA,cACd,UAVoBD,MAAUd,IAUF,IAAI;AAAA,cAChC,SAAS,MAAMN,EAASY,EAAI,EAAE;AAAA,cAC9B,WAAW,CAACY,MAAMX,EAAcW,GAAGJ,CAAK;AAAA,cACxC,WAAWjC,GAAA;AAAA,cAEX,UAAA;AAAA,gBAAA,gBAAAgC,EAAC,QAAA,EAAK,WAAU,kFACb,UAAAP,EAAI,OACP;AAAA,gBACCA,EAAI,cACH,gBAAAO,EAAC,QAAA,EAAK,WAAU,+CACb,UAAAP,EAAI,aACP,IACE;AAAA,kCACH,QAAA,EAAK,WAAU,+CACb,UAAAX,EAAcW,EAAI,WAAW,EAAA,CAChC;AAAA,cAAA;AAAA,YAAA;AAAA,YAtBKA,EAAI;AAAA,UAAA;AAAA,QAyBf,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AACAhB,GAAY,cAAc;AAoB1B,MAAM6B,KAAY5B;AAAA,EAChB,CACE;AAAA,IACE,gBAAA6B;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,GAEF/B,MACG;AACH,UAAMgC,IAAeC,EAAQ,MAAM;AACjC,UAAIT,EAAc,QAAOU,EAASV,CAAY;AAC9C,YAAMW,IAAQ,CAAC,GAAGZ,CAAc,EAAE,KAAA,EAAO,CAAC;AAC1C,aAAOY,IAAQD,EAASC,CAAK,wBAAQ,KAAA;AAAA,IACvC,GAAG,CAACZ,GAAgBC,CAAY,CAAC,GAE3B,CAACY,GAAOC,CAAQ,IAAIC,EAAeN,CAAY,GAC/C,CAACO,GAAYC,CAAa,IAAIF;AAAA,MAClCd,IAAeU,EAASV,CAAY,IAAIQ;AAAA,IAAA,GAIpCS,IAAaC,GAAaN,CAAK,GAC/BO,IAAYC,EAAYH,GAAY,EAAE,cAAAb,GAAc,GACpDiB,IAAeZ,EAAQ,MAAM;AACjC,YAAMa,IAAgB,CAAA;AACtB,eAAS1C,IAAI,GAAGA,IAAI,IAAIA,KAAK;AAC3B,QAAA0C,EAAM,KAAKC,EAAQJ,GAAWvC,CAAC,CAAC;AAElC,aAAO0C;AAAA,IACT,GAAG,CAACH,CAAS,CAAC,GAERK,IAAgBf,EAAQ,MAAM;AAClC,YAAMgB,IAAOL,EAAY,oBAAI,QAAQ,EAAE,cAAAhB,GAAc,GAC/CsB,IAAM,IAAI,KAAK,eAAevB,GAAQ,EAAE,SAAS,SAAS;AAChE,aAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,CAACwB,GAAG/C,MAAM8C,EAAI,OAAOH,EAAQE,GAAM7C,CAAC,CAAC,CAAC;AAAA,IACzE,GAAG,CAACuB,GAAQC,CAAY,CAAC,GAEnBwB,IAAanB,EAAQ,MAAM;AAC/B,UAAI;AACF,eAAO,IAAI,KAAK,eAAeN,GAAQ;AAAA,UACrC,OAAO;AAAA,UACP,MAAM;AAAA,QAAA,CACP,EAAE,OAAOS,CAAK;AAAA,MACjB,QAAQ;AACN,eAAO9C,EAAU8C,GAAO,WAAW;AAAA,MACrC;AAAA,IACF,GAAG,CAACT,GAAQS,CAAK,CAAC,GAEZiB,IAAcC;AAAA,MAClB,CAACC,MAAYhC,EAAe,IAAIlC,EAAOkE,CAAC,CAAC;AAAA,MACzC,CAAChC,CAAc;AAAA,IAAA,GAGXlB,IAAYiD;AAAA,MAChB,CAAChD,MAAe;AACd,QAAAkC,EAAclC,CAAI,GACbkD,GAAYlD,GAAM8B,CAAK,KAAGC,EAASK,GAAapC,CAAI,CAAC;AAAA,MAC5D;AAAA,MACA,CAAC8B,CAAK;AAAA,IAAA,GAGF1B,IAAgB,CAACC,MAAyC;AAC9D,YAAM8C,IAA8B;AAAA,QAClC,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAEb,UAAI9C,EAAM,OAAO8C,GAAK;AACpB,QAAA9C,EAAM,eAAA,GACNN,EAAU0C,EAAQR,GAAYkB,EAAI9C,EAAM,GAAG,CAAC,CAAC;AAC7C;AAAA,MACF;AACA,UAAIA,EAAM,QAAQ,QAAQ;AACxB,QAAAA,EAAM,eAAA,GACNN,EAAUuC,EAAYL,GAAY,EAAE,cAAAX,EAAA,CAAc,CAAC;AACnD;AAAA,MACF;AACA,UAAIjB,EAAM,QAAQ,OAAO;AACvB,QAAAA,EAAM,eAAA,GACNN,EAAU0C,EAAQH,EAAYL,GAAY,EAAE,cAAAX,GAAc,GAAG,CAAC,CAAC;AAC/D;AAAA,MACF;AACA,UAAIjB,EAAM,QAAQ,UAAU;AAC1B,QAAAA,EAAM,eAAA,GACNN,EAAU/B,GAAUiE,CAAa,CAAC;AAClC;AAAA,MACF;AACA,UAAI5B,EAAM,QAAQ,YAAY;AAC5B,QAAAA,EAAM,eAAA,GACNN,EAAU3B,EAAU6D,GAAY,CAAC,CAAC;AAClC;AAAA,MACF;AACA,OAAI5B,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACzCA,EAAM,eAAA,GACF0C,EAAYd,CAAU,KAAGd,EAAapC,EAAOkD,CAAU,CAAC;AAAA,IAEhE,GAEMmB,IAAaxD,EAA0B,IAAI;AAYjD,WAXAyD,EAAU,MAAM;;AAOd,OAAAC,IAAAF,EAAW,YAAX,QAAAE,EAAoB;AAAA,IAEtB,GAAG,CAACrB,EAAW,QAAA,CAAS,CAAC,GAErBb,IAEA,gBAAAP,EAAC,OAAA,EAAI,KAAAnB,GAAU,WAAU,kDACvB,UAAA;AAAA,MAAA,gBAAAgB,EAAC6C,MAAS,SAAQ,QAAO,MAAK,MAAK,OAAM,OAAM;AAAA,MAC/C,gBAAA7C,EAAC,OAAA,EAAI,WAAW9B,EAAA,GACb,UAAA,MAAM,KAAK,EAAE,QAAQ,GAAA,GAAM,CAACiE,GAAG/C,MAC9B,gBAAAY;AAAA,QAAC6C;AAAA,QAAA;AAAA,UAEC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,QAAO;AAAA,QAAA;AAAA,QAHF,gBAAgBzD,CAAC;AAAA,MAAA,CAKzB,EAAA,CACH;AAAA,IAAA,GACF,IAIAmB,EAAe,SAAS,IAExB,gBAAAP,EAAC,SAAI,KAAAhB,GACH,UAAA,gBAAAgB,EAAC8C,MAAW,SAAQ,cAAa,OAAO/B,EAAA,CAAY,EAAA,CACtD,IAKF,gBAAAZ,EAAC,OAAA,EAAI,KAAAnB,GAAU,WAAU,kDACvB,UAAA;AAAA,MAAA,gBAAAmB,EAAC,OAAA,EAAI,WAAWlC,GAAA,GACd,UAAA;AAAA,QAAA,gBAAA+B;AAAA,UAAC+C;AAAA,UAAA;AAAA,YACC,wBAAOC,IAAA,EAAY;AAAA,YACnB,cAAYnC;AAAA,YACZ,MAAK;AAAA,YACL,QAAO;AAAA,YACP,eAAa;AAAA,YACb,SAAS,MAAMQ,EAAS/D,GAAU8D,CAAQ,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAE7C,gBAAApB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,aAAU;AAAA,YAET,UAAAoC;AAAA,UAAA;AAAA,QAAA;AAAA,QAEH,gBAAApC;AAAA,UAAC+C;AAAA,UAAA;AAAA,YACC,wBAAOE,IAAA,EAAa;AAAA,YACpB,cAAYnC;AAAA,YACZ,MAAK;AAAA,YACL,QAAO;AAAA,YACP,eAAa;AAAA,YACb,SAAS,MAAMO,EAAS3D,EAAU0D,GAAO,CAAC,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MAC7C,GACF;AAAA,MACA,gBAAAjB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,cAAYiC;AAAA,UACZ,WAAU;AAAA,UACV,WAAW1C;AAAA,UAEX,UAAA;AAAA,YAAA,gBAAAM,EAAC,OAAA,EAAI,WAAW9B,EAAA,GAAqB,MAAK,OACvC,UAAA8D,EAAc,IAAI,CAACkB,MAClB,gBAAAlD;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,MAAK;AAAA,gBACL,WAAU;AAAA,gBAET,UAAAkD;AAAA,cAAA;AAAA,cAJIA;AAAA,YAAA,CAMR,GACH;AAAA,YACC,MAAM,KAAK,EAAE,QAAQ,KAAK,CAACf,GAAGgB,MAAc;AAC3C,oBAAMC,IAAOvB,EAAK,MAAMsB,IAAY,GAAGA,IAAY,IAAI,CAAC;AACxD,qBACE,gBAAAnD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,MAAK;AAAA,kBACL,WAAW9B,EAAA;AAAA,kBAEV,UAAAkF,EAAK,IAAI,CAACb,MAAM;AACf,0BAAMc,IAAMhF,EAAOkE,CAAC,GACde,IAAU,CAACd,GAAYD,GAAGnB,CAAK,GAC/BmC,IAAYlB,EAAYE,CAAC,GACzBiB,IAAWhD,MAAiB6C,GAC5BI,IAAYC,GAAUnB,GAAGhB,CAAU;AACzC,2BACE,gBAAAvB;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBAEC,KAAKyD,IAAYf,IAAa;AAAA,wBAC9B,MAAK;AAAA,wBACL,MAAK;AAAA,wBACL,iBAAec;AAAA,wBACf,iBAAe,CAACD,KAAa;AAAA,wBAC7B,UAAU,CAACA;AAAA,wBACX,gBAAcD,KAAW;AAAA,wBACzB,UAAUG,IAAY,IAAI;AAAA,wBAC1B,SAAS,MAAMF,KAAa9C,EAAa4C,CAAG;AAAA,wBAC5C,WAAWlF,GAAA;AAAA,wBAEV,UAAAG,EAAUiE,GAAG,GAAG;AAAA,sBAAA;AAAA,sBAZZc;AAAA,oBAAA;AAAA,kBAeX,CAAC;AAAA,gBAAA;AAAA,gBA3BI,QAAQF,CAAS;AAAA,cAAA;AAAA,YA8B5B,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GACF;AAAA,EAEJ;AACF;AACA7C,GAAU,cAAc;AAexB,SAASqD,GAAa;AAAA,EACpB,MAAApG;AAAA,EACA,OAAAqG;AAAA,EACA,cAAAC;AAAA,EACA,SAAAnD;AAAA,EACA,YAAAK;AAAA,EACA,UAAAlC;AACF,GAAsB;AACpB,MAAI,CAACtB,EAAM,QAAO;AAClB,MAAImD;AACF,WACE,gBAAAV;AAAA,MAAC8D;AAAA,MAAA;AAAA,QACC,MAAM,CAAC,EAAE,MAAAvG,GAAM,OAAO,CAAA,GAAI;AAAA,QAC1B,OAAM;AAAA,MAAA;AAAA,IAAA;AAIZ,MAAIqG,EAAM,WAAW;AACnB,WAAO,gBAAA5D,EAAC8C,IAAA,EAAW,SAAQ,cAAa,OAAO/B,GAAY;AAE7D,QAAMgD,IAA8BH,EAAM,IAAI,CAACI,MAAS;AAEtD,UAAM,CAACC,GAAGC,CAAC,IAAIF,EAAK,MAAM,GAAG,GACvBG,IAAQjD,EAAS3D,CAAI;AAC3B,WAAA4G,EAAM,SAAS,OAAOF,CAAC,GAAG,OAAOC,CAAC,GAAG,GAAG,CAAC,GAClC;AAAA,MACL,IAAI,GAAG3G,CAAI,IAAIyG,CAAI;AAAA,MACnB,OAAAG;AAAA,MACA,OAAOH;AAAA,IAAA;AAAA,EAEX,CAAC;AAED,SACE,gBAAAhE;AAAA,IAAC8D;AAAA,IAAA;AAAA,MACC,MAAM,CAHe,EAAE,MAAAvG,GAAM,OAAOwG,EAAA,CAG1B;AAAA,MACV,gBAAgBF,IAAe,GAAGtG,CAAI,IAAIsG,CAAY,KAAK;AAAA,MAC3D,cAAc,CAACO,MAAS;AAGtB,cAAMC,IAAQ1G,GAAgB,KAAKyG,EAAK,EAAE;AAC1C,QAAIC,KAAOxF,EAASwF,EAAM,CAAC,CAAC;AAAA,MAC9B;AAAA,IAAA;AAAA,EAAA;AAGN;AAMA,MAAMC,KAAkB5F;AAAA,EACtB,CACE;AAAA,IACE,UAAAC;AAAA,IACA,gBAAA4B;AAAA,IACA,gBAAAgE;AAAA,IACA,OAAA/F;AAAA,IACA,UAAAgG;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,cAAAC,IAAe;AAAA,IACf,cAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,SAAAC,IAAU;AAAA,IACV,cAAcC;AAAA,IACd,IAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELnG,MACG;;AACH,UAAM,EAAE,GAAAoG,GAAG,MAAAC,EAAA,IAASC,GAAA,GACd3E,IAAS0E,EAAK,YAAY,MAC1BzE,IAAeK;AAAA,MACnB,MAAMsE,GAAgB5E,CAAM;AAAA,MAC5B,CAACA,CAAM;AAAA,IAAA,GAIH6E,IAAajH,GAAoBC,CAAK,GACtC,CAACiH,GAAYC,CAAa,IAAIpE,EAAiBkE,CAAU;AAE/D,IAAA7C,EAAU,MAAM;AACd,MAAI8C,IAAaD,KAAYE,EAAcF,CAAU;AAAA,IACvD,GAAG,CAACC,GAAYD,CAAU,CAAC;AAE3B,UAAMG,IAAazG,EAA2B,IAAI,GAC5C0G,IAAmB1G,EAAO,EAAI;AAOpC,IAAAyD,EAAU,MAAM;;AACd,UAAIiD,EAAiB,SAAS;AAC5B,QAAAA,EAAiB,UAAU;AAC3B;AAAA,MACF;AACA,OAAAhD,IAAA+C,EAAW,YAAX,QAAA/C,EAAoB;AAAA,IACtB,GAAG,CAAC6C,CAAU,CAAC;AAEf,UAAMI,IAAoB5E;AAAA,MACxB,MAAM;AAAA,QACJ;AAAA,UACE,OAAOmE,EAAE,0CAA0C;AAAA,UACnD,QAAQP,KAAA,gBAAAA,EAAe;AAAA,QAAC;AAAA,QAE1B;AAAA,UACE,OAAOO,EAAE,uCAAuC;AAAA,UAChD,QAAQP,KAAA,gBAAAA,EAAe;AAAA,QAAC;AAAA,QAE1B;AAAA,UACE,OAAOO,EAAE,uCAAuC;AAAA,UAChD,QAAQP,KAAA,gBAAAA,EAAe;AAAA,QAAC;AAAA,QAE1B;AAAA,UACE,OAAOO,EAAE,0CAA0C;AAAA,UACnD,QAAQP,KAAA,gBAAAA,EAAe;AAAA,QAAC;AAAA,MAC1B;AAAA,MAEF,CAACA,GAAcO,CAAC;AAAA,IAAA,GAGZU,IAAQd,KAAaI,EAAE,kCAAkC,GACzDW,IAAYX,EAAE,yCAAyC,GACvDtE,IAAYsE,EAAE,yCAAyC,GACvDY,IAAcZ,EAAE,2CAA2C,GAC3Da,IAAiBb,EAAE,uCAAuC,GAC1Dc,IAAiBd,EAAE,+CAA+C,GAClEe,KAAiBf,EAAE,2CAA2C,GAC9DgB,KAAoBhB,EAAE,0CAA0C,GAEhEtG,KAAgBwD;AAAA,MACpB,CAAC+D,MACCjB,EAAE,+CAA+C,EAAE,SAAAiB,GAAS;AAAA,MAC9D,CAACjB,CAAC;AAAA,IAAA,GAGEkB,IACAb,MAAe,IAAU,EAAQjH,EAAM,YACvCiH,MAAe,IAAU,EAAQjH,EAAM,OACvCiH,MAAe,IAAU,EAAQjH,EAAM,OACpC,IAGH+H,KAAsB,CAACC,MAAsB;AACjD,MAAAhC,EAAS,EAAE,GAAGhG,GAAO,WAAAgI,GAAW,GAIhC,WAAW,MAAM;AACf,QAAAd,EAAc,CAACe,MAAOA,MAAM,IAAI,IAAIA,CAAE;AAAA,MACxC,GAAG,GAAG;AAAA,IACR,GAEMC,KAAmB,CAACnJ,MAAiB;AAEzC,MAAAiH,EAAS,EAAE,GAAGhG,GAAO,MAAAjB,GAAM,MAAM,QAAW;AAAA,IAC9C,GAEMoJ,KAAmB,CAAC3C,MAAiB;AACzC,MAAAQ,EAAS,EAAE,GAAGhG,GAAO,MAAAwF,GAAM;AAAA,IAC7B,GAEM4C,KAAa,MAAMlB,EAAc,CAACe,MAAM,KAAK,IAAI,GAAGA,IAAI,CAAC,CAAC,GAC1DI,KAAa,MACjBnB,EAAc,CAACe,MAAM,KAAK,IAAI7I,IAAc,GAAG6I,IAAI,CAAC,CAAC,GACjDK,KAAe,MAAMrC,KAAA,gBAAAA,EAAWjG,IAEhCuI,KAAY,yBAAyBtB,CAAU,YAC/CuB,KAAmB/F;AAAA,MACvB,MAAM,IAAI,IAAIV,CAAc;AAAA,MAC5B,CAACA,CAAc;AAAA,IAAA;AAIjB,QAAI0G,IAAkB;AACtB,IAAIxB,MAAe,IACjBwB,IACE,gBAAAjH;AAAA,MAACvB;AAAA,MAAA;AAAA,QACC,UAAAE;AAAA,QACA,YAAYH,EAAM;AAAA,QAClB,UAAU+H;AAAA,QACV,eAAAzH;AAAA,QACA,YAAYsH;AAAA,MAAA;AAAA,IAAA,IAGPX,MAAe,IACxBwB,IACE,gBAAAjH;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,gBAAgB0G;AAAA,QAChB,cAAcxI,EAAM;AAAA,QACpB,cAAckI;AAAA,QACd,SAAS/B;AAAA,QACT,QAAAhE;AAAA,QACA,cAAAC;AAAA,QACA,WAAWsF;AAAA,QACX,WAAWC;AAAA,QACX,YAAYF;AAAA,MAAA;AAAA,IAAA,IAGPR,MAAe,IACxBwB,IACE,gBAAAjH;AAAA,MAAC2D;AAAA,MAAA;AAAA,QACC,MAAMnF,EAAM;AAAA,QACZ,OAAOA,EAAM,OAAQ+F,EAAe/F,EAAM,IAAI,KAAK,CAAA,IAAM,CAAA;AAAA,QACzD,cAAcA,EAAM;AAAA,QACpB,SAASoG;AAAA,QACT,YAAYqB;AAAA,QACZ,UAAUU;AAAA,MAAA;AAAA,IAAA,IAIdM,IACE,gBAAAjH,EAAC,OAAA,EAAI,WAAU,kDACZ,UAAA0E,GACH;AAIJ,UAAMwC,KAAazB,MAAe7H,IAAc,GAC1CuJ,KAAcC;AAAA,MAClB3B;AAAA,MACAA;AAAA,MACAZ,KAAA,gBAAAA,EAAeY;AAAA,IAA2B,GAGtC4B,KAASpG;AAAA,MACb,OAAO;AAAA,QACL,gBAAgB,MAAMwE;AAAA,QACtB,eAAe,MAAM7H;AAAA,QACrB,UAAU,CAAC0J,MAAiB;AAC1B,gBAAMC,IAAU,KAAK,IAAI,GAAG,KAAK,IAAID,GAAM1J,IAAc,CAAC,CAAC,GAErD4J,KAAU,KAAK,IAAID,GAAS/B,CAAU;AAC5C,UAAIgC,OAAY/B,KAAYC,EAAc8B,EAAO;AAAA,QACnD;AAAA,QACA,MAAM,MAAM;AACV,UAAI/B,IAAa7H,IAAc,KAAK0I,KAClCZ,EAAcD,IAAa,CAAC;AAAA,QAEhC;AAAA,QACA,UAAU,MAAM;AACd,UAAIA,IAAa,KAAGC,EAAcD,IAAa,CAAC;AAAA,QAClD;AAAA,MAAA;AAAA,MAEF,CAACA,GAAYD,GAAYc,CAAU;AAAA,IAAA;AAErC,WAAAmB,GAAoBzI,GAAK,MAAMqI,IAAQ,CAACA,EAAM,CAAC,GAG7C,gBAAAlH;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,cAAY2F;AAAA,QACZ,IAAAb;AAAA,QACA,kBAAe;AAAA,QACf,qBAAmBA;AAAA,QACnB,WAAWpH,GAAa,EAAE,QAAAiH,GAAQ,SAAAC,GAAS,WAAAG,GAAW;AAAA,QACrD,GAAGC;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAnF;AAAA,YAAC0H;AAAA,YAAA;AAAA,cACC,YAAAjC;AAAA,cACA,OAAAI;AAAA,cACA,cAAYC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEd,gBAAA3F;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,mBAAiB4G;AAAA,cACjB,WAAWhJ,GAAiB,EAAE,SAAAgH,GAAS;AAAA,cACvC,aAAWU;AAAA,cACX,cAAY0B;AAAA,cAEZ,UAAA;AAAA,gBAAA,gBAAAnH;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,KAAK2F;AAAA,oBACL,IAAIoB;AAAA,oBACJ,UAAU;AAAA,oBACV,WAAU;AAAA,oBAET,WAAAnE,KAAAiD,EAAMJ,CAAU,MAAhB,gBAAA7C,GAAmB;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAErBqE;AAAA,gBACD,gBAAA9G,EAAC,OAAA,EAAI,WAAW/B,GAAA,GACd,UAAA;AAAA,kBAAA,gBAAA4B;AAAA,oBAAC2H;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,QAAO;AAAA,sBACP,MAAK;AAAA,sBACL,SAASf;AAAA,sBACT,UAAUnB,MAAe;AAAA,sBAExB,UAAAM;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAEFmB,KACC,gBAAAlH;AAAA,oBAAC2H;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,QAAO;AAAA,sBACP,MAAK;AAAA,sBACL,SAASb;AAAA,sBAER,UAAAd;AAAA,oBAAA;AAAA,kBAAA,IAGH,gBAAAhG;AAAA,oBAAC2H;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,QAAO;AAAA,sBACP,MAAK;AAAA,sBACL,SAASd;AAAA,sBACT,UAAU,CAACP;AAAA,sBAEV,UAAAxF;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH,EAAA,CAEJ;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACAwD,GAAgB,cAAc;AC/3BvB,MAAMsD,KAA4D;AAAA,EACvE,IAAI;AAAA,EACJ,cAAc,CAAC,YAAY,aAAa;AAAA,EACxC,OAAO;AAAA,IACL,aAAa;AAAA,MACX,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,MAAM,CAACP,MAAWA,EAAO,eAAA;AAAA,IAAe;AAAA,IAE1C,YAAY;AAAA,MACV,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,MAAM,CAACA,MAAWA,EAAO,cAAA;AAAA,IAAc;AAAA,EACzC;AAAA,EAEF,SAAS;AAAA,IACP,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACA,GAAQQ,MAA2B;AAC1C,QAAAR,EAAO,SAASQ,EAAK,IAAI;AAAA,MAC3B;AAAA,IAAA;AAAA,IAEF,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACR,MAAW;AAClB,QAAAA,EAAO,KAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,SAAA;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;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { jsxs as l, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as A, useRef as B, useState as I, useEffect as L, useLayoutEffect as O, useMemo as $, useImperativeHandle as q } from "react";
|
|
3
|
+
import { c as n } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as D } from "react-i18next";
|
|
5
|
+
const F = n("ds:flex ds:w-full", {
|
|
6
|
+
variants: {
|
|
7
|
+
captionPosition: {
|
|
8
|
+
top: "ds:flex-col ds:gap-[var(--spacing-xs)]",
|
|
9
|
+
bottom: "ds:flex-col-reverse ds:gap-[var(--spacing-xs)]"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
defaultVariants: { captionPosition: "top" }
|
|
13
|
+
}), G = n(
|
|
14
|
+
"ds:relative ds:w-full ds:overflow-hidden ds:rounded-[var(--radius-full)] ds:bg-[var(--muted)]",
|
|
15
|
+
{
|
|
16
|
+
variants: {
|
|
17
|
+
size: {
|
|
18
|
+
sm: "ds:h-[var(--spacing-xs)]",
|
|
19
|
+
default: "ds:h-[var(--spacing-sm)]"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: { size: "default" }
|
|
23
|
+
}
|
|
24
|
+
), J = n(
|
|
25
|
+
[
|
|
26
|
+
"ds:block ds:h-full ds:rounded-[var(--radius-full)]",
|
|
27
|
+
"ds:[inline-size:calc(var(--stepper-progress-value,0)*1%)]",
|
|
28
|
+
"ds:transition-[inline-size,background-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]",
|
|
29
|
+
"ds:motion-reduce:transition-none"
|
|
30
|
+
].join(" "),
|
|
31
|
+
{
|
|
32
|
+
variants: {
|
|
33
|
+
tone: {
|
|
34
|
+
progress: "ds:bg-[var(--primary)]",
|
|
35
|
+
error: "ds:bg-[var(--destructive)]",
|
|
36
|
+
complete: "ds:bg-[var(--success,var(--primary))]"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
defaultVariants: { tone: "progress" }
|
|
40
|
+
}
|
|
41
|
+
), K = n(
|
|
42
|
+
"ds:flex ds:items-baseline ds:gap-[var(--spacing-sm)] ds:flex-wrap",
|
|
43
|
+
{
|
|
44
|
+
variants: {
|
|
45
|
+
tone: {
|
|
46
|
+
progress: "ds:text-[var(--foreground)]",
|
|
47
|
+
error: "ds:text-[var(--destructive)]",
|
|
48
|
+
complete: "ds:text-[var(--foreground)]"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
defaultVariants: { tone: "progress" }
|
|
52
|
+
}
|
|
53
|
+
), Q = A(
|
|
54
|
+
({
|
|
55
|
+
activeStep: y,
|
|
56
|
+
steps: d,
|
|
57
|
+
"aria-label": M,
|
|
58
|
+
hideCaption: N = !1,
|
|
59
|
+
size: V = "default",
|
|
60
|
+
captionPosition: w = "top",
|
|
61
|
+
id: c,
|
|
62
|
+
onStepChange: t,
|
|
63
|
+
className: P,
|
|
64
|
+
...T
|
|
65
|
+
}, j) => {
|
|
66
|
+
const { t: u } = D(), p = B(null), e = d.length, r = Math.max(0, Math.min(y, e - 1)), s = d[r], f = (s == null ? void 0 : s.status) === "error" ? "error" : "current", m = r + 1, z = e === 0 ? 0 : m / e * 100, v = f === "error" ? "error" : r === e - 1 && e > 0 ? "complete" : "progress", [k, R] = I(!1);
|
|
67
|
+
L(() => {
|
|
68
|
+
R(!0);
|
|
69
|
+
}, []);
|
|
70
|
+
const g = k ? z : 0;
|
|
71
|
+
O(() => {
|
|
72
|
+
var a;
|
|
73
|
+
(a = p.current) == null || a.style.setProperty(
|
|
74
|
+
"--stepper-progress-value",
|
|
75
|
+
String(g)
|
|
76
|
+
);
|
|
77
|
+
}, [g]);
|
|
78
|
+
const x = u("navigation.stepper.stepOfTotal", {
|
|
79
|
+
n: r + 1,
|
|
80
|
+
total: e
|
|
81
|
+
}), E = M ?? u("navigation.stepper.label"), i = f === "error" && (s != null && s.description) ? s.description : null, H = [
|
|
82
|
+
x,
|
|
83
|
+
s ? `— ${s.label}` : null,
|
|
84
|
+
i
|
|
85
|
+
].filter(Boolean).join(" "), b = $(
|
|
86
|
+
() => ({
|
|
87
|
+
getCurrentStep: () => r,
|
|
88
|
+
getTotalSteps: () => e,
|
|
89
|
+
gotoStep: (a) => {
|
|
90
|
+
if (!t) return;
|
|
91
|
+
const h = Math.max(0, Math.min(a, Math.max(e - 1, 0)));
|
|
92
|
+
h !== r && t(h);
|
|
93
|
+
},
|
|
94
|
+
next: () => {
|
|
95
|
+
t && r < e - 1 && t(r + 1);
|
|
96
|
+
},
|
|
97
|
+
previous: () => {
|
|
98
|
+
t && r > 0 && t(r - 1);
|
|
99
|
+
}
|
|
100
|
+
}),
|
|
101
|
+
[r, e, t]
|
|
102
|
+
);
|
|
103
|
+
return q(j, () => b, [b]), /* @__PURE__ */ l(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
id: c,
|
|
107
|
+
"data-component": "stepper-progress",
|
|
108
|
+
"data-component-id": c,
|
|
109
|
+
className: F({ captionPosition: w, className: P }),
|
|
110
|
+
...T,
|
|
111
|
+
children: [
|
|
112
|
+
N ? null : /* @__PURE__ */ l("div", { className: K({ tone: v }), "aria-hidden": "true", children: [
|
|
113
|
+
/* @__PURE__ */ o("span", { className: "type-meta ds:font-[var(--font-weight-semibold)]", children: x }),
|
|
114
|
+
s ? /* @__PURE__ */ l("span", { className: "type-meta ds:text-[var(--muted-foreground)]", children: [
|
|
115
|
+
"— ",
|
|
116
|
+
s.label
|
|
117
|
+
] }) : null,
|
|
118
|
+
i ? /* @__PURE__ */ o("span", { className: "type-meta ds:ms-auto ds:text-[var(--destructive)]", children: i }) : null
|
|
119
|
+
] }),
|
|
120
|
+
/* @__PURE__ */ o(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
role: "progressbar",
|
|
124
|
+
"aria-label": E,
|
|
125
|
+
"aria-valuemin": 0,
|
|
126
|
+
"aria-valuemax": e,
|
|
127
|
+
"aria-valuenow": m,
|
|
128
|
+
"aria-valuetext": H,
|
|
129
|
+
className: G({ size: V }),
|
|
130
|
+
children: /* @__PURE__ */ o(
|
|
131
|
+
"span",
|
|
132
|
+
{
|
|
133
|
+
ref: p,
|
|
134
|
+
"aria-hidden": "true",
|
|
135
|
+
className: J({ tone: v })
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
);
|
|
145
|
+
Q.displayName = "StepperProgress";
|
|
146
|
+
export {
|
|
147
|
+
Q as S
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=stepper-progress-Bmen-YXB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-progress-Bmen-YXB.js","sources":["../../src/components/stepper-progress/stepper-progress.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport type { StepSpec, StepState } from '../_shared/stepper';\n\n/* -------------------------------------------------------------------- */\n/* StepperProgress */\n/* */\n/* A lightweight \"Step N of M — {label}\" caption + fill bar. Pure */\n/* indicator — no revisit, no per-step click targets. For flows that */\n/* need editable completed steps, reach for `StepperAccordion`. */\n/* -------------------------------------------------------------------- */\n\ntype Size = 'sm' | 'default';\ntype CaptionPosition = 'top' | 'bottom';\ntype Tone = 'progress' | 'error' | 'complete';\n\nconst rootVariants = cva('ds:flex ds:w-full', {\n variants: {\n captionPosition: {\n top: 'ds:flex-col ds:gap-[var(--spacing-xs)]',\n bottom: 'ds:flex-col-reverse ds:gap-[var(--spacing-xs)]',\n },\n },\n defaultVariants: { captionPosition: 'top' },\n});\n\nconst trackVariants = cva(\n 'ds:relative ds:w-full ds:overflow-hidden ds:rounded-[var(--radius-full)] ds:bg-[var(--muted)]',\n {\n variants: {\n size: {\n sm: 'ds:h-[var(--spacing-xs)]',\n default: 'ds:h-[var(--spacing-sm)]',\n },\n },\n defaultVariants: { size: 'default' },\n },\n);\n\nconst fillVariants = cva(\n [\n 'ds:block ds:h-full ds:rounded-[var(--radius-full)]',\n 'ds:[inline-size:calc(var(--stepper-progress-value,0)*1%)]',\n 'ds:transition-[inline-size,background-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n 'ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n tone: {\n progress: 'ds:bg-[var(--primary)]',\n error: 'ds:bg-[var(--destructive)]',\n complete: 'ds:bg-[var(--success,var(--primary))]',\n },\n },\n defaultVariants: { tone: 'progress' },\n },\n);\n\nconst captionVariants = cva(\n 'ds:flex ds:items-baseline ds:gap-[var(--spacing-sm)] ds:flex-wrap',\n {\n variants: {\n tone: {\n progress: 'ds:text-[var(--foreground)]',\n error: 'ds:text-[var(--destructive)]',\n complete: 'ds:text-[var(--foreground)]',\n },\n },\n defaultVariants: { tone: 'progress' },\n },\n);\n\nexport interface StepperProgressProps\n extends Omit<ComponentPropsWithoutRef<'div'>, 'aria-label'>,\n VariantProps<typeof trackVariants>,\n VariantProps<typeof rootVariants> {\n /** Active step (0-indexed). */\n activeStep: number;\n /** Step specs — `label` is used in the caption for the active step. */\n steps: StepSpec[];\n /** Override the default `aria-label` on the progressbar. */\n 'aria-label'?: string;\n /** Hide the \"Step N of M — label\" caption. @default false */\n hideCaption?: boolean;\n /** Track size. @default 'default' */\n size?: Size;\n /** Caption position relative to the bar. @default 'top' */\n captionPosition?: CaptionPosition;\n /**\n * Consumer-supplied instance id, surfaced as `data-component-id` so an\n * agent / UI bridge can address this instance.\n */\n id?: string;\n /**\n * Called when an external driver (agent adapter) requests a step change.\n * StepperProgress is a pure indicator and does not own step state itself\n * — this hook lets a host wizard react to agent-driven navigation.\n */\n onStepChange?: (next: number) => void;\n}\n\n/**\n * Imperative handle for agent-readiness. Exposed via `ref`.\n *\n * The handle is the surface the future MCP UI bridge invokes through the\n * runtime registry. Methods are pure functions of the current props +\n * internal state; mutations route through the consumer's `onStepChange`.\n */\nexport interface StepperProgressHandle {\n getCurrentStep: () => number;\n getTotalSteps: () => number;\n gotoStep: (step: number) => void;\n next: () => void;\n previous: () => void;\n}\n\nconst StepperProgress = forwardRef<StepperProgressHandle, StepperProgressProps>(\n (\n {\n activeStep,\n steps,\n 'aria-label': ariaLabel,\n hideCaption = false,\n size = 'default',\n captionPosition = 'top',\n id,\n onStepChange,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const fillRef = useRef<HTMLSpanElement>(null);\n\n const total = steps.length;\n const clampedActive = Math.max(0, Math.min(activeStep, total - 1));\n const activeSpec = steps[clampedActive];\n // The progress variant only renders one \"active\" step at a time — the\n // shared four-way state machine collapses to error-or-current here.\n const activeState: StepState =\n activeSpec?.status === 'error' ? 'error' : 'current';\n\n // Fill reaches through the completed segments plus the current one, so\n // a 4-step flow at index 1 fills 50% (2/4). Matches the user's mental\n // model for \"how far along am I\".\n const filledCount = clampedActive + 1;\n const targetPercent = total === 0 ? 0 : (filledCount / total) * 100;\n\n const tone: Tone =\n activeState === 'error'\n ? 'error'\n : clampedActive === total - 1 && total > 0\n ? 'complete'\n : 'progress';\n\n // Mount-in animation: paint at 0 on first render, then swap to the\n // target in a post-mount effect so the CSS transition animates from\n // empty → target. Matches the pattern in `components/progress`.\n const [hasMounted, setHasMounted] = useState(false);\n useEffect(() => {\n setHasMounted(true);\n }, []);\n const percent = hasMounted ? targetPercent : 0;\n\n // Setting a CSS custom property via `style.setProperty` (rather than a\n // JSX `style={{}}` attribute) is the sanctioned escape hatch for\n // runtime-computed CSS tokens per `src/docs/23-constraints.mdx` §4;\n // the `components/progress` bar uses the same pattern for its fill.\n useLayoutEffect(() => {\n fillRef.current?.style.setProperty(\n '--stepper-progress-value',\n String(percent),\n );\n }, [percent]);\n\n const captionText = t('navigation.stepper.stepOfTotal', {\n n: clampedActive + 1,\n total,\n });\n const label = ariaLabel ?? t('navigation.stepper.label');\n const errorCopy =\n activeState === 'error' && activeSpec?.description\n ? activeSpec.description\n : null;\n // `aria-valuetext` is the single AT source — the caption is aria-hidden\n // so anything the caption exposes (label, error description) must be\n // appended here too, or it's invisible to screen-reader users who set\n // `hideCaption`.\n const valueText = [\n captionText,\n activeSpec ? `— ${activeSpec.label}` : null,\n errorCopy,\n ]\n .filter(Boolean)\n .join(' ');\n\n const handle = useMemo<StepperProgressHandle>(\n () => ({\n getCurrentStep: () => clampedActive,\n getTotalSteps: () => total,\n gotoStep: (step: number) => {\n if (!onStepChange) return;\n const clamped = Math.max(0, Math.min(step, Math.max(total - 1, 0)));\n if (clamped !== clampedActive) onStepChange(clamped);\n },\n next: () => {\n if (!onStepChange) return;\n if (clampedActive < total - 1) onStepChange(clampedActive + 1);\n },\n previous: () => {\n if (!onStepChange) return;\n if (clampedActive > 0) onStepChange(clampedActive - 1);\n },\n }),\n [clampedActive, total, onStepChange],\n );\n useImperativeHandle(ref, () => handle, [handle]);\n\n return (\n <div\n id={id}\n data-component=\"stepper-progress\"\n data-component-id={id}\n className={rootVariants({ captionPosition, className })}\n {...rest}\n >\n {hideCaption ? null : (\n <div className={captionVariants({ tone })} aria-hidden=\"true\">\n <span className=\"type-meta ds:font-[var(--font-weight-semibold)]\">\n {captionText}\n </span>\n {activeSpec ? (\n <span className=\"type-meta ds:text-[var(--muted-foreground)]\">\n — {activeSpec.label}\n </span>\n ) : null}\n {errorCopy ? (\n <span className=\"type-meta ds:ms-auto ds:text-[var(--destructive)]\">\n {errorCopy}\n </span>\n ) : null}\n </div>\n )}\n <div\n role=\"progressbar\"\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={total}\n aria-valuenow={filledCount}\n aria-valuetext={valueText}\n className={trackVariants({ size })}\n >\n <span\n ref={fillRef}\n aria-hidden=\"true\"\n className={fillVariants({ tone })}\n />\n </div>\n </div>\n );\n },\n);\nStepperProgress.displayName = 'StepperProgress';\n\nexport { StepperProgress };\n"],"names":["rootVariants","cva","trackVariants","fillVariants","captionVariants","StepperProgress","forwardRef","activeStep","steps","ariaLabel","hideCaption","size","captionPosition","id","onStepChange","className","rest","ref","t","useTranslation","fillRef","useRef","total","clampedActive","activeSpec","activeState","filledCount","targetPercent","tone","hasMounted","setHasMounted","useState","useEffect","percent","useLayoutEffect","_a","captionText","label","errorCopy","valueText","handle","useMemo","step","clamped","useImperativeHandle","jsxs","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const s = {
|
|
2
|
+
id: "stepper-progress",
|
|
3
|
+
capabilities: ["navigate"],
|
|
4
|
+
state: {
|
|
5
|
+
currentStep: {
|
|
6
|
+
type: "number",
|
|
7
|
+
descriptionKey: "ui.agent.stepperProgress.state.currentStep",
|
|
8
|
+
description: "Zero-indexed active step.",
|
|
9
|
+
read: (e) => e.getCurrentStep()
|
|
10
|
+
},
|
|
11
|
+
totalSteps: {
|
|
12
|
+
type: "number",
|
|
13
|
+
descriptionKey: "ui.agent.stepperProgress.state.totalSteps",
|
|
14
|
+
description: "Total number of steps in the flow.",
|
|
15
|
+
read: (e) => e.getTotalSteps()
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
actions: {
|
|
19
|
+
goto_step: {
|
|
20
|
+
safety: "read",
|
|
21
|
+
argsType: "{ step: number }",
|
|
22
|
+
descriptionKey: "ui.agent.stepperProgress.actions.gotoStep",
|
|
23
|
+
description: "Request the host to activate the given step via onStepChange. No-op when no handler is wired.",
|
|
24
|
+
invoke: (e, t) => {
|
|
25
|
+
e.gotoStep(t.step);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
next: {
|
|
29
|
+
safety: "read",
|
|
30
|
+
descriptionKey: "ui.agent.stepperProgress.actions.next",
|
|
31
|
+
description: "Request the host to advance one step via onStepChange.",
|
|
32
|
+
invoke: (e) => {
|
|
33
|
+
e.next();
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
previous: {
|
|
37
|
+
safety: "read",
|
|
38
|
+
descriptionKey: "ui.agent.stepperProgress.actions.previous",
|
|
39
|
+
description: "Request the host to retreat one step via onStepChange.",
|
|
40
|
+
invoke: (e) => {
|
|
41
|
+
e.previous();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
domHooks: {
|
|
46
|
+
root: {
|
|
47
|
+
attr: "data-component",
|
|
48
|
+
value: "stepper-progress",
|
|
49
|
+
description: "Marks the StepperProgress root."
|
|
50
|
+
},
|
|
51
|
+
instanceId: {
|
|
52
|
+
attr: "data-component-id",
|
|
53
|
+
sourceProp: "id",
|
|
54
|
+
description: "Sourced from the id prop."
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
s
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=stepper-progress.agent-q9InWca4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-progress.agent-q9InWca4.js","sources":["../../src/components/stepper-progress/stepper-progress.agent.ts"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — StepperProgress. */\n/* */\n/* Pure indicator — the component itself has no internal step-change */\n/* affordance. The adapter exposes the active step + total and forwards */\n/* goto/next/previous to the consumer-supplied onStepChange handler so */\n/* an agent can drive a hosting wizard by step index. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { StepperProgressHandle } from './stepper-progress';\n\nexport const stepperProgressAgent: AgentAdapter<StepperProgressHandle> = {\n id: 'stepper-progress',\n capabilities: ['navigate'],\n state: {\n currentStep: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperProgress.state.currentStep',\n description: 'Zero-indexed active step.',\n read: (handle) => handle.getCurrentStep(),\n },\n totalSteps: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperProgress.state.totalSteps',\n description: 'Total number of steps in the flow.',\n read: (handle) => handle.getTotalSteps(),\n },\n },\n actions: {\n goto_step: {\n safety: 'read',\n argsType: '{ step: number }',\n descriptionKey: 'ui.agent.stepperProgress.actions.gotoStep',\n description: 'Request the host to activate the given step via onStepChange. No-op when no handler is wired.',\n invoke: (handle, args: { step: number }) => {\n handle.gotoStep(args.step);\n },\n },\n next: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperProgress.actions.next',\n description: 'Request the host to advance one step via onStepChange.',\n invoke: (handle) => {\n handle.next();\n },\n },\n previous: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperProgress.actions.previous',\n description: 'Request the host to retreat one step via onStepChange.',\n invoke: (handle) => {\n handle.previous();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'stepper-progress',\n description: 'Marks the StepperProgress root.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n"],"names":["stepperProgressAgent","handle","args"],"mappings":"AAYO,MAAMA,IAA4D;AAAA,EACvE,IAAI;AAAA,EACJ,cAAc,CAAC,UAAU;AAAA,EACzB,OAAO;AAAA,IACL,aAAa;AAAA,MACX,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,MAAM,CAACC,MAAWA,EAAO,eAAA;AAAA,IAAe;AAAA,IAE1C,YAAY;AAAA,MACV,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,MAAM,CAACA,MAAWA,EAAO,cAAA;AAAA,IAAc;AAAA,EACzC;AAAA,EAEF,SAAS;AAAA,IACP,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACA,GAAQC,MAA2B;AAC1C,QAAAD,EAAO,SAASC,EAAK,IAAI;AAAA,MAC3B;AAAA,IAAA;AAAA,IAEF,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACD,MAAW;AAClB,QAAAA,EAAO,KAAA;AAAA,MACT;AAAA,IAAA;AAAA,IAEF,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACA,MAAW;AAClB,QAAAA,EAAO,SAAA;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;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-text-BgjCTVOw.js","sources":["../../src/components/streaming-text/streaming-text.tsx"],"sourcesContent":["import {\n forwardRef,\n Fragment,\n useEffect,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst containerVariants = cva(\n 'type-body ds:block ds:whitespace-pre-wrap ds:break-words',\n {\n variants: {\n // Family, weight, tracking, line-height all come from `.type-body` on the base.\n // Size variants override --type-body-size to shift the ramp step.\n size: {\n sm: 'ds:[--type-body-size:var(--font-size-sm)]',\n md: '',\n lg: 'ds:[--type-body-size:var(--font-size-lg)]',\n },\n density: {\n default: '',\n compact: 'ds:[--type-body-size:var(--font-size-sm)] ds:leading-snug',\n },\n },\n defaultVariants: { size: 'md', density: 'default' },\n },\n);\n\ntype NativeProps = Omit<HTMLAttributes<HTMLSpanElement>, 'children' | 'aria-busy' | 'aria-live'>;\n\nexport interface StreamingTextProps\n extends NativeProps,\n VariantProps<typeof containerVariants> {\n /** Accumulated plain-text content. Parent appends tokens as they arrive. */\n content: string;\n /** While true the blinking cursor is shown and aria-busy is set. */\n isStreaming: boolean;\n /** When true, parse a small, safe subset of markdown (bold, inline code, line-breaks).\n * No HTML passes through; no dangerouslySetInnerHTML is ever used. */\n renderMarkdown?: boolean;\n /** Announce updates more aggressively when the streamed content is primary\n * (not wrapped by a higher-level log region). Defaults to 'polite'; never\n * set to 'assertive' for streamed output. */\n ariaLive?: 'polite' | 'off';\n}\n\n/* ------------------------------------------------------------------ */\n/* Safe, dependency-free markdown-ish renderer. */\n/* Handles **bold**, `inline code`, and newlines. Anything that looks */\n/* like HTML stays as text — 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\nfunction tokenize(input: string): Token[] {\n const tokens: Token[] = [];\n let remaining = input;\n // Alternation: bold | code | newline | text.\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 {\n tokens.push({ type: 'br' });\n }\n remaining = remaining.slice(match.index + match[0].length);\n }\n return tokens;\n}\n\nfunction renderTokens(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/20 ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-[family-name:var(--font-mono)] ds:text-[length:0.95em]\"\n >\n {tok.value}\n </code>\n );\n }\n if (tok.type === 'br') return <br key={i} />;\n return <Fragment key={i}>{tok.value}</Fragment>;\n });\n}\n\nexport const StreamingText = forwardRef<HTMLSpanElement, StreamingTextProps>(\n (\n {\n content,\n isStreaming,\n renderMarkdown = false,\n ariaLive = 'polite',\n size = 'md',\n density = 'default',\n className,\n ...rest\n },\n ref,\n ) => {\n // Throttle visible content to at most ~10 updates per second so assistive\n // tech doesn't receive one announcement per token. We keep the full text in\n // a ref and push it to state on a timer.\n const [visible, setVisible] = useState<string>(content);\n\n useEffect(() => {\n if (!isStreaming) {\n // Streaming ended — flush immediately.\n setVisible(content);\n return;\n }\n // Global `setTimeout` works in both Node and browsers — avoid the\n // `window.` prefix so SSR (Next.js App Router, Remix) doesn't throw.\n const handle = setTimeout(() => setVisible(content), 100);\n return () => clearTimeout(handle);\n }, [content, isStreaming]);\n\n const body = renderMarkdown ? renderTokens(visible) : visible;\n\n return (\n <span\n ref={ref}\n aria-live={ariaLive}\n aria-busy={isStreaming || undefined}\n data-component=\"streaming-text\"\n className={containerVariants({ size, density, className })}\n {...rest}\n >\n {body}\n {isStreaming ? (\n <span\n aria-hidden=\"true\"\n className={[\n 'ds:inline-block ds:align-baseline',\n 'ds:text-[color:var(--primary)]',\n 'ds:motion-safe:animate-[streaming-cursor-blink_1s_step-end_infinite]',\n 'ds:motion-reduce:opacity-100',\n 'ds:[.theme-accessible_&]:animate-none',\n 'ds:forced-colors:text-[CanvasText]',\n 'ds:ms-[1px]',\n ].join(' ')}\n >\n {'\\u258D'}\n </span>\n ) : null}\n </span>\n );\n },\n);\n\nStreamingText.displayName = 'StreamingText';\n"],"names":["containerVariants","cva","tokenize","input","tokens","remaining","pattern","match","renderTokens","tok","i","jsx","Fragment","StreamingText","forwardRef","content","isStreaming","renderMarkdown","ariaLive","size","density","className","rest","ref","visible","setVisible","useState","useEffect","handle","body","jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { jsxs as K, jsx as y } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as V, useId as O, useContext as L, useState as T, useRef as j, useEffect as G, useCallback as f, useImperativeHandle as S, useMemo as U, createContext as B } from "react";
|
|
3
|
+
import { c as q } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as J } from "react-i18next";
|
|
5
|
+
const Q = q(
|
|
6
|
+
[
|
|
7
|
+
// `max-w-full` keeps a chip from blowing past its container when the
|
|
8
|
+
// label is long and the container is narrow (e.g. a 22rem Leo sidebar
|
|
9
|
+
// dock). Labels wrap onto multiple lines via `whitespace-normal` +
|
|
10
|
+
// `break-words` so the full text stays legible — rounded pills grow
|
|
11
|
+
// taller rather than hiding content behind an ellipsis.
|
|
12
|
+
"ds:inline-flex ds:items-center ds:justify-start ds:text-start ds:whitespace-normal ds:break-words ds:max-w-full",
|
|
13
|
+
"ds:rounded-[var(--radius-full)] ds:border",
|
|
14
|
+
"ds:min-h-[var(--min-target-size)]",
|
|
15
|
+
"ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]",
|
|
16
|
+
"type-label",
|
|
17
|
+
"ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
|
|
18
|
+
"ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
|
|
19
|
+
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
20
|
+
"ds:disabled:cursor-not-allowed ds:disabled:opacity-50",
|
|
21
|
+
"ds:forced-colors:border-[ButtonText] ds:forced-colors:text-[ButtonText]"
|
|
22
|
+
].join(" "),
|
|
23
|
+
{
|
|
24
|
+
variants: {
|
|
25
|
+
intent: {
|
|
26
|
+
default: "ds:bg-muted/20 ds:text-foreground ds:border-transparent ds:hover:bg-accent/10",
|
|
27
|
+
suggestion: "ds:bg-[color:var(--primary)]/10 ds:text-foreground ds:border-transparent ds:hover:bg-[color:var(--primary)]/15",
|
|
28
|
+
followup: "ds:bg-muted/30 ds:text-foreground ds:border-transparent ds:hover:bg-muted/40"
|
|
29
|
+
},
|
|
30
|
+
// Weight, family, tracking, line-height all come from `.type-label` on the base.
|
|
31
|
+
// Size variants override --type-label-size to shift the ramp step.
|
|
32
|
+
size: {
|
|
33
|
+
sm: "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:[--type-label-size:var(--font-size-xs)]",
|
|
34
|
+
md: "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
|
|
35
|
+
lg: "ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:[--type-label-size:var(--font-size-base)]"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: { intent: "default", size: "md" }
|
|
39
|
+
}
|
|
40
|
+
), F = B(null), W = V(
|
|
41
|
+
({ label: k, className: I, children: A, ...C }, g) => {
|
|
42
|
+
const { t: p, i18n: a } = J(), v = a.dir() === "rtl", [n, m] = T([]), [i, d] = T(null), l = j(/* @__PURE__ */ new Map()), x = f((t) => {
|
|
43
|
+
m((r) => r.includes(t) ? r : [...r, t]);
|
|
44
|
+
}, []), z = f((t) => {
|
|
45
|
+
m((r) => r.filter((u) => u !== t)), l.current.delete(t);
|
|
46
|
+
}, []), o = f((t) => d(t), []);
|
|
47
|
+
G(() => {
|
|
48
|
+
!i && n.length > 0 && d(n[0]), i && !n.includes(i) && d(n[0] ?? null);
|
|
49
|
+
}, [i, n]);
|
|
50
|
+
const e = f(
|
|
51
|
+
(t, r) => {
|
|
52
|
+
const u = n.indexOf(t);
|
|
53
|
+
if (u === -1) return;
|
|
54
|
+
let c = u;
|
|
55
|
+
r === "next" && (c = (u + 1) % n.length), r === "prev" && (c = (u - 1 + n.length) % n.length), r === "first" && (c = 0), r === "last" && (c = n.length - 1);
|
|
56
|
+
const b = n[c];
|
|
57
|
+
d(b);
|
|
58
|
+
const w = l.current.get(b);
|
|
59
|
+
w == null || w.focus();
|
|
60
|
+
},
|
|
61
|
+
[n]
|
|
62
|
+
), h = f(
|
|
63
|
+
(t, r) => {
|
|
64
|
+
r ? l.current.set(t, r) : l.current.delete(t);
|
|
65
|
+
},
|
|
66
|
+
[]
|
|
67
|
+
), N = U(
|
|
68
|
+
() => ({ register: x, unregister: z, focusedId: i, setFocus: o, onArrowMove: e, isRTL: v }),
|
|
69
|
+
[x, z, i, o, e, v]
|
|
70
|
+
);
|
|
71
|
+
return /* @__PURE__ */ y(E.Provider, { value: h, children: /* @__PURE__ */ y(F.Provider, { value: N, children: /* @__PURE__ */ y(
|
|
72
|
+
"div",
|
|
73
|
+
{
|
|
74
|
+
ref: g,
|
|
75
|
+
role: "group",
|
|
76
|
+
"aria-label": k ?? p("chat.suggestions"),
|
|
77
|
+
className: [
|
|
78
|
+
"ds:flex ds:flex-wrap ds:items-center",
|
|
79
|
+
"ds:gap-y-[var(--spacing-xs)] ds:gap-x-[var(--spacing-sm)]",
|
|
80
|
+
I
|
|
81
|
+
].filter(Boolean).join(" "),
|
|
82
|
+
...C,
|
|
83
|
+
children: A
|
|
84
|
+
}
|
|
85
|
+
) }) });
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
W.displayName = "SuggestionChipGroup";
|
|
89
|
+
const E = B(null), X = V(
|
|
90
|
+
({
|
|
91
|
+
intent: k = "default",
|
|
92
|
+
size: I = "md",
|
|
93
|
+
value: A,
|
|
94
|
+
startIcon: C,
|
|
95
|
+
children: g,
|
|
96
|
+
onSelect: p,
|
|
97
|
+
onRemove: a,
|
|
98
|
+
keepOnSelect: v = !1,
|
|
99
|
+
className: n,
|
|
100
|
+
disabled: m,
|
|
101
|
+
onKeyDown: i,
|
|
102
|
+
onFocus: d,
|
|
103
|
+
onClick: l,
|
|
104
|
+
...x
|
|
105
|
+
}, z) => {
|
|
106
|
+
const o = O(), e = L(F), h = L(E), [N, t] = T(!1), r = j(null), u = (s) => {
|
|
107
|
+
r.current = s, h == null || h(o, s);
|
|
108
|
+
}, c = j(e);
|
|
109
|
+
if (c.current = e, G(() => {
|
|
110
|
+
const s = c.current;
|
|
111
|
+
if (s)
|
|
112
|
+
return s.register(o), () => s.unregister(o);
|
|
113
|
+
}, [o]), N) return null;
|
|
114
|
+
const b = e ? e.focusedId === o : !0, w = e ? b ? 0 : -1 : 0, M = typeof A == "string" ? A : typeof g == "string" ? g : "", R = f(() => {
|
|
115
|
+
p == null || p(M), a ? a() : v || t(!0);
|
|
116
|
+
}, [p, M, a, v]), D = f(() => {
|
|
117
|
+
a ? a() : t(!0);
|
|
118
|
+
}, [a]);
|
|
119
|
+
return S(
|
|
120
|
+
z,
|
|
121
|
+
() => ({
|
|
122
|
+
getValue: () => M,
|
|
123
|
+
select: R,
|
|
124
|
+
dismiss: D
|
|
125
|
+
}),
|
|
126
|
+
[M, R, D]
|
|
127
|
+
), /* @__PURE__ */ K(
|
|
128
|
+
"button",
|
|
129
|
+
{
|
|
130
|
+
ref: u,
|
|
131
|
+
type: "button",
|
|
132
|
+
tabIndex: w,
|
|
133
|
+
disabled: m,
|
|
134
|
+
onClick: m ? void 0 : (s) => {
|
|
135
|
+
l == null || l(s), R();
|
|
136
|
+
},
|
|
137
|
+
onKeyDown: (s) => {
|
|
138
|
+
if (i == null || i(s), !e) return;
|
|
139
|
+
const H = e.isRTL ? "ArrowLeft" : "ArrowRight", P = e.isRTL ? "ArrowRight" : "ArrowLeft";
|
|
140
|
+
s.key === H || s.key === "ArrowDown" ? (s.preventDefault(), e.onArrowMove(o, "next")) : s.key === P || s.key === "ArrowUp" ? (s.preventDefault(), e.onArrowMove(o, "prev")) : s.key === "Home" ? (s.preventDefault(), e.onArrowMove(o, "first")) : s.key === "End" && (s.preventDefault(), e.onArrowMove(o, "last"));
|
|
141
|
+
},
|
|
142
|
+
onFocus: (s) => {
|
|
143
|
+
d == null || d(s), e && !b && e.setFocus(o);
|
|
144
|
+
},
|
|
145
|
+
"data-component": "suggestion-chip",
|
|
146
|
+
"data-component-id": x.id,
|
|
147
|
+
className: Q({ intent: k, size: I, className: n }),
|
|
148
|
+
...x,
|
|
149
|
+
children: [
|
|
150
|
+
C ? /* @__PURE__ */ y(
|
|
151
|
+
"span",
|
|
152
|
+
{
|
|
153
|
+
"aria-hidden": "true",
|
|
154
|
+
className: "ds:me-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:[&>svg]:size-4",
|
|
155
|
+
children: C
|
|
156
|
+
}
|
|
157
|
+
) : null,
|
|
158
|
+
/* @__PURE__ */ y("span", { children: g })
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
X.displayName = "SuggestionChip";
|
|
165
|
+
export {
|
|
166
|
+
X as S,
|
|
167
|
+
W as a
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=suggestion-chip-DhFrkRPj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestion-chip-DhFrkRPj.js","sources":["../../src/components/suggestion-chip/suggestion-chip.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst chipVariants = cva(\n [\n // `max-w-full` keeps a chip from blowing past its container when the\n // label is long and the container is narrow (e.g. a 22rem Leo sidebar\n // dock). Labels wrap onto multiple lines via `whitespace-normal` +\n // `break-words` so the full text stays legible — rounded pills grow\n // taller rather than hiding content behind an ellipsis.\n 'ds:inline-flex ds:items-center ds:justify-start ds:text-start ds:whitespace-normal ds:break-words ds:max-w-full',\n 'ds:rounded-[var(--radius-full)] ds:border',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]',\n 'type-label',\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-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n 'ds:forced-colors:border-[ButtonText] ds:forced-colors:text-[ButtonText]',\n ].join(' '),\n {\n variants: {\n intent: {\n default:\n 'ds:bg-muted/20 ds:text-foreground ds:border-transparent ds:hover:bg-accent/10',\n suggestion:\n 'ds:bg-[color:var(--primary)]/10 ds:text-foreground ds:border-transparent ds:hover:bg-[color:var(--primary)]/15',\n followup:\n 'ds:bg-muted/30 ds:text-foreground ds:border-transparent ds:hover:bg-muted/40',\n },\n // Weight, family, tracking, line-height all come from `.type-label` on the base.\n // Size variants override --type-label-size to shift the ramp step.\n size: {\n sm: 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:[--type-label-size:var(--font-size-xs)]',\n md: 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n lg: 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:[--type-label-size:var(--font-size-base)]',\n },\n },\n defaultVariants: { intent: 'default', size: 'md' },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Group context — roving tabIndex */\n/* ------------------------------------------------------------------ */\n\ninterface ChipGroupCtxValue {\n register: (id: string) => void;\n unregister: (id: string) => void;\n focusedId: string | null;\n setFocus: (id: string) => void;\n onArrowMove: (\n id: string,\n direction: 'prev' | 'next' | 'first' | 'last',\n ) => void;\n isRTL: boolean;\n}\n\nconst ChipGroupCtx = createContext<ChipGroupCtxValue | null>(null);\n\n/* ------------------------------------------------------------------ */\n/* SuggestionChipGroup */\n/* ------------------------------------------------------------------ */\n\nexport interface SuggestionChipGroupProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'aria-label'> {\n /** Override the default group label (ui.chat.suggestions). */\n label?: string;\n}\n\nexport const SuggestionChipGroup = forwardRef<HTMLDivElement, SuggestionChipGroupProps>(\n ({ label, className, children, ...rest }, ref) => {\n const { t, i18n } = useTranslation();\n const isRTL = i18n.dir() === 'rtl';\n const [order, setOrder] = useState<string[]>([]);\n const [focusedId, setFocusedId] = useState<string | null>(null);\n const nodeMap = useRef<Map<string, HTMLButtonElement>>(new Map());\n\n const register = useCallback((id: string) => {\n setOrder((prev) => (prev.includes(id) ? prev : [...prev, id]));\n }, []);\n const unregister = useCallback((id: string) => {\n setOrder((prev) => prev.filter((x) => x !== id));\n nodeMap.current.delete(id);\n }, []);\n\n const setFocus = useCallback((id: string) => setFocusedId(id), []);\n\n useEffect(() => {\n // Ensure focusedId stays valid — default to first registered.\n if (!focusedId && order.length > 0) setFocusedId(order[0]);\n if (focusedId && !order.includes(focusedId)) {\n setFocusedId(order[0] ?? null);\n }\n }, [focusedId, order]);\n\n const onArrowMove: ChipGroupCtxValue['onArrowMove'] = useCallback(\n (id, direction) => {\n const idx = order.indexOf(id);\n if (idx === -1) return;\n let next = idx;\n if (direction === 'next') next = (idx + 1) % order.length;\n if (direction === 'prev') next = (idx - 1 + order.length) % order.length;\n if (direction === 'first') next = 0;\n if (direction === 'last') next = order.length - 1;\n const nextId = order[next];\n setFocusedId(nextId);\n const el = nodeMap.current.get(nextId);\n el?.focus();\n },\n [order],\n );\n\n // Wrapped in useCallback so the context value reference is stable across\n // renders — otherwise every chip re-runs its ref-registering effect on\n // every focus change.\n const registerNode = useCallback(\n (id: string, el: HTMLButtonElement | null) => {\n if (el) nodeMap.current.set(id, el);\n else nodeMap.current.delete(id);\n },\n [],\n );\n\n // Memoise the context value so child chips don't see a new `group`\n // reference on every render — otherwise their register/unregister\n // effect re-runs each render, driving setOrder in the parent and\n // producing an infinite render loop.\n const ctxValue = useMemo(\n () => ({ register, unregister, focusedId, setFocus, onArrowMove, isRTL }),\n [register, unregister, focusedId, setFocus, onArrowMove, isRTL],\n );\n\n return (\n <ChipGroupCtxNodeContext.Provider value={registerNode}>\n <ChipGroupCtx.Provider value={ctxValue}>\n <div\n ref={ref}\n role=\"group\"\n aria-label={label ?? t('chat.suggestions')}\n className={[\n 'ds:flex ds:flex-wrap ds:items-center',\n 'ds:gap-y-[var(--spacing-xs)] ds:gap-x-[var(--spacing-sm)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </div>\n </ChipGroupCtx.Provider>\n </ChipGroupCtxNodeContext.Provider>\n );\n },\n);\n\nSuggestionChipGroup.displayName = 'SuggestionChipGroup';\n\n// Separate context to register the DOM node from the chip without tripping\n// eslint `react-hooks/exhaustive-deps`.\nconst ChipGroupCtxNodeContext = createContext<\n ((id: string, el: HTMLButtonElement | null) => void) | null\n>(null);\n\n/* ------------------------------------------------------------------ */\n/* SuggestionChip */\n/* ------------------------------------------------------------------ */\n\ntype NativeButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onSelect' | 'children'\n>;\n\n/** Curated imperative handle for agent / external automation. */\nexport interface SuggestionChipHandle {\n getValue: () => string;\n select: () => void;\n dismiss: () => void;\n}\n\nexport interface SuggestionChipProps\n extends NativeButtonProps,\n VariantProps<typeof chipVariants> {\n /** Value emitted on activation. Falls back to children when a string. */\n value?: string;\n startIcon?: ReactNode;\n children: ReactNode;\n /** Activation handler. */\n onSelect?: (value: string) => void;\n /** When provided, parent owns removal. Otherwise the chip manages its own\n * `removed` state and unmounts after selection. */\n onRemove?: () => void;\n /** Opt out of self-removal — useful inside controlled lists. */\n keepOnSelect?: boolean;\n}\n\nexport const SuggestionChip = forwardRef<SuggestionChipHandle, SuggestionChipProps>(\n (\n {\n intent = 'default',\n size = 'md',\n value,\n startIcon,\n children,\n onSelect,\n onRemove,\n keepOnSelect = false,\n className,\n disabled,\n onKeyDown,\n onFocus,\n onClick,\n ...rest\n },\n ref,\n ) => {\n const id = useId();\n const group = useContext(ChipGroupCtx);\n const registerNode = useContext(ChipGroupCtxNodeContext);\n const [removed, setRemoved] = useState(false);\n const localRef = useRef<HTMLButtonElement | null>(null);\n\n const setRef = (node: HTMLButtonElement | null) => {\n localRef.current = node;\n registerNode?.(id, node);\n };\n\n // Keep register/unregister in a ref so the effect runs only on\n // mount / unmount. Depending on `group` directly would re-fire the\n // effect on every parent render (focusedId changes invalidate the\n // group context value), which in turn mutates the parent's `order`\n // state and loops.\n const groupRef = useRef(group);\n groupRef.current = group;\n\n useEffect(() => {\n const g = groupRef.current;\n if (!g) return;\n g.register(id);\n return () => g.unregister(id);\n }, [id]);\n\n if (removed) return null;\n\n const isFocused = group ? group.focusedId === id : true;\n const tabIndex = group ? (isFocused ? 0 : -1) : 0;\n\n const resolvedValue =\n typeof value === 'string'\n ? value\n : typeof children === 'string'\n ? children\n : '';\n\n const performSelect = useCallback(() => {\n onSelect?.(resolvedValue);\n if (onRemove) onRemove();\n else if (!keepOnSelect) setRemoved(true);\n }, [onSelect, resolvedValue, onRemove, keepOnSelect]);\n\n const performDismiss = useCallback(() => {\n if (onRemove) onRemove();\n else setRemoved(true);\n }, [onRemove]);\n\n useImperativeHandle(\n ref,\n () => ({\n getValue: () => resolvedValue,\n select: performSelect,\n dismiss: performDismiss,\n }),\n [resolvedValue, performSelect, performDismiss],\n );\n\n const handleClick: NonNullable<NativeButtonProps['onClick']> = (e) => {\n onClick?.(e);\n performSelect();\n };\n\n const handleKeyDown: NonNullable<NativeButtonProps['onKeyDown']> = (e) => {\n onKeyDown?.(e);\n if (!group) return;\n // Arrow navigation inside a group — RTL inverts Left/Right.\n const nextKey = group.isRTL ? 'ArrowLeft' : 'ArrowRight';\n const prevKey = group.isRTL ? 'ArrowRight' : 'ArrowLeft';\n if (e.key === nextKey || e.key === 'ArrowDown') {\n e.preventDefault();\n group.onArrowMove(id, 'next');\n } else if (e.key === prevKey || e.key === 'ArrowUp') {\n e.preventDefault();\n group.onArrowMove(id, 'prev');\n } else if (e.key === 'Home') {\n e.preventDefault();\n group.onArrowMove(id, 'first');\n } else if (e.key === 'End') {\n e.preventDefault();\n group.onArrowMove(id, 'last');\n }\n };\n\n const handleFocus: NonNullable<NativeButtonProps['onFocus']> = (e) => {\n onFocus?.(e);\n if (group && !isFocused) group.setFocus(id);\n };\n\n return (\n <button\n ref={setRef}\n type=\"button\"\n tabIndex={tabIndex}\n disabled={disabled}\n onClick={disabled ? undefined : handleClick}\n onKeyDown={handleKeyDown as unknown as (e: KeyboardEvent<HTMLButtonElement>) => void}\n onFocus={handleFocus}\n data-component=\"suggestion-chip\"\n data-component-id={rest.id}\n className={chipVariants({ intent, size, className })}\n {...rest}\n >\n {startIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:me-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:[&>svg]:size-4\"\n >\n {startIcon}\n </span>\n ) : null}\n <span>{children}</span>\n </button>\n );\n },\n);\n\nSuggestionChip.displayName = 'SuggestionChip';\n"],"names":["chipVariants","cva","ChipGroupCtx","createContext","SuggestionChipGroup","forwardRef","label","className","children","rest","ref","t","i18n","useTranslation","isRTL","order","setOrder","useState","focusedId","setFocusedId","nodeMap","useRef","register","useCallback","id","prev","unregister","x","setFocus","useEffect","onArrowMove","direction","idx","next","nextId","el","registerNode","ctxValue","useMemo","jsx","ChipGroupCtxNodeContext","SuggestionChip","intent","size","value","startIcon","onSelect","onRemove","keepOnSelect","disabled","onKeyDown","onFocus","onClick","useId","group","useContext","removed","setRemoved","localRef","setRef","node","groupRef","g","isFocused","tabIndex","resolvedValue","performSelect","performDismiss","useImperativeHandle","jsxs","e","nextKey","prevKey"],"mappings":"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"}
|