@alfadocs/ui-kit-debug 0.31.0 → 0.31.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{accordion-CNcodXuO.js → accordion-bSU21uTV.js} +3 -3
- package/dist/_chunks/{accordion-CNcodXuO.js.map → accordion-bSU21uTV.js.map} +1 -1
- package/dist/_chunks/{agenda-card-DO9_yogb.js → agenda-card-UJA6Arbs.js} +3 -3
- package/dist/_chunks/{agenda-card-DO9_yogb.js.map → agenda-card-UJA6Arbs.js.map} +1 -1
- package/dist/_chunks/{agenda-tray-WLbfMip6.js → agenda-tray-1fAxNOMz.js} +4 -4
- package/dist/_chunks/{agenda-tray-WLbfMip6.js.map → agenda-tray-1fAxNOMz.js.map} +1 -1
- package/dist/_chunks/{ai-prompt-input-BXlwNnWe.js → ai-prompt-input-C6sCr1Vi.js} +11 -10
- package/dist/_chunks/ai-prompt-input-C6sCr1Vi.js.map +1 -0
- package/dist/_chunks/{alia-sidebar-C-232sD7.js → alia-sidebar-BEoMl6UL.js} +9 -9
- package/dist/_chunks/{alia-sidebar-C-232sD7.js.map → alia-sidebar-BEoMl6UL.js.map} +1 -1
- package/dist/_chunks/ar-CEpIJtcO.js +399 -0
- package/dist/_chunks/ar-CEpIJtcO.js.map +1 -0
- package/dist/_chunks/{audio-recorder-DL800PE_.js → audio-recorder-C1rhKhSN.js} +114 -114
- package/dist/_chunks/audio-recorder-C1rhKhSN.js.map +1 -0
- package/dist/_chunks/audio-visualiser-l6zPd0AG.js +162 -0
- package/dist/_chunks/audio-visualiser-l6zPd0AG.js.map +1 -0
- package/dist/_chunks/{autocomplete-CUh0f7Dj.js → autocomplete-DIgdhCGJ.js} +2 -2
- package/dist/_chunks/{autocomplete-CUh0f7Dj.js.map → autocomplete-DIgdhCGJ.js.map} +1 -1
- package/dist/_chunks/{avatar-D_H4emLo.js → avatar-BNQNhoyL.js} +19 -18
- package/dist/_chunks/avatar-BNQNhoyL.js.map +1 -0
- package/dist/_chunks/{badge-CIjQ1Us1.js → badge-CptERaHx.js} +2 -2
- package/dist/_chunks/{badge-CIjQ1Us1.js.map → badge-CptERaHx.js.map} +1 -1
- package/dist/_chunks/{booking-Bhk9IYm3.js → booking-A4o9xI2n.js} +160 -149
- package/dist/_chunks/booking-A4o9xI2n.js.map +1 -0
- package/dist/_chunks/{breadcrumb--YI7lcHA.js → breadcrumb-CLlhx7qo.js} +2 -2
- package/dist/_chunks/{breadcrumb--YI7lcHA.js.map → breadcrumb-CLlhx7qo.js.map} +1 -1
- package/dist/_chunks/{button-group-Bh2g_Ng-.js → button-group-Ciq6J4IW.js} +15 -14
- package/dist/_chunks/button-group-Ciq6J4IW.js.map +1 -0
- package/dist/_chunks/{calendar-WWNx448i.js → calendar-YHFknAGv.js} +22 -22
- package/dist/_chunks/{calendar-WWNx448i.js.map → calendar-YHFknAGv.js.map} +1 -1
- package/dist/_chunks/{carousel.agent-C2Icc9_T.js → carousel.agent-DrX96W-1.js} +2 -2
- package/dist/_chunks/{carousel.agent-C2Icc9_T.js.map → carousel.agent-DrX96W-1.js.map} +1 -1
- package/dist/_chunks/{chart-BLvFl169.js → chart-DLkVn_ex.js} +2 -2
- package/dist/_chunks/{chart-BLvFl169.js.map → chart-DLkVn_ex.js.map} +1 -1
- package/dist/_chunks/{chat-container-izziXViv.js → chat-container-ogB4OskO.js} +24 -23
- package/dist/_chunks/chat-container-ogB4OskO.js.map +1 -0
- package/dist/_chunks/{chat-input-cyl_y9bh.js → chat-input-CQe7nR_v.js} +132 -118
- package/dist/_chunks/chat-input-CQe7nR_v.js.map +1 -0
- package/dist/_chunks/{chat-message-fg221-yx.js → chat-message-D53_fH2w.js} +2 -2
- package/dist/_chunks/{chat-message-fg221-yx.js.map → chat-message-D53_fH2w.js.map} +1 -1
- package/dist/_chunks/{checkbox-Dgp_cfUr.js → checkbox-DRcOdmXv.js} +3 -3
- package/dist/_chunks/{checkbox-Dgp_cfUr.js.map → checkbox-DRcOdmXv.js.map} +1 -1
- package/dist/_chunks/{checkbox-group-eVowqKcT.js → checkbox-group-CpUwlHug.js} +3 -3
- package/dist/_chunks/{checkbox-group-eVowqKcT.js.map → checkbox-group-CpUwlHug.js.map} +1 -1
- package/dist/_chunks/{collapsible-hHiyZp0b.js → collapsible-CERONory.js} +2 -2
- package/dist/_chunks/{collapsible-hHiyZp0b.js.map → collapsible-CERONory.js.map} +1 -1
- package/dist/_chunks/{color-picker-Bm-gzpsh.js → color-picker-9tL7pz5y.js} +192 -181
- package/dist/_chunks/color-picker-9tL7pz5y.js.map +1 -0
- package/dist/_chunks/{combobox-Da9eq00i.js → combobox-BC-DFx8G.js} +31 -30
- package/dist/_chunks/combobox-BC-DFx8G.js.map +1 -0
- package/dist/_chunks/{command-palette-11BieSNq.js → command-palette-BiPAAno-.js} +125 -123
- package/dist/_chunks/command-palette-BiPAAno-.js.map +1 -0
- package/dist/_chunks/{copy-field-BAF4mt9h.js → copy-field-CCq7j6Zc.js} +2 -2
- package/dist/_chunks/{copy-field-BAF4mt9h.js.map → copy-field-CCq7j6Zc.js.map} +1 -1
- package/dist/_chunks/{date-picker-D0Ry1dMz.js → date-picker-B94HAV4A.js} +4 -4
- package/dist/_chunks/{date-picker-D0Ry1dMz.js.map → date-picker-B94HAV4A.js.map} +1 -1
- package/dist/_chunks/{date-range-picker-DYgHzMOo.js → date-range-picker-D4dgDlLU.js} +73 -73
- package/dist/_chunks/date-range-picker-D4dgDlLU.js.map +1 -0
- package/dist/_chunks/{date-time-picker-CGmGtcyc.js → date-time-picker-D1GEzf8p.js} +5 -5
- package/dist/_chunks/{date-time-picker-CGmGtcyc.js.map → date-time-picker-D1GEzf8p.js.map} +1 -1
- package/dist/_chunks/de-Dfbeau59.js +477 -0
- package/dist/_chunks/de-Dfbeau59.js.map +1 -0
- package/dist/_chunks/{description-list-CWjnaDGn.js → description-list-BEbK2g93.js} +2 -2
- package/dist/_chunks/{description-list-CWjnaDGn.js.map → description-list-BEbK2g93.js.map} +1 -1
- package/dist/_chunks/{dialog-C-lTGVkB.js → dialog-Cee13rHU.js} +3 -3
- package/dist/_chunks/{dialog-C-lTGVkB.js.map → dialog-Cee13rHU.js.map} +1 -1
- package/dist/_chunks/{dropdown-menu-DZxwF23X.js → dropdown-menu-BC5ZdOMo.js} +3 -3
- package/dist/_chunks/{dropdown-menu-DZxwF23X.js.map → dropdown-menu-BC5ZdOMo.js.map} +1 -1
- package/dist/_chunks/{editable-currency-cell-renderer-Od3Q-Y8J.js → editable-currency-cell-renderer-BpicmolK.js} +314 -317
- package/dist/_chunks/editable-currency-cell-renderer-BpicmolK.js.map +1 -0
- package/dist/_chunks/el-Dro3J7CP.js +373 -0
- package/dist/_chunks/el-Dro3J7CP.js.map +1 -0
- package/dist/_chunks/{email-input-DvJ_kPKL.js → email-input-lQivsFrw.js} +3 -3
- package/dist/_chunks/{email-input-DvJ_kPKL.js.map → email-input-lQivsFrw.js.map} +1 -1
- package/dist/_chunks/es-Dvg8u70B.js +373 -0
- package/dist/_chunks/es-Dvg8u70B.js.map +1 -0
- package/dist/_chunks/{file-upload-DxAQprcU.js → file-upload-CdozCPct.js} +226 -233
- package/dist/_chunks/file-upload-CdozCPct.js.map +1 -0
- package/dist/_chunks/fr-VOGjBSPP.js +338 -0
- package/dist/_chunks/fr-VOGjBSPP.js.map +1 -0
- package/dist/_chunks/{freemium-paywall-B9c8Ylww.js → freemium-paywall-D1N02Oam.js} +4 -4
- package/dist/_chunks/{freemium-paywall-B9c8Ylww.js.map → freemium-paywall-D1N02Oam.js.map} +1 -1
- package/dist/_chunks/{header-DDj7uGD-.js → header-CTZWX-tm.js} +2 -2
- package/dist/_chunks/{header-DDj7uGD-.js.map → header-CTZWX-tm.js.map} +1 -1
- package/dist/_chunks/hi-BSDxWU_y.js +433 -0
- package/dist/_chunks/hi-BSDxWU_y.js.map +1 -0
- package/dist/_chunks/{icon-button-DPEqBKBQ.js → icon-button-CKEOrN37.js} +2 -2
- package/dist/_chunks/{icon-button-DPEqBKBQ.js.map → icon-button-CKEOrN37.js.map} +1 -1
- package/dist/_chunks/{icon-button-group-DeV3FpNY.js → icon-button-group-C48khLE0.js} +23 -22
- package/dist/_chunks/icon-button-group-C48khLE0.js.map +1 -0
- package/dist/_chunks/{isSameDay-DHG8Xade.js → isSameDay-DUEiAT0G.js} +2 -2
- package/dist/_chunks/{isSameDay-DHG8Xade.js.map → isSameDay-DUEiAT0G.js.map} +1 -1
- package/dist/_chunks/isSameWeek-Dfzu29cW.js +14 -0
- package/dist/_chunks/isSameWeek-Dfzu29cW.js.map +1 -0
- package/dist/_chunks/it-CuonvcI_.js +401 -0
- package/dist/_chunks/it-CuonvcI_.js.map +1 -0
- package/dist/_chunks/ja-DO57gIOT.js +366 -0
- package/dist/_chunks/ja-DO57gIOT.js.map +1 -0
- package/dist/_chunks/{key-value-pair-BvDY3zuc.js → key-value-pair-C8DaR3Xs.js} +2 -2
- package/dist/_chunks/{key-value-pair-BvDY3zuc.js.map → key-value-pair-C8DaR3Xs.js.map} +1 -1
- package/dist/_chunks/{list-BdvDctBz.js → list-BOwqwy03.js} +44 -43
- package/dist/_chunks/list-BOwqwy03.js.map +1 -0
- package/dist/_chunks/{locale-picker-CY89MChR.js → locale-picker-D99UyZVJ.js} +4 -4
- package/dist/_chunks/{locale-picker-CY89MChR.js.map → locale-picker-D99UyZVJ.js.map} +1 -1
- package/dist/_chunks/{map-view-DyB8tr6c.js → map-view-WEWqXzof.js} +569 -557
- package/dist/_chunks/{map-view-DyB8tr6c.js.map → map-view-WEWqXzof.js.map} +1 -1
- package/dist/_chunks/{message-card-D6iyPacd.js → message-card-BbRhZkDI.js} +3 -3
- package/dist/_chunks/{message-card-D6iyPacd.js.map → message-card-BbRhZkDI.js.map} +1 -1
- package/dist/_chunks/{message-tray-Bh-0ra-Y.js → message-tray-B762TKuv.js} +11 -10
- package/dist/_chunks/message-tray-B762TKuv.js.map +1 -0
- package/dist/_chunks/{multi-select-dSe6Xtc4.js → multi-select-DOLO3K_z.js} +26 -25
- package/dist/_chunks/multi-select-DOLO3K_z.js.map +1 -0
- package/dist/_chunks/{navigation-menu-CyS1fBJ7.js → navigation-menu-C6lBYVv9.js} +3 -3
- package/dist/_chunks/{navigation-menu-CyS1fBJ7.js.map → navigation-menu-C6lBYVv9.js.map} +1 -1
- package/dist/_chunks/nl-DjPaaWaW.js +326 -0
- package/dist/_chunks/nl-DjPaaWaW.js.map +1 -0
- package/dist/_chunks/{notification-card-vaMaA7Wa.js → notification-card-DMdO4g54.js} +2 -2
- package/dist/_chunks/{notification-card-vaMaA7Wa.js.map → notification-card-DMdO4g54.js.map} +1 -1
- package/dist/_chunks/{notification-tray-Cnum6LwM.js → notification-tray-Dl3FTleW.js} +17 -16
- package/dist/_chunks/notification-tray-Dl3FTleW.js.map +1 -0
- package/dist/_chunks/{number-input-BZXu6bPY.js → number-input-Dj5L3pXK.js} +2 -2
- package/dist/_chunks/{number-input-BZXu6bPY.js.map → number-input-Dj5L3pXK.js.map} +1 -1
- package/dist/_chunks/{otp-input-BDF_iNpa.js → otp-input-BEg_sn8A.js} +2 -2
- package/dist/_chunks/{otp-input-BDF_iNpa.js.map → otp-input-BEg_sn8A.js.map} +1 -1
- package/dist/_chunks/{pagination-BWaXF7W0.js → pagination-DQOgnxxw.js} +2 -2
- package/dist/_chunks/{pagination-BWaXF7W0.js.map → pagination-DQOgnxxw.js.map} +1 -1
- package/dist/_chunks/{parseISO-Dk4xa7q6.js → parseISO-DEpUNwxZ.js} +2 -2
- package/dist/_chunks/{parseISO-Dk4xa7q6.js.map → parseISO-DEpUNwxZ.js.map} +1 -1
- package/dist/_chunks/{patient-search-ZpHN-pgJ.js → patient-search-hFiYbqcl.js} +8 -8
- package/dist/_chunks/{patient-search-ZpHN-pgJ.js.map → patient-search-hFiYbqcl.js.map} +1 -1
- package/dist/_chunks/{patient-shell-CYaNkbA1.js → patient-shell-CDvMw_Nk.js} +6 -6
- package/dist/_chunks/{patient-shell-CYaNkbA1.js.map → patient-shell-CDvMw_Nk.js.map} +1 -1
- package/dist/_chunks/{payment-form-Ds3rxvad.js → payment-form-D5rgnZu7.js} +2 -2
- package/dist/_chunks/{payment-form-Ds3rxvad.js.map → payment-form-D5rgnZu7.js.map} +1 -1
- package/dist/_chunks/{pdf-viewer-CIuaocnq.js → pdf-viewer-DvtEHcEP.js} +347 -320
- package/dist/_chunks/{pdf-viewer-CIuaocnq.js.map → pdf-viewer-DvtEHcEP.js.map} +1 -1
- package/dist/_chunks/{phone-input-DKSHX7NQ.js → phone-input-DfZbPPvh.js} +217 -201
- package/dist/_chunks/phone-input-DfZbPPvh.js.map +1 -0
- package/dist/_chunks/pl-Cl4lOx2N.js +514 -0
- package/dist/_chunks/pl-Cl4lOx2N.js.map +1 -0
- package/dist/_chunks/{popover-BfHSBEKq.js → popover-Devce-tT.js} +3 -3
- package/dist/_chunks/{popover-BfHSBEKq.js.map → popover-Devce-tT.js.map} +1 -1
- package/dist/_chunks/practice-results-RPL64j8E.js +1582 -0
- package/dist/_chunks/practice-results-RPL64j8E.js.map +1 -0
- package/dist/_chunks/{privacy-lock-C6Ra5m3p.js → privacy-lock-DD-wHxBg.js} +3 -3
- package/dist/_chunks/{privacy-lock-C6Ra5m3p.js.map → privacy-lock-DD-wHxBg.js.map} +1 -1
- package/dist/_chunks/{progress-B-PSO5OS.js → progress-kzIRcdaq.js} +11 -10
- package/dist/_chunks/progress-kzIRcdaq.js.map +1 -0
- package/dist/_chunks/pt-D7qO5CzD.js +370 -0
- package/dist/_chunks/pt-D7qO5CzD.js.map +1 -0
- package/dist/_chunks/{public-footer.agent-Bc99tE5Z.js → public-footer.agent-Bh0rnx4i.js} +21 -14
- package/dist/_chunks/public-footer.agent-Bh0rnx4i.js.map +1 -0
- package/dist/_chunks/{public-header.agent-B-B0WDAi.js → public-header.agent-B2dDg2_d.js} +3 -3
- package/dist/_chunks/{public-header.agent-B-B0WDAi.js.map → public-header.agent-B2dDg2_d.js.map} +1 -1
- package/dist/_chunks/{radio-i4ogu3cq.js → radio-TWf9Q-mp.js} +2 -2
- package/dist/_chunks/{radio-i4ogu3cq.js.map → radio-TWf9Q-mp.js.map} +1 -1
- package/dist/_chunks/{radio-group-CTlGc36r.js → radio-group-BcF92GEF.js} +4 -4
- package/dist/_chunks/{radio-group-CTlGc36r.js.map → radio-group-BcF92GEF.js.map} +1 -1
- package/dist/_chunks/{react-day-picker-D3yzgvDB.js → react-day-picker-DsjfS7uI.js} +662 -615
- package/dist/_chunks/{react-day-picker-D3yzgvDB.js.map → react-day-picker-DsjfS7uI.js.map} +1 -1
- package/dist/_chunks/recaptcha-widget-CFYyLSEX.js +221 -0
- package/dist/_chunks/recaptcha-widget-CFYyLSEX.js.map +1 -0
- package/dist/_chunks/registry-nPAVE19X.js +21 -0
- package/dist/_chunks/registry-nPAVE19X.js.map +1 -0
- package/dist/_chunks/{resizable-COV-cnth.js → resizable-3vzqDlg6.js} +29 -28
- package/dist/_chunks/resizable-3vzqDlg6.js.map +1 -0
- package/dist/_chunks/{reviews-panel-bKEUKSic.js → reviews-panel-yanuBZs-.js} +4 -4
- package/dist/_chunks/{reviews-panel-bKEUKSic.js.map → reviews-panel-yanuBZs-.js.map} +1 -1
- package/dist/_chunks/{rich-text-editor-J-wAz9eN.js → rich-text-editor-CHmr9Bz8.js} +2 -2
- package/dist/_chunks/{rich-text-editor-J-wAz9eN.js.map → rich-text-editor-CHmr9Bz8.js.map} +1 -1
- package/dist/_chunks/ro-CP2-VJ_O.js +361 -0
- package/dist/_chunks/ro-CP2-VJ_O.js.map +1 -0
- package/dist/_chunks/ru-RPn9_Lpq.js +561 -0
- package/dist/_chunks/ru-RPn9_Lpq.js.map +1 -0
- package/dist/_chunks/{scroll-area-DEDU-lp-.js → scroll-area-BWqCkEGz.js} +2 -2
- package/dist/_chunks/{scroll-area-DEDU-lp-.js.map → scroll-area-BWqCkEGz.js.map} +1 -1
- package/dist/_chunks/{search-bar-BRMW1-WG.js → search-bar-CP6wUJFY.js} +3 -3
- package/dist/_chunks/{search-bar-BRMW1-WG.js.map → search-bar-CP6wUJFY.js.map} +1 -1
- package/dist/_chunks/{search-input-CIA6pPfn.js → search-input-C1C3jQpD.js} +24 -23
- package/dist/_chunks/search-input-C1C3jQpD.js.map +1 -0
- package/dist/_chunks/{select-C92AT_OZ.js → select-hsCaJSX3.js} +3 -3
- package/dist/_chunks/{select-C92AT_OZ.js.map → select-hsCaJSX3.js.map} +1 -1
- package/dist/_chunks/{sheet-D8Yl0nKR.js → sheet-BV-yuLE2.js} +3 -3
- package/dist/_chunks/{sheet-D8Yl0nKR.js.map → sheet-BV-yuLE2.js.map} +1 -1
- package/dist/_chunks/{sidebar-DkyC6GvS.js → sidebar-BbR8f6oe.js} +3 -3
- package/dist/_chunks/{sidebar-DkyC6GvS.js.map → sidebar-BbR8f6oe.js.map} +1 -1
- package/dist/_chunks/{signature-capture-DjMlFOzS.js → signature-capture-C-fF71xI.js} +213 -205
- package/dist/_chunks/signature-capture-C-fF71xI.js.map +1 -0
- package/dist/_chunks/{slider-CfEzeseL.js → slider-BHWzXdjt.js} +3 -3
- package/dist/_chunks/{slider-CfEzeseL.js.map → slider-BHWzXdjt.js.map} +1 -1
- package/dist/_chunks/{slot-grid-Q94gVmhn.js → slot-grid-Dz13dH82.js} +4 -4
- package/dist/_chunks/{slot-grid-Q94gVmhn.js.map → slot-grid-Dz13dH82.js.map} +1 -1
- package/dist/_chunks/{sparkline-B5Ms55PZ.js → sparkline-DEROcSl0.js} +2 -2
- package/dist/_chunks/{sparkline-B5Ms55PZ.js.map → sparkline-DEROcSl0.js.map} +1 -1
- package/dist/_chunks/sq-AQvefouo.js +355 -0
- package/dist/_chunks/sq-AQvefouo.js.map +1 -0
- package/dist/_chunks/{stepper-progress-jFY8BSf7.js → stepper-progress-DDjq5nei.js} +16 -15
- package/dist/_chunks/stepper-progress-DDjq5nei.js.map +1 -0
- package/dist/_chunks/streaming-text-GH07yIYh.js +127 -0
- package/dist/_chunks/streaming-text-GH07yIYh.js.map +1 -0
- package/dist/_chunks/sv-zkx9eBtD.js +376 -0
- package/dist/_chunks/sv-zkx9eBtD.js.map +1 -0
- package/dist/_chunks/{switch-D916VW86.js → switch-BJ6HD3Mn.js} +2 -2
- package/dist/_chunks/{switch-D916VW86.js.map → switch-BJ6HD3Mn.js.map} +1 -1
- package/dist/_chunks/{tabs-aEQfQV3x.js → tabs-BpPYVme_.js} +4 -4
- package/dist/_chunks/{tabs-aEQfQV3x.js.map → tabs-BpPYVme_.js.map} +1 -1
- package/dist/_chunks/{tag-bBPAvXyh.js → tag-CyoaEmf_.js} +2 -2
- package/dist/_chunks/{tag-bBPAvXyh.js.map → tag-CyoaEmf_.js.map} +1 -1
- package/dist/_chunks/{task-tray-6NlryfMJ.js → task-tray-DRK0b0Qb.js} +3 -3
- package/dist/_chunks/{task-tray-6NlryfMJ.js.map → task-tray-DRK0b0Qb.js.map} +1 -1
- package/dist/_chunks/{text-area-D5GAe8pV.js → text-area-BIx0tZ05.js} +27 -26
- package/dist/_chunks/text-area-BIx0tZ05.js.map +1 -0
- package/dist/_chunks/{text-input-CakysYnD.js → text-input-BaClJL8Y.js} +2 -2
- package/dist/_chunks/{text-input-CakysYnD.js.map → text-input-BaClJL8Y.js.map} +1 -1
- package/dist/_chunks/{theme-toggle-JoeMs_ws.js → theme-toggle-DpC28kt5.js} +6 -6
- package/dist/_chunks/{theme-toggle-JoeMs_ws.js.map → theme-toggle-DpC28kt5.js.map} +1 -1
- package/dist/_chunks/{time-picker-DeVZkIY2.js → time-picker-B5umYwfv.js} +2 -2
- package/dist/_chunks/{time-picker-DeVZkIY2.js.map → time-picker-B5umYwfv.js.map} +1 -1
- package/dist/_chunks/{timeline-CR7HjZCK.js → timeline-D0Wo7v_o.js} +3 -3
- package/dist/_chunks/{timeline-CR7HjZCK.js.map → timeline-D0Wo7v_o.js.map} +1 -1
- package/dist/_chunks/{toast.agent-DVpKt38p.js → toast.agent-WHHfw5VX.js} +322 -320
- package/dist/_chunks/{toast.agent-DVpKt38p.js.map → toast.agent-WHHfw5VX.js.map} +1 -1
- package/dist/_chunks/{tooltip-ClJd0ciy.js → tooltip-DvmfrNvB.js} +29 -20
- package/dist/_chunks/tooltip-DvmfrNvB.js.map +1 -0
- package/dist/_chunks/{tooth-scheme-3mITSXiZ.js → tooth-scheme-CxlsLjfN.js} +2 -2
- package/dist/_chunks/{tooth-scheme-3mITSXiZ.js.map → tooth-scheme-CxlsLjfN.js.map} +1 -1
- package/dist/_chunks/tr-Dmr412Ac.js +378 -0
- package/dist/_chunks/tr-Dmr412Ac.js.map +1 -0
- package/dist/_chunks/{transcript-panel-QUQ9XJmf.js → transcript-panel-DyhTpAP7.js} +21 -20
- package/dist/_chunks/transcript-panel-DyhTpAP7.js.map +1 -0
- package/dist/_chunks/{use-direction-D6rvvG9G.js → use-direction-Dp8h70PP.js} +7 -6
- package/dist/_chunks/use-direction-Dp8h70PP.js.map +1 -0
- package/dist/_chunks/use-isomorphic-layout-effect-BGfaCOP1.js +6 -0
- package/dist/_chunks/use-isomorphic-layout-effect-BGfaCOP1.js.map +1 -0
- package/dist/_chunks/use-media-query-CcAx5SMM.js +16 -0
- package/dist/_chunks/use-media-query-CcAx5SMM.js.map +1 -0
- package/dist/_chunks/{use-password-requirements-E0sSfx5X.js → use-password-requirements-DsgduV1x.js} +3 -3
- package/dist/_chunks/{use-password-requirements-E0sSfx5X.js.map → use-password-requirements-DsgduV1x.js.map} +1 -1
- package/dist/_chunks/use-scroll-to-first-error-4Za-u5Nw.js +43 -0
- package/dist/_chunks/use-scroll-to-first-error-4Za-u5Nw.js.map +1 -0
- package/dist/_chunks/{workflow-map-DlWBJJBt.js → workflow-map-BSvQS3be.js} +6 -6
- package/dist/_chunks/{workflow-map-DlWBJJBt.js.map → workflow-map-BSvQS3be.js.map} +1 -1
- package/dist/_chunks/zh-CN-DxVt64Zk.js +388 -0
- package/dist/_chunks/zh-CN-DxVt64Zk.js.map +1 -0
- package/dist/agent/registry.d.ts +1 -6
- package/dist/agent/registry.d.ts.map +1 -1
- package/dist/agent-catalog.json +1 -1
- package/dist/components/_shared/date-locale.d.ts +7 -2
- package/dist/components/_shared/date-locale.d.ts.map +1 -1
- package/dist/components/_shared/index.d.ts +1 -1
- package/dist/components/_shared/index.d.ts.map +1 -1
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -1
- package/dist/components/audio-visualiser/index.js +1 -1
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/badge/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/button/index.js +1 -1
- package/dist/components/button-group/button-group.d.ts.map +1 -1
- package/dist/components/button-group/index.js +1 -1
- package/dist/components/calendar/calendar.d.ts.map +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/chat-container/chat-container.d.ts.map +1 -1
- package/dist/components/chat-container/index.js +1 -1
- package/dist/components/chat-input/chat-input.d.ts.map +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/checkbox/index.js +1 -1
- package/dist/components/checkbox-group/index.js +1 -1
- package/dist/components/collapsible/index.js +1 -1
- package/dist/components/color-picker/color-picker.d.ts.map +1 -1
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/command-palette/command-palette.d.ts.map +1 -1
- package/dist/components/command-palette/index.js +1 -1
- package/dist/components/copy-field/index.js +1 -1
- package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -1
- package/dist/components/data-table/data-table.d.ts.map +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/email-input/index.js +1 -1
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/header-settings/index.js +6 -6
- package/dist/components/icon-button/index.js +1 -1
- package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
- package/dist/components/icon-button-group/index.js +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/list/index.js +1 -1
- package/dist/components/list/list.d.ts.map +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/map-view/map-view.d.ts +10 -0
- package/dist/components/map-view/map-view.d.ts.map +1 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/message-tray/message-tray.d.ts.map +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/multi-select/multi-select.d.ts.map +1 -1
- package/dist/components/navigation-menu/index.js +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/otp-input/index.js +1 -1
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/password-input/index.js +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/phone-input/phone-input.d.ts.map +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.d.ts +23 -1
- package/dist/components/practice-results/practice-results.d.ts.map +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/progress/index.js +1 -1
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/public-footer/public-footer.d.ts.map +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/radio/index.js +1 -1
- package/dist/components/radio-group/index.js +2 -2
- package/dist/components/recaptcha-widget/index.js +1 -1
- package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +1 -1
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/resizable/resizable.d.ts.map +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/scroll-area/index.js +1 -1
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-input/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/signature-capture/index.js +1 -1
- package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/sparkline/index.js +1 -1
- package/dist/components/stepper-progress/index.js +1 -1
- package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -1
- package/dist/components/streaming-text/index.js +1 -1
- package/dist/components/streaming-text/streaming-text.d.ts.map +1 -1
- package/dist/components/switch/index.js +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tag/index.js +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-area/text-area.d.ts.map +1 -1
- package/dist/components/text-input/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/time-picker/index.js +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toast/toast.d.ts.map +1 -1
- package/dist/components/tooltip/index.js +1 -1
- package/dist/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.js +69 -66
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-debounced-value.d.ts.map +1 -1
- package/dist/hooks/use-direction.d.ts.map +1 -1
- package/dist/hooks/use-focus-trap.d.ts.map +1 -1
- package/dist/hooks/use-scroll-to-first-error.d.ts.map +1 -1
- package/dist/i18n/locales/ar.d.ts +92 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +82 -0
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +92 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +81 -0
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +92 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +82 -0
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +27 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +27 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +92 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +81 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +92 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +81 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +92 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +82 -0
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +92 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +81 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +92 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +82 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +92 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +81 -0
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +92 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +82 -0
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +92 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +83 -0
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +92 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +82 -0
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +92 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +82 -0
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +92 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +82 -0
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +92 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +82 -0
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +92 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +82 -0
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +92 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +82 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +541 -540
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +92 -0
- package/dist/locales/de.json +92 -0
- package/dist/locales/el.json +92 -0
- package/dist/locales/en.json +27 -0
- package/dist/locales/es.json +92 -0
- package/dist/locales/fr.json +92 -0
- package/dist/locales/hi.json +92 -0
- package/dist/locales/it.json +92 -0
- package/dist/locales/ja.json +92 -0
- package/dist/locales/nl.json +92 -0
- package/dist/locales/pl.json +92 -0
- package/dist/locales/pt.json +92 -0
- package/dist/locales/ro.json +92 -0
- package/dist/locales/ru.json +92 -0
- package/dist/locales/sq.json +92 -0
- package/dist/locales/sv.json +92 -0
- package/dist/locales/tr.json +92 -0
- package/dist/locales/zh.json +92 -0
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +2 -2
- package/dist/_chunks/ai-prompt-input-BXlwNnWe.js.map +0 -1
- package/dist/_chunks/audio-recorder-DL800PE_.js.map +0 -1
- package/dist/_chunks/audio-visualiser-I-T4Z7EU.js +0 -145
- package/dist/_chunks/audio-visualiser-I-T4Z7EU.js.map +0 -1
- package/dist/_chunks/avatar-D_H4emLo.js.map +0 -1
- package/dist/_chunks/booking-Bhk9IYm3.js.map +0 -1
- package/dist/_chunks/button-group-Bh2g_Ng-.js.map +0 -1
- package/dist/_chunks/chat-container-izziXViv.js.map +0 -1
- package/dist/_chunks/chat-input-cyl_y9bh.js.map +0 -1
- package/dist/_chunks/color-picker-Bm-gzpsh.js.map +0 -1
- package/dist/_chunks/combobox-Da9eq00i.js.map +0 -1
- package/dist/_chunks/command-palette-11BieSNq.js.map +0 -1
- package/dist/_chunks/date-range-picker-DYgHzMOo.js.map +0 -1
- package/dist/_chunks/editable-currency-cell-renderer-Od3Q-Y8J.js.map +0 -1
- package/dist/_chunks/file-upload-DxAQprcU.js.map +0 -1
- package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +0 -1
- package/dist/_chunks/list-BdvDctBz.js.map +0 -1
- package/dist/_chunks/message-tray-Bh-0ra-Y.js.map +0 -1
- package/dist/_chunks/multi-select-dSe6Xtc4.js.map +0 -1
- package/dist/_chunks/notification-tray-Cnum6LwM.js.map +0 -1
- package/dist/_chunks/phone-input-DKSHX7NQ.js.map +0 -1
- package/dist/_chunks/practice-results-CEKjwsgS.js +0 -1441
- package/dist/_chunks/practice-results-CEKjwsgS.js.map +0 -1
- package/dist/_chunks/progress-B-PSO5OS.js.map +0 -1
- package/dist/_chunks/public-footer.agent-Bc99tE5Z.js.map +0 -1
- package/dist/_chunks/recaptcha-widget-BtBNb6tB.js +0 -192
- package/dist/_chunks/recaptcha-widget-BtBNb6tB.js.map +0 -1
- package/dist/_chunks/registry-C9nwlNyL.js +0 -21
- package/dist/_chunks/registry-C9nwlNyL.js.map +0 -1
- package/dist/_chunks/resizable-COV-cnth.js.map +0 -1
- package/dist/_chunks/search-input-CIA6pPfn.js.map +0 -1
- package/dist/_chunks/signature-capture-DjMlFOzS.js.map +0 -1
- package/dist/_chunks/smile-BSYLAHy6.js +0 -17
- package/dist/_chunks/smile-BSYLAHy6.js.map +0 -1
- package/dist/_chunks/stepper-progress-jFY8BSf7.js.map +0 -1
- package/dist/_chunks/streaming-text-BgjCTVOw.js +0 -105
- package/dist/_chunks/streaming-text-BgjCTVOw.js.map +0 -1
- package/dist/_chunks/text-area-D5GAe8pV.js.map +0 -1
- package/dist/_chunks/tooltip-ClJd0ciy.js.map +0 -1
- package/dist/_chunks/transcript-panel-QUQ9XJmf.js.map +0 -1
- package/dist/_chunks/use-direction-D6rvvG9G.js.map +0 -1
- package/dist/_chunks/use-scroll-to-first-error-BrK7dKB_.js +0 -55
- package/dist/_chunks/use-scroll-to-first-error-BrK7dKB_.js.map +0 -1
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { jsxs as G, jsx as F } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as U, useRef as m, useState as q, useEffect as C, useMemo as J, useImperativeHandle as K } from "react";
|
|
3
|
+
import { useTranslation as Q } from "react-i18next";
|
|
4
|
+
import { u as X } from "./form-field-context-B3APVHKx.js";
|
|
5
|
+
import { u as Y } from "./use-theme-C2dHKUAN.js";
|
|
6
|
+
import { u as Z } from "./registry-nPAVE19X.js";
|
|
7
|
+
const z = {
|
|
8
|
+
id: "recaptcha-widget",
|
|
9
|
+
capabilities: ["submit"],
|
|
10
|
+
state: {
|
|
11
|
+
hasToken: {
|
|
12
|
+
type: "boolean",
|
|
13
|
+
descriptionKey: "ui.agent.recaptchaWidget.state.hasToken",
|
|
14
|
+
description: "True when the widget currently holds a valid verification token.",
|
|
15
|
+
read: (t) => t.getResponse().length > 0
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
actions: {
|
|
19
|
+
execute: {
|
|
20
|
+
safety: "write",
|
|
21
|
+
descriptionKey: "ui.agent.recaptchaWidget.actions.execute",
|
|
22
|
+
description: "Programmatically trigger the captcha challenge. Issues a token via the callback.",
|
|
23
|
+
invoke: (t) => {
|
|
24
|
+
t.execute();
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
reset: {
|
|
28
|
+
safety: "destructive",
|
|
29
|
+
descriptionKey: "ui.agent.recaptchaWidget.actions.reset",
|
|
30
|
+
description: "Clear the current token and re-roll the captcha. Irreversible.",
|
|
31
|
+
invoke: (t) => {
|
|
32
|
+
t.reset();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
domHooks: {
|
|
37
|
+
root: {
|
|
38
|
+
attr: "data-component",
|
|
39
|
+
value: "recaptcha-widget",
|
|
40
|
+
description: "Marks the RecaptchaWidget wrapper."
|
|
41
|
+
},
|
|
42
|
+
instanceId: {
|
|
43
|
+
attr: "data-component-id",
|
|
44
|
+
sourceProp: "id",
|
|
45
|
+
description: "Sourced from the id prop (or the surrounding FormField id)."
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}, N = "https://www.google.com/recaptcha/api.js", O = "alfadocs-ui-recaptcha-loader", ee = 1e4, te = 100;
|
|
49
|
+
let g = null;
|
|
50
|
+
function re(t) {
|
|
51
|
+
return typeof window > "u" ? Promise.reject(new Error("recaptcha: window is not available")) : window.grecaptcha && typeof window.grecaptcha.render == "function" ? Promise.resolve(window.grecaptcha) : g || (g = new Promise((r, h) => {
|
|
52
|
+
const S = document.getElementById(
|
|
53
|
+
O
|
|
54
|
+
), l = () => {
|
|
55
|
+
window.grecaptcha && typeof window.grecaptcha.render == "function" ? r(window.grecaptcha) : h(new Error("recaptcha: grecaptcha global missing after load"));
|
|
56
|
+
};
|
|
57
|
+
if (window.___grecaptchaOnLoad___ = l, S) {
|
|
58
|
+
let d = null, i = null;
|
|
59
|
+
const y = () => {
|
|
60
|
+
d !== null && clearInterval(d), i !== null && clearTimeout(i), d = null, i = null;
|
|
61
|
+
};
|
|
62
|
+
d = setInterval(() => {
|
|
63
|
+
window.grecaptcha && typeof window.grecaptcha.render == "function" && (y(), r(window.grecaptcha));
|
|
64
|
+
}, te), i = setTimeout(() => {
|
|
65
|
+
if (y(), window.grecaptcha && typeof window.grecaptcha.render == "function") {
|
|
66
|
+
r(window.grecaptcha);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const f = `___grecaptchaOnLoad___fallback_${Date.now()}___`;
|
|
70
|
+
window[f] = () => {
|
|
71
|
+
delete window[f], window.grecaptcha && typeof window.grecaptcha.render == "function" ? r(window.grecaptcha) : h(
|
|
72
|
+
new Error("recaptcha: grecaptcha global missing after fallback")
|
|
73
|
+
);
|
|
74
|
+
};
|
|
75
|
+
const k = new URLSearchParams({
|
|
76
|
+
onload: f,
|
|
77
|
+
render: "explicit"
|
|
78
|
+
});
|
|
79
|
+
t && k.set("hl", t);
|
|
80
|
+
const o = document.createElement("script");
|
|
81
|
+
o.src = `${N}?${k.toString()}`, o.async = !0, o.defer = !0, o.onerror = () => {
|
|
82
|
+
delete window[f], g = null, h(new Error("recaptcha: fallback script failed to load"));
|
|
83
|
+
}, document.head.appendChild(o);
|
|
84
|
+
}, ee);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const _ = new URLSearchParams({
|
|
88
|
+
onload: "___grecaptchaOnLoad___",
|
|
89
|
+
render: "explicit"
|
|
90
|
+
});
|
|
91
|
+
t && _.set("hl", t);
|
|
92
|
+
const a = document.createElement("script");
|
|
93
|
+
a.id = O, a.src = `${N}?${_.toString()}`, a.async = !0, a.defer = !0, a.onerror = () => {
|
|
94
|
+
g = null, h(new Error("recaptcha: script failed to load"));
|
|
95
|
+
}, document.head.appendChild(a);
|
|
96
|
+
}), g);
|
|
97
|
+
}
|
|
98
|
+
const ae = U(function({
|
|
99
|
+
siteKey: r,
|
|
100
|
+
theme: h,
|
|
101
|
+
locale: S,
|
|
102
|
+
size: l = "normal",
|
|
103
|
+
onChange: _,
|
|
104
|
+
onExpired: a,
|
|
105
|
+
onError: d,
|
|
106
|
+
error: i,
|
|
107
|
+
id: y,
|
|
108
|
+
className: f
|
|
109
|
+
}, k) {
|
|
110
|
+
const { t: o, i18n: $ } = Q(), T = X(), { resolvedTheme: A } = Y(), I = m(null), c = m(null), n = m(null), [B, b] = q(""), R = y ?? T.id, H = i ? `${R}-error` : void 0, j = [T.describedBy, H].filter(Boolean).join(" ") || void 0, L = h ?? (A.startsWith("dark") ? "dark" : "light"), P = S ?? $.language, e = m(_), x = m(a), u = m(d);
|
|
111
|
+
e.current = _, x.current = a, u.current = d;
|
|
112
|
+
const M = o(
|
|
113
|
+
"inputs.recaptcha.expired",
|
|
114
|
+
"Verification expired — please retry."
|
|
115
|
+
), W = o(
|
|
116
|
+
"inputs.recaptcha.error",
|
|
117
|
+
"Verification failed — please retry."
|
|
118
|
+
);
|
|
119
|
+
C(() => {
|
|
120
|
+
if (!r || !I.current) return;
|
|
121
|
+
let w = !1;
|
|
122
|
+
return re(P).then((v) => {
|
|
123
|
+
w || !I.current || (n.current = v, c.current = v.render(I.current, {
|
|
124
|
+
sitekey: r,
|
|
125
|
+
theme: L,
|
|
126
|
+
size: l,
|
|
127
|
+
hl: P,
|
|
128
|
+
callback: (p) => {
|
|
129
|
+
var s;
|
|
130
|
+
b(""), (s = e.current) == null || s.call(e, p);
|
|
131
|
+
},
|
|
132
|
+
"expired-callback": () => {
|
|
133
|
+
var p, s;
|
|
134
|
+
b(M), (p = e.current) == null || p.call(e, null), (s = x.current) == null || s.call(x);
|
|
135
|
+
},
|
|
136
|
+
"error-callback": () => {
|
|
137
|
+
var p, s;
|
|
138
|
+
b(W), (p = e.current) == null || p.call(e, null), (s = u.current) == null || s.call(u);
|
|
139
|
+
}
|
|
140
|
+
}));
|
|
141
|
+
}).catch(() => {
|
|
142
|
+
var v;
|
|
143
|
+
w || (b(W), (v = u.current) == null || v.call(u));
|
|
144
|
+
}), () => {
|
|
145
|
+
if (w = !0, n.current && c.current !== null)
|
|
146
|
+
try {
|
|
147
|
+
n.current.reset(c.current);
|
|
148
|
+
} catch {
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}, [
|
|
152
|
+
r,
|
|
153
|
+
L,
|
|
154
|
+
P,
|
|
155
|
+
l,
|
|
156
|
+
M,
|
|
157
|
+
W
|
|
158
|
+
]);
|
|
159
|
+
const E = J(
|
|
160
|
+
() => ({
|
|
161
|
+
reset: () => {
|
|
162
|
+
var w;
|
|
163
|
+
n.current && c.current !== null && (n.current.reset(c.current), b(""), (w = e.current) == null || w.call(e, null));
|
|
164
|
+
},
|
|
165
|
+
getResponse: () => n.current && c.current !== null ? n.current.getResponse(c.current) : "",
|
|
166
|
+
execute: () => {
|
|
167
|
+
n.current && c.current !== null && n.current.execute(c.current);
|
|
168
|
+
}
|
|
169
|
+
}),
|
|
170
|
+
[]
|
|
171
|
+
);
|
|
172
|
+
K(k, () => E, [E]), Z(z, E, R);
|
|
173
|
+
const D = i || B, V = l === "invisible" ? "presentation" : void 0;
|
|
174
|
+
return /* @__PURE__ */ G(
|
|
175
|
+
"div",
|
|
176
|
+
{
|
|
177
|
+
className: [
|
|
178
|
+
"ds:inline-block",
|
|
179
|
+
// Keep the iframe inside the wrapper's stacking context so
|
|
180
|
+
// popovers etc. above the form continue to overlay correctly.
|
|
181
|
+
"ds:relative ds:isolate",
|
|
182
|
+
f
|
|
183
|
+
].filter(Boolean).join(" "),
|
|
184
|
+
"data-component": "recaptcha-widget",
|
|
185
|
+
"data-component-id": R,
|
|
186
|
+
"data-size": l,
|
|
187
|
+
role: V,
|
|
188
|
+
children: [
|
|
189
|
+
/* @__PURE__ */ F(
|
|
190
|
+
"div",
|
|
191
|
+
{
|
|
192
|
+
ref: I,
|
|
193
|
+
id: R,
|
|
194
|
+
className: "g-recaptcha",
|
|
195
|
+
"data-sitekey": r,
|
|
196
|
+
"data-theme": L,
|
|
197
|
+
"data-size": l,
|
|
198
|
+
"aria-describedby": j,
|
|
199
|
+
"aria-invalid": i || T.invalid ? !0 : void 0
|
|
200
|
+
}
|
|
201
|
+
),
|
|
202
|
+
/* @__PURE__ */ F(
|
|
203
|
+
"div",
|
|
204
|
+
{
|
|
205
|
+
role: "status",
|
|
206
|
+
"aria-live": "polite",
|
|
207
|
+
"aria-atomic": "true",
|
|
208
|
+
className: "ds:sr-only",
|
|
209
|
+
children: D
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
});
|
|
216
|
+
ae.displayName = "RecaptchaWidget";
|
|
217
|
+
export {
|
|
218
|
+
ae as R,
|
|
219
|
+
z as r
|
|
220
|
+
};
|
|
221
|
+
//# sourceMappingURL=recaptcha-widget-CFYyLSEX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recaptcha-widget-CFYyLSEX.js","sources":["../../src/components/recaptcha-widget/recaptcha-widget.agent.ts","../../src/components/recaptcha-widget/recaptcha-widget.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — RecaptchaWidget. */\n/* */\n/* Recaptcha already exposes a curated `RecaptchaWidgetHandle` via */\n/* useImperativeHandle. The adapter wires `execute` (issue token, write) */\n/* and `reset` (clear token, destructive) into that existing handle. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { RecaptchaWidgetHandle } from './recaptcha-widget';\n\nexport const recaptchaWidgetAgent: AgentAdapter<RecaptchaWidgetHandle> = {\n id: 'recaptcha-widget',\n capabilities: ['submit'],\n state: {\n hasToken: {\n type: 'boolean',\n descriptionKey: 'ui.agent.recaptchaWidget.state.hasToken',\n description:\n 'True when the widget currently holds a valid verification token.',\n read: (handle) => handle.getResponse().length > 0,\n },\n },\n actions: {\n execute: {\n safety: 'write',\n descriptionKey: 'ui.agent.recaptchaWidget.actions.execute',\n description:\n 'Programmatically trigger the captcha challenge. Issues a token via the callback.',\n invoke: (handle) => {\n handle.execute();\n },\n },\n reset: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.recaptchaWidget.actions.reset',\n description:\n 'Clear the current token and re-roll the captcha. Irreversible.',\n invoke: (handle) => {\n handle.reset();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'recaptcha-widget',\n description: 'Marks the RecaptchaWidget wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description:\n 'Sourced from the id prop (or the surrounding FormField id).',\n },\n },\n};\n","import {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useFormField } from '../form-field/form-field-context';\nimport { useTheme } from '../../hooks';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { recaptchaWidgetAgent } from './recaptcha-widget.agent';\n\n/* ------------------------------------------------------------------ */\n/* Loader — idempotent across instances */\n/* ------------------------------------------------------------------ */\n\n/**\n * Google reCAPTCHA v2 ships as a global `grecaptcha` object loaded from\n * `https://www.google.com/recaptcha/api.js`. We lazy-load the script\n * once per page using a shared promise so N widgets on the same form\n * (or N renders of a single widget) all wait on the same fetch.\n *\n * The `?render=explicit` query parameter is required so we control\n * when each widget mounts via `grecaptcha.render`, rather than letting\n * the global auto-bind to every `.g-recaptcha` div on the page.\n */\nconst SCRIPT_SRC = 'https://www.google.com/recaptcha/api.js';\nconst SCRIPT_ID = 'alfadocs-ui-recaptcha-loader';\nconst FOREIGN_LOADER_GRACE_MS = 10_000;\nconst POLL_INTERVAL_MS = 100;\n\ninterface RecaptchaApi {\n render: (\n container: HTMLElement,\n parameters: {\n sitekey: string;\n theme?: 'light' | 'dark';\n size?: 'normal' | 'compact' | 'invisible';\n hl?: string;\n callback?: (token: string) => void;\n 'expired-callback'?: () => void;\n 'error-callback'?: () => void;\n },\n ) => number;\n reset: (widgetId?: number) => void;\n getResponse: (widgetId?: number) => string;\n execute: (widgetId?: number) => void;\n}\n\ndeclare global {\n interface Window {\n grecaptcha?: RecaptchaApi;\n ___grecaptchaOnLoad___?: () => void;\n }\n}\n\nlet loaderPromise: Promise<RecaptchaApi> | null = null;\n\nfunction loadRecaptcha(hl: string | undefined): Promise<RecaptchaApi> {\n if (typeof window === 'undefined') {\n return Promise.reject(new Error('recaptcha: window is not available'));\n }\n if (window.grecaptcha && typeof window.grecaptcha.render === 'function') {\n return Promise.resolve(window.grecaptcha);\n }\n if (loaderPromise) {\n return loaderPromise;\n }\n\n loaderPromise = new Promise<RecaptchaApi>((resolve, reject) => {\n const existing = document.getElementById(\n SCRIPT_ID,\n ) as HTMLScriptElement | null;\n\n const onReady = () => {\n if (window.grecaptcha && typeof window.grecaptcha.render === 'function') {\n resolve(window.grecaptcha);\n } else {\n reject(new Error('recaptcha: grecaptcha global missing after load'));\n }\n };\n\n window.___grecaptchaOnLoad___ = onReady;\n\n if (existing) {\n // Foreign loader present (e.g. host page already injected\n // api.js without ?onload=). Poll for grecaptcha; if it never\n // arrives, inject our own redundant loader with a fresh onload.\n let pollHandle: ReturnType<typeof setInterval> | null = null;\n let timeoutHandle: ReturnType<typeof setTimeout> | null = null;\n const clearTimers = () => {\n if (pollHandle !== null) clearInterval(pollHandle);\n if (timeoutHandle !== null) clearTimeout(timeoutHandle);\n pollHandle = null;\n timeoutHandle = null;\n };\n pollHandle = setInterval(() => {\n if (\n window.grecaptcha &&\n typeof window.grecaptcha.render === 'function'\n ) {\n clearTimers();\n resolve(window.grecaptcha);\n }\n }, POLL_INTERVAL_MS);\n timeoutHandle = setTimeout(() => {\n clearTimers();\n if (\n window.grecaptcha &&\n typeof window.grecaptcha.render === 'function'\n ) {\n resolve(window.grecaptcha);\n return;\n }\n // Foreign loader didn't deliver in time — inject our own.\n const fallbackCb = `___grecaptchaOnLoad___fallback_${Date.now()}___`;\n (window as unknown as Record<string, () => void>)[fallbackCb] = () => {\n delete (window as unknown as Record<string, () => void>)[fallbackCb];\n if (\n window.grecaptcha &&\n typeof window.grecaptcha.render === 'function'\n ) {\n resolve(window.grecaptcha);\n } else {\n reject(\n new Error('recaptcha: grecaptcha global missing after fallback'),\n );\n }\n };\n const fallbackParams = new URLSearchParams({\n onload: fallbackCb,\n render: 'explicit',\n });\n if (hl) fallbackParams.set('hl', hl);\n const fallbackScript = document.createElement('script');\n fallbackScript.src = `${SCRIPT_SRC}?${fallbackParams.toString()}`;\n fallbackScript.async = true;\n fallbackScript.defer = true;\n fallbackScript.onerror = () => {\n delete (window as unknown as Record<string, () => void>)[fallbackCb];\n loaderPromise = null;\n reject(new Error('recaptcha: fallback script failed to load'));\n };\n document.head.appendChild(fallbackScript);\n }, FOREIGN_LOADER_GRACE_MS);\n return;\n }\n\n const params = new URLSearchParams({\n onload: '___grecaptchaOnLoad___',\n render: 'explicit',\n });\n if (hl) params.set('hl', hl);\n\n const script = document.createElement('script');\n script.id = SCRIPT_ID;\n script.src = `${SCRIPT_SRC}?${params.toString()}`;\n script.async = true;\n script.defer = true;\n script.onerror = () => {\n loaderPromise = null;\n reject(new Error('recaptcha: script failed to load'));\n };\n document.head.appendChild(script);\n });\n\n return loaderPromise;\n}\n\n/* ------------------------------------------------------------------ */\n/* Public API */\n/* ------------------------------------------------------------------ */\n\nexport interface RecaptchaWidgetHandle {\n /** Re-roll the captcha — clears the response token. */\n reset: () => void;\n /** Returns the current response token, or empty string when unsolved. */\n getResponse: () => string;\n /** Programmatically trigger an invisible captcha challenge. */\n execute: () => void;\n}\n\nexport interface RecaptchaWidgetProps {\n /** Google reCAPTCHA v2 site key. Required. */\n siteKey: string;\n /**\n * Visual theme. Defaults to the resolved DS theme (`useTheme`).\n * Pass `'light'` / `'dark'` to force.\n */\n theme?: 'light' | 'dark';\n /** Two-letter locale hint. Defaults to the current i18next language. */\n locale?: string;\n /** Widget size. */\n size?: 'normal' | 'compact' | 'invisible';\n /** Called with the verification token, or `null` when expired/reset. */\n onChange?: (token: string | null) => void;\n /** Called when the user solves but the token then times out. */\n onExpired?: () => void;\n /** Called when the script or challenge errors out. */\n onError?: () => void;\n /** Error message — wires aria-describedby + announces via the live region. */\n error?: string;\n /** Override the DOM id; defaults to the surrounding FormField id. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nexport const RecaptchaWidget = forwardRef<\n RecaptchaWidgetHandle,\n RecaptchaWidgetProps\n>(function RecaptchaWidget(\n {\n siteKey,\n theme,\n locale,\n size = 'normal',\n onChange,\n onExpired,\n onError,\n error,\n id,\n className,\n },\n ref,\n) {\n const { t, i18n } = useTranslation();\n const formField = useFormField();\n const { resolvedTheme } = useTheme();\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n const widgetIdRef = useRef<number | null>(null);\n const apiRef = useRef<RecaptchaApi | null>(null);\n const [statusMessage, setStatusMessage] = useState<string>('');\n\n const wrapperId = id ?? formField.id;\n const errorId = error ? `${wrapperId}-error` : undefined;\n const describedBy =\n [formField.describedBy, errorId].filter(Boolean).join(' ') || undefined;\n\n // Mirror the DS theme into reCAPTCHA's two-tone setting.\n const effectiveTheme: 'light' | 'dark' =\n theme ?? (resolvedTheme.startsWith('dark') ? 'dark' : 'light');\n const effectiveLocale = locale ?? i18n.language;\n\n // Stable callbacks via refs so we don't re-render the widget on\n // every parent state change.\n const onChangeRef = useRef(onChange);\n const onExpiredRef = useRef(onExpired);\n const onErrorRef = useRef(onError);\n onChangeRef.current = onChange;\n onExpiredRef.current = onExpired;\n onErrorRef.current = onError;\n\n const expiredLabel = t(\n 'inputs.recaptcha.expired',\n 'Verification expired — please retry.',\n );\n const errorLabel = t(\n 'inputs.recaptcha.error',\n 'Verification failed — please retry.',\n );\n\n useEffect(() => {\n if (!siteKey || !containerRef.current) return;\n let cancelled = false;\n\n loadRecaptcha(effectiveLocale)\n .then((api) => {\n if (cancelled || !containerRef.current) return;\n apiRef.current = api;\n widgetIdRef.current = api.render(containerRef.current, {\n sitekey: siteKey,\n theme: effectiveTheme,\n size,\n hl: effectiveLocale,\n callback: (token) => {\n setStatusMessage('');\n onChangeRef.current?.(token);\n },\n 'expired-callback': () => {\n setStatusMessage(expiredLabel);\n onChangeRef.current?.(null);\n onExpiredRef.current?.();\n },\n 'error-callback': () => {\n setStatusMessage(errorLabel);\n onChangeRef.current?.(null);\n onErrorRef.current?.();\n },\n });\n })\n .catch(() => {\n if (cancelled) return;\n setStatusMessage(errorLabel);\n onErrorRef.current?.();\n });\n\n return () => {\n cancelled = true;\n // grecaptcha has no public destroy. The shared script stays\n // loaded; we reset the widget so its iframe stops listening.\n if (apiRef.current && widgetIdRef.current !== null) {\n try {\n apiRef.current.reset(widgetIdRef.current);\n } catch {\n /* widget id may already be invalid — safe to ignore. */\n }\n }\n };\n // Re-render the widget when the underlying configuration changes.\n }, [\n siteKey,\n effectiveTheme,\n effectiveLocale,\n size,\n expiredLabel,\n errorLabel,\n ]);\n\n const agentHandle = useMemo<RecaptchaWidgetHandle>(\n () => ({\n reset: () => {\n if (apiRef.current && widgetIdRef.current !== null) {\n apiRef.current.reset(widgetIdRef.current);\n setStatusMessage('');\n onChangeRef.current?.(null);\n }\n },\n getResponse: () => {\n if (apiRef.current && widgetIdRef.current !== null) {\n return apiRef.current.getResponse(widgetIdRef.current);\n }\n return '';\n },\n execute: () => {\n if (apiRef.current && widgetIdRef.current !== null) {\n apiRef.current.execute(widgetIdRef.current);\n }\n },\n }),\n [],\n );\n useImperativeHandle(ref, () => agentHandle, [agentHandle]);\n useAgentRegistration(recaptchaWidgetAgent, agentHandle, wrapperId);\n\n const liveMessage = error || statusMessage;\n // For invisible widgets the iframe is offscreen, so we mark the\n // wrapper as a non-visual badge. Otherwise the wrapper just hosts\n // the rendered iframe and contributes no interactive role itself.\n const wrapperRole = size === 'invisible' ? 'presentation' : undefined;\n\n return (\n <div\n className={[\n 'ds:inline-block',\n // Keep the iframe inside the wrapper's stacking context so\n // popovers etc. above the form continue to overlay correctly.\n 'ds:relative ds:isolate',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n data-component=\"recaptcha-widget\"\n data-component-id={wrapperId}\n data-size={size}\n role={wrapperRole}\n >\n <div\n ref={containerRef}\n id={wrapperId}\n // The class name is the canonical hook Google's verifier\n // looks for when the page form is submitted server-side. Some\n // Symfony / Laravel validators short-circuit when this class\n // is missing, so we render it even though we're using\n // grecaptcha.render explicitly.\n className=\"g-recaptcha\"\n data-sitekey={siteKey}\n data-theme={effectiveTheme}\n data-size={size}\n aria-describedby={describedBy}\n aria-invalid={error || formField.invalid ? true : undefined}\n />\n {/* Live announcement for expired / error states. Empty when the\n widget is healthy so SR users aren't spammed. */}\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"ds:sr-only\"\n >\n {liveMessage}\n </div>\n </div>\n );\n});\n\nRecaptchaWidget.displayName = 'RecaptchaWidget';\n"],"names":["recaptchaWidgetAgent","handle","SCRIPT_SRC","SCRIPT_ID","FOREIGN_LOADER_GRACE_MS","POLL_INTERVAL_MS","loaderPromise","loadRecaptcha","hl","resolve","reject","existing","onReady","pollHandle","timeoutHandle","clearTimers","fallbackCb","fallbackParams","fallbackScript","params","script","RecaptchaWidget","forwardRef","siteKey","theme","locale","size","onChange","onExpired","onError","error","id","className","ref","t","i18n","useTranslation","formField","useFormField","resolvedTheme","useTheme","containerRef","useRef","widgetIdRef","apiRef","statusMessage","setStatusMessage","useState","wrapperId","errorId","describedBy","effectiveTheme","effectiveLocale","onChangeRef","onExpiredRef","onErrorRef","expiredLabel","errorLabel","useEffect","cancelled","api","token","_a","_b","agentHandle","useMemo","useImperativeHandle","useAgentRegistration","liveMessage","wrapperRole","jsxs","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useEffect as e } from "react";
|
|
2
|
+
function g(t, r, o) {
|
|
3
|
+
e(() => {
|
|
4
|
+
if (typeof globalThis > "u") return;
|
|
5
|
+
const i = globalThis.__alfadocs_agent;
|
|
6
|
+
if (!i || !o || r == null) return;
|
|
7
|
+
const s = {
|
|
8
|
+
id: t.id,
|
|
9
|
+
instanceId: o,
|
|
10
|
+
handle: r,
|
|
11
|
+
adapter: t
|
|
12
|
+
};
|
|
13
|
+
return i.register(s), () => {
|
|
14
|
+
i.unregister(t.id, o);
|
|
15
|
+
};
|
|
16
|
+
}, [t, r, o]);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
g as u
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=registry-nPAVE19X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-nPAVE19X.js","sources":["../../src/agent/registry.ts"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent runtime registry — interface only. */\n/* */\n/* The kit declares the registry shape and a no-op subscription hook. */\n/* The platform-side UI bridge mounts the actual registry at app root and */\n/* consumes the registrations to drive components from a future MCP */\n/* server. With no registry mounted, `useAgentRegistration` is a no-op. */\n/* -------------------------------------------------------------------- */\n\nimport { useEffect } from 'react';\nimport type { AgentAdapter } from './types';\n\nexport interface AgentRegistration<THandle = unknown> {\n id: string;\n instanceId: string;\n handle: THandle;\n adapter: AgentAdapter<THandle>;\n}\n\nexport interface AgentRegistry {\n register: (registration: AgentRegistration) => void;\n unregister: (id: string, instanceId: string) => void;\n}\n\n// Local type for the registry slot — avoids `declare global` leaking\n// into consumer Window types via the published .d.ts bundle.\ntype AgentGlobal = { __alfadocs_agent?: AgentRegistry };\n\n/**\n * Register a live component instance with the host agent registry, if one\n * is mounted. No-op when `globalThis.__alfadocs_agent` is undefined, so the\n * call is safe to add unconditionally inside any kit component.\n *\n * Re-registers when `instanceId` or `handle` changes; deregisters on\n * unmount.\n */\nexport function useAgentRegistration<THandle>(\n adapter: AgentAdapter<THandle>,\n handle: THandle | null | undefined,\n instanceId: string | null | undefined,\n): void {\n useEffect(() => {\n if (typeof globalThis === 'undefined') return;\n const slot = globalThis as AgentGlobal;\n const registry = slot.__alfadocs_agent;\n if (!registry || !instanceId || handle == null) return;\n\n const registration: AgentRegistration<THandle> = {\n id: adapter.id,\n instanceId,\n handle,\n adapter,\n };\n registry.register(registration as AgentRegistration);\n\n return () => {\n registry.unregister(adapter.id, instanceId);\n };\n }, [adapter, handle, instanceId]);\n}\n"],"names":["useAgentRegistration","adapter","handle","instanceId","useEffect","registry","registration"],"mappings":";AAoCO,SAASA,EACdC,GACAC,GACAC,GACM;AACN,EAAAC,EAAU,MAAM;AACd,QAAI,OAAO,aAAe,IAAa;AAEvC,UAAMC,IADO,WACS;AACtB,QAAI,CAACA,KAAY,CAACF,KAAcD,KAAU,KAAM;AAEhD,UAAMI,IAA2C;AAAA,MAC/C,IAAIL,EAAQ;AAAA,MACZ,YAAAE;AAAA,MACA,QAAAD;AAAA,MACA,SAAAD;AAAA,IAAA;AAEF,WAAAI,EAAS,SAASC,CAAiC,GAE5C,MAAM;AACX,MAAAD,EAAS,WAAWJ,EAAQ,IAAIE,CAAU;AAAA,IAC5C;AAAA,EACF,GAAG,CAACF,GAASC,GAAQC,CAAU,CAAC;AAClC;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as L, jsxs as de } from "react/jsx-runtime";
|
|
2
|
-
import { createContext as pe, useContext as me, forwardRef as ee, useState as Z, useRef as V, useCallback as X, useEffect as ae, useImperativeHandle as ze, useId as be, useMemo as re, Children as ge,
|
|
2
|
+
import { createContext as pe, useContext as me, forwardRef as ee, useState as Z, useRef as V, useCallback as X, useEffect as ae, useImperativeHandle as ze, useId as be, useMemo as re, Children as ge, isValidElement as ve, cloneElement as se } from "react";
|
|
3
3
|
import { c as te } from "./index-D2ZczOXr.js";
|
|
4
|
-
import { useTranslation as
|
|
5
|
-
import { u as
|
|
4
|
+
import { useTranslation as Se } from "react-i18next";
|
|
5
|
+
import { u as he } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
|
|
6
|
+
import { u as ye } from "./registry-nPAVE19X.js";
|
|
6
7
|
const oe = pe(
|
|
7
8
|
null
|
|
8
9
|
);
|
|
@@ -145,26 +146,26 @@ const Me = te(
|
|
|
145
146
|
const n = [];
|
|
146
147
|
let o = 0, D = 0;
|
|
147
148
|
const q = ($) => {
|
|
148
|
-
if (!
|
|
149
|
+
if (!ve($)) return $;
|
|
149
150
|
if ($.type === ue) {
|
|
150
|
-
const
|
|
151
|
+
const _ = o, t = $.props;
|
|
151
152
|
return n.push({
|
|
152
|
-
id: `${g}-panel-${
|
|
153
|
-
index:
|
|
153
|
+
id: `${g}-panel-${_}`,
|
|
154
|
+
index: _,
|
|
154
155
|
defaultSize: t.defaultSize,
|
|
155
156
|
minSize: t.minSize ?? 10,
|
|
156
157
|
maxSize: t.maxSize ?? 90,
|
|
157
158
|
collapsible: t.collapsible ?? !1,
|
|
158
159
|
collapsedSize: t.collapsedSize ?? 0
|
|
159
160
|
}), o++, se($, {
|
|
160
|
-
_panelIndex:
|
|
161
|
-
_panelId: `${g}-panel-${
|
|
161
|
+
_panelIndex: _,
|
|
162
|
+
_panelId: `${g}-panel-${_}`
|
|
162
163
|
});
|
|
163
164
|
}
|
|
164
165
|
if ($.type === fe) {
|
|
165
|
-
const
|
|
166
|
+
const _ = D++;
|
|
166
167
|
return se($, {
|
|
167
|
-
_handleIndex:
|
|
168
|
+
_handleIndex: _
|
|
168
169
|
});
|
|
169
170
|
}
|
|
170
171
|
return $;
|
|
@@ -194,7 +195,7 @@ const Me = te(
|
|
|
194
195
|
},
|
|
195
196
|
[u, v]
|
|
196
197
|
);
|
|
197
|
-
|
|
198
|
+
he(() => {
|
|
198
199
|
a.current.forEach((n, o) => {
|
|
199
200
|
o < c.length && n.style.setProperty("--panel-self-size", `${c[o]}%`);
|
|
200
201
|
});
|
|
@@ -210,7 +211,7 @@ const Me = te(
|
|
|
210
211
|
a.current.delete(n);
|
|
211
212
|
}, []), M = X((n) => {
|
|
212
213
|
l(n);
|
|
213
|
-
}, []),
|
|
214
|
+
}, []), I = Pe({ direction: e, className: C }), Q = {
|
|
214
215
|
direction: e,
|
|
215
216
|
sizes: c,
|
|
216
217
|
liveSizesRef: h,
|
|
@@ -234,7 +235,7 @@ const Me = te(
|
|
|
234
235
|
"div",
|
|
235
236
|
{
|
|
236
237
|
ref: W,
|
|
237
|
-
className:
|
|
238
|
+
className: I,
|
|
238
239
|
"data-component": "resizable",
|
|
239
240
|
"data-component-id": f,
|
|
240
241
|
"data-panel-group": !0,
|
|
@@ -278,8 +279,8 @@ const ue = ee(
|
|
|
278
279
|
if (Math.abs(N) < 1e-3) return;
|
|
279
280
|
const P = [...x];
|
|
280
281
|
P[e] = h;
|
|
281
|
-
const F = x.map((M,
|
|
282
|
-
(M,
|
|
282
|
+
const F = x.map((M, I) => I).filter((M) => M !== e), j = F.reduce(
|
|
283
|
+
(M, I) => M + (x[I] ?? 0),
|
|
283
284
|
0
|
|
284
285
|
);
|
|
285
286
|
F.forEach((M) => {
|
|
@@ -312,7 +313,7 @@ const ue = ee(
|
|
|
312
313
|
ue.displayName = "Panel";
|
|
313
314
|
const fe = ee(
|
|
314
315
|
({ _handleIndex: e = 0, className: u }, f) => {
|
|
315
|
-
const { t: v, i18n: C } =
|
|
316
|
+
const { t: v, i18n: C } = Se(), {
|
|
316
317
|
direction: r,
|
|
317
318
|
sizes: p,
|
|
318
319
|
liveSizesRef: g,
|
|
@@ -348,15 +349,15 @@ const fe = ee(
|
|
|
348
349
|
if (!c.current) return;
|
|
349
350
|
const { startX: i, startY: y, startSizes: S, groupRect: T } = c.current, H = r === "horizontal", Y = H ? T.width : T.height;
|
|
350
351
|
if (Y === 0) return;
|
|
351
|
-
const B = H ? t.clientX - i : t.clientY - y, J = (H && F() ? -B : B) / Y * 100,
|
|
352
|
+
const B = H ? t.clientX - i : t.clientY - y, J = (H && F() ? -B : B) / Y * 100, G = ke(
|
|
352
353
|
S,
|
|
353
354
|
e,
|
|
354
355
|
J,
|
|
355
356
|
s,
|
|
356
357
|
Y
|
|
357
358
|
);
|
|
358
|
-
if (m(
|
|
359
|
-
const k = Math.round(
|
|
359
|
+
if (m(G), N.current) {
|
|
360
|
+
const k = Math.round(G[e]);
|
|
360
361
|
N.current.setAttribute("aria-valuenow", String(k)), N.current.setAttribute(
|
|
361
362
|
"aria-valuetext",
|
|
362
363
|
new Intl.NumberFormat(C.language, { style: "percent" }).format(
|
|
@@ -364,8 +365,8 @@ const fe = ee(
|
|
|
364
365
|
)
|
|
365
366
|
);
|
|
366
367
|
}
|
|
367
|
-
P(
|
|
368
|
-
},
|
|
368
|
+
P(G[e]);
|
|
369
|
+
}, I = (t) => {
|
|
369
370
|
if (!c.current) return;
|
|
370
371
|
t.currentTarget.releasePointerCapture(t.pointerId), t.currentTarget.style.removeProperty("touch-action"), c.current = null, E(!1);
|
|
371
372
|
const i = g.current;
|
|
@@ -387,7 +388,7 @@ const fe = ee(
|
|
|
387
388
|
if (z <= 0) return null;
|
|
388
389
|
const b = [...R];
|
|
389
390
|
return b[i] += z, b[y] -= z, b;
|
|
390
|
-
},
|
|
391
|
+
}, G = (w = B) => {
|
|
391
392
|
const z = S.collapsible ? S.collapsedSize : S.minSize, b = Math.min(w, R[i] - z);
|
|
392
393
|
if (b <= 0) return null;
|
|
393
394
|
const K = [...R];
|
|
@@ -397,11 +398,11 @@ const fe = ee(
|
|
|
397
398
|
switch (t.key) {
|
|
398
399
|
case "ArrowRight":
|
|
399
400
|
if (!H) break;
|
|
400
|
-
t.preventDefault(), k = Y ?
|
|
401
|
+
t.preventDefault(), k = Y ? G() : J();
|
|
401
402
|
break;
|
|
402
403
|
case "ArrowLeft":
|
|
403
404
|
if (!H) break;
|
|
404
|
-
t.preventDefault(), k = Y ? J() :
|
|
405
|
+
t.preventDefault(), k = Y ? J() : G();
|
|
405
406
|
break;
|
|
406
407
|
case "ArrowDown":
|
|
407
408
|
if (H) break;
|
|
@@ -409,7 +410,7 @@ const fe = ee(
|
|
|
409
410
|
break;
|
|
410
411
|
case "ArrowUp":
|
|
411
412
|
if (H) break;
|
|
412
|
-
t.preventDefault(), k =
|
|
413
|
+
t.preventDefault(), k = G();
|
|
413
414
|
break;
|
|
414
415
|
case "Home": {
|
|
415
416
|
t.preventDefault();
|
|
@@ -463,7 +464,7 @@ const fe = ee(
|
|
|
463
464
|
className: Me({ orientation: q, className: u }),
|
|
464
465
|
onPointerDown: j,
|
|
465
466
|
onPointerMove: M,
|
|
466
|
-
onPointerUp:
|
|
467
|
+
onPointerUp: I,
|
|
467
468
|
onPointerCancel: Q,
|
|
468
469
|
onKeyDown: W
|
|
469
470
|
}
|
|
@@ -480,4 +481,4 @@ export {
|
|
|
480
481
|
Re as r,
|
|
481
482
|
le as u
|
|
482
483
|
};
|
|
483
|
-
//# sourceMappingURL=resizable-
|
|
484
|
+
//# sourceMappingURL=resizable-3vzqDlg6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizable-3vzqDlg6.js","sources":["../../src/components/resizable/resizable-context.ts","../../src/components/resizable/resizable.agent.ts","../../src/components/resizable/resizable.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n type MutableRefObject,\n type RefObject,\n} from 'react';\n\nexport interface PanelConfig {\n id: string;\n index: number;\n defaultSize: number;\n minSize: number;\n maxSize: number;\n collapsible: boolean;\n collapsedSize: number;\n}\n\nexport interface ResizableContextShape {\n direction: 'horizontal' | 'vertical';\n sizes: number[];\n liveSizesRef: MutableRefObject<number[]>;\n panels: PanelConfig[];\n groupRef: RefObject<HTMLDivElement>;\n updateSizesImperative: (newSizes: number[]) => void;\n commitSizes: (newSizes: number[]) => void;\n registerPanelElement: (index: number, el: HTMLDivElement) => void;\n unregisterPanelElement: (index: number) => void;\n setAnnounceText: (text: string) => void;\n}\n\nexport const ResizableContext = createContext<ResizableContextShape | null>(\n null,\n);\n\nexport function useResizable(): ResizableContextShape {\n const ctx = useContext(ResizableContext);\n if (!ctx) {\n throw new Error('useResizable must be used within a PanelGroup');\n }\n return ctx;\n}\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — Resizable. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { ResizableHandle } from './resizable';\n\nexport const resizableAgent: AgentAdapter<ResizableHandle> = {\n id: 'resizable',\n capabilities: ['range_navigate'],\n state: {\n sizes: {\n type: 'number[]',\n description: 'Current per-panel sizes as percentages of the group.',\n read: (handle) => handle.getSizes(),\n },\n },\n actions: {\n set_sizes: {\n safety: 'read',\n argsType: '{ sizes: number[] }',\n description: 'Replace the panel sizes (percentages, summing to 100).',\n invoke: (handle, args: { sizes: number[] }) => {\n handle.setSizes(args.sizes);\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'resizable' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on PanelGroup.',\n },\n item: {\n attr: 'data-panel-id',\n description:\n 'Each Panel forwards its `id` to react-resizable-panels which emits it as `data-panel-id`.',\n },\n },\n};\n","import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent,\n type MutableRefObject,\n type PointerEvent as ReactPointerEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n ResizableContext,\n useResizable,\n type PanelConfig,\n} from './resizable-context';\nimport { useAgentRegistration } from '../../agent';\nimport { resizableAgent } from './resizable.agent';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\n\n// ─── storage ──────────────────────────────────────────────────────────────────\n\nconst STORAGE_PREFIX = 'ui-kit:resizable:';\n\nfunction loadFromStorage(groupId: string | undefined): number[] | null {\n if (!groupId) return null;\n try {\n const raw = localStorage.getItem(`${STORAGE_PREFIX}${groupId}`);\n if (!raw) return null;\n const parsed = JSON.parse(raw) as { v: number; sizes: number[] };\n if (parsed.v !== 1 || !Array.isArray(parsed.sizes)) return null;\n return parsed.sizes;\n } catch {\n return null;\n }\n}\n\nfunction saveToStorage(groupId: string, sizes: number[]): void {\n try {\n localStorage.setItem(\n `${STORAGE_PREFIX}${groupId}`,\n JSON.stringify({ v: 1, sizes }),\n );\n } catch {\n // QuotaExceeded or private mode\n }\n}\n\n// ─── size helpers ─────────────────────────────────────────────────────────────\n\nfunction normalizeSizes(raw: number[]): number[] {\n const total = raw.reduce((a, b) => a + b, 0);\n if (total === 0) return raw.map(() => 100 / raw.length);\n return raw.map((s) => (s / total) * 100);\n}\n\nfunction computeNewSizes(\n currentSizes: number[],\n handleIndex: number,\n deltaPercent: number,\n panels: PanelConfig[],\n groupSizePx: number,\n): number[] {\n const sizes = [...currentSizes];\n const li = handleIndex;\n const ri = handleIndex + 1;\n if (li >= sizes.length || ri >= sizes.length) return sizes;\n\n const lc = panels[li];\n const rc = panels[ri];\n const total = sizes[li] + sizes[ri];\n const collapseThreshold = groupSizePx > 0 ? (20 / groupSizePx) * 100 : 2;\n\n let newLeft = sizes[li] + deltaPercent;\n let newRight = total - newLeft;\n\n if (lc.collapsible && newLeft < lc.minSize) {\n if (newLeft < lc.minSize - collapseThreshold) {\n sizes[li] = lc.collapsedSize;\n sizes[ri] = total - lc.collapsedSize;\n return sizes;\n }\n newLeft = lc.minSize;\n newRight = total - newLeft;\n }\n\n if (rc.collapsible && newRight < rc.minSize) {\n if (newRight < rc.minSize - collapseThreshold) {\n sizes[ri] = rc.collapsedSize;\n sizes[li] = total - rc.collapsedSize;\n return sizes;\n }\n newRight = rc.minSize;\n newLeft = total - newRight;\n }\n\n const lMin = lc.collapsible ? lc.collapsedSize : lc.minSize;\n const rMin = rc.collapsible ? rc.collapsedSize : rc.minSize;\n\n newLeft = Math.max(lMin, Math.min(lc.maxSize, newLeft));\n newRight = total - newLeft;\n newRight = Math.max(rMin, Math.min(rc.maxSize, newRight));\n newLeft = total - newRight;\n newLeft = Math.max(lMin, Math.min(lc.maxSize, newLeft));\n\n sizes[li] = Math.max(0, newLeft);\n sizes[ri] = Math.max(0, total - sizes[li]);\n return sizes;\n}\n\n// ─── Handle CVA ──────────────────────────────────────────────────────────────\n// calc with underscores for Tailwind arbitrary value spaces\n// Extends hit area to --min-target-size via ::before pseudo-element\n\nconst handleVariants = cva(\n [\n 'ds:relative ds:flex ds:items-center ds:justify-center ds:shrink-0 ds:select-none',\n 'ds:bg-[var(--border)]',\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:hover:bg-[var(--accent)] ds:data-[dragging]:bg-[var(--accent)]',\n \"ds:before:absolute ds:before:content-['']\",\n ],\n {\n variants: {\n orientation: {\n horizontal: [\n 'ds:[inline-size:var(--resizable-handle-size)] ds:cursor-col-resize ds:[block-size:100%]',\n 'ds:before:[block-size:100%]',\n 'ds:before:[inline-size:var(--min-target-size)]',\n 'ds:before:[inset-block:0]',\n 'ds:before:[inset-inline:calc(0px_-_(var(--min-target-size)_-_var(--resizable-handle-size))_/_2)]',\n ],\n vertical: [\n 'ds:[block-size:var(--resizable-handle-size)] ds:cursor-row-resize ds:[inline-size:100%]',\n 'ds:before:[inline-size:100%]',\n 'ds:before:[block-size:var(--min-target-size)]',\n 'ds:before:[inset-inline:0]',\n 'ds:before:[inset-block:calc(0px_-_(var(--min-target-size)_-_var(--resizable-handle-size))_/_2)]',\n ],\n },\n },\n defaultVariants: { orientation: 'horizontal' },\n },\n);\n\n// ─── PanelGroup CVA ──────────────────────────────────────────────────────────\n\nconst panelGroupVariants = cva('ds:flex ds:overflow-hidden', {\n variants: {\n direction: {\n horizontal: 'ds:flex-row',\n vertical: 'ds:flex-col',\n },\n },\n defaultVariants: { direction: 'horizontal' },\n});\n\n// ─── Panel CVA ────────────────────────────────────────────────────────────────\n\nconst panelVariants = cva(\n 'ds:[flex:0_0_var(--panel-self-size,50%)] ds:overflow-auto',\n {\n variants: {\n direction: {\n horizontal: 'ds:[min-inline-size:0]',\n vertical: 'ds:[min-block-size:0]',\n },\n },\n defaultVariants: { direction: 'horizontal' },\n },\n);\n\n// ─── Public types ─────────────────────────────────────────────────────────────\n\nexport interface PanelGroupProps {\n direction: 'horizontal' | 'vertical';\n groupId?: string;\n /** Opaque instance id — emitted as `data-component-id` for the agent registry. */\n id?: string;\n onLayout?: (sizes: number[]) => void;\n className?: string;\n children: ReactNode;\n}\n\n// Curated agent-readiness handle — see resizable.agent.ts.\nexport interface ResizableHandle {\n getSizes: () => number[];\n setSizes: (sizes: number[]) => void;\n}\n\nexport interface PanelHandle {\n resize: (size: number) => void;\n}\n\nexport interface PanelProps {\n defaultSize: number;\n minSize?: number;\n maxSize?: number;\n collapsible?: boolean;\n collapsedSize?: number;\n className?: string;\n children?: ReactNode;\n}\n\nexport interface HandleProps {\n className?: string;\n}\n\n// Internal injection (not exported)\ntype PanelInternalProps = PanelProps & {\n _panelIndex?: number;\n _panelId?: string;\n};\n\ntype HandleInternalProps = HandleProps & {\n _handleIndex?: number;\n};\n\n// ─── PanelGroup ───────────────────────────────────────────────────────────────\n\nexport const PanelGroup = forwardRef<HTMLDivElement, PanelGroupProps>(\n ({ direction, groupId, id, onLayout, className, children }, outerRef) => {\n const baseId = useId();\n const groupRef = useRef<HTMLDivElement>(null!);\n const panelElementsRef = useRef<Map<number, HTMLDivElement>>(new Map());\n const storageTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(\n null,\n );\n const [announceText, setAnnounceText] = useState('');\n\n // Walk children to extract panel configs and inject internal indices\n const { panelConfigs, processedChildren } = useMemo(() => {\n const configs: PanelConfig[] = [];\n let panelIdx = 0;\n let handleIdx = 0;\n\n const walk = (child: ReactNode): ReactNode => {\n if (!isValidElement(child)) return child;\n if (child.type === Panel) {\n const idx = panelIdx;\n const p = child.props as PanelProps;\n configs.push({\n id: `${baseId}-panel-${idx}`,\n index: idx,\n defaultSize: p.defaultSize,\n minSize: p.minSize ?? 10,\n maxSize: p.maxSize ?? 90,\n collapsible: p.collapsible ?? false,\n collapsedSize: p.collapsedSize ?? 0,\n });\n panelIdx++;\n return cloneElement(child as ReactElement<PanelInternalProps>, {\n _panelIndex: idx,\n _panelId: `${baseId}-panel-${idx}`,\n });\n }\n if (child.type === Handle) {\n const idx = handleIdx++;\n return cloneElement(child as ReactElement<HandleInternalProps>, {\n _handleIndex: idx,\n });\n }\n return child;\n };\n\n return {\n panelConfigs: configs,\n processedChildren: Children.map(children, walk),\n };\n }, [children, baseId]);\n\n // Initial sizes from storage or defaults\n const [committedSizes, setCommittedSizes] = useState<number[]>(() => {\n if (panelConfigs.length === 0) return [];\n const stored = loadFromStorage(groupId);\n if (stored && stored.length === panelConfigs.length) return stored;\n return normalizeSizes(panelConfigs.map((p) => p.defaultSize));\n });\n\n const liveSizesRef = useRef<number[]>(committedSizes);\n\n useEffect(() => {\n liveSizesRef.current = committedSizes;\n }, [committedSizes]);\n\n const updateSizesImperative = useCallback((newSizes: number[]) => {\n liveSizesRef.current = newSizes;\n panelElementsRef.current.forEach((el, idx) => {\n if (idx < newSizes.length) {\n el.style.setProperty('--panel-self-size', `${newSizes[idx]}%`);\n }\n });\n }, []);\n\n const commitSizes = useCallback(\n (newSizes: number[]) => {\n liveSizesRef.current = newSizes;\n setCommittedSizes(newSizes);\n onLayout?.(newSizes);\n if (groupId) {\n if (storageTimeoutRef.current)\n clearTimeout(storageTimeoutRef.current);\n storageTimeoutRef.current = setTimeout(\n () => saveToStorage(groupId, newSizes),\n 120,\n );\n }\n },\n [groupId, onLayout],\n );\n\n // Apply CSS vars to panel elements when committed sizes change\n useIsomorphicLayoutEffect(() => {\n panelElementsRef.current.forEach((el, idx) => {\n if (idx < committedSizes.length) {\n el.style.setProperty('--panel-self-size', `${committedSizes[idx]}%`);\n }\n });\n }, [committedSizes]);\n\n const registerPanelElement = useCallback(\n (index: number, el: HTMLDivElement) => {\n panelElementsRef.current.set(index, el);\n const size = liveSizesRef.current[index];\n if (size !== undefined) {\n el.style.setProperty('--panel-self-size', `${size}%`);\n }\n },\n [],\n );\n\n const unregisterPanelElement = useCallback((index: number) => {\n panelElementsRef.current.delete(index);\n }, []);\n\n const setAnnounceCb = useCallback((text: string) => {\n setAnnounceText(text);\n }, []);\n\n const containerClass = panelGroupVariants({ direction, className });\n\n const ctxValue = {\n direction,\n sizes: committedSizes,\n liveSizesRef,\n panels: panelConfigs,\n groupRef,\n updateSizesImperative,\n commitSizes,\n registerPanelElement,\n unregisterPanelElement,\n setAnnounceText: setAnnounceCb,\n };\n\n const setRef = (el: HTMLDivElement | null) => {\n (groupRef as MutableRefObject<HTMLDivElement | null>).current = el;\n if (typeof outerRef === 'function') outerRef(el);\n else if (outerRef) outerRef.current = el;\n };\n\n // Agent handle for the root PanelGroup.\n const agentHandle = useMemo<ResizableHandle>(\n () => ({\n getSizes: () => [...liveSizesRef.current],\n setSizes: (next) => commitSizes(normalizeSizes(next)),\n }),\n [commitSizes],\n );\n useAgentRegistration(resizableAgent, agentHandle, id);\n\n return (\n <ResizableContext.Provider value={ctxValue}>\n <div\n ref={setRef}\n className={containerClass}\n data-component=\"resizable\"\n data-component-id={id}\n data-panel-group\n data-direction={direction}\n >\n {processedChildren}\n <span className=\"ds:sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\n {announceText}\n </span>\n </div>\n </ResizableContext.Provider>\n );\n },\n);\n\nPanelGroup.displayName = 'PanelGroup';\n\n// ─── Panel ────────────────────────────────────────────────────────────────────\n\nexport const Panel = forwardRef<PanelHandle, PanelInternalProps>(\n (\n {\n _panelIndex = 0,\n _panelId,\n minSize = 10,\n maxSize = 90,\n children,\n className,\n },\n ref,\n ) => {\n const {\n direction,\n liveSizesRef,\n panels,\n updateSizesImperative,\n commitSizes,\n registerPanelElement,\n unregisterPanelElement,\n } = useResizable();\n\n const panelRef = useRef<HTMLDivElement>(null!);\n\n useEffect(() => {\n const el = panelRef.current;\n if (!el) return;\n registerPanelElement(_panelIndex, el);\n return () => unregisterPanelElement(_panelIndex);\n }, [_panelIndex, registerPanelElement, unregisterPanelElement]);\n\n useImperativeHandle(\n ref,\n () => ({\n resize: (newSize: number) => {\n const currentSizes = [...liveSizesRef.current];\n const clamped = Math.max(minSize, Math.min(maxSize, newSize));\n const diff = clamped - (currentSizes[_panelIndex] ?? 0);\n if (Math.abs(diff) < 0.001) return;\n\n const newSizes = [...currentSizes];\n newSizes[_panelIndex] = clamped;\n\n const otherIndices = currentSizes\n .map((_, i) => i)\n .filter((i) => i !== _panelIndex);\n const otherTotal = otherIndices.reduce(\n (s, i) => s + (currentSizes[i] ?? 0),\n 0,\n );\n otherIndices.forEach((i) => {\n newSizes[i] =\n otherTotal > 0\n ? (currentSizes[i] ?? 0) -\n diff * ((currentSizes[i] ?? 0) / otherTotal)\n : (currentSizes[i] ?? 0) - diff / otherIndices.length;\n });\n\n updateSizesImperative(newSizes);\n commitSizes(newSizes);\n },\n }),\n [\n _panelIndex,\n minSize,\n maxSize,\n panels,\n liveSizesRef,\n updateSizesImperative,\n commitSizes,\n ],\n );\n\n return (\n <div\n ref={panelRef}\n id={_panelId}\n data-panel\n data-panel-index={_panelIndex}\n className={panelVariants({ direction, className })}\n >\n {children}\n </div>\n );\n },\n);\n\nPanel.displayName = 'Panel';\n\n// ─── Handle ───────────────────────────────────────────────────────────────────\n\nexport const Handle = forwardRef<HTMLDivElement, HandleInternalProps>(\n ({ _handleIndex = 0, className }, ref) => {\n const { t, i18n } = useTranslation();\n const {\n direction,\n sizes,\n liveSizesRef,\n panels,\n groupRef,\n updateSizesImperative,\n commitSizes,\n setAnnounceText,\n } = useResizable();\n\n const [isDragging, setIsDragging] = useState(false);\n const dragStateRef = useRef<{\n startX: number;\n startY: number;\n startSizes: number[];\n groupRect: DOMRect;\n } | null>(null);\n const announceTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(\n null,\n );\n const announceRafRef = useRef<number | null>(null);\n const handleRef = useRef<HTMLDivElement>(null!);\n\n const scheduleAnnounce = useCallback(\n (size: number, immediate = false) => {\n if (announceRafRef.current !== null) {\n cancelAnimationFrame(announceRafRef.current);\n announceRafRef.current = null;\n }\n if (announceTimeoutRef.current) {\n clearTimeout(announceTimeoutRef.current);\n announceTimeoutRef.current = null;\n }\n const formatted = new Intl.NumberFormat(i18n.language, {\n style: 'percent',\n }).format(size / 100);\n const text = t('resizable.sizeAnnounce', { percent: formatted });\n if (immediate) {\n setAnnounceText(text);\n } else {\n // rAF coalesces calls within the same frame; 200ms debounce prevents spam\n announceRafRef.current = requestAnimationFrame(() => {\n announceRafRef.current = null;\n announceTimeoutRef.current = setTimeout(\n () => setAnnounceText(text),\n 200,\n );\n });\n }\n },\n [t, i18n.language, setAnnounceText],\n );\n\n const isRtl = useCallback(() => {\n if (!groupRef.current) return false;\n return getComputedStyle(groupRef.current).direction === 'rtl';\n }, [groupRef]);\n\n const onPointerDown = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (!groupRef.current) return;\n e.currentTarget.setPointerCapture(e.pointerId);\n e.currentTarget.style.setProperty('touch-action', 'none');\n dragStateRef.current = {\n startX: e.clientX,\n startY: e.clientY,\n startSizes: [...liveSizesRef.current],\n groupRect: groupRef.current.getBoundingClientRect(),\n };\n setIsDragging(true);\n };\n\n const onPointerMove = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (!dragStateRef.current) return;\n const { startX, startY, startSizes, groupRect } = dragStateRef.current;\n const isHorizontal = direction === 'horizontal';\n const groupSize = isHorizontal ? groupRect.width : groupRect.height;\n if (groupSize === 0) return;\n\n const rawDelta = isHorizontal ? e.clientX - startX : e.clientY - startY;\n const effectiveDelta = isHorizontal && isRtl() ? -rawDelta : rawDelta;\n const percentDelta = (effectiveDelta / groupSize) * 100;\n\n const newSizes = computeNewSizes(\n startSizes,\n _handleIndex,\n percentDelta,\n panels,\n groupSize,\n );\n\n updateSizesImperative(newSizes);\n\n if (handleRef.current) {\n const rounded = Math.round(newSizes[_handleIndex]);\n handleRef.current.setAttribute('aria-valuenow', String(rounded));\n handleRef.current.setAttribute(\n 'aria-valuetext',\n new Intl.NumberFormat(i18n.language, { style: 'percent' }).format(\n rounded / 100,\n ),\n );\n }\n\n scheduleAnnounce(newSizes[_handleIndex]);\n };\n\n const onPointerUp = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (!dragStateRef.current) return;\n e.currentTarget.releasePointerCapture(e.pointerId);\n e.currentTarget.style.removeProperty('touch-action');\n dragStateRef.current = null;\n setIsDragging(false);\n const finalSizes = liveSizesRef.current;\n commitSizes(finalSizes);\n scheduleAnnounce(finalSizes[_handleIndex], true);\n };\n\n const onPointerCancel = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (!dragStateRef.current) return;\n e.currentTarget.releasePointerCapture(e.pointerId);\n e.currentTarget.style.removeProperty('touch-action');\n dragStateRef.current = null;\n setIsDragging(false);\n const finalSizes = liveSizesRef.current;\n commitSizes(finalSizes);\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n const li = _handleIndex;\n const ri = _handleIndex + 1;\n if (li >= panels.length || ri >= panels.length) return;\n\n const lc = panels[li];\n const rc = panels[ri];\n const isHorizontal = direction === 'horizontal';\n const rtl = isHorizontal && isRtl();\n const step = e.shiftKey ? 10 : 1;\n const current = [...liveSizesRef.current];\n\n const growLeft = (amount = step): number[] | null => {\n const avail = Math.min(\n amount,\n lc.maxSize - current[li],\n current[ri] - (rc.collapsible ? rc.collapsedSize : rc.minSize),\n );\n if (avail <= 0) return null;\n const ns = [...current];\n ns[li] += avail;\n ns[ri] -= avail;\n return ns;\n };\n\n const shrinkLeft = (amount = step): number[] | null => {\n const lMin = lc.collapsible ? lc.collapsedSize : lc.minSize;\n const avail = Math.min(amount, current[li] - lMin);\n if (avail <= 0) return null;\n const ns = [...current];\n ns[li] -= avail;\n ns[ri] += avail;\n return ns;\n };\n\n let newSizes: number[] | null = null;\n\n switch (e.key) {\n case 'ArrowRight':\n if (!isHorizontal) break;\n e.preventDefault();\n newSizes = rtl ? shrinkLeft() : growLeft();\n break;\n case 'ArrowLeft':\n if (!isHorizontal) break;\n e.preventDefault();\n newSizes = rtl ? growLeft() : shrinkLeft();\n break;\n case 'ArrowDown':\n if (isHorizontal) break;\n e.preventDefault();\n newSizes = growLeft();\n break;\n case 'ArrowUp':\n if (isHorizontal) break;\n e.preventDefault();\n newSizes = shrinkLeft();\n break;\n case 'Home': {\n e.preventDefault();\n const lMin = lc.collapsible ? lc.collapsedSize : lc.minSize;\n const delta = current[li] - lMin;\n if (delta > 0) {\n const ns = [...current];\n ns[li] = lMin;\n ns[ri] += delta;\n newSizes = ns;\n }\n break;\n }\n case 'End': {\n e.preventDefault();\n const rMin = rc.collapsible ? rc.collapsedSize : rc.minSize;\n const avail = Math.min(lc.maxSize - current[li], current[ri] - rMin);\n if (avail > 0) {\n const ns = [...current];\n ns[li] += avail;\n ns[ri] -= avail;\n newSizes = ns;\n }\n break;\n }\n case 'Enter': {\n e.preventDefault();\n const panel = lc.collapsible ? lc : rc.collapsible ? rc : null;\n const pIdx = lc.collapsible ? li : rc.collapsible ? ri : -1;\n if (!panel || pIdx < 0) break;\n const partner = pIdx === li ? ri : li;\n const isCollapsed =\n Math.abs(current[pIdx] - panel.collapsedSize) < 0.5;\n const total = current[li] + current[ri];\n const ns = [...current];\n if (isCollapsed) {\n ns[pIdx] = panel.minSize;\n ns[partner] = total - panel.minSize;\n } else {\n ns[pIdx] = panel.collapsedSize;\n ns[partner] = total - panel.collapsedSize;\n }\n newSizes = ns;\n break;\n }\n default:\n break;\n }\n\n if (newSizes) {\n updateSizesImperative(newSizes);\n commitSizes(newSizes);\n scheduleAnnounce(newSizes[li], true);\n }\n };\n\n const li = _handleIndex;\n const ri = _handleIndex + 1;\n const leftPanel = panels[li];\n const rightPanel = panels[ri];\n const orientation =\n direction === 'horizontal'\n ? ('horizontal' as const)\n : ('vertical' as const);\n\n const formatValueText = (size: number) =>\n new Intl.NumberFormat(i18n.language, { style: 'percent' }).format(\n size / 100,\n );\n\n const setRefs = (el: HTMLDivElement | null) => {\n (handleRef as MutableRefObject<HTMLDivElement | null>).current = el;\n if (typeof ref === 'function') ref(el);\n else if (ref) ref.current = el;\n };\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- separator handle is keyboard-actionable via arrow keys to resize the adjacent panels\n <div\n ref={setRefs}\n role=\"separator\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- separator handle is keyboard-actionable via arrow keys to resize the adjacent panels\n tabIndex={0}\n aria-orientation={orientation}\n aria-valuemin={\n leftPanel\n ? leftPanel.collapsible\n ? leftPanel.collapsedSize\n : leftPanel.minSize\n : 0\n }\n aria-valuemax={leftPanel?.maxSize ?? 100}\n aria-valuenow={Math.round(sizes[li] ?? 0)}\n aria-valuetext={formatValueText(sizes[li] ?? 0)}\n aria-controls={\n [leftPanel?.id, rightPanel?.id].filter(Boolean).join(' ') || undefined\n }\n aria-label={t('resizable.resizeLabel')}\n data-dragging={isDragging ? '' : undefined}\n className={handleVariants({ orientation, className })}\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onPointerCancel={onPointerCancel}\n onKeyDown={onKeyDown}\n />\n );\n },\n);\n\nHandle.displayName = 'Handle';\n"],"names":["ResizableContext","createContext","useResizable","ctx","useContext","resizableAgent","handle","args","STORAGE_PREFIX","loadFromStorage","groupId","raw","parsed","saveToStorage","sizes","normalizeSizes","total","a","b","s","computeNewSizes","currentSizes","handleIndex","deltaPercent","panels","groupSizePx","li","ri","lc","rc","collapseThreshold","newLeft","newRight","lMin","rMin","handleVariants","cva","panelGroupVariants","panelVariants","PanelGroup","forwardRef","direction","id","onLayout","className","children","outerRef","baseId","useId","groupRef","useRef","panelElementsRef","storageTimeoutRef","announceText","setAnnounceText","useState","panelConfigs","processedChildren","useMemo","configs","panelIdx","handleIdx","walk","child","isValidElement","Panel","idx","p","cloneElement","Handle","Children","committedSizes","setCommittedSizes","stored","liveSizesRef","useEffect","updateSizesImperative","useCallback","newSizes","el","commitSizes","useIsomorphicLayoutEffect","registerPanelElement","index","size","unregisterPanelElement","setAnnounceCb","text","containerClass","ctxValue","setRef","agentHandle","next","useAgentRegistration","jsx","jsxs","_panelIndex","_panelId","minSize","maxSize","ref","panelRef","useImperativeHandle","newSize","clamped","diff","otherIndices","_","i","otherTotal","_handleIndex","t","i18n","useTranslation","isDragging","setIsDragging","dragStateRef","announceTimeoutRef","announceRafRef","handleRef","scheduleAnnounce","immediate","formatted","isRtl","onPointerDown","e","onPointerMove","startX","startY","startSizes","groupRect","isHorizontal","groupSize","rawDelta","percentDelta","rounded","onPointerUp","finalSizes","onPointerCancel","onKeyDown","rtl","step","current","growLeft","amount","avail","ns","shrinkLeft","delta","panel","pIdx","partner","isCollapsed","leftPanel","rightPanel","orientation","formatValueText"],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@ import { jsx as s, jsxs as t } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef as G, useState as _, useCallback as L, useMemo as C, useRef as V, useImperativeHandle as J, useId as B, useEffect as Q } from "react";
|
|
3
3
|
import { c as K } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as E } from "react-i18next";
|
|
5
|
-
import { u as W } from "./registry-
|
|
5
|
+
import { u as W } from "./registry-nPAVE19X.js";
|
|
6
6
|
import { R as N } from "./rating-BRD7O74e.js";
|
|
7
7
|
import { C as A } from "./card-DKTMLVrw.js";
|
|
8
|
-
import { C as X, b as Y, a as Z } from "./collapsible-
|
|
9
|
-
import { D as l } from "./description-list-
|
|
8
|
+
import { C as X, b as Y, a as Z } from "./collapsible-CERONory.js";
|
|
9
|
+
import { D as l } from "./description-list-BEbK2g93.js";
|
|
10
10
|
import { E as ee } from "./empty-state-BLy7tigq.js";
|
|
11
11
|
import { S as T } from "./skeleton-CZbwyJAA.js";
|
|
12
12
|
import { B as se } from "./button-DD_0Xdmr.js";
|
|
@@ -530,4 +530,4 @@ export {
|
|
|
530
530
|
oe as R,
|
|
531
531
|
re as r
|
|
532
532
|
};
|
|
533
|
-
//# sourceMappingURL=reviews-panel-
|
|
533
|
+
//# sourceMappingURL=reviews-panel-yanuBZs-.js.map
|