@alfadocs/ui-kit-debug 1.61.0 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/dist/_chunks/{actions-cell-renderer-CZWGQFKV.js → actions-cell-renderer-BXCpK2_0.js} +3 -3
  2. package/dist/_chunks/{actions-cell-renderer-CZWGQFKV.js.map → actions-cell-renderer-BXCpK2_0.js.map} +1 -1
  3. package/dist/_chunks/{agenda-card-DauvvKX6.js → agenda-card-DR9gDdKp.js} +2 -2
  4. package/dist/_chunks/{agenda-card-DauvvKX6.js.map → agenda-card-DR9gDdKp.js.map} +1 -1
  5. package/dist/_chunks/{agenda-tray-DU7O5Z7R.js → agenda-tray-DGB1Zup-.js} +3 -3
  6. package/dist/_chunks/{agenda-tray-DU7O5Z7R.js.map → agenda-tray-DGB1Zup-.js.map} +1 -1
  7. package/dist/_chunks/{ai-credits-notice-MBgQXxsx.js → ai-credits-notice-pK9BOmEz.js} +2 -2
  8. package/dist/_chunks/{ai-credits-notice-MBgQXxsx.js.map → ai-credits-notice-pK9BOmEz.js.map} +1 -1
  9. package/dist/_chunks/{ai-permission-notice-BJHutKLE.js → ai-permission-notice-DpRmZ9Q3.js} +4 -4
  10. package/dist/_chunks/{ai-permission-notice-BJHutKLE.js.map → ai-permission-notice-DpRmZ9Q3.js.map} +1 -1
  11. package/dist/_chunks/{ai-prompt-input-Dzos37rf.js → ai-prompt-input-DSGSe4LH.js} +2 -2
  12. package/dist/_chunks/{ai-prompt-input-Dzos37rf.js.map → ai-prompt-input-DSGSe4LH.js.map} +1 -1
  13. package/dist/_chunks/{alert-BhCstf2h.js → alert-DdDpOi-P.js} +2 -2
  14. package/dist/_chunks/{alert-BhCstf2h.js.map → alert-DdDpOi-P.js.map} +1 -1
  15. package/dist/_chunks/{alia-sidebar-CU3mVL9J.js → alia-sidebar-qe0quZkB.js} +6 -6
  16. package/dist/_chunks/{alia-sidebar-CU3mVL9J.js.map → alia-sidebar-qe0quZkB.js.map} +1 -1
  17. package/dist/_chunks/{anamnesis-card-VjJOUl-t.js → anamnesis-card-CsUBOG32.js} +3 -3
  18. package/dist/_chunks/{anamnesis-card-VjJOUl-t.js.map → anamnesis-card-CsUBOG32.js.map} +1 -1
  19. package/dist/_chunks/{anamnesis-summary-card-cCj7LPh3.js → anamnesis-summary-card-CMzBLTiN.js} +3 -3
  20. package/dist/_chunks/{anamnesis-summary-card-cCj7LPh3.js.map → anamnesis-summary-card-CMzBLTiN.js.map} +1 -1
  21. package/dist/_chunks/{anamnesis-summary-rows-C5F08WT6.js → anamnesis-summary-rows-DFWws7mM.js} +11 -11
  22. package/dist/_chunks/{anamnesis-summary-rows-C5F08WT6.js.map → anamnesis-summary-rows-DFWws7mM.js.map} +1 -1
  23. package/dist/_chunks/{antenatal-schedule-timeline-CfNFrej5.js → antenatal-schedule-timeline-DuaAQj1m.js} +2 -2
  24. package/dist/_chunks/{antenatal-schedule-timeline-CfNFrej5.js.map → antenatal-schedule-timeline-DuaAQj1m.js.map} +1 -1
  25. package/dist/_chunks/app-frame-DUPEwu4E.js +179 -0
  26. package/dist/_chunks/app-frame-DUPEwu4E.js.map +1 -0
  27. package/dist/_chunks/app-frame-context-CPszhDDb.js +10 -0
  28. package/dist/_chunks/app-frame-context-CPszhDDb.js.map +1 -0
  29. package/dist/_chunks/{appointment-card-BXQUZlAJ.js → appointment-card-CL32sux-.js} +3 -3
  30. package/dist/_chunks/{appointment-card-BXQUZlAJ.js.map → appointment-card-CL32sux-.js.map} +1 -1
  31. package/dist/_chunks/{appointment-peek-BvzXHYiD.js → appointment-peek-B5mcDcXt.js} +3 -3
  32. package/dist/_chunks/{appointment-peek-BvzXHYiD.js.map → appointment-peek-B5mcDcXt.js.map} +1 -1
  33. package/dist/_chunks/{appointment-timeline-r-q97cec.js → appointment-timeline-DaHKV81s.js} +4 -4
  34. package/dist/_chunks/{appointment-timeline-r-q97cec.js.map → appointment-timeline-DaHKV81s.js.map} +1 -1
  35. package/dist/_chunks/{appointment-tray-DF_R9ldY.js → appointment-tray-qtpJt8e0.js} +3 -3
  36. package/dist/_chunks/{appointment-tray-DF_R9ldY.js.map → appointment-tray-qtpJt8e0.js.map} +1 -1
  37. package/dist/_chunks/{audio-recorder-Cssm6jVh.js → audio-recorder-DR-u1qbl.js} +3 -3
  38. package/dist/_chunks/{audio-recorder-Cssm6jVh.js.map → audio-recorder-DR-u1qbl.js.map} +1 -1
  39. package/dist/_chunks/{auth-form-parts-CravOf0L.js → auth-form-parts-Cmb41LSQ.js} +2 -2
  40. package/dist/_chunks/{auth-form-parts-CravOf0L.js.map → auth-form-parts-Cmb41LSQ.js.map} +1 -1
  41. package/dist/_chunks/{badge-hnBt8o7n.js → badge-BUk4RjTS.js} +2 -2
  42. package/dist/_chunks/{badge-hnBt8o7n.js.map → badge-BUk4RjTS.js.map} +1 -1
  43. package/dist/_chunks/{balance-badge-cell-DMG06b2C.js → balance-badge-cell-F7p_ZKEg.js} +5 -5
  44. package/dist/_chunks/{balance-badge-cell-DMG06b2C.js.map → balance-badge-cell-F7p_ZKEg.js.map} +1 -1
  45. package/dist/_chunks/{bishop-score-DxfkcxiV.js → bishop-score-CaNTrikJ.js} +2 -2
  46. package/dist/_chunks/{bishop-score-DxfkcxiV.js.map → bishop-score-CaNTrikJ.js.map} +1 -1
  47. package/dist/_chunks/{bmi-calculator-B4kgPqt5.js → bmi-calculator-DjmQ04Ch.js} +4 -4
  48. package/dist/_chunks/{bmi-calculator-B4kgPqt5.js.map → bmi-calculator-DjmQ04Ch.js.map} +1 -1
  49. package/dist/_chunks/{booking-CXaqmdF7.js → booking-CGhOtxad.js} +8 -8
  50. package/dist/_chunks/{booking-CXaqmdF7.js.map → booking-CGhOtxad.js.map} +1 -1
  51. package/dist/_chunks/{button-group-Cfpyu6pc.js → button-group-DCOJhvm3.js} +3 -3
  52. package/dist/_chunks/{button-group-Cfpyu6pc.js.map → button-group-DCOJhvm3.js.map} +1 -1
  53. package/dist/_chunks/{calendar-DNTVaK6b.js → calendar-DCr65Kt1.js} +3 -3
  54. package/dist/_chunks/{calendar-DNTVaK6b.js.map → calendar-DCr65Kt1.js.map} +1 -1
  55. package/dist/_chunks/{calendar-workspace-UL5xcpWa.js → calendar-workspace-Dvfl9Vf6.js} +29 -29
  56. package/dist/_chunks/{calendar-workspace-UL5xcpWa.js.map → calendar-workspace-Dvfl9Vf6.js.map} +1 -1
  57. package/dist/_chunks/{care-plan-card-DFQbU_Gd.js → care-plan-card-BU3p5cLr.js} +3 -3
  58. package/dist/_chunks/{care-plan-card-DFQbU_Gd.js.map → care-plan-card-BU3p5cLr.js.map} +1 -1
  59. package/dist/_chunks/{care-plan-entry-card-bj784KRk.js → care-plan-entry-card-DPJcP34v.js} +4 -4
  60. package/dist/_chunks/{care-plan-entry-card-bj784KRk.js.map → care-plan-entry-card-DPJcP34v.js.map} +1 -1
  61. package/dist/_chunks/{care-plan-header-DDhyAfVK.js → care-plan-header-CgFjQLBd.js} +3 -3
  62. package/dist/_chunks/{care-plan-header-DDhyAfVK.js.map → care-plan-header-CgFjQLBd.js.map} +1 -1
  63. package/dist/_chunks/{carousel.agent-Csn24G1k.js → carousel.agent-BaRsN-8H.js} +2 -2
  64. package/dist/_chunks/{carousel.agent-Csn24G1k.js.map → carousel.agent-BaRsN-8H.js.map} +1 -1
  65. package/dist/_chunks/chart-DgYHN8Xq.js +991 -0
  66. package/dist/_chunks/chart-DgYHN8Xq.js.map +1 -0
  67. package/dist/_chunks/{chat-input-Ck34Pnmp.js → chat-input-HtTbUUD6.js} +2 -2
  68. package/dist/_chunks/{chat-input-Ck34Pnmp.js.map → chat-input-HtTbUUD6.js.map} +1 -1
  69. package/dist/_chunks/{chat-message-DU0X3Xnl.js → chat-message-fRLZ95O5.js} +2 -2
  70. package/dist/_chunks/{chat-message-DU0X3Xnl.js.map → chat-message-fRLZ95O5.js.map} +1 -1
  71. package/dist/_chunks/{checkbox--ndmyokr.js → checkbox-BjDv-r3o.js} +2 -2
  72. package/dist/_chunks/{checkbox--ndmyokr.js.map → checkbox-BjDv-r3o.js.map} +1 -1
  73. package/dist/_chunks/{checkbox-group-B0oZHNT3.js → checkbox-group-Cw2H5qaq.js} +2 -2
  74. package/dist/_chunks/{checkbox-group-B0oZHNT3.js.map → checkbox-group-Cw2H5qaq.js.map} +1 -1
  75. package/dist/_chunks/{clinical-note-card-L6FVM9Gx.js → clinical-note-card-BgURrgL5.js} +3 -3
  76. package/dist/_chunks/{clinical-note-card-L6FVM9Gx.js.map → clinical-note-card-BgURrgL5.js.map} +1 -1
  77. package/dist/_chunks/{code-block-DiC4bg-o.js → code-block-vwEv1jEa.js} +2 -2
  78. package/dist/_chunks/{code-block-DiC4bg-o.js.map → code-block-vwEv1jEa.js.map} +1 -1
  79. package/dist/_chunks/{connection-status-BAnuwayz.js → connection-status--wYsgreh.js} +3 -3
  80. package/dist/_chunks/{connection-status-BAnuwayz.js.map → connection-status--wYsgreh.js.map} +1 -1
  81. package/dist/_chunks/{contact-profile-card-JTRbnbxy.js → contact-profile-card-VTCAmQqj.js} +3 -3
  82. package/dist/_chunks/{contact-profile-card-JTRbnbxy.js.map → contact-profile-card-VTCAmQqj.js.map} +1 -1
  83. package/dist/_chunks/control-room-rail-DUerqHeo.js +416 -0
  84. package/dist/_chunks/control-room-rail-DUerqHeo.js.map +1 -0
  85. package/dist/_chunks/{cycle-calculator-BuFi6ZJa.js → cycle-calculator-D-rwX9Pj.js} +2 -2
  86. package/dist/_chunks/{cycle-calculator-BuFi6ZJa.js.map → cycle-calculator-D-rwX9Pj.js.map} +1 -1
  87. package/dist/_chunks/{dashboard-grid-DRnhIlT-.js → dashboard-grid-B2MB7SRS.js} +627 -603
  88. package/dist/_chunks/dashboard-grid-B2MB7SRS.js.map +1 -0
  89. package/dist/_chunks/{data-table-DAPkhyXO.js → data-table-m7GbLJZy.js} +6 -6
  90. package/dist/_chunks/{data-table-DAPkhyXO.js.map → data-table-m7GbLJZy.js.map} +1 -1
  91. package/dist/_chunks/{data-table-tabs-2t0cdk0h.js → data-table-tabs-BfrnefV5.js} +3 -3
  92. package/dist/_chunks/{data-table-tabs-2t0cdk0h.js.map → data-table-tabs-BfrnefV5.js.map} +1 -1
  93. package/dist/_chunks/{dependent-selector-DgaAQc-c.js → dependent-selector-DBr1AhLg.js} +3 -3
  94. package/dist/_chunks/{dependent-selector-DgaAQc-c.js.map → dependent-selector-DBr1AhLg.js.map} +1 -1
  95. package/dist/_chunks/{description-list-CFEw__MT.js → description-list-Q8640NHu.js} +2 -2
  96. package/dist/_chunks/{description-list-CFEw__MT.js.map → description-list-Q8640NHu.js.map} +1 -1
  97. package/dist/_chunks/{dev-bypass-button-dTuUuzsT.js → dev-bypass-button--CPzzRSj.js} +2 -2
  98. package/dist/_chunks/{dev-bypass-button-dTuUuzsT.js.map → dev-bypass-button--CPzzRSj.js.map} +1 -1
  99. package/dist/_chunks/{document-preview-DYX669jE.js → document-preview-B1dQm292.js} +4 -4
  100. package/dist/_chunks/{document-preview-DYX669jE.js.map → document-preview-B1dQm292.js.map} +1 -1
  101. package/dist/_chunks/{document-scanner-C41n4pNq.js → document-scanner-CVPVLK7z.js} +2 -2
  102. package/dist/_chunks/{document-scanner-C41n4pNq.js.map → document-scanner-CVPVLK7z.js.map} +1 -1
  103. package/dist/_chunks/{due-date-calculator-yYvX8Ww_.js → due-date-calculator-DTfxFJCM.js} +5 -5
  104. package/dist/_chunks/{due-date-calculator-yYvX8Ww_.js.map → due-date-calculator-DTfxFJCM.js.map} +1 -1
  105. package/dist/_chunks/{editable-currency-cell-renderer-6LDFAWUE.js → editable-currency-cell-renderer-1ijmzNWh.js} +4 -4
  106. package/dist/_chunks/{editable-currency-cell-renderer-6LDFAWUE.js.map → editable-currency-cell-renderer-1ijmzNWh.js.map} +1 -1
  107. package/dist/_chunks/{editable-description-D9FsTi8e.js → editable-description-ChGNdYY8.js} +2 -2
  108. package/dist/_chunks/{editable-description-D9FsTi8e.js.map → editable-description-ChGNdYY8.js.map} +1 -1
  109. package/dist/_chunks/{editor-overlay-BYkcaLCj.js → editor-overlay-CpVO1-Kk.js} +2 -2
  110. package/dist/_chunks/{editor-overlay-BYkcaLCj.js.map → editor-overlay-CpVO1-Kk.js.map} +1 -1
  111. package/dist/_chunks/{entity-summary-oD_63dlz.js → entity-summary-DXIr5_x2.js} +4 -4
  112. package/dist/_chunks/{entity-summary-oD_63dlz.js.map → entity-summary-DXIr5_x2.js.map} +1 -1
  113. package/dist/_chunks/{error-summary-BhM8FEkl.js → error-summary-DrUfuKu1.js} +2 -2
  114. package/dist/_chunks/{error-summary-BhM8FEkl.js.map → error-summary-DrUfuKu1.js.map} +1 -1
  115. package/dist/_chunks/{face-scheme-C-5V3MsY.js → face-scheme-DAD-mXzM.js} +4 -4
  116. package/dist/_chunks/{face-scheme-C-5V3MsY.js.map → face-scheme-DAD-mXzM.js.map} +1 -1
  117. package/dist/_chunks/{fetal-weight-CHv2winC.js → fetal-weight-DycD_Vqr.js} +2 -2
  118. package/dist/_chunks/{fetal-weight-CHv2winC.js.map → fetal-weight-DycD_Vqr.js.map} +1 -1
  119. package/dist/_chunks/{field-array-dSkD_ePA.js → field-array-BJYc1xSu.js} +2 -2
  120. package/dist/_chunks/{field-array-dSkD_ePA.js.map → field-array-BJYc1xSu.js.map} +1 -1
  121. package/dist/_chunks/{file-manager-C8bdHsYy.js → file-manager-G0t8MWbE.js} +6 -6
  122. package/dist/_chunks/{file-manager-C8bdHsYy.js.map → file-manager-G0t8MWbE.js.map} +1 -1
  123. package/dist/_chunks/{fiscal-code-input-BSWwda0C.js → fiscal-code-input-DwHb2nVW.js} +2 -2
  124. package/dist/_chunks/{fiscal-code-input-BSWwda0C.js.map → fiscal-code-input-DwHb2nVW.js.map} +1 -1
  125. package/dist/_chunks/{forgot-password-form-CGWV5Q1-.js → forgot-password-form-CgZkEvZy.js} +4 -4
  126. package/dist/_chunks/{forgot-password-form-CGWV5Q1-.js.map → forgot-password-form-CgZkEvZy.js.map} +1 -1
  127. package/dist/_chunks/{freemium-paywall-DjjVPC-5.js → freemium-paywall-r-z48YaT.js} +2 -2
  128. package/dist/_chunks/{freemium-paywall-DjjVPC-5.js.map → freemium-paywall-r-z48YaT.js.map} +1 -1
  129. package/dist/_chunks/{gestational-age-calculator-BLccWS_4.js → gestational-age-calculator-BnCAL5a-.js} +5 -5
  130. package/dist/_chunks/{gestational-age-calculator-BLccWS_4.js.map → gestational-age-calculator-BnCAL5a-.js.map} +1 -1
  131. package/dist/_chunks/{hcg-doubling-CnrY2OVu.js → hcg-doubling-DVDiqFyp.js} +2 -2
  132. package/dist/_chunks/{hcg-doubling-CnrY2OVu.js.map → hcg-doubling-DVDiqFyp.js.map} +1 -1
  133. package/dist/_chunks/{header-BVHAt7Fi.js → header-_TppWBpK.js} +2 -2
  134. package/dist/_chunks/{header-BVHAt7Fi.js.map → header-_TppWBpK.js.map} +1 -1
  135. package/dist/_chunks/{header-settings-C200bKyp.js → header-settings-BSH9Gk0J.js} +3 -3
  136. package/dist/_chunks/{header-settings-C200bKyp.js.map → header-settings-BSH9Gk0J.js.map} +1 -1
  137. package/dist/_chunks/{heatmap-CRMr7VWC.js → heatmap-Bb0-M88T.js} +4 -4
  138. package/dist/_chunks/{heatmap-CRMr7VWC.js.map → heatmap-Bb0-M88T.js.map} +1 -1
  139. package/dist/_chunks/{help-me-write-templates-C9T8-DcT.js → help-me-write-templates-DFmqnsAa.js} +4 -4
  140. package/dist/_chunks/{help-me-write-templates-C9T8-DcT.js.map → help-me-write-templates-DFmqnsAa.js.map} +1 -1
  141. package/dist/_chunks/{hover-card-DbTmj-ea.js → hover-card-CTNhQXWS.js} +2 -2
  142. package/dist/_chunks/{hover-card-DbTmj-ea.js.map → hover-card-CTNhQXWS.js.map} +1 -1
  143. package/dist/_chunks/{icon-button-dNE6ENLn.js → icon-button-C_1TgRiK.js} +2 -2
  144. package/dist/_chunks/{icon-button-dNE6ENLn.js.map → icon-button-C_1TgRiK.js.map} +1 -1
  145. package/dist/_chunks/{icon-button-group-Du8IvZek.js → icon-button-group-NIHji7_y.js} +2 -2
  146. package/dist/_chunks/{icon-button-group-Du8IvZek.js.map → icon-button-group-NIHji7_y.js.map} +1 -1
  147. package/dist/_chunks/{icon-picker-D5NdDbCL.js → icon-picker-Dq4O32K8.js} +2 -2
  148. package/dist/_chunks/{icon-picker-D5NdDbCL.js.map → icon-picker-Dq4O32K8.js.map} +1 -1
  149. package/dist/_chunks/{info-tip-DObdz3w3.js → info-tip-cYszyg6h.js} +2 -2
  150. package/dist/_chunks/{info-tip-DObdz3w3.js.map → info-tip-cYszyg6h.js.map} +1 -1
  151. package/dist/_chunks/{key-value-pair-BNYHAZwD.js → key-value-pair-BscGwZsJ.js} +2 -2
  152. package/dist/_chunks/{key-value-pair-BNYHAZwD.js.map → key-value-pair-BscGwZsJ.js.map} +1 -1
  153. package/dist/_chunks/{kit-extensions-DI2nHVNw.js → kit-extensions-RnddkrXn.js} +6 -6
  154. package/dist/_chunks/{kit-extensions-DI2nHVNw.js.map → kit-extensions-RnddkrXn.js.map} +1 -1
  155. package/dist/_chunks/{link-cell-renderer-DvhzS6lu.js → link-cell-renderer-dtEYlxi2.js} +6 -6
  156. package/dist/_chunks/{link-cell-renderer-DvhzS6lu.js.map → link-cell-renderer-dtEYlxi2.js.map} +1 -1
  157. package/dist/_chunks/{locale-picker-Bu4YE5b2.js → locale-picker-CeveTnDK.js} +3 -3
  158. package/dist/_chunks/{locale-picker-Bu4YE5b2.js.map → locale-picker-CeveTnDK.js.map} +1 -1
  159. package/dist/_chunks/{login-dev-card-DwWWHclZ.js → login-dev-card-PnADNcI9.js} +3 -3
  160. package/dist/_chunks/{login-dev-card-DwWWHclZ.js.map → login-dev-card-PnADNcI9.js.map} +1 -1
  161. package/dist/_chunks/{marketplace-app-shell-p6hPgVwy.js → marketplace-app-shell-C-2e4eCD.js} +139 -136
  162. package/dist/_chunks/marketplace-app-shell-C-2e4eCD.js.map +1 -0
  163. package/dist/_chunks/{message-card-CvZlo3Fn.js → message-card-A3mJNqfy.js} +2 -2
  164. package/dist/_chunks/{message-card-CvZlo3Fn.js.map → message-card-A3mJNqfy.js.map} +1 -1
  165. package/dist/_chunks/{message-tray-DrS_LOed.js → message-tray-Ft6vSr71.js} +3 -3
  166. package/dist/_chunks/{message-tray-DrS_LOed.js.map → message-tray-Ft6vSr71.js.map} +1 -1
  167. package/dist/_chunks/{multi-select-BT23EnSA.js → multi-select-CMaAQQgb.js} +2 -2
  168. package/dist/_chunks/{multi-select-BT23EnSA.js.map → multi-select-CMaAQQgb.js.map} +1 -1
  169. package/dist/_chunks/{note-attachment-Bt2cddsZ.js → note-attachment-DoVWvjWR.js} +2 -2
  170. package/dist/_chunks/{note-attachment-Bt2cddsZ.js.map → note-attachment-DoVWvjWR.js.map} +1 -1
  171. package/dist/_chunks/{note-timeline-CX9nAgAR.js → note-timeline-B7l3t5DZ.js} +2 -2
  172. package/dist/_chunks/{note-timeline-CX9nAgAR.js.map → note-timeline-B7l3t5DZ.js.map} +1 -1
  173. package/dist/_chunks/{notes-panel-6TElt7jQ.js → notes-panel-CTmvrqQn.js} +7 -7
  174. package/dist/_chunks/{notes-panel-6TElt7jQ.js.map → notes-panel-CTmvrqQn.js.map} +1 -1
  175. package/dist/_chunks/{notification-card-Qrs52HIA.js → notification-card-c2oX8j3F.js} +2 -2
  176. package/dist/_chunks/{notification-card-Qrs52HIA.js.map → notification-card-c2oX8j3F.js.map} +1 -1
  177. package/dist/_chunks/{notification-tray-DRm1z97G.js → notification-tray-BR3seWA7.js} +3 -3
  178. package/dist/_chunks/{notification-tray-DRm1z97G.js.map → notification-tray-BR3seWA7.js.map} +1 -1
  179. package/dist/_chunks/{operator-hero-C_Khr5IU.js → operator-hero-3_RG4Dkj.js} +2 -2
  180. package/dist/_chunks/{operator-hero-C_Khr5IU.js.map → operator-hero-3_RG4Dkj.js.map} +1 -1
  181. package/dist/_chunks/{optical-prescription-DLIAhJ6f.js → optical-prescription-CxfMsbxi.js} +2 -2
  182. package/dist/_chunks/{optical-prescription-DLIAhJ6f.js.map → optical-prescription-CxfMsbxi.js.map} +1 -1
  183. package/dist/_chunks/{panel-header-D_mTdhUp.js → panel-header-BJkaUwnl.js} +2 -2
  184. package/dist/_chunks/{panel-header-D_mTdhUp.js.map → panel-header-BJkaUwnl.js.map} +1 -1
  185. package/dist/_chunks/{panel-subview-CjZgdWwO.js → panel-subview-yP4qIbKS.js} +3 -3
  186. package/dist/_chunks/{panel-subview-CjZgdWwO.js.map → panel-subview-yP4qIbKS.js.map} +1 -1
  187. package/dist/_chunks/{patient-details-BjqKBY2x.js → patient-details-BNDS69Zx.js} +4 -4
  188. package/dist/_chunks/{patient-details-BjqKBY2x.js.map → patient-details-BNDS69Zx.js.map} +1 -1
  189. package/dist/_chunks/{patient-field-row-BiI0BPPK.js → patient-field-row-BLBi-PjO.js} +7 -7
  190. package/dist/_chunks/{patient-field-row-BiI0BPPK.js.map → patient-field-row-BLBi-PjO.js.map} +1 -1
  191. package/dist/_chunks/{patient-search-B5R7FyFO.js → patient-search-DOnDUVsl.js} +2 -2
  192. package/dist/_chunks/{patient-search-B5R7FyFO.js.map → patient-search-DOnDUVsl.js.map} +1 -1
  193. package/dist/_chunks/{patient-summary-card-BOgnWKRV.js → patient-summary-card-T9umuZJF.js} +8 -8
  194. package/dist/_chunks/{patient-summary-card-BOgnWKRV.js.map → patient-summary-card-T9umuZJF.js.map} +1 -1
  195. package/dist/_chunks/{payment-automation-upsell-39d5ykBi.js → payment-automation-upsell-C8MEu0t6.js} +4 -4
  196. package/dist/_chunks/{payment-automation-upsell-39d5ykBi.js.map → payment-automation-upsell-C8MEu0t6.js.map} +1 -1
  197. package/dist/_chunks/{payment-form-v6zZuV1_.js → payment-form-i90DUuNK.js} +2 -2
  198. package/dist/_chunks/{payment-form-v6zZuV1_.js.map → payment-form-i90DUuNK.js.map} +1 -1
  199. package/dist/_chunks/{payment-request-card-E3G4aVt6.js → payment-request-card-BmzNMY2a.js} +4 -4
  200. package/dist/_chunks/{payment-request-card-E3G4aVt6.js.map → payment-request-card-BmzNMY2a.js.map} +1 -1
  201. package/dist/_chunks/{pdf-viewer-CNQxa4tv.js → pdf-viewer-DJ9VN7cu.js} +2 -2
  202. package/dist/_chunks/{pdf-viewer-CNQxa4tv.js.map → pdf-viewer-DJ9VN7cu.js.map} +1 -1
  203. package/dist/_chunks/{periodontal-chart-BZ1d6S36.js → periodontal-chart-DCcOEYC6.js} +2 -2
  204. package/dist/_chunks/{periodontal-chart-BZ1d6S36.js.map → periodontal-chart-DCcOEYC6.js.map} +1 -1
  205. package/dist/_chunks/{periodontal-chart-card-BE5hiQnn.js → periodontal-chart-card-CxdjXFb3.js} +3 -3
  206. package/dist/_chunks/{periodontal-chart-card-BE5hiQnn.js.map → periodontal-chart-card-CxdjXFb3.js.map} +1 -1
  207. package/dist/_chunks/{periodontal-diagnosis-6wybid_W.js → periodontal-diagnosis-B9YmmVmM.js} +5 -5
  208. package/dist/_chunks/{periodontal-diagnosis-6wybid_W.js.map → periodontal-diagnosis-B9YmmVmM.js.map} +1 -1
  209. package/dist/_chunks/{periodontal-risk-chart-CgLwBj5c.js → periodontal-risk-chart-CPy7CNFe.js} +2 -2
  210. package/dist/_chunks/{periodontal-risk-chart-CgLwBj5c.js.map → periodontal-risk-chart-CPy7CNFe.js.map} +1 -1
  211. package/dist/_chunks/{permission-matrix-DuTkUHxe.js → permission-matrix-BoQjENGV.js} +3 -3
  212. package/dist/_chunks/{permission-matrix-DuTkUHxe.js.map → permission-matrix-BoQjENGV.js.map} +1 -1
  213. package/dist/_chunks/{popover-DQr_tljb.js → popover-4ZVtH_At.js} +2 -2
  214. package/dist/_chunks/{popover-DQr_tljb.js.map → popover-4ZVtH_At.js.map} +1 -1
  215. package/dist/_chunks/{practice-profile-hero-DPbvYfCs.js → practice-profile-hero-Dfc0F60y.js} +2 -2
  216. package/dist/_chunks/{practice-profile-hero-DPbvYfCs.js.map → practice-profile-hero-Dfc0F60y.js.map} +1 -1
  217. package/dist/_chunks/{practice-results-Cktx7KaC.js → practice-results-B8L9ZmtR.js} +4 -4
  218. package/dist/_chunks/{practice-results-Cktx7KaC.js.map → practice-results-B8L9ZmtR.js.map} +1 -1
  219. package/dist/_chunks/{pregnancy-dating-26fcvhAx.js → pregnancy-dating-D2XTELiw.js} +5 -5
  220. package/dist/_chunks/{pregnancy-dating-26fcvhAx.js.map → pregnancy-dating-D2XTELiw.js.map} +1 -1
  221. package/dist/_chunks/{pregnancy-weight-gain-D8q1IUCT.js → pregnancy-weight-gain-BVvyL-j1.js} +4 -4
  222. package/dist/_chunks/{pregnancy-weight-gain-D8q1IUCT.js.map → pregnancy-weight-gain-BVvyL-j1.js.map} +1 -1
  223. package/dist/_chunks/{privacy-lock-BpVgSgMb.js → privacy-lock-CEYJ8ehu.js} +2 -2
  224. package/dist/_chunks/{privacy-lock-BpVgSgMb.js.map → privacy-lock-CEYJ8ehu.js.map} +1 -1
  225. package/dist/_chunks/{privacy-mask-BfMC57ST.js → privacy-mask-Ch7743uk.js} +2 -2
  226. package/dist/_chunks/{privacy-mask-BfMC57ST.js.map → privacy-mask-Ch7743uk.js.map} +1 -1
  227. package/dist/_chunks/{product-hub-panel-CH4B49ij.js → product-hub-panel-D-UELdo0.js} +2 -2
  228. package/dist/_chunks/{product-hub-panel-CH4B49ij.js.map → product-hub-panel-D-UELdo0.js.map} +1 -1
  229. package/dist/_chunks/{public-header.agent-BHTDKMsw.js → public-header.agent-DXRA7ebK.js} +3 -3
  230. package/dist/_chunks/{public-header.agent-BHTDKMsw.js.map → public-header.agent-DXRA7ebK.js.map} +1 -1
  231. package/dist/_chunks/{radio-BBbMdbE_.js → radio-BZQs6_36.js} +2 -2
  232. package/dist/_chunks/{radio-BBbMdbE_.js.map → radio-BZQs6_36.js.map} +1 -1
  233. package/dist/_chunks/{radio-group-DicxWJXP.js → radio-group-ChIKyeSJ.js} +3 -3
  234. package/dist/_chunks/{radio-group-DicxWJXP.js.map → radio-group-ChIKyeSJ.js.map} +1 -1
  235. package/dist/_chunks/{radiograph-panel.agent-DR0gOeSc.js → radiograph-panel.agent-DDNUo4Ul.js} +4 -4
  236. package/dist/_chunks/{radiograph-panel.agent-DR0gOeSc.js.map → radiograph-panel.agent-DDNUo4Ul.js.map} +1 -1
  237. package/dist/_chunks/{registration-form-B8IeB9kd.js → registration-form-BQyT_kBX.js} +5 -5
  238. package/dist/_chunks/{registration-form-B8IeB9kd.js.map → registration-form-BQyT_kBX.js.map} +1 -1
  239. package/dist/_chunks/{resource-chip-DQeCJzJf.js → resource-chip-DB5jDwUO.js} +2 -2
  240. package/dist/_chunks/{resource-chip-DQeCJzJf.js.map → resource-chip-DB5jDwUO.js.map} +1 -1
  241. package/dist/_chunks/{reviews-panel-CHzDqerd.js → reviews-panel-AvsVgtJu.js} +3 -3
  242. package/dist/_chunks/{reviews-panel-CHzDqerd.js.map → reviews-panel-AvsVgtJu.js.map} +1 -1
  243. package/dist/_chunks/{rich-text-editor-BRuTo2hm.js → rich-text-editor-M2gT_E7f.js} +9 -9
  244. package/dist/_chunks/{rich-text-editor-BRuTo2hm.js.map → rich-text-editor-M2gT_E7f.js.map} +1 -1
  245. package/dist/_chunks/{sheet-CqvPYNLn.js → sheet-D2PfJl8n.js} +2 -2
  246. package/dist/_chunks/{sheet-CqvPYNLn.js.map → sheet-D2PfJl8n.js.map} +1 -1
  247. package/dist/_chunks/{sidebar-C9Zof0z1.js → sidebar-BS24EnYd.js} +2 -2
  248. package/dist/_chunks/{sidebar-C9Zof0z1.js.map → sidebar-BS24EnYd.js.map} +1 -1
  249. package/dist/_chunks/{sign-document-D4iHS_Ug.js → sign-document-CY7xTXbm.js} +2 -2
  250. package/dist/_chunks/{sign-document-D4iHS_Ug.js.map → sign-document-CY7xTXbm.js.map} +1 -1
  251. package/dist/_chunks/{signature-request-BH7yKI01.js → signature-request-BMCHy2ZO.js} +5 -5
  252. package/dist/_chunks/{signature-request-BH7yKI01.js.map → signature-request-BMCHy2ZO.js.map} +1 -1
  253. package/dist/_chunks/{signature-status-chip-DP3qRijv.js → signature-status-chip-pIoQjvH8.js} +3 -3
  254. package/dist/_chunks/{signature-status-chip-DP3qRijv.js.map → signature-status-chip-pIoQjvH8.js.map} +1 -1
  255. package/dist/_chunks/{signed-out-frame-eaOWHpDr.js → signed-out-frame-D5DzqATh.js} +3 -3
  256. package/dist/_chunks/{signed-out-frame-eaOWHpDr.js.map → signed-out-frame-D5DzqATh.js.map} +1 -1
  257. package/dist/_chunks/{slot-grid-DELa2Nwz.js → slot-grid-dj5f6R2w.js} +2 -2
  258. package/dist/_chunks/{slot-grid-DELa2Nwz.js.map → slot-grid-dj5f6R2w.js.map} +1 -1
  259. package/dist/_chunks/{stat-DmjGfXND.js → stat-D2PNJujA.js} +2 -2
  260. package/dist/_chunks/stat-D2PNJujA.js.map +1 -0
  261. package/dist/_chunks/{streaming-text-bPDoG7Y3.js → streaming-text-zFViGexf.js} +2 -2
  262. package/dist/_chunks/{streaming-text-bPDoG7Y3.js.map → streaming-text-zFViGexf.js.map} +1 -1
  263. package/dist/_chunks/{tab-bar-5GppbMGc.js → tab-bar-BEODTG6k.js} +2 -2
  264. package/dist/_chunks/{tab-bar-5GppbMGc.js.map → tab-bar-BEODTG6k.js.map} +1 -1
  265. package/dist/_chunks/{tag-CS5cXpfx.js → tag-DOZGz0fT.js} +2 -2
  266. package/dist/_chunks/{tag-CS5cXpfx.js.map → tag-DOZGz0fT.js.map} +1 -1
  267. package/dist/_chunks/{task-card-zaTU1rQa.js → task-card-BS7Uqevr.js} +2 -2
  268. package/dist/_chunks/{task-card-zaTU1rQa.js.map → task-card-BS7Uqevr.js.map} +1 -1
  269. package/dist/_chunks/{task-editor-CgGcg-2c.js → task-editor-DoiOzNiC.js} +9 -9
  270. package/dist/_chunks/{task-editor-CgGcg-2c.js.map → task-editor-DoiOzNiC.js.map} +1 -1
  271. package/dist/_chunks/{task-tray-DGMwogWu.js → task-tray-eQU4KJcA.js} +3 -3
  272. package/dist/_chunks/{task-tray-DGMwogWu.js.map → task-tray-eQU4KJcA.js.map} +1 -1
  273. package/dist/_chunks/{tasks-panel-xGtiEdcj.js → tasks-panel-8nLwBw6P.js} +7 -7
  274. package/dist/_chunks/{tasks-panel-xGtiEdcj.js.map → tasks-panel-8nLwBw6P.js.map} +1 -1
  275. package/dist/_chunks/{theme-toggle-_cfYEK73.js → theme-toggle-Ctb77x6O.js} +3 -3
  276. package/dist/_chunks/{theme-toggle-_cfYEK73.js.map → theme-toggle-Ctb77x6O.js.map} +1 -1
  277. package/dist/_chunks/{toast-CNUydTgT.js → toast-6T519aLz.js} +2 -2
  278. package/dist/_chunks/{toast-CNUydTgT.js.map → toast-6T519aLz.js.map} +1 -1
  279. package/dist/_chunks/tool-rail-C-03rH2I.js +973 -0
  280. package/dist/_chunks/tool-rail-C-03rH2I.js.map +1 -0
  281. package/dist/_chunks/tooltip-uEBdD1-5.js +178 -0
  282. package/dist/_chunks/tooltip-uEBdD1-5.js.map +1 -0
  283. package/dist/_chunks/{tooth-scheme-05DsRMA5.js → tooth-scheme-Dkh4JwzT.js} +2 -2
  284. package/dist/_chunks/{tooth-scheme-05DsRMA5.js.map → tooth-scheme-Dkh4JwzT.js.map} +1 -1
  285. package/dist/_chunks/{transcript-panel-CjsiDB1K.js → transcript-panel-XudW5l6l.js} +2 -2
  286. package/dist/_chunks/{transcript-panel-CjsiDB1K.js.map → transcript-panel-XudW5l6l.js.map} +1 -1
  287. package/dist/_chunks/{treatment-receipt-BSVOfStA.js → treatment-receipt-BdJ36vNP.js} +3 -3
  288. package/dist/_chunks/{treatment-receipt-BSVOfStA.js.map → treatment-receipt-BdJ36vNP.js.map} +1 -1
  289. package/dist/_chunks/{use-appointment-details-read-BGVthJFx.js → use-appointment-details-read-Gu0ehyxj.js} +16 -16
  290. package/dist/_chunks/{use-appointment-details-read-BGVthJFx.js.map → use-appointment-details-read-Gu0ehyxj.js.map} +1 -1
  291. package/dist/_chunks/use-edge-resize-CBtem0j2.js +171 -0
  292. package/dist/_chunks/use-edge-resize-CBtem0j2.js.map +1 -0
  293. package/dist/_chunks/{voice-control-panel-DyKEaFxt.js → voice-control-panel-C0BfY23Y.js} +4 -4
  294. package/dist/_chunks/{voice-control-panel-DyKEaFxt.js.map → voice-control-panel-C0BfY23Y.js.map} +1 -1
  295. package/dist/_chunks/{warning-stack-CAL9xVo1.js → warning-stack-HYWAytZV.js} +3 -3
  296. package/dist/_chunks/{warning-stack-CAL9xVo1.js.map → warning-stack-HYWAytZV.js.map} +1 -1
  297. package/dist/_chunks/{widget-picker-CkhoG4Rj.js → widget-picker-DlNPGcnu.js} +2 -2
  298. package/dist/_chunks/{widget-picker-CkhoG4Rj.js.map → widget-picker-DlNPGcnu.js.map} +1 -1
  299. package/dist/_chunks/{workflow-map-BUYG1oXU.js → workflow-map-C2B2qIr1.js} +5 -5
  300. package/dist/_chunks/{workflow-map-BUYG1oXU.js.map → workflow-map-C2B2qIr1.js.map} +1 -1
  301. package/dist/agent-catalog.json +13 -1
  302. package/dist/agent-i18n/en.json +10 -0
  303. package/dist/components/_shared/use-apex-legend-scroll.d.ts +7 -0
  304. package/dist/components/_shared/use-apex-legend-scroll.d.ts.map +1 -0
  305. package/dist/components/agenda-card/index.js +1 -1
  306. package/dist/components/agenda-tray/index.js +1 -1
  307. package/dist/components/ai-credits-notice/index.js +1 -1
  308. package/dist/components/ai-permission-notice/index.js +1 -1
  309. package/dist/components/ai-prompt-input/index.js +1 -1
  310. package/dist/components/alert/index.js +1 -1
  311. package/dist/components/anamnesis-card/index.js +1 -1
  312. package/dist/components/anamnesis-summary-card/index.js +1 -1
  313. package/dist/components/app-frame/app-frame-context.d.ts +19 -0
  314. package/dist/components/app-frame/app-frame-context.d.ts.map +1 -0
  315. package/dist/components/app-frame/app-frame.d.ts +3 -0
  316. package/dist/components/app-frame/app-frame.d.ts.map +1 -1
  317. package/dist/components/app-frame/index.d.ts +2 -0
  318. package/dist/components/app-frame/index.d.ts.map +1 -1
  319. package/dist/components/app-frame/index.js +4 -2
  320. package/dist/components/app-frame/index.js.map +1 -1
  321. package/dist/components/appointment-card/index.js +2 -2
  322. package/dist/components/appointment-details-panel/index.js +1 -1
  323. package/dist/components/appointment-peek/index.js +1 -1
  324. package/dist/components/appointment-timeline/index.js +1 -1
  325. package/dist/components/audio-recorder/index.js +1 -1
  326. package/dist/components/badge/index.js +1 -1
  327. package/dist/components/bishop-score/index.js +1 -1
  328. package/dist/components/bmi-calculator/index.js +1 -1
  329. package/dist/components/booking/index.js +1 -1
  330. package/dist/components/button/index.js +1 -1
  331. package/dist/components/button-group/index.js +1 -1
  332. package/dist/components/calendar/index.js +1 -1
  333. package/dist/components/care-plan-card/index.js +1 -1
  334. package/dist/components/care-plan-entry-card/index.js +1 -1
  335. package/dist/components/care-plan-header/index.js +1 -1
  336. package/dist/components/carousel/index.js +1 -1
  337. package/dist/components/chart/chart.d.ts +3 -1
  338. package/dist/components/chart/chart.d.ts.map +1 -1
  339. package/dist/components/chart/index.js +1 -1
  340. package/dist/components/chat-input/index.js +1 -1
  341. package/dist/components/chat-message/index.js +1 -1
  342. package/dist/components/checkbox/index.js +1 -1
  343. package/dist/components/checkbox-group/index.js +1 -1
  344. package/dist/components/clinical-note-card/index.js +1 -1
  345. package/dist/components/connection-status/index.js +1 -1
  346. package/dist/components/contact-profile-card/index.js +1 -1
  347. package/dist/components/control-room-rail/control-room-context.d.ts +10 -4
  348. package/dist/components/control-room-rail/control-room-context.d.ts.map +1 -1
  349. package/dist/components/control-room-rail/control-room-rail.agent.d.ts.map +1 -1
  350. package/dist/components/control-room-rail/control-room-rail.d.ts.map +1 -1
  351. package/dist/components/control-room-rail/index.js +1 -1
  352. package/dist/components/cycle-calculator/index.js +1 -1
  353. package/dist/components/dashboard-grid/dashboard-grid.d.ts.map +1 -1
  354. package/dist/components/dashboard-grid/index.js +1 -1
  355. package/dist/components/data-table/index.js +4 -4
  356. package/dist/components/data-table-tabs/index.js +1 -1
  357. package/dist/components/dependent-selector/index.js +1 -1
  358. package/dist/components/description-list/index.js +1 -1
  359. package/dist/components/dev-bypass-button/index.js +1 -1
  360. package/dist/components/document-preview/index.js +1 -1
  361. package/dist/components/document-scanner/index.js +1 -1
  362. package/dist/components/due-date-calculator/index.js +2 -2
  363. package/dist/components/editable-description/index.js +1 -1
  364. package/dist/components/editor-overlay/index.js +1 -1
  365. package/dist/components/entity-summary/index.js +1 -1
  366. package/dist/components/error-summary/index.js +1 -1
  367. package/dist/components/face-scheme/index.js +1 -1
  368. package/dist/components/fetal-weight/index.js +1 -1
  369. package/dist/components/field-array/index.js +1 -1
  370. package/dist/components/file-manager/index.js +1 -1
  371. package/dist/components/fiscal-code-input/index.js +1 -1
  372. package/dist/components/freemium-paywall/index.js +1 -1
  373. package/dist/components/gestational-age-calculator/index.js +1 -1
  374. package/dist/components/hcg-doubling/index.js +1 -1
  375. package/dist/components/header/index.js +1 -1
  376. package/dist/components/header-settings/index.js +1 -1
  377. package/dist/components/heatmap/index.js +1 -1
  378. package/dist/components/hover-card/index.js +1 -1
  379. package/dist/components/icon-button/index.js +1 -1
  380. package/dist/components/icon-button-group/index.js +1 -1
  381. package/dist/components/icon-picker/index.js +1 -1
  382. package/dist/components/info-tip/index.js +1 -1
  383. package/dist/components/key-value-pair/index.js +1 -1
  384. package/dist/components/locale-picker/index.js +1 -1
  385. package/dist/components/message-card/index.js +1 -1
  386. package/dist/components/message-tray/index.js +1 -1
  387. package/dist/components/multi-select/index.js +1 -1
  388. package/dist/components/note-timeline/index.js +1 -1
  389. package/dist/components/notes-panel/index.js +1 -1
  390. package/dist/components/notification-card/index.js +1 -1
  391. package/dist/components/notification-tray/index.js +1 -1
  392. package/dist/components/operator-hero/index.js +1 -1
  393. package/dist/components/optical-prescription/index.js +1 -1
  394. package/dist/components/panel-header/index.js +1 -1
  395. package/dist/components/panel-subview/index.js +1 -1
  396. package/dist/components/patient-details/index.js +1 -1
  397. package/dist/components/patient-search/index.js +1 -1
  398. package/dist/components/patient-summary-card/index.js +1 -1
  399. package/dist/components/patient-table/index.js +1 -1
  400. package/dist/components/payment-card/index.js +1 -1
  401. package/dist/components/payment-form/index.js +1 -1
  402. package/dist/components/pdf-viewer/index.js +1 -1
  403. package/dist/components/periodontal-chart/index.js +1 -1
  404. package/dist/components/periodontal-chart-card/index.js +1 -1
  405. package/dist/components/periodontal-diagnosis/index.js +1 -1
  406. package/dist/components/periodontal-risk-chart/index.js +1 -1
  407. package/dist/components/permission-matrix/index.js +1 -1
  408. package/dist/components/popover/index.js +1 -1
  409. package/dist/components/practice-profile-hero/index.js +1 -1
  410. package/dist/components/practice-results/index.js +1 -1
  411. package/dist/components/pregnancy-dating/index.js +1 -1
  412. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  413. package/dist/components/privacy-lock/index.js +1 -1
  414. package/dist/components/product-hub-tray/index.js +1 -1
  415. package/dist/components/public-header/index.js +1 -1
  416. package/dist/components/radio/index.js +1 -1
  417. package/dist/components/radio-group/index.js +2 -2
  418. package/dist/components/radiograph-panel/index.js +1 -1
  419. package/dist/components/resource-chip/index.js +1 -1
  420. package/dist/components/reviews-panel/index.js +1 -1
  421. package/dist/components/rich-text-editor/index.js +2 -2
  422. package/dist/components/sheet/index.js +1 -1
  423. package/dist/components/sidebar/index.js +1 -1
  424. package/dist/components/sign-document/index.js +1 -1
  425. package/dist/components/signature-status-chip/index.js +1 -1
  426. package/dist/components/slot-grid/index.js +1 -1
  427. package/dist/components/stat/index.js +1 -1
  428. package/dist/components/stat/stat.d.ts +7 -2
  429. package/dist/components/stat/stat.d.ts.map +1 -1
  430. package/dist/components/streaming-text/index.js +1 -1
  431. package/dist/components/tab-bar/index.js +1 -1
  432. package/dist/components/tag/index.js +1 -1
  433. package/dist/components/task-card/index.js +1 -1
  434. package/dist/components/task-editor/index.js +1 -1
  435. package/dist/components/task-tray/index.js +1 -1
  436. package/dist/components/tasks-panel/index.js +1 -1
  437. package/dist/components/theme-toggle/index.js +1 -1
  438. package/dist/components/toast/index.js +1 -1
  439. package/dist/components/tool-rail/index.js +1 -1
  440. package/dist/components/tool-rail/tool-rail.agent.d.ts.map +1 -1
  441. package/dist/components/tool-rail/tool-rail.d.ts +7 -0
  442. package/dist/components/tool-rail/tool-rail.d.ts.map +1 -1
  443. package/dist/components/tooltip/index.js +1 -1
  444. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  445. package/dist/components/tooth-scheme/index.js +1 -1
  446. package/dist/components/transcript-panel/index.js +1 -1
  447. package/dist/components/treatment-receipt/index.js +1 -1
  448. package/dist/components/voice-control-panel/index.js +1 -1
  449. package/dist/components/warning-stack/index.js +1 -1
  450. package/dist/components/widget-picker/index.js +1 -1
  451. package/dist/components/workflow/index.js +1 -1
  452. package/dist/hooks/index.js +1 -1
  453. package/dist/hooks/use-edge-resize.d.ts +5 -1
  454. package/dist/hooks/use-edge-resize.d.ts.map +1 -1
  455. package/dist/index.js +778 -776
  456. package/dist/index.js.map +1 -1
  457. package/dist/patterns/alia-assistant/index.js +1 -1
  458. package/dist/patterns/anamnesis/index.js +1 -1
  459. package/dist/patterns/calendar/index.js +1 -1
  460. package/dist/patterns/forgot-password-form/index.js +1 -1
  461. package/dist/patterns/help-me-write-templates/index.js +1 -1
  462. package/dist/patterns/login-form/index.js +1 -1
  463. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  464. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +3 -0
  465. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts.map +1 -1
  466. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  467. package/dist/patterns/registration-form/index.js +1 -1
  468. package/dist/patterns/signature-request/index.js +1 -1
  469. package/dist/patterns/signed-out-frame/index.js +1 -1
  470. package/dist/tokens.css +8 -1
  471. package/package.json +1 -1
  472. package/dist/_chunks/app-frame-CqmDh2v5.js +0 -134
  473. package/dist/_chunks/app-frame-CqmDh2v5.js.map +0 -1
  474. package/dist/_chunks/chart-D7PbNO_M.js +0 -920
  475. package/dist/_chunks/chart-D7PbNO_M.js.map +0 -1
  476. package/dist/_chunks/control-room-rail-BbBEIdws.js +0 -379
  477. package/dist/_chunks/control-room-rail-BbBEIdws.js.map +0 -1
  478. package/dist/_chunks/dashboard-grid-DRnhIlT-.js.map +0 -1
  479. package/dist/_chunks/marketplace-app-shell-p6hPgVwy.js.map +0 -1
  480. package/dist/_chunks/stat-DmjGfXND.js.map +0 -1
  481. package/dist/_chunks/tool-rail-Blgibz0a.js +0 -816
  482. package/dist/_chunks/tool-rail-Blgibz0a.js.map +0 -1
  483. package/dist/_chunks/tooltip-Cp-PLePW.js +0 -119
  484. package/dist/_chunks/tooltip-Cp-PLePW.js.map +0 -1
  485. package/dist/_chunks/use-edge-resize-DHbyQwu8.js +0 -149
  486. package/dist/_chunks/use-edge-resize-DHbyQwu8.js.map +0 -1
@@ -2,9 +2,9 @@ import { jsx as a, jsxs as S } from "react/jsx-runtime";
2
2
  import { forwardRef as Se, useRef as L, useState as pe, useCallback as j, Children as M, isValidElement as P, useEffect as Le, cloneElement as B } from "react";
3
3
  import { c as Ae } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as Te } from "react-i18next";
5
- import { I as ce } from "./icon-button-dNE6ENLn.js";
5
+ import { I as ce } from "./icon-button-C_1TgRiK.js";
6
6
  import { D as d } from "./dropdown-menu-D1we7oAY.js";
7
- import { T as $e } from "./tooltip-Cp-PLePW.js";
7
+ import { T as $e } from "./tooltip-uEBdD1-5.js";
8
8
  import { u as Fe } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
9
9
  import { u as Ne } from "./use-priority-overflow-Cdmb5EiR.js";
10
10
  import { E as de } from "./ellipsis-dRo9ouSU.js";
@@ -405,4 +405,4 @@ je.displayName = "ButtonGroup";
405
405
  export {
406
406
  je as B
407
407
  };
408
- //# sourceMappingURL=button-group-Cfpyu6pc.js.map
408
+ //# sourceMappingURL=button-group-DCOJhvm3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group-Cfpyu6pc.js","sources":["../../src/components/button-group/button-group.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Ellipsis } from 'lucide-react';\nimport type { ButtonProps } from '../button/button';\nimport { IconButton } from '../button/icon-button';\nimport { DropdownMenu } from '../dropdown-menu';\nimport { Tooltip } from '../tooltip';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { usePriorityOverflow } from '../../hooks/use-priority-overflow';\n\ntype ButtonIntent = NonNullable<ButtonProps['intent']>;\n\n/**\n * A bare boolean `inert` JSX prop is unsafe across this kit's peer range\n * (`^18.2.0 || ^19.0.0`, though the devDependency pins React 19.2.0, so\n * neither Storybook nor CI exercises React 18 here). React 18 doesn't\n * recognise `inert` as a boolean HTML attribute at all and drops a bare\n * `true` silently, which is what the platform (react-dom 18.3.1) hit:\n * these `aria-hidden` measurement/trigger clones stayed focusable and\n * clickable, tripling up `data-action` selectors and failing an axe\n * `aria-hidden-focus` check. The obvious fix — pass a non-boolean value\n * like `inert=\"\"` — makes it WORSE on React 19: it recognises `inert` as\n * boolean and explicitly warns \"Received an empty string for a\n * non-boolean attribute `inert`... will treat the attribute as if it\n * were false\", dropping it there too. There is no single JSX literal\n * that is correct on both majors.\n *\n * So this sets the real DOM property imperatively in a ref callback\n * instead of relying on JSX attribute diffing at all — the same\n * technique `tool-rail.tsx` / `panel-subview.tsx` already use via\n * `setAttribute('inert', '')` for exactly this reason. `.inert` is a\n * REFLECTED boolean IDL property (WHATWG spec): setting it always\n * updates the content attribute too, in every browser, regardless of\n * which React major (or none) rendered the element, so\n * `hasAttribute('inert')` stays a valid version-agnostic check. The\n * declarative `inert` JSX prop stays in place alongside it (harmless,\n * and keeps today's React 19 markup identical) — the ref is the\n * backstop that actually fixes React 18.\n */\nfunction forceInert<T extends HTMLElement>(node: T | null): void {\n if (node) node.inert = true;\n}\n\nconst buttonGroupVariants = cva(\n 'ds:inline-flex ds:isolate ds:[&>*]:relative ds:[&>*:focus-visible]:z-10',\n {\n variants: {\n orientation: {\n horizontal: [\n 'ds:flex-row',\n 'ds:[&>*:not(:first-child)]:rounded-s-none',\n 'ds:[&>*:not(:last-child)]:rounded-e-none',\n 'ds:[&>*:not(:first-child)]:-ms-px',\n ].join(' '),\n vertical: [\n 'ds:flex-col',\n 'ds:[&>*:not(:first-child)]:rounded-t-none',\n 'ds:[&>*:not(:last-child)]:rounded-b-none',\n 'ds:[&>*:not(:first-child)]:-mt-px',\n ].join(' '),\n },\n separator: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n {\n orientation: 'horizontal',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-e ds:[&>*:not(:last-child)]:border-border',\n },\n {\n orientation: 'vertical',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-b ds:[&>*:not(:last-child)]:border-border',\n },\n ],\n defaultVariants: {\n orientation: 'horizontal',\n separator: false,\n },\n },\n);\n\n// Hidden measurement rows: laid out (so widths are real) but invisible,\n// non-interactive and out of the a11y tree. Never display:none.\nconst MEASURE_ROW_CLASSES =\n 'ds:absolute ds:start-0 ds:top-0 ds:invisible ds:pointer-events-none';\n\n/** One entry of a child's own menu, as More repeats it in a submenu. */\nexport interface ButtonGroupOverflowItem {\n label: string;\n icon?: ReactNode;\n onSelect: () => void;\n disabled?: boolean;\n /** Carried onto the menu item as `data-action`. */\n action?: string;\n}\n\ntype SlottedProps = {\n children?: ReactNode;\n href?: unknown;\n target?: unknown;\n rel?: unknown;\n onClick?: unknown;\n 'aria-label'?: unknown;\n};\n\ntype GroupChildProps = {\n intent?: ButtonIntent;\n background?: 'transparent' | 'surface';\n tabIndex?: number;\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n ref?: React.Ref<HTMLButtonElement>;\n children?: ReactNode;\n disabled?: boolean;\n loading?: boolean;\n startIcon?: ReactNode;\n endIcon?: ReactNode;\n hideLabel?: boolean;\n 'aria-label'?: string;\n /** State a menu item cannot carry: a pin holding one never moves. */\n 'aria-expanded'?: unknown;\n 'aria-pressed'?: unknown;\n 'aria-haspopup'?: unknown;\n /** `'always'` keeps the child in the strip at any width. */\n 'data-overflow-pin'?: boolean | 'true' | '' | 'always';\n 'data-overflow-tip'?: boolean | 'false';\n /** The child's DOM hook. More carries it onto the child's menu item. */\n 'data-action'?: string;\n size?: ButtonProps['size'];\n /** A Button over a link (`asChild` with an `<a href>`). */\n asChild?: boolean;\n /** A child that opens its own menu lists its entries here, so More can\n * repeat them in a submenu. */\n overflowItems?: ReadonlyArray<ButtonGroupOverflowItem>;\n};\n\nexport interface ButtonGroupProps\n extends\n HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof buttonGroupVariants> {\n /**\n * Accessible label for the group. Falls back to the translated\n * `ui.buttonGroup.label` string when not provided.\n */\n label?: string;\n /**\n * When the children are interactive toolbar-style controls (e.g. toggles),\n * set this to render `role=\"toolbar\"` instead of `role=\"group\"`.\n */\n toolbar?: boolean;\n /**\n * Intent applied to every Button / IconButton child that does not set\n * its own `intent`. Defaults to `outline` — grouped buttons are peers,\n * not three solid-primary CTAs.\n */\n intent?: ButtonIntent;\n /**\n * Backing paint behind the outline intents, applied to every child that\n * does not set its own `background` AND to the group's own overflow\n * trigger. `'transparent'` (default) lets the surface behind show through\n * — right on a toolbar or a tinted shell. `'surface'` paints\n * `--background` behind the whole strip, so it reads as one solid control\n * on a host page or a panel footer. A child's explicit `background` wins.\n *\n * Set this rather than passing `background` to each child: the ellipsis\n * trigger is the group's own, so no per-child prop can reach it and the\n * strip would collapse to a mismatched see-through button.\n */\n background?: 'transparent' | 'surface';\n /**\n * Size applied to every child that does not set its own `size` AND to the\n * group's own overflow trigger. Set it here rather than per child: the\n * ellipsis trigger is the group's, so a per-child `size` leaves it at the\n * default `md` and the strip ends on a button taller than the rest.\n */\n size?: ButtonProps['size'];\n /**\n * `'menu'` keeps the strip on one line whatever the container width:\n * once the buttons stop fitting (after the optional `collapseToIcons`\n * stage) trailing ones move into a dropdown behind an ellipsis trigger.\n * The group then fills its container's inline size, so give it a bounded\n * parent. Horizontal only. Children needing to stay in the strip set\n * `data-overflow-pin`; children without a string label or `aria-label`\n * cannot be mirrored into the menu and are pinned automatically. When the\n * pinned children alone no longer fit beside the menu, trailing pins that\n * are plain actions (an `onClick`, a link or `overflowItems`) move into\n * it, so it stays reachable. A pin carrying `aria-expanded`,\n * `aria-pressed` or `aria-haspopup`, a pin with no action, and a child\n * set to `data-overflow-pin=\"always\"` never move. A link child (`asChild`\n * over an `<a href>`) becomes an item that clicks the host's own link, so\n * its handler, target and download apply; a child with `overflowItems`\n * and a string label or `aria-label` becomes a submenu.\n */\n overflow?: 'none' | 'menu';\n /**\n * With `overflow=\"menu\"`: before spilling into the menu, hide every\n * child's label (`hideLabel`) and keep only its `startIcon` — buttons\n * without an icon shrink to their padding, so give each child one.\n */\n collapseToIcons?: boolean;\n}\n\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n className,\n orientation = 'horizontal',\n separator = false,\n toolbar = false,\n intent = 'outline',\n background = 'transparent',\n size,\n label,\n overflow = 'none',\n collapseToIcons = false,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n const accessibleLabel = label ?? t('buttonGroup.label', 'Button group');\n const moreLabel = t('buttonGroup.more', 'More options');\n const newTabLabel = t('link.opensInNewTab', 'Opens in a new tab');\n\n if (\n import.meta.env.DEV &&\n overflow === 'menu' &&\n orientation === 'vertical'\n ) {\n console.warn(\n 'ButtonGroup: overflow=\"menu\" is horizontal-only; falling back to overflow=\"none\".',\n );\n }\n const overflowEnabled = overflow === 'menu' && orientation !== 'vertical';\n\n // Roving tabindex — required by the WAI-ARIA toolbar pattern.\n // When `toolbar` is true, one child owns `tabIndex=0` and the rest are\n // `-1`. Arrow keys / Home / End move focus between children, respecting\n // orientation and RTL. Plain `group` mode keeps every child natively\n // tabbable.\n const rovingTabindex = toolbar;\n const buttonsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [isRTL, setIsRTL] = useState(false);\n useIsomorphicLayoutEffect(() => {\n if (typeof window === 'undefined') return;\n const node = rootRef.current;\n if (!node) return;\n setIsRTL(window.getComputedStyle(node).direction === 'rtl');\n }, []);\n\n const handleRootKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (!rovingTabindex) return;\n const count = buttonsRef.current.filter(Boolean).length;\n if (count === 0) return;\n\n const forwardKey =\n orientation === 'vertical'\n ? 'ArrowDown'\n : isRTL\n ? 'ArrowLeft'\n : 'ArrowRight';\n const backwardKey =\n orientation === 'vertical'\n ? 'ArrowUp'\n : isRTL\n ? 'ArrowRight'\n : 'ArrowLeft';\n\n let next: number | null = null;\n if (event.key === forwardKey) next = (focusIndex + 1) % count;\n else if (event.key === backwardKey)\n next = (focusIndex - 1 + count) % count;\n else if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = count - 1;\n if (next === null) return;\n\n // Skip over disabled children.\n const maxAttempts = count;\n let attempts = 0;\n let candidate = next;\n while (attempts < maxAttempts) {\n const el = buttonsRef.current[candidate];\n if (\n el &&\n el.getAttribute('aria-disabled') !== 'true' &&\n !el.disabled\n ) {\n break;\n }\n candidate =\n event.key === backwardKey || event.key === 'End'\n ? (candidate - 1 + count) % count\n : (candidate + 1) % count;\n attempts += 1;\n }\n event.preventDefault();\n setFocusIndex(candidate);\n buttonsRef.current[candidate]?.focus();\n },\n [rovingTabindex, orientation, isRTL, focusIndex],\n );\n\n /* ---- Overflow bookkeeping (menu mode only) --------------------- */\n const childElements = overflowEnabled\n ? (Children.toArray(children).filter(isValidElement) as Array<\n ReactElement<GroupChildProps>\n >)\n : [];\n\n const linkOf = (child: ReactElement<GroupChildProps>) => {\n const slotted = child.props.children;\n if (!child.props.asChild || !isValidElement<SlottedProps>(slotted))\n return null;\n if (typeof slotted.props.href !== 'string') return null;\n const label =\n typeof slotted.props.children === 'string'\n ? slotted.props.children\n : typeof slotted.props['aria-label'] === 'string'\n ? slotted.props['aria-label']\n : null;\n return {\n label,\n element: slotted,\n newTab: slotted.props.target === '_blank',\n };\n };\n const mirrorLabel = (child: ReactElement<GroupChildProps>) => {\n if (typeof child.props.children === 'string') return child.props.children;\n const aria = child.props['aria-label'];\n if (typeof aria === 'string') return aria;\n return linkOf(child)?.label ?? null;\n };\n const warnedRef = useRef(false);\n const mirrorableFlags = childElements.map(\n (child) => mirrorLabel(child) !== null,\n );\n /* A pin may make way for More only when its menu item does all the\n child does: a plain action that holds no state. */\n const movableFlags = childElements.map((child, index) => {\n const { props } = child;\n const submenu = (props.overflowItems?.length ?? 0) > 0;\n const acts =\n typeof props.onClick === 'function' ||\n linkOf(child) !== null ||\n submenu;\n const popup = props['aria-haspopup'];\n const holdsState =\n props['aria-expanded'] !== undefined ||\n props['aria-pressed'] !== undefined ||\n (popup !== undefined &&\n popup !== false &&\n popup !== 'false' &&\n !submenu);\n return (\n mirrorableFlags[index] &&\n acts &&\n !holdsState &&\n props['data-overflow-pin'] !== 'always'\n );\n });\n const pinnedFlags = childElements.map((child, index) => {\n const explicit = child.props['data-overflow-pin'] !== undefined;\n const mirrorable = mirrorableFlags[index];\n if (\n import.meta.env.DEV &&\n !explicit &&\n !mirrorable &&\n !warnedRef.current\n ) {\n warnedRef.current = true;\n console.warn(\n 'ButtonGroup: a child without a string label or aria-label cannot move into the overflow menu — it stays pinned in the strip.',\n );\n }\n return explicit || !mirrorable;\n });\n\n const {\n containerRef,\n fullRowRef,\n iconRowRef,\n triggerProbeRef,\n stage,\n visible,\n overflowing,\n } = usePriorityOverflow({\n enabled: overflowEnabled,\n count: childElements.length,\n twoStage: collapseToIcons,\n pinned: pinnedFlags,\n movable: movableFlags,\n });\n // `fullRowRef`/`iconRowRef`/`triggerProbeRef` are already stable\n // (`useCallback([])` inside the hook), so wrapping them keeps a\n // stable identity too — required so the ref callback fires once per\n // mount rather than on every render. See `forceInert` above.\n const fullRowInertRef = useCallback(\n (node: HTMLDivElement | null) => {\n forceInert(node);\n fullRowRef(node);\n },\n [fullRowRef],\n );\n const iconRowInertRef = useCallback(\n (node: HTMLDivElement | null) => {\n forceInert(node);\n iconRowRef(node);\n },\n [iconRowRef],\n );\n const triggerProbeInertRef = useCallback(\n (node: HTMLSpanElement | null) => {\n forceInert(node);\n triggerProbeRef(node);\n },\n [triggerProbeRef],\n );\n\n const triggerNodeRef = useRef<HTMLButtonElement | null>(null);\n const linkShelfRef = useRef<HTMLDivElement | null>(null);\n const visibleCount = overflowEnabled\n ? visible.filter(Boolean).length\n : Children.count(children);\n\n // Clamp the roving focus when items move into the menu; hand real focus\n // to the trigger only when the focused node was the one that left.\n useEffect(() => {\n if (!rovingTabindex || !overflowEnabled) return;\n const total = visibleCount + (overflowing ? 1 : 0);\n if (total > 0 && focusIndex >= total) {\n setFocusIndex(total - 1);\n if (document.activeElement === document.body) {\n triggerNodeRef.current?.focus();\n }\n }\n }, [\n rovingTabindex,\n overflowEnabled,\n visibleCount,\n overflowing,\n focusIndex,\n ]);\n\n const mergeChildRef = (\n childEl: ReactElement<GroupChildProps>,\n index: number,\n ) => {\n return (node: HTMLButtonElement | null) => {\n buttonsRef.current[index] = node;\n const originalRef = (\n childEl as unknown as { ref?: React.Ref<HTMLButtonElement> }\n ).ref;\n if (typeof originalRef === 'function') originalRef(node);\n else if (\n originalRef !== null &&\n originalRef !== undefined &&\n typeof originalRef === 'object'\n ) {\n (\n originalRef as React.MutableRefObject<HTMLButtonElement | null>\n ).current = node;\n }\n };\n };\n\n /* ---- Legacy path: overflow=\"none\" keeps today's exact DOM ------ */\n const enhanced = overflowEnabled\n ? null\n : Children.map(children, (child, index) => {\n if (!isValidElement(child)) return child;\n const childEl = child as ReactElement<GroupChildProps>;\n\n // Roving-tabindex wiring (ref / tabIndex / onFocus) is only needed in\n // `toolbar` mode. In plain `group` mode inject ONLY `intent`, so the group\n // composes with members that don't forward a ref — e.g. each wrapped in a\n // `DropdownMenu.Root` for a split-button strip — without React's \"function\n // components cannot be given refs\" warning. The joined styling is DOM-level\n // (`[&>*]`), so it still applies to the rendered buttons either way.\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n\n return cloneElement(\n childEl,\n overrides as Partial<typeof childEl.props>,\n );\n });\n\n /* ---- Menu path: strip of visible children + ellipsis trigger --- */\n let stripChildren: ReactNode = null;\n let menuItems: ReactNode = null;\n let linkShelf: ReactNode = null;\n if (overflowEnabled) {\n buttonsRef.current.length = visibleCount + (overflowing ? 1 : 0);\n let stripIndex = -1;\n stripChildren = childElements.map((childEl, i) => {\n if (!visible[i]) return null;\n stripIndex += 1;\n const index = stripIndex;\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n // Only children with an icon AND a text label collapse; icon-only\n // children (their children ARE the icon) would go blank.\n if (\n collapseToIcons &&\n stage === 'icons' &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n )\n overrides.hideLabel = true;\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n const collapsed = overrides.hideLabel === true;\n const cloned = cloneElement(\n childEl,\n overrides as Partial<GroupChildProps>,\n );\n // A collapsed child keeps its label screen-reader-only, so assistive\n // tech is fine — but a sighted user is left with a bare glyph and no\n // way to learn what it does. Give the collapsed stage a Tooltip.\n // `Tooltip` renders its trigger `asChild`, so the button stays the\n // group's DIRECT child and the joined-border `[&>*]` rules still hit.\n // A child that is itself a hover trigger (a HoverCard preview, say)\n // opts out with `data-overflow-tip={false}` — two overlays racing on\n // one pointer is worse than none.\n const ownsItsTip =\n childEl.props['data-overflow-tip'] === false ||\n childEl.props['data-overflow-tip'] === 'false';\n const tip = collapsed && !ownsItsTip ? mirrorLabel(childEl) : null;\n return tip ? (\n <Tooltip key={childEl.key ?? i} label={tip}>\n {cloned}\n </Tooltip>\n ) : (\n cloned\n );\n });\n\n menuItems = childElements.map((childEl, i) => {\n if (visible[i]) return null;\n const itemLabel = mirrorLabel(childEl);\n if (itemLabel === null) return null;\n const disabled =\n childEl.props.disabled === true || childEl.props.loading === true;\n const action = childEl.props['data-action'];\n const submenu = childEl.props.overflowItems;\n if (submenu && submenu.length > 0) {\n return (\n <DropdownMenu.Sub key={childEl.key ?? i}>\n <DropdownMenu.SubTrigger\n startIcon={childEl.props.startIcon}\n disabled={disabled}\n data-action={action}\n >\n {itemLabel}\n </DropdownMenu.SubTrigger>\n <DropdownMenu.SubContent>\n {submenu.map((item, index) => (\n <DropdownMenu.Item\n key={`${index}-${item.label}`}\n startIcon={item.icon}\n disabled={item.disabled}\n data-action={item.action}\n onSelect={() => item.onSelect()}\n >\n {item.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.SubContent>\n </DropdownMenu.Sub>\n );\n }\n const link = linkOf(childEl);\n if (link) {\n return (\n <DropdownMenu.Item\n key={childEl.key ?? i}\n startIcon={childEl.props.startIcon}\n disabled={disabled}\n data-action={action}\n aria-label={\n link.newTab ? `${itemLabel}, ${newTabLabel}` : undefined\n }\n /* The host's own link, kept in the menu, takes the click. */\n onSelect={() => {\n linkShelfRef.current\n ?.querySelector<HTMLElement>(\n `[data-link-index=\"${i}\"] [href]`,\n )\n ?.click();\n }}\n >\n {itemLabel}\n </DropdownMenu.Item>\n );\n }\n return (\n <DropdownMenu.Item\n key={childEl.key ?? i}\n startIcon={childEl.props.startIcon}\n disabled={disabled}\n data-action={action}\n onSelect={(event) => {\n childEl.props.onClick?.(\n event as unknown as React.MouseEvent<HTMLButtonElement>,\n );\n }}\n >\n {itemLabel}\n </DropdownMenu.Item>\n );\n });\n\n /* A folded link child's own element, out of sight in the menu: a\n pick clicks it, so the host's handler gets a real click on its own\n link, with every attribute it set, and the menu still closes. */\n linkShelf = childElements.map((childEl, i) => {\n if (visible[i] || mirrorLabel(childEl) === null) return null;\n const link = linkOf(childEl);\n if (!link || (childEl.props.overflowItems?.length ?? 0) > 0)\n return null;\n const own = link.element.props.onClick;\n return (\n <span key={childEl.key ?? i} data-link-index={i}>\n {cloneElement(link.element, {\n onClick: (event: React.MouseEvent<HTMLElement>) => {\n if (typeof own === 'function') own(event);\n childEl.props.onClick?.(\n event as React.MouseEvent<HTMLButtonElement>,\n );\n },\n /* No query may land on this hidden copy. */\n id: undefined,\n 'data-action': undefined,\n } as Partial<SlottedProps>)}\n </span>\n );\n });\n }\n\n const mergedRootRef = (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n };\n\n if (!overflowEnabled) {\n return (\n <div\n ref={mergedRootRef}\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? (orientation ?? 'horizontal') : undefined}\n data-component=\"button-group\"\n onKeyDown={handleRootKeyDown}\n className={buttonGroupVariants({ orientation, separator, className })}\n {...props}\n >\n {enhanced}\n </div>\n );\n }\n\n const stripClasses = buttonGroupVariants({ orientation, separator });\n const triggerIndex = visibleCount;\n const measureClone = (\n childEl: ReactElement<GroupChildProps>,\n i: number,\n icons: boolean,\n ) =>\n cloneElement(childEl, {\n key: childEl.key ?? i,\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n tabIndex: -1,\n // Same rule as the live strip: icon-only children never hideLabel.\n ...(icons &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n ? { hideLabel: true }\n : null),\n /* The hook belongs to the live child alone: a query for it must\n never land on an inert copy. */\n 'data-action': undefined,\n ref: null,\n } as Partial<GroupChildProps>);\n\n return (\n <div\n ref={mergedRootRef}\n data-component=\"button-group\"\n className={[\n 'ds:relative ds:block ds:w-full ds:min-w-0 ds:overflow-x-clip',\n className ?? '',\n ]\n .join(' ')\n .trim()}\n {...props}\n >\n <div ref={containerRef} className=\"ds:block ds:w-full ds:min-w-0\">\n {/* Measurement rows: every item at natural width, both stages. */}\n <div\n ref={fullRowInertRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, false))}\n </div>\n {collapseToIcons ? (\n <div\n ref={iconRowInertRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, true))}\n </div>\n ) : null}\n <span\n ref={triggerProbeInertRef}\n aria-hidden=\"true\"\n inert\n className={MEASURE_ROW_CLASSES}\n >\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n tabIndex={-1}\n />\n </span>\n\n <div\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? 'horizontal' : undefined}\n onKeyDown={handleRootKeyDown}\n /* `align-top` kills the baseline descender gap under an\n inline-level strip: without it the group measures ~3px taller\n than its own buttons, so it never lines up with a sibling\n control (a status pill, a select) in a shared `items-center`\n row. */\n /* Buttons keep their width by default. Here pins alone can\n overflow, so text buttons give way and More stays in view. */\n className={`${stripClasses} ds:max-w-full ds:align-top ds:[&>[data-component=button]]:shrink ds:[&>[data-component=button]]:min-w-0`}\n >\n {stripChildren}\n {overflowing ? (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n ref={(node: HTMLButtonElement | null) => {\n triggerNodeRef.current = node;\n buttonsRef.current[triggerIndex] = node;\n }}\n tabIndex={\n rovingTabindex\n ? focusIndex === triggerIndex\n ? 0\n : -1\n : undefined\n }\n onFocus={\n rovingTabindex\n ? () => setFocusIndex(triggerIndex)\n : undefined\n }\n />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"end\">\n {menuItems}\n <div ref={linkShelfRef} hidden>\n {linkShelf}\n </div>\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n);\n\nButtonGroup.displayName = 'ButtonGroup';\n"],"names":["forceInert","node","buttonGroupVariants","cva","MEASURE_ROW_CLASSES","ButtonGroup","forwardRef","className","orientation","separator","toolbar","intent","background","size","label","overflow","collapseToIcons","children","props","ref","t","useTranslation","accessibleLabel","moreLabel","newTabLabel","overflowEnabled","rovingTabindex","buttonsRef","useRef","focusIndex","setFocusIndex","useState","rootRef","isRTL","setIsRTL","useIsomorphicLayoutEffect","handleRootKeyDown","useCallback","event","count","forwardKey","backwardKey","next","maxAttempts","attempts","candidate","el","_a","childElements","Children","isValidElement","linkOf","child","slotted","mirrorLabel","aria","mirrorableFlags","movableFlags","index","submenu","acts","popup","holdsState","pinnedFlags","explicit","mirrorable","containerRef","fullRowRef","iconRowRef","triggerProbeRef","stage","visible","overflowing","usePriorityOverflow","fullRowInertRef","iconRowInertRef","triggerProbeInertRef","triggerNodeRef","linkShelfRef","visibleCount","useEffect","total","mergeChildRef","childEl","originalRef","enhanced","overrides","ev","_b","cloneElement","stripChildren","menuItems","linkShelf","stripIndex","i","collapsed","cloned","ownsItsTip","tip","Tooltip","itemLabel","disabled","action","jsxs","DropdownMenu","jsx","item","link","own","mergedRootRef","stripClasses","triggerIndex","measureClone","icons","c","IconButton","Ellipsis"],"mappings":"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"}
1
+ {"version":3,"file":"button-group-DCOJhvm3.js","sources":["../../src/components/button-group/button-group.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Ellipsis } from 'lucide-react';\nimport type { ButtonProps } from '../button/button';\nimport { IconButton } from '../button/icon-button';\nimport { DropdownMenu } from '../dropdown-menu';\nimport { Tooltip } from '../tooltip';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { usePriorityOverflow } from '../../hooks/use-priority-overflow';\n\ntype ButtonIntent = NonNullable<ButtonProps['intent']>;\n\n/**\n * A bare boolean `inert` JSX prop is unsafe across this kit's peer range\n * (`^18.2.0 || ^19.0.0`, though the devDependency pins React 19.2.0, so\n * neither Storybook nor CI exercises React 18 here). React 18 doesn't\n * recognise `inert` as a boolean HTML attribute at all and drops a bare\n * `true` silently, which is what the platform (react-dom 18.3.1) hit:\n * these `aria-hidden` measurement/trigger clones stayed focusable and\n * clickable, tripling up `data-action` selectors and failing an axe\n * `aria-hidden-focus` check. The obvious fix — pass a non-boolean value\n * like `inert=\"\"` — makes it WORSE on React 19: it recognises `inert` as\n * boolean and explicitly warns \"Received an empty string for a\n * non-boolean attribute `inert`... will treat the attribute as if it\n * were false\", dropping it there too. There is no single JSX literal\n * that is correct on both majors.\n *\n * So this sets the real DOM property imperatively in a ref callback\n * instead of relying on JSX attribute diffing at all — the same\n * technique `tool-rail.tsx` / `panel-subview.tsx` already use via\n * `setAttribute('inert', '')` for exactly this reason. `.inert` is a\n * REFLECTED boolean IDL property (WHATWG spec): setting it always\n * updates the content attribute too, in every browser, regardless of\n * which React major (or none) rendered the element, so\n * `hasAttribute('inert')` stays a valid version-agnostic check. The\n * declarative `inert` JSX prop stays in place alongside it (harmless,\n * and keeps today's React 19 markup identical) — the ref is the\n * backstop that actually fixes React 18.\n */\nfunction forceInert<T extends HTMLElement>(node: T | null): void {\n if (node) node.inert = true;\n}\n\nconst buttonGroupVariants = cva(\n 'ds:inline-flex ds:isolate ds:[&>*]:relative ds:[&>*:focus-visible]:z-10',\n {\n variants: {\n orientation: {\n horizontal: [\n 'ds:flex-row',\n 'ds:[&>*:not(:first-child)]:rounded-s-none',\n 'ds:[&>*:not(:last-child)]:rounded-e-none',\n 'ds:[&>*:not(:first-child)]:-ms-px',\n ].join(' '),\n vertical: [\n 'ds:flex-col',\n 'ds:[&>*:not(:first-child)]:rounded-t-none',\n 'ds:[&>*:not(:last-child)]:rounded-b-none',\n 'ds:[&>*:not(:first-child)]:-mt-px',\n ].join(' '),\n },\n separator: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n {\n orientation: 'horizontal',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-e ds:[&>*:not(:last-child)]:border-border',\n },\n {\n orientation: 'vertical',\n separator: true,\n class:\n 'ds:[&>*:not(:last-child)]:border-b ds:[&>*:not(:last-child)]:border-border',\n },\n ],\n defaultVariants: {\n orientation: 'horizontal',\n separator: false,\n },\n },\n);\n\n// Hidden measurement rows: laid out (so widths are real) but invisible,\n// non-interactive and out of the a11y tree. Never display:none.\nconst MEASURE_ROW_CLASSES =\n 'ds:absolute ds:start-0 ds:top-0 ds:invisible ds:pointer-events-none';\n\n/** One entry of a child's own menu, as More repeats it in a submenu. */\nexport interface ButtonGroupOverflowItem {\n label: string;\n icon?: ReactNode;\n onSelect: () => void;\n disabled?: boolean;\n /** Carried onto the menu item as `data-action`. */\n action?: string;\n}\n\ntype SlottedProps = {\n children?: ReactNode;\n href?: unknown;\n target?: unknown;\n rel?: unknown;\n onClick?: unknown;\n 'aria-label'?: unknown;\n};\n\ntype GroupChildProps = {\n intent?: ButtonIntent;\n background?: 'transparent' | 'surface';\n tabIndex?: number;\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n ref?: React.Ref<HTMLButtonElement>;\n children?: ReactNode;\n disabled?: boolean;\n loading?: boolean;\n startIcon?: ReactNode;\n endIcon?: ReactNode;\n hideLabel?: boolean;\n 'aria-label'?: string;\n /** State a menu item cannot carry: a pin holding one never moves. */\n 'aria-expanded'?: unknown;\n 'aria-pressed'?: unknown;\n 'aria-haspopup'?: unknown;\n /** `'always'` keeps the child in the strip at any width. */\n 'data-overflow-pin'?: boolean | 'true' | '' | 'always';\n 'data-overflow-tip'?: boolean | 'false';\n /** The child's DOM hook. More carries it onto the child's menu item. */\n 'data-action'?: string;\n size?: ButtonProps['size'];\n /** A Button over a link (`asChild` with an `<a href>`). */\n asChild?: boolean;\n /** A child that opens its own menu lists its entries here, so More can\n * repeat them in a submenu. */\n overflowItems?: ReadonlyArray<ButtonGroupOverflowItem>;\n};\n\nexport interface ButtonGroupProps\n extends\n HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof buttonGroupVariants> {\n /**\n * Accessible label for the group. Falls back to the translated\n * `ui.buttonGroup.label` string when not provided.\n */\n label?: string;\n /**\n * When the children are interactive toolbar-style controls (e.g. toggles),\n * set this to render `role=\"toolbar\"` instead of `role=\"group\"`.\n */\n toolbar?: boolean;\n /**\n * Intent applied to every Button / IconButton child that does not set\n * its own `intent`. Defaults to `outline` — grouped buttons are peers,\n * not three solid-primary CTAs.\n */\n intent?: ButtonIntent;\n /**\n * Backing paint behind the outline intents, applied to every child that\n * does not set its own `background` AND to the group's own overflow\n * trigger. `'transparent'` (default) lets the surface behind show through\n * — right on a toolbar or a tinted shell. `'surface'` paints\n * `--background` behind the whole strip, so it reads as one solid control\n * on a host page or a panel footer. A child's explicit `background` wins.\n *\n * Set this rather than passing `background` to each child: the ellipsis\n * trigger is the group's own, so no per-child prop can reach it and the\n * strip would collapse to a mismatched see-through button.\n */\n background?: 'transparent' | 'surface';\n /**\n * Size applied to every child that does not set its own `size` AND to the\n * group's own overflow trigger. Set it here rather than per child: the\n * ellipsis trigger is the group's, so a per-child `size` leaves it at the\n * default `md` and the strip ends on a button taller than the rest.\n */\n size?: ButtonProps['size'];\n /**\n * `'menu'` keeps the strip on one line whatever the container width:\n * once the buttons stop fitting (after the optional `collapseToIcons`\n * stage) trailing ones move into a dropdown behind an ellipsis trigger.\n * The group then fills its container's inline size, so give it a bounded\n * parent. Horizontal only. Children needing to stay in the strip set\n * `data-overflow-pin`; children without a string label or `aria-label`\n * cannot be mirrored into the menu and are pinned automatically. When the\n * pinned children alone no longer fit beside the menu, trailing pins that\n * are plain actions (an `onClick`, a link or `overflowItems`) move into\n * it, so it stays reachable. A pin carrying `aria-expanded`,\n * `aria-pressed` or `aria-haspopup`, a pin with no action, and a child\n * set to `data-overflow-pin=\"always\"` never move. A link child (`asChild`\n * over an `<a href>`) becomes an item that clicks the host's own link, so\n * its handler, target and download apply; a child with `overflowItems`\n * and a string label or `aria-label` becomes a submenu.\n */\n overflow?: 'none' | 'menu';\n /**\n * With `overflow=\"menu\"`: before spilling into the menu, hide every\n * child's label (`hideLabel`) and keep only its `startIcon` — buttons\n * without an icon shrink to their padding, so give each child one.\n */\n collapseToIcons?: boolean;\n}\n\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n className,\n orientation = 'horizontal',\n separator = false,\n toolbar = false,\n intent = 'outline',\n background = 'transparent',\n size,\n label,\n overflow = 'none',\n collapseToIcons = false,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n const accessibleLabel = label ?? t('buttonGroup.label', 'Button group');\n const moreLabel = t('buttonGroup.more', 'More options');\n const newTabLabel = t('link.opensInNewTab', 'Opens in a new tab');\n\n if (\n import.meta.env.DEV &&\n overflow === 'menu' &&\n orientation === 'vertical'\n ) {\n console.warn(\n 'ButtonGroup: overflow=\"menu\" is horizontal-only; falling back to overflow=\"none\".',\n );\n }\n const overflowEnabled = overflow === 'menu' && orientation !== 'vertical';\n\n // Roving tabindex — required by the WAI-ARIA toolbar pattern.\n // When `toolbar` is true, one child owns `tabIndex=0` and the rest are\n // `-1`. Arrow keys / Home / End move focus between children, respecting\n // orientation and RTL. Plain `group` mode keeps every child natively\n // tabbable.\n const rovingTabindex = toolbar;\n const buttonsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [isRTL, setIsRTL] = useState(false);\n useIsomorphicLayoutEffect(() => {\n if (typeof window === 'undefined') return;\n const node = rootRef.current;\n if (!node) return;\n setIsRTL(window.getComputedStyle(node).direction === 'rtl');\n }, []);\n\n const handleRootKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (!rovingTabindex) return;\n const count = buttonsRef.current.filter(Boolean).length;\n if (count === 0) return;\n\n const forwardKey =\n orientation === 'vertical'\n ? 'ArrowDown'\n : isRTL\n ? 'ArrowLeft'\n : 'ArrowRight';\n const backwardKey =\n orientation === 'vertical'\n ? 'ArrowUp'\n : isRTL\n ? 'ArrowRight'\n : 'ArrowLeft';\n\n let next: number | null = null;\n if (event.key === forwardKey) next = (focusIndex + 1) % count;\n else if (event.key === backwardKey)\n next = (focusIndex - 1 + count) % count;\n else if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = count - 1;\n if (next === null) return;\n\n // Skip over disabled children.\n const maxAttempts = count;\n let attempts = 0;\n let candidate = next;\n while (attempts < maxAttempts) {\n const el = buttonsRef.current[candidate];\n if (\n el &&\n el.getAttribute('aria-disabled') !== 'true' &&\n !el.disabled\n ) {\n break;\n }\n candidate =\n event.key === backwardKey || event.key === 'End'\n ? (candidate - 1 + count) % count\n : (candidate + 1) % count;\n attempts += 1;\n }\n event.preventDefault();\n setFocusIndex(candidate);\n buttonsRef.current[candidate]?.focus();\n },\n [rovingTabindex, orientation, isRTL, focusIndex],\n );\n\n /* ---- Overflow bookkeeping (menu mode only) --------------------- */\n const childElements = overflowEnabled\n ? (Children.toArray(children).filter(isValidElement) as Array<\n ReactElement<GroupChildProps>\n >)\n : [];\n\n const linkOf = (child: ReactElement<GroupChildProps>) => {\n const slotted = child.props.children;\n if (!child.props.asChild || !isValidElement<SlottedProps>(slotted))\n return null;\n if (typeof slotted.props.href !== 'string') return null;\n const label =\n typeof slotted.props.children === 'string'\n ? slotted.props.children\n : typeof slotted.props['aria-label'] === 'string'\n ? slotted.props['aria-label']\n : null;\n return {\n label,\n element: slotted,\n newTab: slotted.props.target === '_blank',\n };\n };\n const mirrorLabel = (child: ReactElement<GroupChildProps>) => {\n if (typeof child.props.children === 'string') return child.props.children;\n const aria = child.props['aria-label'];\n if (typeof aria === 'string') return aria;\n return linkOf(child)?.label ?? null;\n };\n const warnedRef = useRef(false);\n const mirrorableFlags = childElements.map(\n (child) => mirrorLabel(child) !== null,\n );\n /* A pin may make way for More only when its menu item does all the\n child does: a plain action that holds no state. */\n const movableFlags = childElements.map((child, index) => {\n const { props } = child;\n const submenu = (props.overflowItems?.length ?? 0) > 0;\n const acts =\n typeof props.onClick === 'function' ||\n linkOf(child) !== null ||\n submenu;\n const popup = props['aria-haspopup'];\n const holdsState =\n props['aria-expanded'] !== undefined ||\n props['aria-pressed'] !== undefined ||\n (popup !== undefined &&\n popup !== false &&\n popup !== 'false' &&\n !submenu);\n return (\n mirrorableFlags[index] &&\n acts &&\n !holdsState &&\n props['data-overflow-pin'] !== 'always'\n );\n });\n const pinnedFlags = childElements.map((child, index) => {\n const explicit = child.props['data-overflow-pin'] !== undefined;\n const mirrorable = mirrorableFlags[index];\n if (\n import.meta.env.DEV &&\n !explicit &&\n !mirrorable &&\n !warnedRef.current\n ) {\n warnedRef.current = true;\n console.warn(\n 'ButtonGroup: a child without a string label or aria-label cannot move into the overflow menu — it stays pinned in the strip.',\n );\n }\n return explicit || !mirrorable;\n });\n\n const {\n containerRef,\n fullRowRef,\n iconRowRef,\n triggerProbeRef,\n stage,\n visible,\n overflowing,\n } = usePriorityOverflow({\n enabled: overflowEnabled,\n count: childElements.length,\n twoStage: collapseToIcons,\n pinned: pinnedFlags,\n movable: movableFlags,\n });\n // `fullRowRef`/`iconRowRef`/`triggerProbeRef` are already stable\n // (`useCallback([])` inside the hook), so wrapping them keeps a\n // stable identity too — required so the ref callback fires once per\n // mount rather than on every render. See `forceInert` above.\n const fullRowInertRef = useCallback(\n (node: HTMLDivElement | null) => {\n forceInert(node);\n fullRowRef(node);\n },\n [fullRowRef],\n );\n const iconRowInertRef = useCallback(\n (node: HTMLDivElement | null) => {\n forceInert(node);\n iconRowRef(node);\n },\n [iconRowRef],\n );\n const triggerProbeInertRef = useCallback(\n (node: HTMLSpanElement | null) => {\n forceInert(node);\n triggerProbeRef(node);\n },\n [triggerProbeRef],\n );\n\n const triggerNodeRef = useRef<HTMLButtonElement | null>(null);\n const linkShelfRef = useRef<HTMLDivElement | null>(null);\n const visibleCount = overflowEnabled\n ? visible.filter(Boolean).length\n : Children.count(children);\n\n // Clamp the roving focus when items move into the menu; hand real focus\n // to the trigger only when the focused node was the one that left.\n useEffect(() => {\n if (!rovingTabindex || !overflowEnabled) return;\n const total = visibleCount + (overflowing ? 1 : 0);\n if (total > 0 && focusIndex >= total) {\n setFocusIndex(total - 1);\n if (document.activeElement === document.body) {\n triggerNodeRef.current?.focus();\n }\n }\n }, [\n rovingTabindex,\n overflowEnabled,\n visibleCount,\n overflowing,\n focusIndex,\n ]);\n\n const mergeChildRef = (\n childEl: ReactElement<GroupChildProps>,\n index: number,\n ) => {\n return (node: HTMLButtonElement | null) => {\n buttonsRef.current[index] = node;\n const originalRef = (\n childEl as unknown as { ref?: React.Ref<HTMLButtonElement> }\n ).ref;\n if (typeof originalRef === 'function') originalRef(node);\n else if (\n originalRef !== null &&\n originalRef !== undefined &&\n typeof originalRef === 'object'\n ) {\n (\n originalRef as React.MutableRefObject<HTMLButtonElement | null>\n ).current = node;\n }\n };\n };\n\n /* ---- Legacy path: overflow=\"none\" keeps today's exact DOM ------ */\n const enhanced = overflowEnabled\n ? null\n : Children.map(children, (child, index) => {\n if (!isValidElement(child)) return child;\n const childEl = child as ReactElement<GroupChildProps>;\n\n // Roving-tabindex wiring (ref / tabIndex / onFocus) is only needed in\n // `toolbar` mode. In plain `group` mode inject ONLY `intent`, so the group\n // composes with members that don't forward a ref — e.g. each wrapped in a\n // `DropdownMenu.Root` for a split-button strip — without React's \"function\n // components cannot be given refs\" warning. The joined styling is DOM-level\n // (`[&>*]`), so it still applies to the rendered buttons either way.\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n\n return cloneElement(\n childEl,\n overrides as Partial<typeof childEl.props>,\n );\n });\n\n /* ---- Menu path: strip of visible children + ellipsis trigger --- */\n let stripChildren: ReactNode = null;\n let menuItems: ReactNode = null;\n let linkShelf: ReactNode = null;\n if (overflowEnabled) {\n buttonsRef.current.length = visibleCount + (overflowing ? 1 : 0);\n let stripIndex = -1;\n stripChildren = childElements.map((childEl, i) => {\n if (!visible[i]) return null;\n stripIndex += 1;\n const index = stripIndex;\n const overrides: Record<string, unknown> = {\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n };\n // Only children with an icon AND a text label collapse; icon-only\n // children (their children ARE the icon) would go blank.\n if (\n collapseToIcons &&\n stage === 'icons' &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n )\n overrides.hideLabel = true;\n if (rovingTabindex) {\n overrides.tabIndex = index === focusIndex ? 0 : -1;\n overrides.onFocus = (ev: React.FocusEvent<HTMLButtonElement>) => {\n setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n };\n overrides.ref = mergeChildRef(childEl, index);\n }\n const collapsed = overrides.hideLabel === true;\n const cloned = cloneElement(\n childEl,\n overrides as Partial<GroupChildProps>,\n );\n // A collapsed child keeps its label screen-reader-only, so assistive\n // tech is fine — but a sighted user is left with a bare glyph and no\n // way to learn what it does. Give the collapsed stage a Tooltip.\n // `Tooltip` renders its trigger `asChild`, so the button stays the\n // group's DIRECT child and the joined-border `[&>*]` rules still hit.\n // A child that is itself a hover trigger (a HoverCard preview, say)\n // opts out with `data-overflow-tip={false}` — two overlays racing on\n // one pointer is worse than none.\n const ownsItsTip =\n childEl.props['data-overflow-tip'] === false ||\n childEl.props['data-overflow-tip'] === 'false';\n const tip = collapsed && !ownsItsTip ? mirrorLabel(childEl) : null;\n return tip ? (\n <Tooltip key={childEl.key ?? i} label={tip}>\n {cloned}\n </Tooltip>\n ) : (\n cloned\n );\n });\n\n menuItems = childElements.map((childEl, i) => {\n if (visible[i]) return null;\n const itemLabel = mirrorLabel(childEl);\n if (itemLabel === null) return null;\n const disabled =\n childEl.props.disabled === true || childEl.props.loading === true;\n const action = childEl.props['data-action'];\n const submenu = childEl.props.overflowItems;\n if (submenu && submenu.length > 0) {\n return (\n <DropdownMenu.Sub key={childEl.key ?? i}>\n <DropdownMenu.SubTrigger\n startIcon={childEl.props.startIcon}\n disabled={disabled}\n data-action={action}\n >\n {itemLabel}\n </DropdownMenu.SubTrigger>\n <DropdownMenu.SubContent>\n {submenu.map((item, index) => (\n <DropdownMenu.Item\n key={`${index}-${item.label}`}\n startIcon={item.icon}\n disabled={item.disabled}\n data-action={item.action}\n onSelect={() => item.onSelect()}\n >\n {item.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.SubContent>\n </DropdownMenu.Sub>\n );\n }\n const link = linkOf(childEl);\n if (link) {\n return (\n <DropdownMenu.Item\n key={childEl.key ?? i}\n startIcon={childEl.props.startIcon}\n disabled={disabled}\n data-action={action}\n aria-label={\n link.newTab ? `${itemLabel}, ${newTabLabel}` : undefined\n }\n /* The host's own link, kept in the menu, takes the click. */\n onSelect={() => {\n linkShelfRef.current\n ?.querySelector<HTMLElement>(\n `[data-link-index=\"${i}\"] [href]`,\n )\n ?.click();\n }}\n >\n {itemLabel}\n </DropdownMenu.Item>\n );\n }\n return (\n <DropdownMenu.Item\n key={childEl.key ?? i}\n startIcon={childEl.props.startIcon}\n disabled={disabled}\n data-action={action}\n onSelect={(event) => {\n childEl.props.onClick?.(\n event as unknown as React.MouseEvent<HTMLButtonElement>,\n );\n }}\n >\n {itemLabel}\n </DropdownMenu.Item>\n );\n });\n\n /* A folded link child's own element, out of sight in the menu: a\n pick clicks it, so the host's handler gets a real click on its own\n link, with every attribute it set, and the menu still closes. */\n linkShelf = childElements.map((childEl, i) => {\n if (visible[i] || mirrorLabel(childEl) === null) return null;\n const link = linkOf(childEl);\n if (!link || (childEl.props.overflowItems?.length ?? 0) > 0)\n return null;\n const own = link.element.props.onClick;\n return (\n <span key={childEl.key ?? i} data-link-index={i}>\n {cloneElement(link.element, {\n onClick: (event: React.MouseEvent<HTMLElement>) => {\n if (typeof own === 'function') own(event);\n childEl.props.onClick?.(\n event as React.MouseEvent<HTMLButtonElement>,\n );\n },\n /* No query may land on this hidden copy. */\n id: undefined,\n 'data-action': undefined,\n } as Partial<SlottedProps>)}\n </span>\n );\n });\n }\n\n const mergedRootRef = (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n };\n\n if (!overflowEnabled) {\n return (\n <div\n ref={mergedRootRef}\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? (orientation ?? 'horizontal') : undefined}\n data-component=\"button-group\"\n onKeyDown={handleRootKeyDown}\n className={buttonGroupVariants({ orientation, separator, className })}\n {...props}\n >\n {enhanced}\n </div>\n );\n }\n\n const stripClasses = buttonGroupVariants({ orientation, separator });\n const triggerIndex = visibleCount;\n const measureClone = (\n childEl: ReactElement<GroupChildProps>,\n i: number,\n icons: boolean,\n ) =>\n cloneElement(childEl, {\n key: childEl.key ?? i,\n intent: childEl.props.intent ?? intent,\n background: childEl.props.background ?? background,\n ...(size ? { size: childEl.props.size ?? size } : null),\n tabIndex: -1,\n // Same rule as the live strip: icon-only children never hideLabel.\n ...(icons &&\n childEl.props.children &&\n (childEl.props.startIcon || childEl.props.endIcon)\n ? { hideLabel: true }\n : null),\n /* The hook belongs to the live child alone: a query for it must\n never land on an inert copy. */\n 'data-action': undefined,\n ref: null,\n } as Partial<GroupChildProps>);\n\n return (\n <div\n ref={mergedRootRef}\n data-component=\"button-group\"\n className={[\n 'ds:relative ds:block ds:w-full ds:min-w-0 ds:overflow-x-clip',\n className ?? '',\n ]\n .join(' ')\n .trim()}\n {...props}\n >\n <div ref={containerRef} className=\"ds:block ds:w-full ds:min-w-0\">\n {/* Measurement rows: every item at natural width, both stages. */}\n <div\n ref={fullRowInertRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, false))}\n </div>\n {collapseToIcons ? (\n <div\n ref={iconRowInertRef}\n aria-hidden=\"true\"\n inert\n className={`${MEASURE_ROW_CLASSES} ${stripClasses}`}\n >\n {childElements.map((c, i) => measureClone(c, i, true))}\n </div>\n ) : null}\n <span\n ref={triggerProbeInertRef}\n aria-hidden=\"true\"\n inert\n className={MEASURE_ROW_CLASSES}\n >\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n tabIndex={-1}\n />\n </span>\n\n <div\n role={toolbar ? 'toolbar' : 'group'}\n aria-label={accessibleLabel}\n aria-orientation={toolbar ? 'horizontal' : undefined}\n onKeyDown={handleRootKeyDown}\n /* `align-top` kills the baseline descender gap under an\n inline-level strip: without it the group measures ~3px taller\n than its own buttons, so it never lines up with a sibling\n control (a status pill, a select) in a shared `items-center`\n row. */\n /* Buttons keep their width by default. Here pins alone can\n overflow, so text buttons give way and More stays in view. */\n className={`${stripClasses} ds:max-w-full ds:align-top ds:[&>[data-component=button]]:shrink ds:[&>[data-component=button]]:min-w-0`}\n >\n {stripChildren}\n {overflowing ? (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton\n icon={<Ellipsis />}\n intent={intent}\n background={background}\n size={size}\n aria-label={moreLabel}\n ref={(node: HTMLButtonElement | null) => {\n triggerNodeRef.current = node;\n buttonsRef.current[triggerIndex] = node;\n }}\n tabIndex={\n rovingTabindex\n ? focusIndex === triggerIndex\n ? 0\n : -1\n : undefined\n }\n onFocus={\n rovingTabindex\n ? () => setFocusIndex(triggerIndex)\n : undefined\n }\n />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"end\">\n {menuItems}\n <div ref={linkShelfRef} hidden>\n {linkShelf}\n </div>\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n);\n\nButtonGroup.displayName = 'ButtonGroup';\n"],"names":["forceInert","node","buttonGroupVariants","cva","MEASURE_ROW_CLASSES","ButtonGroup","forwardRef","className","orientation","separator","toolbar","intent","background","size","label","overflow","collapseToIcons","children","props","ref","t","useTranslation","accessibleLabel","moreLabel","newTabLabel","overflowEnabled","rovingTabindex","buttonsRef","useRef","focusIndex","setFocusIndex","useState","rootRef","isRTL","setIsRTL","useIsomorphicLayoutEffect","handleRootKeyDown","useCallback","event","count","forwardKey","backwardKey","next","maxAttempts","attempts","candidate","el","_a","childElements","Children","isValidElement","linkOf","child","slotted","mirrorLabel","aria","mirrorableFlags","movableFlags","index","submenu","acts","popup","holdsState","pinnedFlags","explicit","mirrorable","containerRef","fullRowRef","iconRowRef","triggerProbeRef","stage","visible","overflowing","usePriorityOverflow","fullRowInertRef","iconRowInertRef","triggerProbeInertRef","triggerNodeRef","linkShelfRef","visibleCount","useEffect","total","mergeChildRef","childEl","originalRef","enhanced","overrides","ev","_b","cloneElement","stripChildren","menuItems","linkShelf","stripIndex","i","collapsed","cloned","ownsItsTip","tip","Tooltip","itemLabel","disabled","action","jsxs","DropdownMenu","jsx","item","link","own","mergedRootRef","stripClasses","triggerIndex","measureClone","icons","c","IconButton","Ellipsis"],"mappings":";;;;;;;;;;AAqDA,SAASA,EAAkCC,GAAsB;AAC/D,EAAIA,QAAW,QAAQ;AACzB;AAEA,MAAMC,KAAsBC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,aAAa;AAAA,QACX,YAAY;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,QACV,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,MAAA;AAAA,MAEZ,WAAW;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,kBAAkB;AAAA,MAChB;AAAA,QACE,aAAa;AAAA,QACb,WAAW;AAAA,QACX,OACE;AAAA,MAAA;AAAA,MAEJ;AAAA,QACE,aAAa;AAAA,QACb,WAAW;AAAA,QACX,OACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,aAAa;AAAA,MACb,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,GAIMC,IACJ,uEAsHWC,KAAcC;AAAA,EACzB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,WAAAC,IAAY;AAAA,IACZ,SAAAC,IAAU;AAAA,IACV,QAAAC,IAAS;AAAA,IACT,YAAAC,IAAa;AAAA,IACb,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC,KAAW;AAAA,IACX,iBAAAC,IAAkB;AAAA,IAClB,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,EAAA,IAAMC,GAAe,IAAI,GAC3BC,IAAkBR,MAASM,EAAE,qBAAqB,cAAc,GAChEG,IAAYH,EAAE,oBAAoB,cAAc,GAChDI,KAAcJ,EAAE,sBAAsB,oBAAoB,GAW1DK,IAAkBV,OAAa,UAAUP,MAAgB,YAOzDkB,IAAiBhB,GACjBiB,IAAaC,EAAwC,EAAE,GACvD,CAACC,GAAYC,CAAa,IAAIC,GAAS,CAAC,GAExCC,IAAUJ,EAA8B,IAAI,GAC5C,CAACK,GAAOC,EAAQ,IAAIH,GAAS,EAAK;AACxC,IAAAI,GAA0B,MAAM;AAC9B,UAAI,OAAO,SAAW,IAAa;AACnC,YAAMlC,IAAO+B,EAAQ;AACrB,MAAK/B,KACLiC,GAAS,OAAO,iBAAiBjC,CAAI,EAAE,cAAc,KAAK;AAAA,IAC5D,GAAG,CAAA,CAAE;AAEL,UAAMmC,IAAoBC;AAAA,MACxB,CAACC,MAA8C;;AAC7C,YAAI,CAACZ,EAAgB;AACrB,cAAMa,IAAQZ,EAAW,QAAQ,OAAO,OAAO,EAAE;AACjD,YAAIY,MAAU,EAAG;AAEjB,cAAMC,IACJhC,MAAgB,aACZ,cACAyB,IACE,cACA,cACFQ,IACJjC,MAAgB,aACZ,YACAyB,IACE,eACA;AAER,YAAIS,IAAsB;AAM1B,YALIJ,EAAM,QAAQE,IAAYE,KAAQb,IAAa,KAAKU,IAC/CD,EAAM,QAAQG,IACrBC,KAAQb,IAAa,IAAIU,KAASA,IAC3BD,EAAM,QAAQ,SAAQI,IAAO,IAC7BJ,EAAM,QAAQ,UAAOI,IAAOH,IAAQ,IACzCG,MAAS,KAAM;AAGnB,cAAMC,IAAcJ;AACpB,YAAIK,IAAW,GACXC,IAAYH;AAChB,eAAOE,IAAWD,KAAa;AAC7B,gBAAMG,IAAKnB,EAAW,QAAQkB,CAAS;AACvC,cACEC,KACAA,EAAG,aAAa,eAAe,MAAM,UACrC,CAACA,EAAG;AAEJ;AAEF,UAAAD,IACEP,EAAM,QAAQG,KAAeH,EAAM,QAAQ,SACtCO,IAAY,IAAIN,KAASA,KACzBM,IAAY,KAAKN,GACxBK,KAAY;AAAA,QACd;AACA,QAAAN,EAAM,eAAA,GACNR,EAAce,CAAS,IACvBE,IAAApB,EAAW,QAAQkB,CAAS,MAA5B,QAAAE,EAA+B;AAAA,MACjC;AAAA,MACA,CAACrB,GAAgBlB,GAAayB,GAAOJ,CAAU;AAAA,IAAA,GAI3CmB,IAAgBvB,IACjBwB,EAAS,QAAQhC,CAAQ,EAAE,OAAOiC,CAAc,IAGjD,CAAA,GAEEC,IAAS,CAACC,MAAyC;AACvD,YAAMC,IAAUD,EAAM,MAAM;AAG5B,aAFI,CAACA,EAAM,MAAM,WAAW,CAACF,EAA6BG,CAAO,KAE7D,OAAOA,EAAQ,MAAM,QAAS,WAAiB,OAO5C;AAAA,QACL,OANA,OAAOA,EAAQ,MAAM,YAAa,WAC9BA,EAAQ,MAAM,WACd,OAAOA,EAAQ,MAAM,YAAY,KAAM,WACrCA,EAAQ,MAAM,YAAY,IAC1B;AAAA,QAGN,SAASA;AAAA,QACT,QAAQA,EAAQ,MAAM,WAAW;AAAA,MAAA;AAAA,IAErC,GACMC,IAAc,CAACF,MAAyC;;AAC5D,UAAI,OAAOA,EAAM,MAAM,YAAa,SAAU,QAAOA,EAAM,MAAM;AACjE,YAAMG,IAAOH,EAAM,MAAM,YAAY;AACrC,aAAI,OAAOG,KAAS,WAAiBA,MAC9BR,IAAAI,EAAOC,CAAK,MAAZ,gBAAAL,EAAe,UAAS;AAAA,IACjC;AACkB,IAAAnB,EAAO,EAAK;AAC9B,UAAM4B,IAAkBR,EAAc;AAAA,MACpC,CAACI,MAAUE,EAAYF,CAAK,MAAM;AAAA,IAAA,GAI9BK,KAAeT,EAAc,IAAI,CAACI,GAAOM,MAAU;;AACvD,YAAM,EAAE,OAAAxC,EAAAA,IAAUkC,GACZO,OAAWzC,IAAAA,EAAM,kBAANA,gBAAAA,EAAqB,WAAU,KAAK,GAC/C0C,IACJ,OAAO1C,EAAM,WAAY,cACzBiC,EAAOC,CAAK,MAAM,QAClBO,GACIE,IAAQ3C,EAAM,eAAe,GAC7B4C,IACJ5C,EAAM,eAAe,MAAM,UAC3BA,EAAM,cAAc,MAAM,UACzB2C,MAAU,UACTA,MAAU,MACVA,MAAU,WACV,CAACF;AACL,aACEH,EAAgBE,CAAK,KACrBE,KACA,CAACE,KACD5C,EAAM,mBAAmB,MAAM;AAAA,IAEnC,CAAC,GACK6C,KAAcf,EAAc,IAAI,CAACI,GAAOM,MAAU;AACtD,YAAMM,IAAWZ,EAAM,MAAM,mBAAmB,MAAM,QAChDa,IAAaT,EAAgBE,CAAK;AAYxC,aAAOM,KAAY,CAACC;AAAA,IACtB,CAAC,GAEK;AAAA,MACJ,cAAAC;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,aAAAC;AAAA,IAAA,IACEC,GAAoB;AAAA,MACtB,SAAShD;AAAA,MACT,OAAOuB,EAAc;AAAA,MACrB,UAAUhC;AAAA,MACV,QAAQ+C;AAAA,MACR,SAASN;AAAA,IAAA,CACV,GAKKiB,KAAkBrC;AAAA,MACtB,CAACpC,MAAgC;AAC/B,QAAAD,EAAWC,CAAI,GACfkE,EAAWlE,CAAI;AAAA,MACjB;AAAA,MACA,CAACkE,CAAU;AAAA,IAAA,GAEPQ,KAAkBtC;AAAA,MACtB,CAACpC,MAAgC;AAC/B,QAAAD,EAAWC,CAAI,GACfmE,EAAWnE,CAAI;AAAA,MACjB;AAAA,MACA,CAACmE,CAAU;AAAA,IAAA,GAEPQ,KAAuBvC;AAAA,MAC3B,CAACpC,MAAiC;AAChC,QAAAD,EAAWC,CAAI,GACfoE,GAAgBpE,CAAI;AAAA,MACtB;AAAA,MACA,CAACoE,EAAe;AAAA,IAAA,GAGZQ,KAAiBjD,EAAiC,IAAI,GACtDkD,KAAelD,EAA8B,IAAI,GACjDmD,IAAetD,IACjB8C,EAAQ,OAAO,OAAO,EAAE,SACxBtB,EAAS,MAAMhC,CAAQ;AAI3B,IAAA+D,GAAU,MAAM;;AACd,UAAI,CAACtD,KAAkB,CAACD,EAAiB;AACzC,YAAMwD,IAAQF,KAAgBP,IAAc,IAAI;AAChD,MAAIS,IAAQ,KAAKpD,KAAcoD,MAC7BnD,EAAcmD,IAAQ,CAAC,GACnB,SAAS,kBAAkB,SAAS,UACtClC,IAAA8B,GAAe,YAAf,QAAA9B,EAAwB;AAAA,IAG9B,GAAG;AAAA,MACDrB;AAAA,MACAD;AAAA,MACAsD;AAAA,MACAP;AAAA,MACA3C;AAAA,IAAA,CACD;AAED,UAAMqD,KAAgB,CACpBC,GACAzB,MAEO,CAACzD,MAAmC;AACzC,MAAA0B,EAAW,QAAQ+B,CAAK,IAAIzD;AAC5B,YAAMmF,IACJD,EACA;AACF,MAAI,OAAOC,KAAgB,aAAYA,EAAYnF,CAAI,IAErDmF,KAAgB,QAEhB,OAAOA,KAAgB,aAGrBA,EACA,UAAUnF;AAAA,IAEhB,GAIIoF,KAAW5D,IACb,OACAwB,EAAS,IAAIhC,GAAU,CAACmC,GAAOM,MAAU;AACvC,UAAI,CAACR,EAAeE,CAAK,EAAG,QAAOA;AACnC,YAAM+B,IAAU/B,GAQVkC,IAAqC;AAAA,QACzC,QAAQH,EAAQ,MAAM,UAAUxE;AAAA,QAChC,YAAYwE,EAAQ,MAAM,cAAcvE;AAAA,QACxC,GAAIC,IAAO,EAAE,MAAMsE,EAAQ,MAAM,QAAQtE,MAAS;AAAA,MAAA;AAEpD,aAAIa,MACF4D,EAAU,WAAW5B,MAAU7B,IAAa,IAAI,IAChDyD,EAAU,UAAU,CAACC,MAA4C;;AAC/D,QAAAzD,EAAc4B,CAAK,IACnB8B,KAAAzC,IAAAoC,EAAQ,OAAM,YAAd,QAAAK,EAAA,KAAAzC,GAAwBwC;AAAA,MAC1B,GACAD,EAAU,MAAMJ,GAAcC,GAASzB,CAAK,IAGvC+B;AAAA,QACLN;AAAA,QACAG;AAAA,MAAA;AAAA,IAEJ,CAAC;AAGL,QAAII,KAA2B,MAC3BC,KAAuB,MACvBC,KAAuB;AAC3B,QAAInE,GAAiB;AACnB,MAAAE,EAAW,QAAQ,SAASoD,KAAgBP,IAAc,IAAI;AAC9D,UAAIqB,IAAa;AACjB,MAAAH,KAAgB1C,EAAc,IAAI,CAACmC,GAASW,MAAM;AAChD,YAAI,CAACvB,EAAQuB,CAAC,EAAG,QAAO;AACxB,QAAAD,KAAc;AACd,cAAMnC,IAAQmC,GACRP,IAAqC;AAAA,UACzC,QAAQH,EAAQ,MAAM,UAAUxE;AAAA,UAChC,YAAYwE,EAAQ,MAAM,cAAcvE;AAAA,UACxC,GAAIC,IAAO,EAAE,MAAMsE,EAAQ,MAAM,QAAQtE,MAAS;AAAA,QAAA;AAIpD,QACEG,KACAsD,OAAU,WACVa,EAAQ,MAAM,aACbA,EAAQ,MAAM,aAAaA,EAAQ,MAAM,aAE1CG,EAAU,YAAY,KACpB5D,MACF4D,EAAU,WAAW5B,MAAU7B,IAAa,IAAI,IAChDyD,EAAU,UAAU,CAACC,MAA4C;;AAC/D,UAAAzD,EAAc4B,CAAK,IACnB8B,MAAAzC,IAAAoC,EAAQ,OAAM,YAAd,QAAAK,GAAA,KAAAzC,GAAwBwC;AAAA,QAC1B,GACAD,EAAU,MAAMJ,GAAcC,GAASzB,CAAK;AAE9C,cAAMqC,IAAYT,EAAU,cAAc,IACpCU,IAASP;AAAA,UACbN;AAAA,UACAG;AAAA,QAAA,GAUIW,IACJd,EAAQ,MAAM,mBAAmB,MAAM,MACvCA,EAAQ,MAAM,mBAAmB,MAAM,SACnCe,IAAMH,KAAa,CAACE,IAAa3C,EAAY6B,CAAO,IAAI;AAC9D,eAAOe,sBACJC,IAAA,EAA+B,OAAOD,GACpC,UAAAF,EAAA,GADWb,EAAQ,OAAOW,CAE7B,IAEAE;AAAA,MAEJ,CAAC,GAEDL,KAAY3C,EAAc,IAAI,CAACmC,GAASW,MAAM;AAC5C,YAAIvB,EAAQuB,CAAC,EAAG,QAAO;AACvB,cAAMM,IAAY9C,EAAY6B,CAAO;AACrC,YAAIiB,MAAc,KAAM,QAAO;AAC/B,cAAMC,IACJlB,EAAQ,MAAM,aAAa,MAAQA,EAAQ,MAAM,YAAY,IACzDmB,IAASnB,EAAQ,MAAM,aAAa,GACpCxB,IAAUwB,EAAQ,MAAM;AAC9B,YAAIxB,KAAWA,EAAQ,SAAS;AAC9B,iBACE,gBAAA4C,EAACC,EAAa,KAAb,EACC,UAAA;AAAA,YAAA,gBAAAC;AAAA,cAACD,EAAa;AAAA,cAAb;AAAA,gBACC,WAAWrB,EAAQ,MAAM;AAAA,gBACzB,UAAAkB;AAAA,gBACA,eAAaC;AAAA,gBAEZ,UAAAF;AAAA,cAAA;AAAA,YAAA;AAAA,YAEH,gBAAAK,EAACD,EAAa,YAAb,EACE,YAAQ,IAAI,CAACE,GAAMhD,MAClB,gBAAA+C;AAAA,cAACD,EAAa;AAAA,cAAb;AAAA,gBAEC,WAAWE,EAAK;AAAA,gBAChB,UAAUA,EAAK;AAAA,gBACf,eAAaA,EAAK;AAAA,gBAClB,UAAU,MAAMA,EAAK,SAAA;AAAA,gBAEpB,UAAAA,EAAK;AAAA,cAAA;AAAA,cAND,GAAGhD,CAAK,IAAIgD,EAAK,KAAK;AAAA,YAAA,CAQ9B,GACH;AAAA,UAAA,KApBqBvB,EAAQ,OAAOW,CAqBtC;AAGJ,cAAMa,IAAOxD,EAAOgC,CAAO;AAC3B,eAAIwB,IAEA,gBAAAF;AAAA,UAACD,EAAa;AAAA,UAAb;AAAA,YAEC,WAAWrB,EAAQ,MAAM;AAAA,YACzB,UAAAkB;AAAA,YACA,eAAaC;AAAA,YACb,cACEK,EAAK,SAAS,GAAGP,CAAS,KAAK5E,EAAW,KAAK;AAAA,YAGjD,UAAU,MAAM;;AACd,eAAAgE,KAAAzC,IAAA+B,GAAa,YAAb,gBAAA/B,EACI;AAAA,gBACA,qBAAqB+C,CAAC;AAAA,oBAF1B,QAAAN,EAII;AAAA,YACN;AAAA,YAEC,UAAAY;AAAA,UAAA;AAAA,UAhBIjB,EAAQ,OAAOW;AAAA,QAAA,IAqBxB,gBAAAW;AAAA,UAACD,EAAa;AAAA,UAAb;AAAA,YAEC,WAAWrB,EAAQ,MAAM;AAAA,YACzB,UAAAkB;AAAA,YACA,eAAaC;AAAA,YACb,UAAU,CAAChE,MAAU;;AACnB,eAAAkD,KAAAzC,IAAAoC,EAAQ,OAAM,YAAd,QAAAK,EAAA;AAAA,gBAAAzC;AAAA,gBACET;AAAA;AAAA,YAEJ;AAAA,YAEC,UAAA8D;AAAA,UAAA;AAAA,UAVIjB,EAAQ,OAAOW;AAAA,QAAA;AAAA,MAa1B,CAAC,GAKDF,KAAY5C,EAAc,IAAI,CAACmC,GAASW,MAAM;;AAC5C,YAAIvB,EAAQuB,CAAC,KAAKxC,EAAY6B,CAAO,MAAM,KAAM,QAAO;AACxD,cAAMwB,IAAOxD,EAAOgC,CAAO;AAC3B,YAAI,CAACwB,QAAS5D,IAAAoC,EAAQ,MAAM,kBAAd,gBAAApC,EAA6B,WAAU,KAAK;AACxD,iBAAO;AACT,cAAM6D,IAAMD,EAAK,QAAQ,MAAM;AAC/B,iCACG,QAAA,EAA4B,mBAAiBb,GAC3C,UAAAL,EAAakB,EAAK,SAAS;AAAA,UAC1B,SAAS,CAACrE,MAAyC;;AACjD,YAAI,OAAOsE,KAAQ,cAAYA,EAAItE,CAAK,IACxCkD,KAAAzC,IAAAoC,EAAQ,OAAM,YAAd,QAAAK,EAAA;AAAA,cAAAzC;AAAA,cACET;AAAA;AAAA,UAEJ;AAAA;AAAA,UAEA,IAAI;AAAA,UACJ,eAAe;AAAA,QAAA,CACS,KAXjB6C,EAAQ,OAAOW,CAY1B;AAAA,MAEJ,CAAC;AAAA,IACH;AAEA,UAAMe,KAAgB,CAAC5G,MAAgC;AACrD,MAAA+B,EAAQ,UAAU/B,GACd,OAAOkB,KAAQ,aAAYA,EAAIlB,CAAI,IAC9BkB,KAAO,OAAOA,KAAQ,aAC5BA,EAAsD,UAAUlB;AAAA,IAErE;AAEA,QAAI,CAACwB;AACH,aACE,gBAAAgF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKI;AAAA,UACL,MAAMnG,IAAU,YAAY;AAAA,UAC5B,cAAYY;AAAA,UACZ,oBAAkBZ,IAAWF,KAAe,eAAgB;AAAA,UAC5D,kBAAe;AAAA,UACf,WAAW4B;AAAA,UACX,WAAWlC,GAAoB,EAAE,aAAAM,GAAa,WAAAC,GAAW,WAAAF,GAAW;AAAA,UACnE,GAAGW;AAAA,UAEH,UAAAmE;AAAA,QAAA;AAAA,MAAA;AAKP,UAAMyB,IAAe5G,GAAoB,EAAE,aAAAM,GAAa,WAAAC,GAAW,GAC7DsG,IAAehC,GACfiC,KAAe,CACnB7B,GACAW,GACAmB,MAEAxB,EAAaN,GAAS;AAAA,MACpB,KAAKA,EAAQ,OAAOW;AAAA,MACpB,QAAQX,EAAQ,MAAM,UAAUxE;AAAA,MAChC,YAAYwE,EAAQ,MAAM,cAAcvE;AAAA,MACxC,GAAIC,IAAO,EAAE,MAAMsE,EAAQ,MAAM,QAAQtE,MAAS;AAAA,MAClD,UAAU;AAAA;AAAA,MAEV,GAAIoG,KACJ9B,EAAQ,MAAM,aACbA,EAAQ,MAAM,aAAaA,EAAQ,MAAM,WACtC,EAAE,WAAW,OACb;AAAA;AAAA;AAAA,MAGJ,eAAe;AAAA,MACf,KAAK;AAAA,IAAA,CACsB;AAE/B,WACE,gBAAAsB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKI;AAAA,QACL,kBAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,UACAtG,KAAa;AAAA,QAAA,EAEZ,KAAK,GAAG,EACR,KAAA;AAAA,QACF,GAAGW;AAAA,QAEJ,4BAAC,OAAA,EAAI,KAAKgD,IAAc,WAAU,iCAEhC,UAAA;AAAA,UAAA,gBAAAuC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK/B;AAAA,cACL,eAAY;AAAA,cACZ,OAAK;AAAA,cACL,WAAW,GAAGtE,CAAmB,IAAI0G,CAAY;AAAA,cAEhD,UAAA9D,EAAc,IAAI,CAACkE,GAAGpB,MAAMkB,GAAaE,GAAGpB,GAAG,EAAK,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEvD9E,IACC,gBAAAyF;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK9B;AAAA,cACL,eAAY;AAAA,cACZ,OAAK;AAAA,cACL,WAAW,GAAGvE,CAAmB,IAAI0G,CAAY;AAAA,cAEhD,UAAA9D,EAAc,IAAI,CAACkE,GAAGpB,MAAMkB,GAAaE,GAAGpB,GAAG,EAAI,CAAC;AAAA,YAAA;AAAA,UAAA,IAErD;AAAA,UACJ,gBAAAW;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK7B;AAAA,cACL,eAAY;AAAA,cACZ,OAAK;AAAA,cACL,WAAWxE;AAAA,cAEX,UAAA,gBAAAqG;AAAA,gBAACU;AAAA,gBAAA;AAAA,kBACC,wBAAOC,IAAA,EAAS;AAAA,kBAChB,QAAAzG;AAAA,kBACA,YAAAC;AAAA,kBACA,MAAAC;AAAA,kBACA,cAAYU;AAAA,kBACZ,UAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,YACZ;AAAA,UAAA;AAAA,UAGF,gBAAAgF;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM7F,IAAU,YAAY;AAAA,cAC5B,cAAYY;AAAA,cACZ,oBAAkBZ,IAAU,eAAe;AAAA,cAC3C,WAAW0B;AAAA,cAQX,WAAW,GAAG0E,CAAY;AAAA,cAEzB,UAAA;AAAA,gBAAApB;AAAA,gBACAlB,IACC,gBAAA+B,EAACC,EAAa,MAAb,EACC,UAAA;AAAA,oCAACA,EAAa,SAAb,EAAqB,SAAO,IAC3B,UAAA,gBAAAC;AAAA,oBAACU;AAAA,oBAAA;AAAA,sBACC,wBAAOC,IAAA,EAAS;AAAA,sBAChB,QAAAzG;AAAA,sBACA,YAAAC;AAAA,sBACA,MAAAC;AAAA,sBACA,cAAYU;AAAA,sBACZ,KAAK,CAACtB,MAAmC;AACvC,wBAAA4E,GAAe,UAAU5E,GACzB0B,EAAW,QAAQoF,CAAY,IAAI9G;AAAA,sBACrC;AAAA,sBACA,UACEyB,IACIG,MAAekF,IACb,IACA,KACF;AAAA,sBAEN,SACErF,IACI,MAAMI,EAAciF,CAAY,IAChC;AAAA,oBAAA;AAAA,kBAAA,GAGV;AAAA,oCACCP,EAAa,SAAb,EAAqB,OAAM,OACzB,UAAA;AAAA,oBAAAb;AAAA,sCACA,OAAA,EAAI,KAAKb,IAAc,QAAM,IAC3B,UAAAc,GAAA,CACH;AAAA,kBAAA,GACF;AAAA,gBAAA,EAAA,CACF,IACE;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACN,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAvF,GAAY,cAAc;"}
@@ -17,8 +17,8 @@ import { u as xr } from "./registry-DvAUVLHh.js";
17
17
  import { w as wr, C as Dr } from "./calendar-event-card-DXAYWH6k.js";
18
18
  import { A as Cr } from "./avatar-WZY3eGE7.js";
19
19
  import { B as kr } from "./button-D-MQxsA_.js";
20
- import { a as je, R as Ar } from "./resource-chip-DQeCJzJf.js";
21
- import { T as _e } from "./tooltip-Cp-PLePW.js";
20
+ import { a as je, R as Ar } from "./resource-chip-DB5jDwUO.js";
21
+ import { T as _e } from "./tooltip-uEBdD1-5.js";
22
22
  import { V as Ir } from "./visually-hidden-BHxEUGyT.js";
23
23
  import { C as Ve } from "./check-DrFSN__t.js";
24
24
  import { C as qe } from "./chevron-right-I9AeSxH2.js";
@@ -1466,4 +1466,4 @@ export {
1466
1466
  Er as c,
1467
1467
  be as r
1468
1468
  };
1469
- //# sourceMappingURL=calendar-DNTVaK6b.js.map
1469
+ //# sourceMappingURL=calendar-DCr65Kt1.js.map