@commercetools/nimbus 3.3.0 → 3.4.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 (648) hide show
  1. package/dist/chunks/{Button-FcraQeen.esm.js → Button-B5g2BgY8.esm.js} +2 -2
  2. package/dist/chunks/{Button-FcraQeen.esm.js.map → Button-B5g2BgY8.esm.js.map} +1 -1
  3. package/dist/chunks/{Button-z5JjDtpy.cjs → Button-CZDjIKB1.cjs} +2 -2
  4. package/dist/chunks/{Button-z5JjDtpy.cjs.map → Button-CZDjIKB1.cjs.map} +1 -1
  5. package/dist/chunks/{Calendar-1qYv3Pn9.cjs → Calendar-B-gzTAl8.cjs} +2 -2
  6. package/dist/chunks/{Calendar-1qYv3Pn9.cjs.map → Calendar-B-gzTAl8.cjs.map} +1 -1
  7. package/dist/chunks/{Calendar-oiqHeWzY.esm.js → Calendar-B6F41FfL.esm.js} +2 -2
  8. package/dist/chunks/{Calendar-oiqHeWzY.esm.js.map → Calendar-B6F41FfL.esm.js.map} +1 -1
  9. package/dist/chunks/Collection-CgMG1nwQ.esm.js +53 -0
  10. package/dist/chunks/Collection-CgMG1nwQ.esm.js.map +1 -0
  11. package/dist/chunks/Collection-yMt_pwdK.cjs +2 -0
  12. package/dist/chunks/Collection-yMt_pwdK.cjs.map +1 -0
  13. package/dist/chunks/DateField-CHfV6zH4.cjs +2 -0
  14. package/dist/chunks/{DateField-DI1RhZqo.cjs.map → DateField-CHfV6zH4.cjs.map} +1 -1
  15. package/dist/chunks/{DateField-DUetJOyf.esm.js → DateField-C_r7fpt5.esm.js} +49 -48
  16. package/dist/chunks/{DateField-DUetJOyf.esm.js.map → DateField-C_r7fpt5.esm.js.map} +1 -1
  17. package/dist/chunks/{DatePicker-DRwvjTID.cjs → DatePicker--pX-2Qq-.cjs} +2 -2
  18. package/dist/chunks/{DatePicker-DRwvjTID.cjs.map → DatePicker--pX-2Qq-.cjs.map} +1 -1
  19. package/dist/chunks/{DatePicker-DeVufONT.esm.js → DatePicker-xQCOjOZ5.esm.js} +6 -6
  20. package/dist/chunks/{DatePicker-DeVufONT.esm.js.map → DatePicker-xQCOjOZ5.esm.js.map} +1 -1
  21. package/dist/chunks/{Dialog-tQOfG_On.esm.js → Dialog-Dy3vyR1i.esm.js} +488 -487
  22. package/dist/chunks/{Dialog-tQOfG_On.esm.js.map → Dialog-Dy3vyR1i.esm.js.map} +1 -1
  23. package/dist/chunks/Dialog-UjK50qiN.cjs +6 -0
  24. package/dist/chunks/{Dialog-s5tFTj72.cjs.map → Dialog-UjK50qiN.cjs.map} +1 -1
  25. package/dist/chunks/{Header-Cmmm6XZs.cjs → Header-Bp89-vFq.cjs} +2 -2
  26. package/dist/chunks/{Header-Cmmm6XZs.cjs.map → Header-Bp89-vFq.cjs.map} +1 -1
  27. package/dist/chunks/{Header-CdFIlJp5.esm.js → Header-CwBpRO8i.esm.js} +2 -2
  28. package/dist/chunks/{Header-CdFIlJp5.esm.js.map → Header-CwBpRO8i.esm.js.map} +1 -1
  29. package/dist/chunks/Link-BmoXcCA3.cjs +2 -0
  30. package/dist/chunks/Link-BmoXcCA3.cjs.map +1 -0
  31. package/dist/chunks/Link-D_CNmmCC.esm.js +41 -0
  32. package/dist/chunks/Link-D_CNmmCC.esm.js.map +1 -0
  33. package/dist/chunks/{ListBox-DlI6zwM7.esm.js → ListBox-B8JwiURT.esm.js} +62 -61
  34. package/dist/chunks/{ListBox-DlI6zwM7.esm.js.map → ListBox-B8JwiURT.esm.js.map} +1 -1
  35. package/dist/chunks/ListBox-Ccgvv13w.cjs +2 -0
  36. package/dist/chunks/{ListBox-CXgfDQSn.cjs.map → ListBox-Ccgvv13w.cjs.map} +1 -1
  37. package/dist/chunks/{Modal-BG58sEN8.esm.js → Modal-B0a1NTkk.esm.js} +3 -3
  38. package/dist/chunks/{Modal-BG58sEN8.esm.js.map → Modal-B0a1NTkk.esm.js.map} +1 -1
  39. package/dist/chunks/{Modal-B5d_4wBp.cjs → Modal-BhGqV2ga.cjs} +2 -2
  40. package/dist/chunks/{Modal-B5d_4wBp.cjs.map → Modal-BhGqV2ga.cjs.map} +1 -1
  41. package/dist/chunks/{ProgressBar-BleovkZ3.esm.js → ProgressBar-6_KRPPYN.esm.js} +2 -2
  42. package/dist/chunks/{ProgressBar-BleovkZ3.esm.js.map → ProgressBar-6_KRPPYN.esm.js.map} +1 -1
  43. package/dist/chunks/{ProgressBar-DAbyWfVX.cjs → ProgressBar-nd1ahEJC.cjs} +2 -2
  44. package/dist/chunks/{ProgressBar-DAbyWfVX.cjs.map → ProgressBar-nd1ahEJC.cjs.map} +1 -1
  45. package/dist/chunks/{accordion-BYfM5qEG.cjs → accordion-BJQKQHIG.cjs} +2 -2
  46. package/dist/chunks/{accordion-BYfM5qEG.cjs.map → accordion-BJQKQHIG.cjs.map} +1 -1
  47. package/dist/chunks/{accordion-BqlBCwmN.esm.js → accordion-DPnhySdl.esm.js} +2 -2
  48. package/dist/chunks/{accordion-BqlBCwmN.esm.js.map → accordion-DPnhySdl.esm.js.map} +1 -1
  49. package/dist/chunks/{alert-C4J2fv__.esm.js → alert-Coz95VgD.esm.js} +2 -2
  50. package/dist/chunks/{alert-C4J2fv__.esm.js.map → alert-Coz95VgD.esm.js.map} +1 -1
  51. package/dist/chunks/{alert-BeQzAjMf.cjs → alert-GP75E0QV.cjs} +2 -2
  52. package/dist/chunks/{alert-BeQzAjMf.cjs.map → alert-GP75E0QV.cjs.map} +1 -1
  53. package/dist/chunks/breadcrumbs-1MAxlCTS.esm.js +322 -0
  54. package/dist/chunks/breadcrumbs-1MAxlCTS.esm.js.map +1 -0
  55. package/dist/chunks/breadcrumbs-TP5PrTuN.cjs +2 -0
  56. package/dist/chunks/breadcrumbs-TP5PrTuN.cjs.map +1 -0
  57. package/dist/chunks/{button-Dc_J_PNN.cjs → button-D6f5OX0h.cjs} +2 -2
  58. package/dist/chunks/{button-Dc_J_PNN.cjs.map → button-D6f5OX0h.cjs.map} +1 -1
  59. package/dist/chunks/{button-BhvlZrT2.esm.js → button-DyM-iqBq.esm.js} +3 -3
  60. package/dist/chunks/{button-BhvlZrT2.esm.js.map → button-DyM-iqBq.esm.js.map} +1 -1
  61. package/dist/chunks/{calendar-DS0rNrhj.cjs → calendar-YtVTt0Tm.cjs} +2 -2
  62. package/dist/chunks/{calendar-DS0rNrhj.cjs.map → calendar-YtVTt0Tm.cjs.map} +1 -1
  63. package/dist/chunks/{calendar-C5GZoGge.esm.js → calendar-bydCjK4Q.esm.js} +5 -5
  64. package/dist/chunks/{calendar-C5GZoGge.esm.js.map → calendar-bydCjK4Q.esm.js.map} +1 -1
  65. package/dist/chunks/{chat-message-DW8IO5YJ.cjs → chat-message-BcuYfXqe.cjs} +2 -2
  66. package/dist/chunks/{chat-message-DW8IO5YJ.cjs.map → chat-message-BcuYfXqe.cjs.map} +1 -1
  67. package/dist/chunks/{chat-message-CDLvkgaw.esm.js → chat-message-D9947sio.esm.js} +2 -2
  68. package/dist/chunks/{chat-message-CDLvkgaw.esm.js.map → chat-message-D9947sio.esm.js.map} +1 -1
  69. package/dist/chunks/chat-message-list-BEQEQzhV.cjs +2 -0
  70. package/dist/chunks/chat-message-list-BEQEQzhV.cjs.map +1 -0
  71. package/dist/chunks/{chat-message-list-BhWZEg4l.esm.js → chat-message-list-D_4ZLopT.esm.js} +10 -10
  72. package/dist/chunks/chat-message-list-D_4ZLopT.esm.js.map +1 -0
  73. package/dist/chunks/{checkbox-CZCLSrFV.cjs → checkbox-DCVW3K9i.cjs} +2 -2
  74. package/dist/chunks/{checkbox-CZCLSrFV.cjs.map → checkbox-DCVW3K9i.cjs.map} +1 -1
  75. package/dist/chunks/{checkbox-Bto3lCdU.esm.js → checkbox-dSuozQvl.esm.js} +4 -4
  76. package/dist/chunks/{checkbox-Bto3lCdU.esm.js.map → checkbox-dSuozQvl.esm.js.map} +1 -1
  77. package/dist/chunks/{collapsible-motion-C5-B_qO-.cjs → collapsible-motion-BW3mF74f.cjs} +2 -2
  78. package/dist/chunks/{collapsible-motion-C5-B_qO-.cjs.map → collapsible-motion-BW3mF74f.cjs.map} +1 -1
  79. package/dist/chunks/{collapsible-motion-5Y-srpM4.esm.js → collapsible-motion-CKrXIpgY.esm.js} +3 -3
  80. package/dist/chunks/{collapsible-motion-5Y-srpM4.esm.js.map → collapsible-motion-CKrXIpgY.esm.js.map} +1 -1
  81. package/dist/chunks/{combobox-ot7fVTI7.cjs → combobox-3_YvuwlN.cjs} +2 -2
  82. package/dist/chunks/{combobox-ot7fVTI7.cjs.map → combobox-3_YvuwlN.cjs.map} +1 -1
  83. package/dist/chunks/{combobox-BW_VrIHV.esm.js → combobox-C9gMnokj.esm.js} +11 -11
  84. package/dist/chunks/{combobox-BW_VrIHV.esm.js.map → combobox-C9gMnokj.esm.js.map} +1 -1
  85. package/dist/chunks/{components-BaZ6iHgw.esm.js → components-DJj34Iqi.esm.js} +3 -3
  86. package/dist/chunks/{components-BaZ6iHgw.esm.js.map → components-DJj34Iqi.esm.js.map} +1 -1
  87. package/dist/chunks/{components-DHYEVZM_.cjs → components-tMYnGsnG.cjs} +2 -2
  88. package/dist/chunks/{components-DHYEVZM_.cjs.map → components-tMYnGsnG.cjs.map} +1 -1
  89. package/dist/chunks/{confirmation-dialog-JqWYM_7U.cjs → confirmation-dialog-DGV0mgM8.cjs} +2 -2
  90. package/dist/chunks/{confirmation-dialog-JqWYM_7U.cjs.map → confirmation-dialog-DGV0mgM8.cjs.map} +1 -1
  91. package/dist/chunks/{confirmation-dialog-CHUQLqNJ.esm.js → confirmation-dialog-EiNUlhQA.esm.js} +4 -4
  92. package/dist/chunks/{confirmation-dialog-CHUQLqNJ.esm.js.map → confirmation-dialog-EiNUlhQA.esm.js.map} +1 -1
  93. package/dist/chunks/{data-table-LoaR2VL5.esm.js → data-table-BjU1lBAt.esm.js} +715 -714
  94. package/dist/chunks/{data-table-LoaR2VL5.esm.js.map → data-table-BjU1lBAt.esm.js.map} +1 -1
  95. package/dist/chunks/data-table-DnlEkUhO.cjs +2 -0
  96. package/dist/chunks/{data-table-CHpJecej.cjs.map → data-table-DnlEkUhO.cjs.map} +1 -1
  97. package/dist/chunks/{date-input-BfCEzDBX.esm.js → date-input-BIMZk2u6.esm.js} +4 -4
  98. package/dist/chunks/{date-input-BfCEzDBX.esm.js.map → date-input-BIMZk2u6.esm.js.map} +1 -1
  99. package/dist/chunks/{date-input-B5yBTSm8.cjs → date-input-DbikA3Az.cjs} +2 -2
  100. package/dist/chunks/{date-input-B5yBTSm8.cjs.map → date-input-DbikA3Az.cjs.map} +1 -1
  101. package/dist/chunks/{date-picker-CcmAJYux.esm.js → date-picker--voC39id.esm.js} +11 -11
  102. package/dist/chunks/{date-picker-CcmAJYux.esm.js.map → date-picker--voC39id.esm.js.map} +1 -1
  103. package/dist/chunks/{date-picker-BYUOjbCN.cjs → date-picker-Dhb3cRFN.cjs} +2 -2
  104. package/dist/chunks/{date-picker-BYUOjbCN.cjs.map → date-picker-Dhb3cRFN.cjs.map} +1 -1
  105. package/dist/chunks/{date-range-picker-CD6CmAlq.esm.js → date-range-picker-B02yjYC_.esm.js} +11 -11
  106. package/dist/chunks/{date-range-picker-CD6CmAlq.esm.js.map → date-range-picker-B02yjYC_.esm.js.map} +1 -1
  107. package/dist/chunks/{date-range-picker-BladYzh3.cjs → date-range-picker-oFS0SF97.cjs} +2 -2
  108. package/dist/chunks/{date-range-picker-BladYzh3.cjs.map → date-range-picker-oFS0SF97.cjs.map} +1 -1
  109. package/dist/chunks/{default-page-B5bFn9gJ.cjs → default-page-BW66R099.cjs} +2 -2
  110. package/dist/chunks/{default-page-B5bFn9gJ.cjs.map → default-page-BW66R099.cjs.map} +1 -1
  111. package/dist/chunks/{default-page-De3ZyX7n.esm.js → default-page-oB4oiflC.esm.js} +2 -2
  112. package/dist/chunks/{default-page-De3ZyX7n.esm.js.map → default-page-oB4oiflC.esm.js.map} +1 -1
  113. package/dist/chunks/{dialog-Y4HKBxUr.cjs → dialog-CwCG4NKh.cjs} +2 -2
  114. package/dist/chunks/{dialog-Y4HKBxUr.cjs.map → dialog-CwCG4NKh.cjs.map} +1 -1
  115. package/dist/chunks/{dialog-XeM4qOa_.esm.js → dialog-lxgomHvu.esm.js} +6 -6
  116. package/dist/chunks/{dialog-XeM4qOa_.esm.js.map → dialog-lxgomHvu.esm.js.map} +1 -1
  117. package/dist/chunks/draggable-list-CAGO6acz.cjs +2 -0
  118. package/dist/chunks/{draggable-list-CKKl6A_a.cjs.map → draggable-list-CAGO6acz.cjs.map} +1 -1
  119. package/dist/chunks/{draggable-list-C5aulsay.esm.js → draggable-list-DKGfS4ob.esm.js} +243 -243
  120. package/dist/chunks/{draggable-list-C5aulsay.esm.js.map → draggable-list-DKGfS4ob.esm.js.map} +1 -1
  121. package/dist/chunks/{drawer-BKPP4f5K.cjs → drawer-Cj7eGaLQ.cjs} +2 -2
  122. package/dist/chunks/{drawer-BKPP4f5K.cjs.map → drawer-Cj7eGaLQ.cjs.map} +1 -1
  123. package/dist/chunks/{drawer-I6J9g1l4.esm.js → drawer-Dsnrsu2k.esm.js} +7 -7
  124. package/dist/chunks/{drawer-I6J9g1l4.esm.js.map → drawer-Dsnrsu2k.esm.js.map} +1 -1
  125. package/dist/chunks/{drop-zone-vRl7IFzc.esm.js → drop-zone-BKJQrFGG.esm.js} +6 -6
  126. package/dist/chunks/{drop-zone-vRl7IFzc.esm.js.map → drop-zone-BKJQrFGG.esm.js.map} +1 -1
  127. package/dist/chunks/{drop-zone-Dr4VzY5B.cjs → drop-zone-N7k0XExn.cjs} +2 -2
  128. package/dist/chunks/{drop-zone-Dr4VzY5B.cjs.map → drop-zone-N7k0XExn.cjs.map} +1 -1
  129. package/dist/chunks/{extract-style-props-BPnHKmWR.esm.js → extract-style-props-D519tVOc.esm.js} +2 -2
  130. package/dist/chunks/{extract-style-props-BPnHKmWR.esm.js.map → extract-style-props-D519tVOc.esm.js.map} +1 -1
  131. package/dist/chunks/{extract-style-props-CA1O0IF2.cjs → extract-style-props-WNdpT-ME.cjs} +2 -2
  132. package/dist/chunks/{extract-style-props-CA1O0IF2.cjs.map → extract-style-props-WNdpT-ME.cjs.map} +1 -1
  133. package/dist/chunks/{form-action-bar-C8wkuLiF.esm.js → form-action-bar-CfJjVyeS.esm.js} +3 -3
  134. package/dist/chunks/{form-action-bar-C8wkuLiF.esm.js.map → form-action-bar-CfJjVyeS.esm.js.map} +1 -1
  135. package/dist/chunks/{form-action-bar-C_pQubyB.cjs → form-action-bar-DhmjijBw.cjs} +2 -2
  136. package/dist/chunks/{form-action-bar-C_pQubyB.cjs.map → form-action-bar-DhmjijBw.cjs.map} +1 -1
  137. package/dist/chunks/{form-dialog-D14UuUnS.cjs → form-dialog-CLrL718p.cjs} +2 -2
  138. package/dist/chunks/{form-dialog-D14UuUnS.cjs.map → form-dialog-CLrL718p.cjs.map} +1 -1
  139. package/dist/chunks/{form-dialog-BaD03TZo.esm.js → form-dialog-D86jNeIZ.esm.js} +4 -4
  140. package/dist/chunks/{form-dialog-BaD03TZo.esm.js.map → form-dialog-D86jNeIZ.esm.js.map} +1 -1
  141. package/dist/chunks/{form-field-DRhB7O5k.esm.js → form-field-B5H98u7s.esm.js} +3 -3
  142. package/dist/chunks/{form-field-DRhB7O5k.esm.js.map → form-field-B5H98u7s.esm.js.map} +1 -1
  143. package/dist/chunks/{form-field-CrSE8x3q.cjs → form-field-CaTJgt57.cjs} +2 -2
  144. package/dist/chunks/{form-field-CrSE8x3q.cjs.map → form-field-CaTJgt57.cjs.map} +1 -1
  145. package/dist/chunks/{icon-button-CSlFdpjB.cjs → icon-button-BG5cQycc.cjs} +2 -2
  146. package/dist/chunks/{icon-button-CSlFdpjB.cjs.map → icon-button-BG5cQycc.cjs.map} +1 -1
  147. package/dist/chunks/{icon-button-6dtfz6Yf.esm.js → icon-button-CyhrlrIv.esm.js} +2 -2
  148. package/dist/chunks/{icon-button-6dtfz6Yf.esm.js.map → icon-button-CyhrlrIv.esm.js.map} +1 -1
  149. package/dist/chunks/{icon-toggle-button-DJbu9dBg.cjs → icon-toggle-button-CH90F1eK.cjs} +2 -2
  150. package/dist/chunks/{icon-toggle-button-DJbu9dBg.cjs.map → icon-toggle-button-CH90F1eK.cjs.map} +1 -1
  151. package/dist/chunks/{icon-toggle-button-Cesx6J1H.esm.js → icon-toggle-button-DzYb5JyL.esm.js} +2 -2
  152. package/dist/chunks/{icon-toggle-button-Cesx6J1H.esm.js.map → icon-toggle-button-DzYb5JyL.esm.js.map} +1 -1
  153. package/dist/chunks/item-DW8Z2EjT.cjs +2 -0
  154. package/dist/chunks/item-DW8Z2EjT.cjs.map +1 -0
  155. package/dist/chunks/item-YJDIjMGY.esm.js +132 -0
  156. package/dist/chunks/item-YJDIjMGY.esm.js.map +1 -0
  157. package/dist/chunks/item-group-BA2CvxjT.cjs +2 -0
  158. package/dist/chunks/item-group-BA2CvxjT.cjs.map +1 -0
  159. package/dist/chunks/item-group-Bu78JFep.esm.js +35 -0
  160. package/dist/chunks/item-group-Bu78JFep.esm.js.map +1 -0
  161. package/dist/chunks/{list-DpS1s3Ww.cjs → list-ClGk4Q7n.cjs} +2 -2
  162. package/dist/chunks/{list-DpS1s3Ww.cjs.map → list-ClGk4Q7n.cjs.map} +1 -1
  163. package/dist/chunks/{list-CuA_gr8m.esm.js → list-CvVw2FgQ.esm.js} +2 -2
  164. package/dist/chunks/{list-CuA_gr8m.esm.js.map → list-CvVw2FgQ.esm.js.map} +1 -1
  165. package/dist/chunks/{loading-spinner-CTPm1sYC.esm.js → loading-spinner-DZoySVDH.esm.js} +2 -2
  166. package/dist/chunks/{loading-spinner-CTPm1sYC.esm.js.map → loading-spinner-DZoySVDH.esm.js.map} +1 -1
  167. package/dist/chunks/{loading-spinner-DAZGwhe6.cjs → loading-spinner-p_cYuGNg.cjs} +2 -2
  168. package/dist/chunks/{loading-spinner-DAZGwhe6.cjs.map → loading-spinner-p_cYuGNg.cjs.map} +1 -1
  169. package/dist/chunks/{localized-field-tpT6376o.cjs → localized-field-CQ8GkZKo.cjs} +2 -2
  170. package/dist/chunks/{localized-field-tpT6376o.cjs.map → localized-field-CQ8GkZKo.cjs.map} +1 -1
  171. package/dist/chunks/{localized-field-rPZczTNY.esm.js → localized-field-edbtofV6.esm.js} +10 -10
  172. package/dist/chunks/{localized-field-rPZczTNY.esm.js.map → localized-field-edbtofV6.esm.js.map} +1 -1
  173. package/dist/chunks/{markdown-CxE72YNo.esm.js → markdown-C1aT-ZDT.esm.js} +34 -34
  174. package/dist/chunks/{markdown-CxE72YNo.esm.js.map → markdown-C1aT-ZDT.esm.js.map} +1 -1
  175. package/dist/chunks/{markdown-Dvf4iLu2.cjs → markdown-RayGWo-B.cjs} +2 -2
  176. package/dist/chunks/{markdown-Dvf4iLu2.cjs.map → markdown-RayGWo-B.cjs.map} +1 -1
  177. package/dist/chunks/{menu-tAepHyH2.esm.js → menu-C2ZLfnJM.esm.js} +5 -5
  178. package/dist/chunks/{menu-tAepHyH2.esm.js.map → menu-C2ZLfnJM.esm.js.map} +1 -1
  179. package/dist/chunks/{menu-WFLbN6in.cjs → menu-sokBButj.cjs} +2 -2
  180. package/dist/chunks/{menu-WFLbN6in.cjs.map → menu-sokBButj.cjs.map} +1 -1
  181. package/dist/chunks/{modal-page-BRDY8JIO.cjs → modal-page-BGs7DHvn.cjs} +2 -2
  182. package/dist/chunks/{modal-page-BRDY8JIO.cjs.map → modal-page-BGs7DHvn.cjs.map} +1 -1
  183. package/dist/chunks/{modal-page-CH6Dlz-D.esm.js → modal-page-BZGoeMPR.esm.js} +3 -3
  184. package/dist/chunks/{modal-page-CH6Dlz-D.esm.js.map → modal-page-BZGoeMPR.esm.js.map} +1 -1
  185. package/dist/chunks/{money-input-D-h6tlpV.cjs → money-input-3_CQxVa3.cjs} +2 -2
  186. package/dist/chunks/{money-input-D-h6tlpV.cjs.map → money-input-3_CQxVa3.cjs.map} +1 -1
  187. package/dist/chunks/{money-input-field-Dy6VCxeQ.esm.js → money-input-field-DMZMbP9B.esm.js} +3 -3
  188. package/dist/chunks/{money-input-field-Dy6VCxeQ.esm.js.map → money-input-field-DMZMbP9B.esm.js.map} +1 -1
  189. package/dist/chunks/{money-input-field-DeajMPme.cjs → money-input-field-Deavtpts.cjs} +2 -2
  190. package/dist/chunks/{money-input-field-DeajMPme.cjs.map → money-input-field-Deavtpts.cjs.map} +1 -1
  191. package/dist/chunks/{money-input-CKNrFSKT.esm.js → money-input-hdeI43mM.esm.js} +5 -5
  192. package/dist/chunks/{money-input-CKNrFSKT.esm.js.map → money-input-hdeI43mM.esm.js.map} +1 -1
  193. package/dist/chunks/{multiline-text-input-BZU8t53J.esm.js → multiline-text-input-BlQChE3E.esm.js} +4 -4
  194. package/dist/chunks/{multiline-text-input-BZU8t53J.esm.js.map → multiline-text-input-BlQChE3E.esm.js.map} +1 -1
  195. package/dist/chunks/{multiline-text-input-ipy-1vwz.cjs → multiline-text-input-BnbYMYjn.cjs} +2 -2
  196. package/dist/chunks/{multiline-text-input-ipy-1vwz.cjs.map → multiline-text-input-BnbYMYjn.cjs.map} +1 -1
  197. package/dist/chunks/{multiline-text-input-field-DDzHc9t0.cjs → multiline-text-input-field-Dmrep7c1.cjs} +2 -2
  198. package/dist/chunks/{multiline-text-input-field-DDzHc9t0.cjs.map → multiline-text-input-field-Dmrep7c1.cjs.map} +1 -1
  199. package/dist/chunks/{multiline-text-input-field-Dj3yuO2D.esm.js → multiline-text-input-field-DtKT6KA3.esm.js} +3 -3
  200. package/dist/chunks/{multiline-text-input-field-Dj3yuO2D.esm.js.map → multiline-text-input-field-DtKT6KA3.esm.js.map} +1 -1
  201. package/dist/chunks/{nimbus-provider-DcYjdMwh.cjs → nimbus-provider-DyiUPBgB.cjs} +2 -2
  202. package/dist/chunks/{nimbus-provider-DcYjdMwh.cjs.map → nimbus-provider-DyiUPBgB.cjs.map} +1 -1
  203. package/dist/chunks/{nimbus-provider-qYnfenns.esm.js → nimbus-provider-TxuMyLri.esm.js} +3 -3
  204. package/dist/chunks/{nimbus-provider-qYnfenns.esm.js.map → nimbus-provider-TxuMyLri.esm.js.map} +1 -1
  205. package/dist/chunks/number-input-DTS_KQVk.cjs +2 -0
  206. package/dist/chunks/{number-input-DU3522fK.cjs.map → number-input-DTS_KQVk.cjs.map} +1 -1
  207. package/dist/chunks/{number-input-D5jL0iW-.esm.js → number-input-Gpg_2UbB.esm.js} +23 -22
  208. package/dist/chunks/{number-input-D5jL0iW-.esm.js.map → number-input-Gpg_2UbB.esm.js.map} +1 -1
  209. package/dist/chunks/{number-input-field-C5DhaRwc.cjs → number-input-field-C0XJ94dJ.cjs} +2 -2
  210. package/dist/chunks/{number-input-field-C5DhaRwc.cjs.map → number-input-field-C0XJ94dJ.cjs.map} +1 -1
  211. package/dist/chunks/{number-input-field-BKAb5VQ2.esm.js → number-input-field-Da0Hux_Q.esm.js} +3 -3
  212. package/dist/chunks/{number-input-field-BKAb5VQ2.esm.js.map → number-input-field-Da0Hux_Q.esm.js.map} +1 -1
  213. package/dist/chunks/{pagination-ZSf9r9bz.esm.js → pagination-FtHeZ5vD.esm.js} +4 -4
  214. package/dist/chunks/{pagination-ZSf9r9bz.esm.js.map → pagination-FtHeZ5vD.esm.js.map} +1 -1
  215. package/dist/chunks/{pagination-CmXQNDbp.cjs → pagination-Teyq3Fc-.cjs} +2 -2
  216. package/dist/chunks/{pagination-CmXQNDbp.cjs.map → pagination-Teyq3Fc-.cjs.map} +1 -1
  217. package/dist/chunks/{password-input-DMJGpUt6.cjs → password-input-B6xQTVt3.cjs} +2 -2
  218. package/dist/chunks/{password-input-DMJGpUt6.cjs.map → password-input-B6xQTVt3.cjs.map} +1 -1
  219. package/dist/chunks/{password-input-B2OHc-gn.esm.js → password-input-ZHMvWFue.esm.js} +3 -3
  220. package/dist/chunks/{password-input-B2OHc-gn.esm.js.map → password-input-ZHMvWFue.esm.js.map} +1 -1
  221. package/dist/chunks/{password-input-field-BFj95JMU.esm.js → password-input-field-B6I17gLd.esm.js} +3 -3
  222. package/dist/chunks/{password-input-field-BFj95JMU.esm.js.map → password-input-field-B6I17gLd.esm.js.map} +1 -1
  223. package/dist/chunks/{password-input-field-Cf-zBu2O.cjs → password-input-field-Bh-LmgfF.cjs} +2 -2
  224. package/dist/chunks/{password-input-field-Cf-zBu2O.cjs.map → password-input-field-Bh-LmgfF.cjs.map} +1 -1
  225. package/dist/chunks/{popover-eUvkAe8L.cjs → popover-B4aHN9qY.cjs} +2 -2
  226. package/dist/chunks/{popover-eUvkAe8L.cjs.map → popover-B4aHN9qY.cjs.map} +1 -1
  227. package/dist/chunks/{popover-CwdOyGHr.esm.js → popover-biPpujsV.esm.js} +2 -2
  228. package/dist/chunks/{popover-CwdOyGHr.esm.js.map → popover-biPpujsV.esm.js.map} +1 -1
  229. package/dist/chunks/{progress-bar-DhZVJqY_.cjs → progress-bar-D_PAUwhj.cjs} +2 -2
  230. package/dist/chunks/{progress-bar-DhZVJqY_.cjs.map → progress-bar-D_PAUwhj.cjs.map} +1 -1
  231. package/dist/chunks/{progress-bar-Be7o97DL.esm.js → progress-bar-PjyuiZvS.esm.js} +3 -3
  232. package/dist/chunks/{progress-bar-Be7o97DL.esm.js.map → progress-bar-PjyuiZvS.esm.js.map} +1 -1
  233. package/dist/chunks/{radio-input-Cj03oX72.esm.js → radio-input-CZNQh41n.esm.js} +10 -9
  234. package/dist/chunks/{radio-input-Cj03oX72.esm.js.map → radio-input-CZNQh41n.esm.js.map} +1 -1
  235. package/dist/chunks/radio-input-FRyDwoTk.cjs +2 -0
  236. package/dist/chunks/{radio-input-_eEv0K2W.cjs.map → radio-input-FRyDwoTk.cjs.map} +1 -1
  237. package/dist/chunks/{range-calendar-B0U51wMd.cjs → range-calendar-D1yls6jq.cjs} +2 -2
  238. package/dist/chunks/{range-calendar-B0U51wMd.cjs.map → range-calendar-D1yls6jq.cjs.map} +1 -1
  239. package/dist/chunks/{range-calendar-DA5hJpYL.esm.js → range-calendar-DhgT-Y8T.esm.js} +6 -6
  240. package/dist/chunks/{range-calendar-DA5hJpYL.esm.js.map → range-calendar-DhgT-Y8T.esm.js.map} +1 -1
  241. package/dist/chunks/range-slider-Ch4kXVc3.cjs +2 -0
  242. package/dist/chunks/range-slider-Ch4kXVc3.cjs.map +1 -0
  243. package/dist/chunks/range-slider-CiNJCiKg.esm.js +600 -0
  244. package/dist/chunks/range-slider-CiNJCiKg.esm.js.map +1 -0
  245. package/dist/chunks/{rich-text-input-PYMjw5DQ.esm.js → rich-text-input-CLwl2b63.esm.js} +8 -8
  246. package/dist/chunks/{rich-text-input-PYMjw5DQ.esm.js.map → rich-text-input-CLwl2b63.esm.js.map} +1 -1
  247. package/dist/chunks/{rich-text-input-C0UU1Uoq.cjs → rich-text-input-D9MMIdJJ.cjs} +3 -3
  248. package/dist/chunks/{rich-text-input-C0UU1Uoq.cjs.map → rich-text-input-D9MMIdJJ.cjs.map} +1 -1
  249. package/dist/chunks/{scoped-search-input-D80PFOdN.esm.js → scoped-search-input-BzTmH7Ms.esm.js} +5 -5
  250. package/dist/chunks/{scoped-search-input-D80PFOdN.esm.js.map → scoped-search-input-BzTmH7Ms.esm.js.map} +1 -1
  251. package/dist/chunks/{scoped-search-input-Kj-JJpvo.cjs → scoped-search-input-C9PJWoSh.cjs} +2 -2
  252. package/dist/chunks/{scoped-search-input-Kj-JJpvo.cjs.map → scoped-search-input-C9PJWoSh.cjs.map} +1 -1
  253. package/dist/chunks/{search-input-yUmma36U.cjs → search-input-Cocic3Im.cjs} +2 -2
  254. package/dist/chunks/{search-input-yUmma36U.cjs.map → search-input-Cocic3Im.cjs.map} +1 -1
  255. package/dist/chunks/{search-input-BMq6pRov.esm.js → search-input-DLixG2wL.esm.js} +6 -6
  256. package/dist/chunks/{search-input-BMq6pRov.esm.js.map → search-input-DLixG2wL.esm.js.map} +1 -1
  257. package/dist/chunks/{select-D39rm0xA.esm.js → select-CZzyQOhP.esm.js} +17 -16
  258. package/dist/chunks/{select-D39rm0xA.esm.js.map → select-CZzyQOhP.esm.js.map} +1 -1
  259. package/dist/chunks/select-g5OICT61.cjs +2 -0
  260. package/dist/chunks/{select-DdeLYdJ3.cjs.map → select-g5OICT61.cjs.map} +1 -1
  261. package/dist/chunks/{separator-CRFMcKYe.cjs → separator-DW1Lj5oz.cjs} +2 -2
  262. package/dist/chunks/{separator-CRFMcKYe.cjs.map → separator-DW1Lj5oz.cjs.map} +1 -1
  263. package/dist/chunks/{separator-AUEVwjXs.esm.js → separator-DYgOOvtr.esm.js} +3 -3
  264. package/dist/chunks/{separator-AUEVwjXs.esm.js.map → separator-DYgOOvtr.esm.js.map} +1 -1
  265. package/dist/chunks/skeleton-C-MXf-Vh.esm.js +16 -0
  266. package/dist/chunks/skeleton-C-MXf-Vh.esm.js.map +1 -0
  267. package/dist/chunks/skeleton-SWjnk1LM.cjs +2 -0
  268. package/dist/chunks/skeleton-SWjnk1LM.cjs.map +1 -0
  269. package/dist/chunks/skeleton-circle-C5RFsv29.esm.js +18 -0
  270. package/dist/chunks/skeleton-circle-C5RFsv29.esm.js.map +1 -0
  271. package/dist/chunks/skeleton-circle-CbqEiVJ8.cjs +2 -0
  272. package/dist/chunks/skeleton-circle-CbqEiVJ8.cjs.map +1 -0
  273. package/dist/chunks/skeleton-text-B-r_Iovw.esm.js +33 -0
  274. package/dist/chunks/skeleton-text-B-r_Iovw.esm.js.map +1 -0
  275. package/dist/chunks/skeleton-text-CEr3QStr.cjs +2 -0
  276. package/dist/chunks/skeleton-text-CEr3QStr.cjs.map +1 -0
  277. package/dist/chunks/slider-CE2eEViT.esm.js +9 -0
  278. package/dist/chunks/slider-CE2eEViT.esm.js.map +1 -0
  279. package/dist/chunks/slider-CxvxZzOB.cjs +2 -0
  280. package/dist/chunks/slider-CxvxZzOB.cjs.map +1 -0
  281. package/dist/chunks/{split-button-DelUgBth.cjs → split-button-Dr_RsxyR.cjs} +2 -2
  282. package/dist/chunks/{split-button-DelUgBth.cjs.map → split-button-Dr_RsxyR.cjs.map} +1 -1
  283. package/dist/chunks/{split-button-C9MIlSe4.esm.js → split-button-lLEz3Ddi.esm.js} +4 -4
  284. package/dist/chunks/{split-button-C9MIlSe4.esm.js.map → split-button-lLEz3Ddi.esm.js.map} +1 -1
  285. package/dist/chunks/{steps-BLrpE2PL.cjs → steps-BvqxvDfJ.cjs} +2 -2
  286. package/dist/chunks/{steps-BLrpE2PL.cjs.map → steps-BvqxvDfJ.cjs.map} +1 -1
  287. package/dist/chunks/{steps-OnZi-T9x.esm.js → steps-DIRtxFO6.esm.js} +2 -2
  288. package/dist/chunks/{steps-OnZi-T9x.esm.js.map → steps-DIRtxFO6.esm.js.map} +1 -1
  289. package/dist/chunks/{switch-D1rdYruG.esm.js → switch-B351GNnT.esm.js} +4 -4
  290. package/dist/chunks/{switch-D1rdYruG.esm.js.map → switch-B351GNnT.esm.js.map} +1 -1
  291. package/dist/chunks/{switch-BPk30JYZ.cjs → switch-BSws2Bn9.cjs} +2 -2
  292. package/dist/chunks/{switch-BPk30JYZ.cjs.map → switch-BSws2Bn9.cjs.map} +1 -1
  293. package/dist/chunks/tab-nav-BMNdumQw.esm.js +66 -0
  294. package/dist/chunks/tab-nav-BMNdumQw.esm.js.map +1 -0
  295. package/dist/chunks/tab-nav-Dy6pg3Cf.cjs +2 -0
  296. package/dist/chunks/tab-nav-Dy6pg3Cf.cjs.map +1 -0
  297. package/dist/chunks/{table-DEKXq5nE.cjs → table-BF5v-4YU.cjs} +2 -2
  298. package/dist/chunks/{table-DEKXq5nE.cjs.map → table-BF5v-4YU.cjs.map} +1 -1
  299. package/dist/chunks/{table-O8T8871k.esm.js → table-OZDDVGWu.esm.js} +2 -2
  300. package/dist/chunks/{table-O8T8871k.esm.js.map → table-OZDDVGWu.esm.js.map} +1 -1
  301. package/dist/chunks/{tabs-IjuTjmW5.esm.js → tabs-C7zLoP1D.esm.js} +101 -100
  302. package/dist/chunks/{tabs-IjuTjmW5.esm.js.map → tabs-C7zLoP1D.esm.js.map} +1 -1
  303. package/dist/chunks/tabs-DLr47HN_.cjs +2 -0
  304. package/dist/chunks/{tabs-BbC8to5L.cjs.map → tabs-DLr47HN_.cjs.map} +1 -1
  305. package/dist/chunks/{tag-group-DJ2Eyzr6.esm.js → tag-group-DKiwZtum.esm.js} +160 -160
  306. package/dist/chunks/{tag-group-DJ2Eyzr6.esm.js.map → tag-group-DKiwZtum.esm.js.map} +1 -1
  307. package/dist/chunks/tag-group-JEE8r8Jl.cjs +2 -0
  308. package/dist/chunks/{tag-group-t9CCZs9w.cjs.map → tag-group-JEE8r8Jl.cjs.map} +1 -1
  309. package/dist/chunks/{text-input-DzHnlufM.esm.js → text-input-4YjslLxr.esm.js} +4 -4
  310. package/dist/chunks/{text-input-DzHnlufM.esm.js.map → text-input-4YjslLxr.esm.js.map} +1 -1
  311. package/dist/chunks/{text-input-Bc2XftOM.cjs → text-input-BttCyWCt.cjs} +2 -2
  312. package/dist/chunks/{text-input-Bc2XftOM.cjs.map → text-input-BttCyWCt.cjs.map} +1 -1
  313. package/dist/chunks/{theme-BR3bc6tH.esm.js → theme-CFqa_6UM.esm.js} +710 -195
  314. package/dist/chunks/theme-CFqa_6UM.esm.js.map +1 -0
  315. package/dist/chunks/theme-DA63MDZQ.cjs +34 -0
  316. package/dist/chunks/theme-DA63MDZQ.cjs.map +1 -0
  317. package/dist/chunks/{time-input--A7teyZm.esm.js → time-input-CJcXuGHH.esm.js} +4 -4
  318. package/dist/chunks/{time-input--A7teyZm.esm.js.map → time-input-CJcXuGHH.esm.js.map} +1 -1
  319. package/dist/chunks/{time-input-CnqA54LG.cjs → time-input-Cv-8dl-n.cjs} +2 -2
  320. package/dist/chunks/{time-input-CnqA54LG.cjs.map → time-input-Cv-8dl-n.cjs.map} +1 -1
  321. package/dist/chunks/{toast.outlet-CiElRAMb.cjs → toast.outlet-BGy4NZoL.cjs} +2 -2
  322. package/dist/chunks/{toast.outlet-CiElRAMb.cjs.map → toast.outlet-BGy4NZoL.cjs.map} +1 -1
  323. package/dist/chunks/{toast.outlet-DfFHdsij.esm.js → toast.outlet-DQ7Z1sG7.esm.js} +4 -4
  324. package/dist/chunks/{toast.outlet-DfFHdsij.esm.js.map → toast.outlet-DQ7Z1sG7.esm.js.map} +1 -1
  325. package/dist/chunks/{toggle-button-szYkDbB4.cjs → toggle-button-B9m2DON6.cjs} +2 -2
  326. package/dist/chunks/{toggle-button-szYkDbB4.cjs.map → toggle-button-B9m2DON6.cjs.map} +1 -1
  327. package/dist/chunks/{toggle-button-DnjpkkaG.esm.js → toggle-button-D3UZNm_4.esm.js} +3 -3
  328. package/dist/chunks/{toggle-button-DnjpkkaG.esm.js.map → toggle-button-D3UZNm_4.esm.js.map} +1 -1
  329. package/dist/chunks/{toolbar-BTl4PMN6.esm.js → toolbar-BUb2xcXt.esm.js} +3 -3
  330. package/dist/chunks/{toolbar-BTl4PMN6.esm.js.map → toolbar-BUb2xcXt.esm.js.map} +1 -1
  331. package/dist/chunks/{toolbar-CDuqJw86.cjs → toolbar-CxYGox-m.cjs} +2 -2
  332. package/dist/chunks/{toolbar-CDuqJw86.cjs.map → toolbar-CxYGox-m.cjs.map} +1 -1
  333. package/dist/chunks/{use-responsive-splitter-sizes-CO-POrVJ.esm.js → use-responsive-splitter-sizes-BgEYraHy.esm.js} +2 -2
  334. package/dist/chunks/{use-responsive-splitter-sizes-CO-POrVJ.esm.js.map → use-responsive-splitter-sizes-BgEYraHy.esm.js.map} +1 -1
  335. package/dist/chunks/{use-responsive-splitter-sizes-DApY1vey.cjs → use-responsive-splitter-sizes-CzfdjEjf.cjs} +2 -2
  336. package/dist/chunks/{use-responsive-splitter-sizes-DApY1vey.cjs.map → use-responsive-splitter-sizes-CzfdjEjf.cjs.map} +1 -1
  337. package/dist/chunks/{use-tree-wsHR3c7J.esm.js → use-tree-BFKFaiiu.esm.js} +147 -147
  338. package/dist/chunks/{use-tree-wsHR3c7J.esm.js.map → use-tree-BFKFaiiu.esm.js.map} +1 -1
  339. package/dist/chunks/use-tree-NiiqPu0M.cjs +2 -0
  340. package/dist/chunks/{use-tree-CrwSJhB8.cjs.map → use-tree-NiiqPu0M.cjs.map} +1 -1
  341. package/dist/chunks/{useCollection-CGf4ZguH.esm.js → useCollection-BCbt2V3u.esm.js} +258 -307
  342. package/dist/chunks/useCollection-BCbt2V3u.esm.js.map +1 -0
  343. package/dist/chunks/useCollection-BjHtDvt-.cjs +2 -0
  344. package/dist/chunks/useCollection-BjHtDvt-.cjs.map +1 -0
  345. package/dist/chunks/{useDragAndDrop-CoNOA7E9.cjs → useDragAndDrop-B8UfdCMX.cjs} +2 -2
  346. package/dist/chunks/{useDragAndDrop-CoNOA7E9.cjs.map → useDragAndDrop-B8UfdCMX.cjs.map} +1 -1
  347. package/dist/chunks/{useDragAndDrop-D_i3CWeg.esm.js → useDragAndDrop-BAyAtCYg.esm.js} +2 -2
  348. package/dist/chunks/{useDragAndDrop-D_i3CWeg.esm.js.map → useDragAndDrop-BAyAtCYg.esm.js.map} +1 -1
  349. package/dist/chunks/useFormReset-C6H3spHM.cjs +2 -0
  350. package/dist/chunks/useFormReset-C6H3spHM.cjs.map +1 -0
  351. package/dist/chunks/useFormReset-CAZratNG.esm.js +18 -0
  352. package/dist/chunks/useFormReset-CAZratNG.esm.js.map +1 -0
  353. package/dist/chunks/useFormValidationState-CMK07tQk.cjs +2 -0
  354. package/dist/chunks/useFormValidationState-CMK07tQk.cjs.map +1 -0
  355. package/dist/chunks/{useFormValidationState-rjMRhdnd.esm.js → useFormValidationState-hfa069v5.esm.js} +40 -53
  356. package/dist/chunks/useFormValidationState-hfa069v5.esm.js.map +1 -0
  357. package/dist/chunks/{useGridListItem-DVNb2d76.esm.js → useGridListItem-C6LMK1Mv.esm.js} +3 -3
  358. package/dist/chunks/{useGridListItem-DVNb2d76.esm.js.map → useGridListItem-C6LMK1Mv.esm.js.map} +1 -1
  359. package/dist/chunks/{useGridListItem-d-i-pqAt.cjs → useGridListItem-CmLWoZGe.cjs} +2 -2
  360. package/dist/chunks/{useGridListItem-d-i-pqAt.cjs.map → useGridListItem-CmLWoZGe.cjs.map} +1 -1
  361. package/dist/chunks/{useListState-6F4go-kc.cjs → useListState-BBQE4IFG.cjs} +2 -2
  362. package/dist/chunks/{useListState-6F4go-kc.cjs.map → useListState-BBQE4IFG.cjs.map} +1 -1
  363. package/dist/chunks/{useListState-BiT-W669.esm.js → useListState-TSrPXjzi.esm.js} +2 -2
  364. package/dist/chunks/{useListState-BiT-W669.esm.js.map → useListState-TSrPXjzi.esm.js.map} +1 -1
  365. package/dist/chunks/useNumberFormatter-Drsf_lwe.cjs +2 -0
  366. package/dist/chunks/useNumberFormatter-Drsf_lwe.cjs.map +1 -0
  367. package/dist/chunks/useNumberFormatter-L64UBjdR.esm.js +12 -0
  368. package/dist/chunks/useNumberFormatter-L64UBjdR.esm.js.map +1 -0
  369. package/dist/chunks/useProgressBar-C-UZQWBC.cjs +2 -0
  370. package/dist/chunks/useProgressBar-C-UZQWBC.cjs.map +1 -0
  371. package/dist/chunks/useProgressBar-DVPx9_dg.esm.js +33 -0
  372. package/dist/chunks/useProgressBar-DVPx9_dg.esm.js.map +1 -0
  373. package/dist/chunks/{useSelectableList-DDytBtRR.cjs → useSelectableList-Bgv2nxTX.cjs} +2 -2
  374. package/dist/chunks/{useSelectableList-DDytBtRR.cjs.map → useSelectableList-Bgv2nxTX.cjs.map} +1 -1
  375. package/dist/chunks/{useSelectableList-umEtkxYN.esm.js → useSelectableList-gohzq7dg.esm.js} +2 -2
  376. package/dist/chunks/{useSelectableList-umEtkxYN.esm.js.map → useSelectableList-gohzq7dg.esm.js.map} +1 -1
  377. package/dist/chunks/useTextField-ABtLd27L.cjs +2 -0
  378. package/dist/chunks/{useTextField-CzF6gZ6-.cjs.map → useTextField-ABtLd27L.cjs.map} +1 -1
  379. package/dist/chunks/{useTextField-CdCrgSsV.esm.js → useTextField-FAMJ18ah.esm.js} +5 -4
  380. package/dist/chunks/{useTextField-CdCrgSsV.esm.js.map → useTextField-FAMJ18ah.esm.js.map} +1 -1
  381. package/dist/chunks/{useToggle-oUUHIEEp.esm.js → useToggle-B9oH7p52.esm.js} +7 -6
  382. package/dist/chunks/{useToggle-oUUHIEEp.esm.js.map → useToggle-B9oH7p52.esm.js.map} +1 -1
  383. package/dist/chunks/useToggle-WawJgKE5.cjs +2 -0
  384. package/dist/chunks/{useToggle-DOG2OJN_.cjs.map → useToggle-WawJgKE5.cjs.map} +1 -1
  385. package/dist/chunks/{useTreeState-Bi7rvUKr.cjs → useTreeState-C5z4FPeF.cjs} +2 -2
  386. package/dist/chunks/{useTreeState-Bi7rvUKr.cjs.map → useTreeState-C5z4FPeF.cjs.map} +1 -1
  387. package/dist/chunks/{useTreeState-BlJtuLmC.esm.js → useTreeState-DuW0JMo8.esm.js} +2 -2
  388. package/dist/chunks/{useTreeState-BlJtuLmC.esm.js.map → useTreeState-DuW0JMo8.esm.js.map} +1 -1
  389. package/dist/components/accordion.cjs +1 -1
  390. package/dist/components/accordion.es.js +2 -2
  391. package/dist/components/actions.cjs +1 -1
  392. package/dist/components/actions.es.js +1 -1
  393. package/dist/components/alert.cjs +1 -1
  394. package/dist/components/alert.es.js +1 -1
  395. package/dist/components/breadcrumbs/breadcrumbs.d.ts +71 -0
  396. package/dist/components/breadcrumbs/breadcrumbs.recipe.d.ts +31 -0
  397. package/dist/components/breadcrumbs/breadcrumbs.slots.d.ts +27 -0
  398. package/dist/components/breadcrumbs/breadcrumbs.types.d.ts +142 -0
  399. package/dist/components/breadcrumbs/components/breadcrumbs.context.d.ts +13 -0
  400. package/dist/components/breadcrumbs/components/breadcrumbs.item.d.ts +20 -0
  401. package/dist/components/breadcrumbs/components/breadcrumbs.root.d.ts +19 -0
  402. package/dist/components/breadcrumbs/components/index.d.ts +2 -0
  403. package/dist/components/breadcrumbs/index.d.ts +2 -0
  404. package/dist/components/breadcrumbs.cjs +1 -0
  405. package/dist/components/breadcrumbs.es.js +2 -0
  406. package/dist/components/button.cjs +1 -1
  407. package/dist/components/button.es.js +1 -1
  408. package/dist/components/calendar.cjs +1 -1
  409. package/dist/components/calendar.es.js +1 -1
  410. package/dist/components/chat-message-list.cjs +1 -1
  411. package/dist/components/chat-message-list.es.js +1 -1
  412. package/dist/components/chat-message.cjs +1 -1
  413. package/dist/components/chat-message.es.js +1 -1
  414. package/dist/components/checkbox.cjs +1 -1
  415. package/dist/components/checkbox.es.js +1 -1
  416. package/dist/components/collapsible-motion.cjs +1 -1
  417. package/dist/components/collapsible-motion.es.js +1 -1
  418. package/dist/components/combobox.cjs +1 -1
  419. package/dist/components/combobox.es.js +1 -1
  420. package/dist/components/components.cjs +1 -1
  421. package/dist/components/components.es.js +1 -1
  422. package/dist/components/confirmation-dialog.cjs +1 -1
  423. package/dist/components/confirmation-dialog.es.js +1 -1
  424. package/dist/components/data-table.cjs +1 -1
  425. package/dist/components/data-table.es.js +1 -1
  426. package/dist/components/date-input.cjs +1 -1
  427. package/dist/components/date-input.es.js +1 -1
  428. package/dist/components/date-picker.cjs +1 -1
  429. package/dist/components/date-picker.es.js +1 -1
  430. package/dist/components/date-range-picker-field.cjs +1 -1
  431. package/dist/components/date-range-picker-field.es.js +2 -2
  432. package/dist/components/date-range-picker.cjs +1 -1
  433. package/dist/components/date-range-picker.es.js +1 -1
  434. package/dist/components/default-page.cjs +1 -1
  435. package/dist/components/default-page.es.js +1 -1
  436. package/dist/components/dialog.cjs +1 -1
  437. package/dist/components/dialog.es.js +1 -1
  438. package/dist/components/dialogs.cjs +1 -1
  439. package/dist/components/dialogs.es.js +2 -2
  440. package/dist/components/draggable-list.cjs +1 -1
  441. package/dist/components/draggable-list.es.js +1 -1
  442. package/dist/components/drawer.cjs +1 -1
  443. package/dist/components/drawer.es.js +1 -1
  444. package/dist/components/drop-zone.cjs +1 -1
  445. package/dist/components/drop-zone.es.js +1 -1
  446. package/dist/components/fields.cjs +1 -1
  447. package/dist/components/fields.es.js +4 -4
  448. package/dist/components/floating-action-button.cjs +1 -1
  449. package/dist/components/floating-action-button.es.js +1 -1
  450. package/dist/components/form-action-bar.cjs +1 -1
  451. package/dist/components/form-action-bar.es.js +1 -1
  452. package/dist/components/form-dialog.cjs +1 -1
  453. package/dist/components/form-dialog.es.js +1 -1
  454. package/dist/components/form-field.cjs +1 -1
  455. package/dist/components/form-field.es.js +1 -1
  456. package/dist/components/icon-button.cjs +1 -1
  457. package/dist/components/icon-button.es.js +1 -1
  458. package/dist/components/icon-toggle-button.cjs +1 -1
  459. package/dist/components/icon-toggle-button.es.js +1 -1
  460. package/dist/components/index.d.ts +5 -0
  461. package/dist/components/info-dialog.cjs +1 -1
  462. package/dist/components/info-dialog.es.js +1 -1
  463. package/dist/components/item/components/index.d.ts +8 -0
  464. package/dist/components/item/components/item.actions.d.ts +14 -0
  465. package/dist/components/item/components/item.content.d.ts +11 -0
  466. package/dist/components/item/components/item.description.d.ts +10 -0
  467. package/dist/components/item/components/item.footer.d.ts +10 -0
  468. package/dist/components/item/components/item.header.d.ts +10 -0
  469. package/dist/components/item/components/item.media.d.ts +18 -0
  470. package/dist/components/item/components/item.root.d.ts +16 -0
  471. package/dist/components/item/components/item.title.d.ts +10 -0
  472. package/dist/components/item/index.d.ts +2 -0
  473. package/dist/components/item/item.d.ts +177 -0
  474. package/dist/components/item/item.recipe.d.ts +52 -0
  475. package/dist/components/item/item.slots.d.ts +15 -0
  476. package/dist/components/item/item.types.d.ts +81 -0
  477. package/dist/components/item-group/components/index.d.ts +2 -0
  478. package/dist/components/item-group/components/item-group.root.d.ts +22 -0
  479. package/dist/components/item-group/components/item-group.separator.d.ts +11 -0
  480. package/dist/components/item-group/index.d.ts +2 -0
  481. package/dist/components/item-group/item-group.d.ts +62 -0
  482. package/dist/components/item-group/item-group.recipe.d.ts +11 -0
  483. package/dist/components/item-group/item-group.slots.d.ts +11 -0
  484. package/dist/components/item-group/item-group.types.d.ts +14 -0
  485. package/dist/components/item-group.cjs +1 -0
  486. package/dist/components/item-group.es.js +2 -0
  487. package/dist/components/item.cjs +1 -0
  488. package/dist/components/item.es.js +2 -0
  489. package/dist/components/list.cjs +1 -1
  490. package/dist/components/list.es.js +1 -1
  491. package/dist/components/loading-spinner.cjs +1 -1
  492. package/dist/components/loading-spinner.es.js +1 -1
  493. package/dist/components/localized-field.cjs +1 -1
  494. package/dist/components/localized-field.es.js +1 -1
  495. package/dist/components/markdown.cjs +1 -1
  496. package/dist/components/markdown.es.js +1 -1
  497. package/dist/components/modal-page.cjs +1 -1
  498. package/dist/components/modal-page.es.js +1 -1
  499. package/dist/components/money-input-field.cjs +1 -1
  500. package/dist/components/money-input-field.es.js +1 -1
  501. package/dist/components/money-input.cjs +1 -1
  502. package/dist/components/money-input.es.js +1 -1
  503. package/dist/components/multiline-text-input-field.cjs +1 -1
  504. package/dist/components/multiline-text-input-field.es.js +1 -1
  505. package/dist/components/multiline-text-input.cjs +1 -1
  506. package/dist/components/multiline-text-input.es.js +1 -1
  507. package/dist/components/nimbus-provider.cjs +1 -1
  508. package/dist/components/nimbus-provider.es.js +1 -1
  509. package/dist/components/number-input-field.cjs +1 -1
  510. package/dist/components/number-input-field.es.js +1 -1
  511. package/dist/components/number-input.cjs +1 -1
  512. package/dist/components/number-input.es.js +1 -1
  513. package/dist/components/pagination.cjs +1 -1
  514. package/dist/components/pagination.es.js +1 -1
  515. package/dist/components/password-input-field.cjs +1 -1
  516. package/dist/components/password-input-field.es.js +1 -1
  517. package/dist/components/password-input.cjs +1 -1
  518. package/dist/components/password-input.es.js +1 -1
  519. package/dist/components/patterns.cjs +1 -1
  520. package/dist/components/patterns.es.js +7 -7
  521. package/dist/components/popover.cjs +1 -1
  522. package/dist/components/popover.es.js +1 -1
  523. package/dist/components/progress-bar.cjs +1 -1
  524. package/dist/components/progress-bar.es.js +1 -1
  525. package/dist/components/radio-input.cjs +1 -1
  526. package/dist/components/radio-input.es.js +1 -1
  527. package/dist/components/range-calendar.cjs +1 -1
  528. package/dist/components/range-calendar.es.js +1 -1
  529. package/dist/components/range-slider.cjs +1 -0
  530. package/dist/components/range-slider.es.js +2 -0
  531. package/dist/components/rich-text-input.cjs +1 -1
  532. package/dist/components/rich-text-input.es.js +1 -1
  533. package/dist/components/scoped-search-input.cjs +1 -1
  534. package/dist/components/scoped-search-input.es.js +1 -1
  535. package/dist/components/search-input-field.cjs +1 -1
  536. package/dist/components/search-input-field.es.js +2 -2
  537. package/dist/components/search-input.cjs +1 -1
  538. package/dist/components/search-input.es.js +1 -1
  539. package/dist/components/select.cjs +1 -1
  540. package/dist/components/select.es.js +1 -1
  541. package/dist/components/separator.cjs +1 -1
  542. package/dist/components/separator.es.js +1 -1
  543. package/dist/components/skeleton/derivatives/skeleton-circle/index.d.ts +2 -0
  544. package/dist/components/skeleton/derivatives/skeleton-circle/skeleton-circle.d.ts +17 -0
  545. package/dist/components/skeleton/derivatives/skeleton-circle/skeleton-circle.types.d.ts +21 -0
  546. package/dist/components/skeleton/derivatives/skeleton-text/index.d.ts +2 -0
  547. package/dist/components/skeleton/derivatives/skeleton-text/skeleton-text.d.ts +16 -0
  548. package/dist/components/skeleton/derivatives/skeleton-text/skeleton-text.types.d.ts +45 -0
  549. package/dist/components/skeleton/index.d.ts +6 -0
  550. package/dist/components/skeleton/skeleton.d.ts +20 -0
  551. package/dist/components/skeleton/skeleton.recipe.d.ts +59 -0
  552. package/dist/components/skeleton/skeleton.slots.d.ts +7 -0
  553. package/dist/components/skeleton/skeleton.types.d.ts +50 -0
  554. package/dist/components/skeleton-circle.cjs +1 -0
  555. package/dist/components/skeleton-circle.es.js +2 -0
  556. package/dist/components/skeleton-text.cjs +1 -0
  557. package/dist/components/skeleton-text.es.js +2 -0
  558. package/dist/components/skeleton.cjs +1 -0
  559. package/dist/components/skeleton.es.js +6 -0
  560. package/dist/components/slider/derivatives/range-slider/index.d.ts +2 -0
  561. package/dist/components/slider/derivatives/range-slider/range-slider.d.ts +20 -0
  562. package/dist/components/slider/derivatives/range-slider/range-slider.types.d.ts +13 -0
  563. package/dist/components/slider/index.d.ts +4 -0
  564. package/dist/components/slider/intl/de.d.ts +10 -0
  565. package/dist/components/slider/intl/en.d.ts +10 -0
  566. package/dist/components/slider/intl/es.d.ts +10 -0
  567. package/dist/components/slider/intl/fr-FR.d.ts +10 -0
  568. package/dist/components/slider/intl/pt-BR.d.ts +10 -0
  569. package/dist/components/slider/slider-base.d.ts +10 -0
  570. package/dist/components/slider/slider.d.ts +13 -0
  571. package/dist/components/slider/slider.i18n.d.ts +12 -0
  572. package/dist/components/slider/slider.messages.d.ts +6 -0
  573. package/dist/components/slider/slider.recipe.d.ts +138 -0
  574. package/dist/components/slider/slider.slots.d.ts +9 -0
  575. package/dist/components/slider/slider.types.d.ts +57 -0
  576. package/dist/components/slider.cjs +1 -0
  577. package/dist/components/slider.es.js +4 -0
  578. package/dist/components/split-button.cjs +1 -1
  579. package/dist/components/split-button.es.js +1 -1
  580. package/dist/components/splitter.cjs +1 -1
  581. package/dist/components/splitter.es.js +1 -1
  582. package/dist/components/steps.cjs +1 -1
  583. package/dist/components/steps.es.js +1 -1
  584. package/dist/components/switch.cjs +1 -1
  585. package/dist/components/switch.es.js +1 -1
  586. package/dist/components/tab-nav.cjs +1 -1
  587. package/dist/components/tab-nav.es.js +1 -1
  588. package/dist/components/table.cjs +1 -1
  589. package/dist/components/table.es.js +1 -1
  590. package/dist/components/tabs.cjs +1 -1
  591. package/dist/components/tabs.es.js +1 -1
  592. package/dist/components/tag-group.cjs +1 -1
  593. package/dist/components/tag-group.es.js +1 -1
  594. package/dist/components/text-input-field.cjs +1 -1
  595. package/dist/components/text-input-field.es.js +2 -2
  596. package/dist/components/text-input.cjs +1 -1
  597. package/dist/components/text-input.es.js +1 -1
  598. package/dist/components/time-input.cjs +1 -1
  599. package/dist/components/time-input.es.js +1 -1
  600. package/dist/components/toast.cjs +1 -1
  601. package/dist/components/toast.es.js +1 -1
  602. package/dist/components/toggle-button.cjs +1 -1
  603. package/dist/components/toggle-button.es.js +1 -1
  604. package/dist/components/toolbar.cjs +1 -1
  605. package/dist/components/toolbar.es.js +1 -1
  606. package/dist/components/tree.cjs +1 -1
  607. package/dist/components/tree.es.js +1 -1
  608. package/dist/index.cjs +2 -2
  609. package/dist/index.cjs.map +1 -1
  610. package/dist/index.es.js +170 -162
  611. package/dist/index.es.js.map +1 -1
  612. package/dist/theme/keyframes.d.ts +11 -0
  613. package/dist/theme/recipes/index.d.ts +46 -0
  614. package/dist/theme/slot-recipes/index.d.ts +193 -0
  615. package/package.json +6 -6
  616. package/dist/chunks/DateField-DI1RhZqo.cjs +0 -2
  617. package/dist/chunks/Dialog-s5tFTj72.cjs +0 -6
  618. package/dist/chunks/ListBox-CXgfDQSn.cjs +0 -2
  619. package/dist/chunks/chat-message-list-BhWZEg4l.esm.js.map +0 -1
  620. package/dist/chunks/chat-message-list-BvzHnJHs.cjs +0 -2
  621. package/dist/chunks/chat-message-list-BvzHnJHs.cjs.map +0 -1
  622. package/dist/chunks/data-table-CHpJecej.cjs +0 -2
  623. package/dist/chunks/draggable-list-CKKl6A_a.cjs +0 -2
  624. package/dist/chunks/number-input-DU3522fK.cjs +0 -2
  625. package/dist/chunks/radio-input-_eEv0K2W.cjs +0 -2
  626. package/dist/chunks/select-DdeLYdJ3.cjs +0 -2
  627. package/dist/chunks/tab-nav-CunrpVeV.cjs +0 -2
  628. package/dist/chunks/tab-nav-CunrpVeV.cjs.map +0 -1
  629. package/dist/chunks/tab-nav-EHnsfeUM.esm.js +0 -99
  630. package/dist/chunks/tab-nav-EHnsfeUM.esm.js.map +0 -1
  631. package/dist/chunks/tabs-BbC8to5L.cjs +0 -2
  632. package/dist/chunks/tag-group-t9CCZs9w.cjs +0 -2
  633. package/dist/chunks/theme-BR3bc6tH.esm.js.map +0 -1
  634. package/dist/chunks/theme-tOoHVZZ6.cjs +0 -34
  635. package/dist/chunks/theme-tOoHVZZ6.cjs.map +0 -1
  636. package/dist/chunks/use-tree-CrwSJhB8.cjs +0 -2
  637. package/dist/chunks/useCollection-C04LezXC.cjs +0 -2
  638. package/dist/chunks/useCollection-C04LezXC.cjs.map +0 -1
  639. package/dist/chunks/useCollection-CGf4ZguH.esm.js.map +0 -1
  640. package/dist/chunks/useFormValidationState-B5e8EeJ8.cjs +0 -2
  641. package/dist/chunks/useFormValidationState-B5e8EeJ8.cjs.map +0 -1
  642. package/dist/chunks/useFormValidationState-rjMRhdnd.esm.js.map +0 -1
  643. package/dist/chunks/useProgressBar-DDrlZQv4.cjs +0 -2
  644. package/dist/chunks/useProgressBar-DDrlZQv4.cjs.map +0 -1
  645. package/dist/chunks/useProgressBar-DmcvqOjq.esm.js +0 -41
  646. package/dist/chunks/useProgressBar-DmcvqOjq.esm.js.map +0 -1
  647. package/dist/chunks/useTextField-CzF6gZ6-.cjs +0 -2
  648. package/dist/chunks/useToggle-DOG2OJN_.cjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message-DW8IO5YJ.cjs.js","names":[],"sources":["../../src/components/chat-message/chat-message.slots.tsx","../../src/components/chat-message/chat-message.context.ts","../../src/components/chat-message/components/chat-message.root.tsx","../../src/components/chat-message/components/chat-message.avatar.tsx","../../src/components/chat-message/components/chat-message.body.tsx","../../src/components/chat-message/components/chat-message.actions.tsx","../../src/components/chat-message/components/chat-message.meta.tsx","../../src/components/chat-message/components/chat-message.typing.tsx","../../src/components/chat-message/chat-message.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"../../type-utils/slot-types\";\nimport type {\n ChatMessageRootSlotProps,\n ChatMessageAvatarSlotProps,\n ChatMessageBodySlotProps,\n ChatMessageActionsSlotProps,\n ChatMessageMetaSlotProps,\n ChatMessageTypingSlotProps,\n} from \"./chat-message.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusChatMessage\",\n});\n\n/**\n * Root slot — establishes the recipe context and owns the grid layout. The\n * component defaults its rendered element to `<article>` (a feed item, per the\n * ARIA APG); consumers can override via `as`.\n */\nexport const ChatMessageRootSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageRootSlotProps\n> = withProvider<HTMLDivElement, ChatMessageRootSlotProps>(\"article\", \"root\");\n\n/**\n * Avatar slot — a layout wrapper for the interior Nimbus `Avatar`. The nested\n * avatar's background/color are set per `sender` from the recipe.\n */\nexport const ChatMessageAvatarSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageAvatarSlotProps\n> = withContext<HTMLDivElement, ChatMessageAvatarSlotProps>(\"div\", \"avatar\");\n\n/**\n * Body slot — the rounded card that holds the message payload.\n */\nexport const ChatMessageBodySlot: SlotComponent<\n HTMLDivElement,\n ChatMessageBodySlotProps\n> = withContext<HTMLDivElement, ChatMessageBodySlotProps>(\"div\", \"body\");\n\n/**\n * Actions slot — layout-only row for buttons, rendered inside the body.\n */\nexport const ChatMessageActionsSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageActionsSlotProps\n> = withContext<HTMLDivElement, ChatMessageActionsSlotProps>(\"div\", \"actions\");\n\n/**\n * Meta slot — layout-only row rendered below the body.\n */\nexport const ChatMessageMetaSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageMetaSlotProps\n> = withContext<HTMLDivElement, ChatMessageMetaSlotProps>(\"div\", \"meta\");\n\n/**\n * Typing slot — layout wrapper for the animated typing indicator (and an\n * optional visible label), rendered inside the body while a reply streams.\n */\nexport const ChatMessageTypingSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageTypingSlotProps\n> = withContext<HTMLDivElement, ChatMessageTypingSlotProps>(\"div\", \"typing\");\n","import { createContext, useContext } from \"react\";\n\n/** Which participant sent the message. */\nexport type ChatMessageSender = \"user\" | \"agent\";\n\nexport interface ChatMessageContextValue {\n /** The resolved `sender` published by `ChatMessage.Root` (default `\"agent\"`). */\n sender: ChatMessageSender;\n}\n\n/**\n * Carries the message's `sender` from `ChatMessage.Root` to its parts, so a part\n * can derive a `sender`-dependent default that CSS alone can't express (e.g. the\n * avatar's `variant`). The `\"agent\"` default is a safety net: a sender-aware part\n * accidentally rendered outside a `Root` falls back to agent styling rather than\n * throwing (it should always be composed under a `Root` in practice).\n */\nexport const ChatMessageContext = createContext<ChatMessageContextValue>({\n sender: \"agent\",\n});\n\nexport const useChatMessageContext = () => useContext(ChatMessageContext);\n","import { useMemo } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\nimport { ChatMessageRootSlot } from \"../chat-message.slots\";\nimport { ChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageSender } from \"../chat-message.context\";\nimport type { ChatMessageProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Root - The grid container for a single chat message.\n *\n * Establishes the styling context and lays out the avatar, body and optional\n * meta row. The `sender` prop selects the layout direction (avatar leading for\n * `\"agent\"`, trailing for `\"user\"`) and the sender-specific styling;\n * `tone=\"error\"` tints the body for a failed generation.\n *\n * Renders a semantic `<article>` by default (a feed item, per the ARIA APG) so\n * a message is a discrete node in the accessibility tree. This is a *default*,\n * not a mandate: override the element with `as` (e.g. `as=\"li\"` inside a list)\n * and name the message for assistive tech with `aria-label`/`aria-labelledby`.\n * The surrounding feed / live region is the consumer's to compose — see the\n * accessibility docs.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageRoot = (props: ChatMessageProps) => {\n const { ref, children, isStreaming, ...restProps } = props;\n\n const recipe = useSlotRecipe({ key: \"nimbusChatMessage\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(restProps);\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Publish the resolved `sender` to the parts so they can derive\n // `sender`-dependent defaults that CSS can't (e.g. the avatar's `variant`).\n // Read from `props` (it still flows to the slot via `restProps`); anything but\n // an explicit \"user\" resolves to the recipe's default of \"agent\".\n const sender: ChatMessageSender = props.sender === \"user\" ? \"user\" : \"agent\";\n\n // Stable context identity so the parts (Avatar/Body/Meta) don't re-render on\n // every Root render — only when `sender` actually changes.\n const contextValue = useMemo(() => ({ sender }), [sender]);\n\n return (\n <ChatMessageRootSlot\n // The slot renders `<article>` by default (see chat-message.slots.tsx);\n // `functionalProps` is spread last so a consumer-supplied `as` / `role` /\n // `aria-*` always wins.\n aria-busy={isStreaming || undefined}\n ref={ref}\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n >\n <ChatMessageContext.Provider value={contextValue}>\n {children}\n </ChatMessageContext.Provider>\n </ChatMessageRootSlot>\n );\n};\n\nChatMessageRoot.displayName = \"ChatMessage.Root\";\n","import { AutoAwesome } from \"@commercetools/nimbus-icons\";\nimport { Avatar } from \"@/components/avatar/avatar\";\nimport { ChatMessageAvatarSlot } from \"../chat-message.slots\";\nimport { useChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageAvatarProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Avatar - The sender's avatar.\n *\n * Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`, a 32px box per the\n * Figma spec). Unless the consumer sets `variant` explicitly, the variant\n * defaults per `sender`: `solid` for the `agent` (a strong branded glyph) and\n * `subtle` for the `user` (a softer surface that matches the user body's tint).\n * The color *palette* comes from the ChatMessage recipe (`primary`), so\n * consumers only supply the avatar content (initials via `firstName`/\n * `lastName`, an image `src`, or a custom icon via `children`).\n *\n * An **unconfigured** avatar (no content supplied) falls back to a\n * sender-appropriate generic glyph: the AI `AutoAwesome` sparkle for the\n * `agent`, and the `Avatar`'s built-in person icon for the `user`.\n *\n * Props flow to the **inner `Avatar`**, not to the grid-cell wrapper — the\n * wrapper only exists to occupy the avatar column.\n *\n * Accessibility: the avatar is **decorative by default** (`aria-hidden`). A\n * sender glyph duplicates information better conveyed by the message's\n * accessible name and column, and a nameless `Avatar` would otherwise announce\n * a misleading generic label. Passing `firstName`/`lastName` or an explicit\n * `aria-label` opts it back into the accessibility tree with a real name.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageAvatar = ({\n ref,\n size = \"xs\",\n variant,\n children,\n ...props\n}: ChatMessageAvatarProps) => {\n const { sender } = useChatMessageContext();\n // Consumer's explicit `variant` wins; otherwise default per sender.\n const resolvedVariant = variant ?? (sender === \"user\" ? \"subtle\" : \"solid\");\n\n const isNamed =\n props.firstName != null ||\n props.lastName != null ||\n props[\"aria-label\"] != null ||\n props[\"aria-labelledby\"] != null;\n\n // When the consumer supplies no content, give the agent an AI glyph instead\n // of the person fallback. The user keeps `Avatar`'s built-in person icon\n // (rendered when `children` is absent).\n const isUnconfigured =\n children == null &&\n props.firstName == null &&\n props.lastName == null &&\n props.src == null;\n const resolvedChildren =\n children ??\n (sender === \"agent\" && isUnconfigured ? <AutoAwesome /> : undefined);\n\n return (\n <ChatMessageAvatarSlot>\n <Avatar\n ref={ref}\n size={size}\n variant={resolvedVariant}\n // Decorative unless the consumer named it; `props` is spread last so an\n // explicit `aria-hidden` from the consumer still wins.\n aria-hidden={isNamed ? undefined : true}\n {...props}\n >\n {resolvedChildren}\n </Avatar>\n </ChatMessageAvatarSlot>\n );\n};\n\nChatMessageAvatar.displayName = \"ChatMessage.Avatar\";\n","import { ChatMessageBodySlot } from \"../chat-message.slots\";\nimport type { ChatMessageBodyProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Body - The rounded card that holds the message payload.\n *\n * Stacks its children vertically; place `ChatMessage.Actions` as the last child\n * to pin action buttons to the bottom of the body. Background, padding,\n * border-radius and max-width are set per `sender` by the recipe.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageBody = ({\n ref,\n children,\n ...props\n}: ChatMessageBodyProps) => {\n return (\n <ChatMessageBodySlot ref={ref} {...props}>\n {children}\n </ChatMessageBodySlot>\n );\n};\n\nChatMessageBody.displayName = \"ChatMessage.Body\";\n","import { ChatMessageActionsSlot } from \"../chat-message.slots\";\nimport type { ChatMessageActionsProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Actions - Layout-only row for action buttons inside the body.\n *\n * Renders a right-aligned, wrapping flex row. Consumers provide the buttons.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageActions = ({\n ref,\n children,\n ...props\n}: ChatMessageActionsProps) => {\n return (\n <ChatMessageActionsSlot ref={ref} {...props}>\n {children}\n </ChatMessageActionsSlot>\n );\n};\n\nChatMessageActions.displayName = \"ChatMessage.Actions\";\n","import { ChatMessageMetaSlot } from \"../chat-message.slots\";\nimport type { ChatMessageMetaProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Meta - Layout-only row rendered below the body.\n *\n * Renders a `space-between` flex row aligned with the body. Consumers provide\n * the content (timestamp, provenance/trust links, reaction icons). With a\n * single child, `space-between` leaves it at the start of the row — pair it\n * with a spacer or a second element to push content to the end.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageMeta = ({\n ref,\n children,\n ...props\n}: ChatMessageMetaProps) => {\n return (\n <ChatMessageMetaSlot ref={ref} {...props}>\n {children}\n </ChatMessageMetaSlot>\n );\n};\n\nChatMessageMeta.displayName = \"ChatMessage.Meta\";\n","import { ActivityIndicator } from \"@/components/activity-indicator/activity-indicator\";\nimport { ChatMessageTypingSlot } from \"../chat-message.slots\";\nimport type { ChatMessageTypingProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Typing - Animated \"generating…\" indicator for a streaming reply.\n *\n * Renders the Nimbus `ActivityIndicator` (three bouncing dots) inside the\n * body while a response streams. Place it as the body's payload and swap it\n * for the real content once the stream settles.\n *\n * Accessibility: the dots are decorative (`ActivityIndicator` is always\n * `aria-hidden`). Pass a visible label as `children` (e.g. \"Agent is\n * typing…\") for a per-message affordance, and/or set `isStreaming` on\n * `ChatMessage.Root` (which sets `aria-busy`) — the coalesced live-region\n * announcement stays with the consumer's feed/turn container.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageTyping = ({\n ref,\n children,\n ...props\n}: ChatMessageTypingProps) => {\n return (\n <ChatMessageTypingSlot ref={ref} {...props}>\n <ActivityIndicator />\n {children}\n </ChatMessageTypingSlot>\n );\n};\n\nChatMessageTyping.displayName = \"ChatMessage.Typing\";\n","import {\n ChatMessageRoot,\n ChatMessageAvatar,\n ChatMessageBody,\n ChatMessageActions,\n ChatMessageMeta,\n ChatMessageTyping,\n} from \"./components\";\n\n/**\n * ChatMessage\n * ============================================================\n * A compound component representing a single message in an AI chat feed.\n * It provides a body container, an avatar, and layout-only slots that\n * consumers fill with their own content: actions inside the body, a meta\n * below it, and a typing indicator for streaming replies. The `sender` prop\n * drives the layout direction and sender-specific styling, and `tone` flags a\n * failed generation.\n *\n * ChatMessage renders a single message; composing the surrounding feed and any\n * live region is the consumer's job — see the accessibility documentation.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/chat-message}\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\">\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <Text>Here is the summary you asked for.</Text>\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Save as draft</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * </ChatMessage.Body>\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * </ChatMessage.Root>\n * ```\n */\nexport const ChatMessage = {\n /**\n * # ChatMessage.Root\n *\n * The grid container for a single message. Establishes the styling context\n * and lays out the avatar, body and optional meta row. Accepts `sender`\n * (`\"user\" | \"agent\"`) which controls layout direction\n * and styling, `tone` (`\"neutral\" | \"error\"`) to flag a failed generation,\n * and `isStreaming` to mark the message as still generating (sets\n * `aria-busy`). The palette (user surface tint + avatar) defaults to\n * `primary`; pass `colorPalette` to retint the whole message. Renders a\n * semantic `<article>` by default; override with `as`.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"user\" aria-label=\"Message from Ada Lovelace\">\n * <ChatMessage.Avatar firstName=\"Ada\" lastName=\"Lovelace\" />\n * <ChatMessage.Body>\n * <Text>Can you summarise this order?</Text>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Root: ChatMessageRoot,\n /**\n * # ChatMessage.Avatar\n *\n * The sender's avatar. Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`)\n * and is styled per `sender`. Provide the content via `firstName`/`lastName`\n * (initials), `src` (image), or `children` (a custom icon). Decorative by\n * default (`aria-hidden`) unless named.\n *\n * @example\n * ```tsx\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * ```\n */\n Avatar: ChatMessageAvatar,\n /**\n * # ChatMessage.Body\n *\n * The rounded card that holds the message payload. Stacks its children\n * vertically; place `ChatMessage.Actions` last to pin actions to the bottom.\n * Long, unbreakable content wraps inside the card.\n *\n * @example\n * ```tsx\n * <ChatMessage.Body>\n * <Text>Message content</Text>\n * </ChatMessage.Body>\n * ```\n */\n Body: ChatMessageBody,\n /**\n * # ChatMessage.Actions\n *\n * A layout-only, right-aligned row for action buttons, rendered inside the\n * body. Consumers provide the buttons.\n *\n * @example\n * ```tsx\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Dismiss</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * ```\n */\n Actions: ChatMessageActions,\n /**\n * # ChatMessage.Meta\n *\n * A layout-only `space-between` row rendered below the body. Consumers\n * provide the content (timestamp, trust affordances, reaction icons, links).\n *\n * @example\n * ```tsx\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * ```\n */\n Meta: ChatMessageMeta,\n /**\n * # ChatMessage.Typing\n *\n * An animated \"generating…\" indicator (Nimbus `ActivityIndicator`) for a\n * streaming reply. Render it as the body's payload while the response\n * streams; pass a visible label as `children` for a per-message affordance.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\" isStreaming>\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <ChatMessage.Typing>Agent is typing…</ChatMessage.Typing>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Typing: ChatMessageTyping,\n};\n\nexport {\n ChatMessageRoot as _ChatMessageRoot,\n ChatMessageAvatar as _ChatMessageAvatar,\n ChatMessageBody as _ChatMessageBody,\n ChatMessageActions as _ChatMessageActions,\n ChatMessageMeta as _ChatMessageMeta,\n ChatMessageTyping as _ChatMessageTyping,\n};\n"],"mappings":"4RAWA,GAAM,CAAE,eAAc,gBAAA,EAAA,EAAA,wBAAA,CAAwC,CAC5D,IAAK,mBACP,CAAC,EAOY,EAGT,EAAuD,UAAW,MAAM,EAM/D,EAGT,EAAwD,MAAO,QAAQ,EAK9D,EAGT,EAAsD,MAAO,MAAM,EAK1D,EAGT,EAAyD,MAAO,SAAS,EAKhE,EAGT,EAAsD,MAAO,MAAM,EAM1D,EAGT,EAAwD,MAAO,QAAQ,EChD9D,GAAA,EAAA,EAAA,cAAA,CAA4D,CACvE,OAAQ,OACV,CAAC,EAEY,OAAA,EAAA,EAAA,WAAA,CAAyC,CAAkB,ECI3D,EAAmB,GAA4B,CAC1D,GAAM,CAAE,MAAK,WAAU,cAAa,GAAG,GAAc,EAG/C,CAAC,EAAa,IAAA,EAAA,EAAA,cAAA,CADS,CAAE,IAAK,mBAAoB,CAClB,CAAA,CAAO,kBAAkB,CAAS,EAClE,CAAC,EAAY,GAAmB,EAAA,EAAkB,CAAc,EAMhE,EAA4B,EAAM,SAAW,OAAS,OAAS,QAI/D,GAAA,EAAA,EAAA,QAAA,MAA8B,CAAE,QAAO,GAAI,CAAC,CAAM,CAAC,EAEzD,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAIE,YAAW,GAAe,IAAA,GACrB,MACL,GAAI,EACJ,GAAI,EACJ,GAAI,YAEJ,EAAA,EAAA,IAAA,CAAC,EAAmB,SAApB,CAA6B,MAAO,EACjC,UAC0B,CAAA,CACV,CAAA,CAEzB,EAEA,EAAgB,YAAc,mBC5B9B,IAAa,GAAqB,CAChC,MACA,OAAO,KACP,UACA,WACA,GAAG,KACyB,CAC5B,GAAM,CAAE,UAAW,EAAsB,EAEnC,EAAkB,IAAY,IAAW,OAAS,SAAW,SAE7D,EACJ,EAAM,WAAa,MACnB,EAAM,UAAY,MAClB,EAAM,eAAiB,MACvB,EAAM,oBAAsB,KAKxB,EACJ,GAAY,MACZ,EAAM,WAAa,MACnB,EAAM,UAAY,MAClB,EAAM,KAAO,KACT,EACJ,IACC,IAAW,SAAW,GAAiB,EAAA,EAAA,IAAA,CAAC,EAAA,YAAD,CAAc,CAAA,EAAI,IAAA,IAE5D,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CACO,MACC,OACN,QAAS,EAGT,cAAa,IAAU,IAAA,GACvB,GAAI,WAEH,CACK,CAAA,CACa,CAAA,CAE3B,EAEA,EAAkB,YAAc,qBClEhC,IAAa,GAAmB,CAC9B,MACA,WACA,GAAG,MAGD,EAAA,EAAA,IAAA,CAAC,EAAD,CAA0B,MAAK,GAAI,EAChC,UACkB,CAAA,EAIzB,EAAgB,YAAc,mBCd9B,IAAa,GAAsB,CACjC,MACA,WACA,GAAG,MAGD,EAAA,EAAA,IAAA,CAAC,EAAD,CAA6B,MAAK,GAAI,EACnC,UACqB,CAAA,EAI5B,EAAmB,YAAc,sBCTjC,IAAa,GAAmB,CAC9B,MACA,WACA,GAAG,MAGD,EAAA,EAAA,IAAA,CAAC,EAAD,CAA0B,MAAK,GAAI,EAChC,UACkB,CAAA,EAIzB,EAAgB,YAAc,mBCN9B,IAAa,GAAqB,CAChC,MACA,WACA,GAAG,MAGD,EAAA,EAAA,KAAA,CAAC,EAAD,CAA4B,MAAK,GAAI,WAArC,EACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CAAoB,CAAA,EACnB,CACoB,IAI3B,EAAkB,YAAc,qBCYhC,IAAa,EAAc,CAuBzB,KAAM,EAgBN,OAAQ,EAeR,KAAM,EAeN,QAAS,EAeT,KAAM,EAoBN,OAAQ,CACV"}
1
+ {"version":3,"file":"chat-message-BcuYfXqe.cjs.js","names":[],"sources":["../../src/components/chat-message/chat-message.slots.tsx","../../src/components/chat-message/chat-message.context.ts","../../src/components/chat-message/components/chat-message.root.tsx","../../src/components/chat-message/components/chat-message.avatar.tsx","../../src/components/chat-message/components/chat-message.body.tsx","../../src/components/chat-message/components/chat-message.actions.tsx","../../src/components/chat-message/components/chat-message.meta.tsx","../../src/components/chat-message/components/chat-message.typing.tsx","../../src/components/chat-message/chat-message.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"../../type-utils/slot-types\";\nimport type {\n ChatMessageRootSlotProps,\n ChatMessageAvatarSlotProps,\n ChatMessageBodySlotProps,\n ChatMessageActionsSlotProps,\n ChatMessageMetaSlotProps,\n ChatMessageTypingSlotProps,\n} from \"./chat-message.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusChatMessage\",\n});\n\n/**\n * Root slot — establishes the recipe context and owns the grid layout. The\n * component defaults its rendered element to `<article>` (a feed item, per the\n * ARIA APG); consumers can override via `as`.\n */\nexport const ChatMessageRootSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageRootSlotProps\n> = withProvider<HTMLDivElement, ChatMessageRootSlotProps>(\"article\", \"root\");\n\n/**\n * Avatar slot — a layout wrapper for the interior Nimbus `Avatar`. The nested\n * avatar's background/color are set per `sender` from the recipe.\n */\nexport const ChatMessageAvatarSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageAvatarSlotProps\n> = withContext<HTMLDivElement, ChatMessageAvatarSlotProps>(\"div\", \"avatar\");\n\n/**\n * Body slot — the rounded card that holds the message payload.\n */\nexport const ChatMessageBodySlot: SlotComponent<\n HTMLDivElement,\n ChatMessageBodySlotProps\n> = withContext<HTMLDivElement, ChatMessageBodySlotProps>(\"div\", \"body\");\n\n/**\n * Actions slot — layout-only row for buttons, rendered inside the body.\n */\nexport const ChatMessageActionsSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageActionsSlotProps\n> = withContext<HTMLDivElement, ChatMessageActionsSlotProps>(\"div\", \"actions\");\n\n/**\n * Meta slot — layout-only row rendered below the body.\n */\nexport const ChatMessageMetaSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageMetaSlotProps\n> = withContext<HTMLDivElement, ChatMessageMetaSlotProps>(\"div\", \"meta\");\n\n/**\n * Typing slot — layout wrapper for the animated typing indicator (and an\n * optional visible label), rendered inside the body while a reply streams.\n */\nexport const ChatMessageTypingSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageTypingSlotProps\n> = withContext<HTMLDivElement, ChatMessageTypingSlotProps>(\"div\", \"typing\");\n","import { createContext, useContext } from \"react\";\n\n/** Which participant sent the message. */\nexport type ChatMessageSender = \"user\" | \"agent\";\n\nexport interface ChatMessageContextValue {\n /** The resolved `sender` published by `ChatMessage.Root` (default `\"agent\"`). */\n sender: ChatMessageSender;\n}\n\n/**\n * Carries the message's `sender` from `ChatMessage.Root` to its parts, so a part\n * can derive a `sender`-dependent default that CSS alone can't express (e.g. the\n * avatar's `variant`). The `\"agent\"` default is a safety net: a sender-aware part\n * accidentally rendered outside a `Root` falls back to agent styling rather than\n * throwing (it should always be composed under a `Root` in practice).\n */\nexport const ChatMessageContext = createContext<ChatMessageContextValue>({\n sender: \"agent\",\n});\n\nexport const useChatMessageContext = () => useContext(ChatMessageContext);\n","import { useMemo } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\nimport { ChatMessageRootSlot } from \"../chat-message.slots\";\nimport { ChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageSender } from \"../chat-message.context\";\nimport type { ChatMessageProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Root - The grid container for a single chat message.\n *\n * Establishes the styling context and lays out the avatar, body and optional\n * meta row. The `sender` prop selects the layout direction (avatar leading for\n * `\"agent\"`, trailing for `\"user\"`) and the sender-specific styling;\n * `tone=\"error\"` tints the body for a failed generation.\n *\n * Renders a semantic `<article>` by default (a feed item, per the ARIA APG) so\n * a message is a discrete node in the accessibility tree. This is a *default*,\n * not a mandate: override the element with `as` (e.g. `as=\"li\"` inside a list)\n * and name the message for assistive tech with `aria-label`/`aria-labelledby`.\n * The surrounding feed / live region is the consumer's to compose — see the\n * accessibility docs.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageRoot = (props: ChatMessageProps) => {\n const { ref, children, isStreaming, ...restProps } = props;\n\n const recipe = useSlotRecipe({ key: \"nimbusChatMessage\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(restProps);\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Publish the resolved `sender` to the parts so they can derive\n // `sender`-dependent defaults that CSS can't (e.g. the avatar's `variant`).\n // Read from `props` (it still flows to the slot via `restProps`); anything but\n // an explicit \"user\" resolves to the recipe's default of \"agent\".\n const sender: ChatMessageSender = props.sender === \"user\" ? \"user\" : \"agent\";\n\n // Stable context identity so the parts (Avatar/Body/Meta) don't re-render on\n // every Root render — only when `sender` actually changes.\n const contextValue = useMemo(() => ({ sender }), [sender]);\n\n return (\n <ChatMessageRootSlot\n // The slot renders `<article>` by default (see chat-message.slots.tsx);\n // `functionalProps` is spread last so a consumer-supplied `as` / `role` /\n // `aria-*` always wins.\n aria-busy={isStreaming || undefined}\n ref={ref}\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n >\n <ChatMessageContext.Provider value={contextValue}>\n {children}\n </ChatMessageContext.Provider>\n </ChatMessageRootSlot>\n );\n};\n\nChatMessageRoot.displayName = \"ChatMessage.Root\";\n","import { AutoAwesome } from \"@commercetools/nimbus-icons\";\nimport { Avatar } from \"@/components/avatar/avatar\";\nimport { ChatMessageAvatarSlot } from \"../chat-message.slots\";\nimport { useChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageAvatarProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Avatar - The sender's avatar.\n *\n * Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`, a 32px box per the\n * Figma spec). Unless the consumer sets `variant` explicitly, the variant\n * defaults per `sender`: `solid` for the `agent` (a strong branded glyph) and\n * `subtle` for the `user` (a softer surface that matches the user body's tint).\n * The color *palette* comes from the ChatMessage recipe (`primary`), so\n * consumers only supply the avatar content (initials via `firstName`/\n * `lastName`, an image `src`, or a custom icon via `children`).\n *\n * An **unconfigured** avatar (no content supplied) falls back to a\n * sender-appropriate generic glyph: the AI `AutoAwesome` sparkle for the\n * `agent`, and the `Avatar`'s built-in person icon for the `user`.\n *\n * Props flow to the **inner `Avatar`**, not to the grid-cell wrapper — the\n * wrapper only exists to occupy the avatar column.\n *\n * Accessibility: the avatar is **decorative by default** (`aria-hidden`). A\n * sender glyph duplicates information better conveyed by the message's\n * accessible name and column, and a nameless `Avatar` would otherwise announce\n * a misleading generic label. Passing `firstName`/`lastName` or an explicit\n * `aria-label` opts it back into the accessibility tree with a real name.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageAvatar = ({\n ref,\n size = \"xs\",\n variant,\n children,\n ...props\n}: ChatMessageAvatarProps) => {\n const { sender } = useChatMessageContext();\n // Consumer's explicit `variant` wins; otherwise default per sender.\n const resolvedVariant = variant ?? (sender === \"user\" ? \"subtle\" : \"solid\");\n\n const isNamed =\n props.firstName != null ||\n props.lastName != null ||\n props[\"aria-label\"] != null ||\n props[\"aria-labelledby\"] != null;\n\n // When the consumer supplies no content, give the agent an AI glyph instead\n // of the person fallback. The user keeps `Avatar`'s built-in person icon\n // (rendered when `children` is absent).\n const isUnconfigured =\n children == null &&\n props.firstName == null &&\n props.lastName == null &&\n props.src == null;\n const resolvedChildren =\n children ??\n (sender === \"agent\" && isUnconfigured ? <AutoAwesome /> : undefined);\n\n return (\n <ChatMessageAvatarSlot>\n <Avatar\n ref={ref}\n size={size}\n variant={resolvedVariant}\n // Decorative unless the consumer named it; `props` is spread last so an\n // explicit `aria-hidden` from the consumer still wins.\n aria-hidden={isNamed ? undefined : true}\n {...props}\n >\n {resolvedChildren}\n </Avatar>\n </ChatMessageAvatarSlot>\n );\n};\n\nChatMessageAvatar.displayName = \"ChatMessage.Avatar\";\n","import { ChatMessageBodySlot } from \"../chat-message.slots\";\nimport type { ChatMessageBodyProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Body - The rounded card that holds the message payload.\n *\n * Stacks its children vertically; place `ChatMessage.Actions` as the last child\n * to pin action buttons to the bottom of the body. Background, padding,\n * border-radius and max-width are set per `sender` by the recipe.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageBody = ({\n ref,\n children,\n ...props\n}: ChatMessageBodyProps) => {\n return (\n <ChatMessageBodySlot ref={ref} {...props}>\n {children}\n </ChatMessageBodySlot>\n );\n};\n\nChatMessageBody.displayName = \"ChatMessage.Body\";\n","import { ChatMessageActionsSlot } from \"../chat-message.slots\";\nimport type { ChatMessageActionsProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Actions - Layout-only row for action buttons inside the body.\n *\n * Renders a right-aligned, wrapping flex row. Consumers provide the buttons.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageActions = ({\n ref,\n children,\n ...props\n}: ChatMessageActionsProps) => {\n return (\n <ChatMessageActionsSlot ref={ref} {...props}>\n {children}\n </ChatMessageActionsSlot>\n );\n};\n\nChatMessageActions.displayName = \"ChatMessage.Actions\";\n","import { ChatMessageMetaSlot } from \"../chat-message.slots\";\nimport type { ChatMessageMetaProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Meta - Layout-only row rendered below the body.\n *\n * Renders a `space-between` flex row aligned with the body. Consumers provide\n * the content (timestamp, provenance/trust links, reaction icons). With a\n * single child, `space-between` leaves it at the start of the row — pair it\n * with a spacer or a second element to push content to the end.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageMeta = ({\n ref,\n children,\n ...props\n}: ChatMessageMetaProps) => {\n return (\n <ChatMessageMetaSlot ref={ref} {...props}>\n {children}\n </ChatMessageMetaSlot>\n );\n};\n\nChatMessageMeta.displayName = \"ChatMessage.Meta\";\n","import { ActivityIndicator } from \"@/components/activity-indicator/activity-indicator\";\nimport { ChatMessageTypingSlot } from \"../chat-message.slots\";\nimport type { ChatMessageTypingProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Typing - Animated \"generating…\" indicator for a streaming reply.\n *\n * Renders the Nimbus `ActivityIndicator` (three bouncing dots) inside the\n * body while a response streams. Place it as the body's payload and swap it\n * for the real content once the stream settles.\n *\n * Accessibility: the dots are decorative (`ActivityIndicator` is always\n * `aria-hidden`). Pass a visible label as `children` (e.g. \"Agent is\n * typing…\") for a per-message affordance, and/or set `isStreaming` on\n * `ChatMessage.Root` (which sets `aria-busy`) — the coalesced live-region\n * announcement stays with the consumer's feed/turn container.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageTyping = ({\n ref,\n children,\n ...props\n}: ChatMessageTypingProps) => {\n return (\n <ChatMessageTypingSlot ref={ref} {...props}>\n <ActivityIndicator />\n {children}\n </ChatMessageTypingSlot>\n );\n};\n\nChatMessageTyping.displayName = \"ChatMessage.Typing\";\n","import {\n ChatMessageRoot,\n ChatMessageAvatar,\n ChatMessageBody,\n ChatMessageActions,\n ChatMessageMeta,\n ChatMessageTyping,\n} from \"./components\";\n\n/**\n * ChatMessage\n * ============================================================\n * A compound component representing a single message in an AI chat feed.\n * It provides a body container, an avatar, and layout-only slots that\n * consumers fill with their own content: actions inside the body, a meta\n * below it, and a typing indicator for streaming replies. The `sender` prop\n * drives the layout direction and sender-specific styling, and `tone` flags a\n * failed generation.\n *\n * ChatMessage renders a single message; composing the surrounding feed and any\n * live region is the consumer's job — see the accessibility documentation.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/chat-message}\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\">\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <Text>Here is the summary you asked for.</Text>\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Save as draft</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * </ChatMessage.Body>\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * </ChatMessage.Root>\n * ```\n */\nexport const ChatMessage = {\n /**\n * # ChatMessage.Root\n *\n * The grid container for a single message. Establishes the styling context\n * and lays out the avatar, body and optional meta row. Accepts `sender`\n * (`\"user\" | \"agent\"`) which controls layout direction\n * and styling, `tone` (`\"neutral\" | \"error\"`) to flag a failed generation,\n * and `isStreaming` to mark the message as still generating (sets\n * `aria-busy`). The palette (user surface tint + avatar) defaults to\n * `primary`; pass `colorPalette` to retint the whole message. Renders a\n * semantic `<article>` by default; override with `as`.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"user\" aria-label=\"Message from Ada Lovelace\">\n * <ChatMessage.Avatar firstName=\"Ada\" lastName=\"Lovelace\" />\n * <ChatMessage.Body>\n * <Text>Can you summarise this order?</Text>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Root: ChatMessageRoot,\n /**\n * # ChatMessage.Avatar\n *\n * The sender's avatar. Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`)\n * and is styled per `sender`. Provide the content via `firstName`/`lastName`\n * (initials), `src` (image), or `children` (a custom icon). Decorative by\n * default (`aria-hidden`) unless named.\n *\n * @example\n * ```tsx\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * ```\n */\n Avatar: ChatMessageAvatar,\n /**\n * # ChatMessage.Body\n *\n * The rounded card that holds the message payload. Stacks its children\n * vertically; place `ChatMessage.Actions` last to pin actions to the bottom.\n * Long, unbreakable content wraps inside the card.\n *\n * @example\n * ```tsx\n * <ChatMessage.Body>\n * <Text>Message content</Text>\n * </ChatMessage.Body>\n * ```\n */\n Body: ChatMessageBody,\n /**\n * # ChatMessage.Actions\n *\n * A layout-only, right-aligned row for action buttons, rendered inside the\n * body. Consumers provide the buttons.\n *\n * @example\n * ```tsx\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Dismiss</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * ```\n */\n Actions: ChatMessageActions,\n /**\n * # ChatMessage.Meta\n *\n * A layout-only `space-between` row rendered below the body. Consumers\n * provide the content (timestamp, trust affordances, reaction icons, links).\n *\n * @example\n * ```tsx\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * ```\n */\n Meta: ChatMessageMeta,\n /**\n * # ChatMessage.Typing\n *\n * An animated \"generating…\" indicator (Nimbus `ActivityIndicator`) for a\n * streaming reply. Render it as the body's payload while the response\n * streams; pass a visible label as `children` for a per-message affordance.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\" isStreaming>\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <ChatMessage.Typing>Agent is typing…</ChatMessage.Typing>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Typing: ChatMessageTyping,\n};\n\nexport {\n ChatMessageRoot as _ChatMessageRoot,\n ChatMessageAvatar as _ChatMessageAvatar,\n ChatMessageBody as _ChatMessageBody,\n ChatMessageActions as _ChatMessageActions,\n ChatMessageMeta as _ChatMessageMeta,\n ChatMessageTyping as _ChatMessageTyping,\n};\n"],"mappings":"4RAWA,GAAM,CAAE,eAAc,gBAAA,EAAA,EAAA,wBAAA,CAAwC,CAC5D,IAAK,mBACP,CAAC,EAOY,EAGT,EAAuD,UAAW,MAAM,EAM/D,EAGT,EAAwD,MAAO,QAAQ,EAK9D,EAGT,EAAsD,MAAO,MAAM,EAK1D,EAGT,EAAyD,MAAO,SAAS,EAKhE,EAGT,EAAsD,MAAO,MAAM,EAM1D,EAGT,EAAwD,MAAO,QAAQ,EChD9D,GAAA,EAAA,EAAA,cAAA,CAA4D,CACvE,OAAQ,OACV,CAAC,EAEY,OAAA,EAAA,EAAA,WAAA,CAAyC,CAAkB,ECI3D,EAAmB,GAA4B,CAC1D,GAAM,CAAE,MAAK,WAAU,cAAa,GAAG,GAAc,EAG/C,CAAC,EAAa,IAAA,EAAA,EAAA,cAAA,CADS,CAAE,IAAK,mBAAoB,CAClB,CAAA,CAAO,kBAAkB,CAAS,EAClE,CAAC,EAAY,GAAmB,EAAA,EAAkB,CAAc,EAMhE,EAA4B,EAAM,SAAW,OAAS,OAAS,QAI/D,GAAA,EAAA,EAAA,QAAA,MAA8B,CAAE,QAAO,GAAI,CAAC,CAAM,CAAC,EAEzD,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAIE,YAAW,GAAe,IAAA,GACrB,MACL,GAAI,EACJ,GAAI,EACJ,GAAI,YAEJ,EAAA,EAAA,IAAA,CAAC,EAAmB,SAApB,CAA6B,MAAO,EACjC,UAC0B,CAAA,CACV,CAAA,CAEzB,EAEA,EAAgB,YAAc,mBC5B9B,IAAa,GAAqB,CAChC,MACA,OAAO,KACP,UACA,WACA,GAAG,KACyB,CAC5B,GAAM,CAAE,UAAW,EAAsB,EAEnC,EAAkB,IAAY,IAAW,OAAS,SAAW,SAE7D,EACJ,EAAM,WAAa,MACnB,EAAM,UAAY,MAClB,EAAM,eAAiB,MACvB,EAAM,oBAAsB,KAKxB,EACJ,GAAY,MACZ,EAAM,WAAa,MACnB,EAAM,UAAY,MAClB,EAAM,KAAO,KACT,EACJ,IACC,IAAW,SAAW,GAAiB,EAAA,EAAA,IAAA,CAAC,EAAA,YAAD,CAAc,CAAA,EAAI,IAAA,IAE5D,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CACO,MACC,OACN,QAAS,EAGT,cAAa,IAAU,IAAA,GACvB,GAAI,WAEH,CACK,CAAA,CACa,CAAA,CAE3B,EAEA,EAAkB,YAAc,qBClEhC,IAAa,GAAmB,CAC9B,MACA,WACA,GAAG,MAGD,EAAA,EAAA,IAAA,CAAC,EAAD,CAA0B,MAAK,GAAI,EAChC,UACkB,CAAA,EAIzB,EAAgB,YAAc,mBCd9B,IAAa,GAAsB,CACjC,MACA,WACA,GAAG,MAGD,EAAA,EAAA,IAAA,CAAC,EAAD,CAA6B,MAAK,GAAI,EACnC,UACqB,CAAA,EAI5B,EAAmB,YAAc,sBCTjC,IAAa,GAAmB,CAC9B,MACA,WACA,GAAG,MAGD,EAAA,EAAA,IAAA,CAAC,EAAD,CAA0B,MAAK,GAAI,EAChC,UACkB,CAAA,EAIzB,EAAgB,YAAc,mBCN9B,IAAa,GAAqB,CAChC,MACA,WACA,GAAG,MAGD,EAAA,EAAA,KAAA,CAAC,EAAD,CAA4B,MAAK,GAAI,WAArC,EACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CAAoB,CAAA,EACnB,CACoB,IAI3B,EAAkB,YAAc,qBCYhC,IAAa,EAAc,CAuBzB,KAAM,EAgBN,OAAQ,EAeR,KAAM,EAeN,QAAS,EAeT,KAAM,EAoBN,OAAQ,CACV"}
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./activity-indicator-SMeTxJxm.esm.js";
2
2
  import { t } from "./avatar-9QAY7VNI.esm.js";
3
- import { t as n } from "./extract-style-props-BPnHKmWR.esm.js";
3
+ import { t as n } from "./extract-style-props-D519tVOc.esm.js";
4
4
  import { createContext as r, useContext as i, useMemo as a } from "react";
5
5
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
6
  import { AutoAwesome as c } from "@commercetools/nimbus-icons";
@@ -80,4 +80,4 @@ var D = {
80
80
  //#endregion
81
81
  export { C as a, w as i, E as n, S as o, T as r, x as s, D as t };
82
82
 
83
- //# sourceMappingURL=chat-message-CDLvkgaw.esm.js.map
83
+ //# sourceMappingURL=chat-message-D9947sio.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message-CDLvkgaw.esm.js","names":[],"sources":["../../src/components/chat-message/chat-message.slots.tsx","../../src/components/chat-message/chat-message.context.ts","../../src/components/chat-message/components/chat-message.root.tsx","../../src/components/chat-message/components/chat-message.avatar.tsx","../../src/components/chat-message/components/chat-message.body.tsx","../../src/components/chat-message/components/chat-message.actions.tsx","../../src/components/chat-message/components/chat-message.meta.tsx","../../src/components/chat-message/components/chat-message.typing.tsx","../../src/components/chat-message/chat-message.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"../../type-utils/slot-types\";\nimport type {\n ChatMessageRootSlotProps,\n ChatMessageAvatarSlotProps,\n ChatMessageBodySlotProps,\n ChatMessageActionsSlotProps,\n ChatMessageMetaSlotProps,\n ChatMessageTypingSlotProps,\n} from \"./chat-message.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusChatMessage\",\n});\n\n/**\n * Root slot — establishes the recipe context and owns the grid layout. The\n * component defaults its rendered element to `<article>` (a feed item, per the\n * ARIA APG); consumers can override via `as`.\n */\nexport const ChatMessageRootSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageRootSlotProps\n> = withProvider<HTMLDivElement, ChatMessageRootSlotProps>(\"article\", \"root\");\n\n/**\n * Avatar slot — a layout wrapper for the interior Nimbus `Avatar`. The nested\n * avatar's background/color are set per `sender` from the recipe.\n */\nexport const ChatMessageAvatarSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageAvatarSlotProps\n> = withContext<HTMLDivElement, ChatMessageAvatarSlotProps>(\"div\", \"avatar\");\n\n/**\n * Body slot — the rounded card that holds the message payload.\n */\nexport const ChatMessageBodySlot: SlotComponent<\n HTMLDivElement,\n ChatMessageBodySlotProps\n> = withContext<HTMLDivElement, ChatMessageBodySlotProps>(\"div\", \"body\");\n\n/**\n * Actions slot — layout-only row for buttons, rendered inside the body.\n */\nexport const ChatMessageActionsSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageActionsSlotProps\n> = withContext<HTMLDivElement, ChatMessageActionsSlotProps>(\"div\", \"actions\");\n\n/**\n * Meta slot — layout-only row rendered below the body.\n */\nexport const ChatMessageMetaSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageMetaSlotProps\n> = withContext<HTMLDivElement, ChatMessageMetaSlotProps>(\"div\", \"meta\");\n\n/**\n * Typing slot — layout wrapper for the animated typing indicator (and an\n * optional visible label), rendered inside the body while a reply streams.\n */\nexport const ChatMessageTypingSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageTypingSlotProps\n> = withContext<HTMLDivElement, ChatMessageTypingSlotProps>(\"div\", \"typing\");\n","import { createContext, useContext } from \"react\";\n\n/** Which participant sent the message. */\nexport type ChatMessageSender = \"user\" | \"agent\";\n\nexport interface ChatMessageContextValue {\n /** The resolved `sender` published by `ChatMessage.Root` (default `\"agent\"`). */\n sender: ChatMessageSender;\n}\n\n/**\n * Carries the message's `sender` from `ChatMessage.Root` to its parts, so a part\n * can derive a `sender`-dependent default that CSS alone can't express (e.g. the\n * avatar's `variant`). The `\"agent\"` default is a safety net: a sender-aware part\n * accidentally rendered outside a `Root` falls back to agent styling rather than\n * throwing (it should always be composed under a `Root` in practice).\n */\nexport const ChatMessageContext = createContext<ChatMessageContextValue>({\n sender: \"agent\",\n});\n\nexport const useChatMessageContext = () => useContext(ChatMessageContext);\n","import { useMemo } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\nimport { ChatMessageRootSlot } from \"../chat-message.slots\";\nimport { ChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageSender } from \"../chat-message.context\";\nimport type { ChatMessageProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Root - The grid container for a single chat message.\n *\n * Establishes the styling context and lays out the avatar, body and optional\n * meta row. The `sender` prop selects the layout direction (avatar leading for\n * `\"agent\"`, trailing for `\"user\"`) and the sender-specific styling;\n * `tone=\"error\"` tints the body for a failed generation.\n *\n * Renders a semantic `<article>` by default (a feed item, per the ARIA APG) so\n * a message is a discrete node in the accessibility tree. This is a *default*,\n * not a mandate: override the element with `as` (e.g. `as=\"li\"` inside a list)\n * and name the message for assistive tech with `aria-label`/`aria-labelledby`.\n * The surrounding feed / live region is the consumer's to compose — see the\n * accessibility docs.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageRoot = (props: ChatMessageProps) => {\n const { ref, children, isStreaming, ...restProps } = props;\n\n const recipe = useSlotRecipe({ key: \"nimbusChatMessage\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(restProps);\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Publish the resolved `sender` to the parts so they can derive\n // `sender`-dependent defaults that CSS can't (e.g. the avatar's `variant`).\n // Read from `props` (it still flows to the slot via `restProps`); anything but\n // an explicit \"user\" resolves to the recipe's default of \"agent\".\n const sender: ChatMessageSender = props.sender === \"user\" ? \"user\" : \"agent\";\n\n // Stable context identity so the parts (Avatar/Body/Meta) don't re-render on\n // every Root render — only when `sender` actually changes.\n const contextValue = useMemo(() => ({ sender }), [sender]);\n\n return (\n <ChatMessageRootSlot\n // The slot renders `<article>` by default (see chat-message.slots.tsx);\n // `functionalProps` is spread last so a consumer-supplied `as` / `role` /\n // `aria-*` always wins.\n aria-busy={isStreaming || undefined}\n ref={ref}\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n >\n <ChatMessageContext.Provider value={contextValue}>\n {children}\n </ChatMessageContext.Provider>\n </ChatMessageRootSlot>\n );\n};\n\nChatMessageRoot.displayName = \"ChatMessage.Root\";\n","import { AutoAwesome } from \"@commercetools/nimbus-icons\";\nimport { Avatar } from \"@/components/avatar/avatar\";\nimport { ChatMessageAvatarSlot } from \"../chat-message.slots\";\nimport { useChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageAvatarProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Avatar - The sender's avatar.\n *\n * Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`, a 32px box per the\n * Figma spec). Unless the consumer sets `variant` explicitly, the variant\n * defaults per `sender`: `solid` for the `agent` (a strong branded glyph) and\n * `subtle` for the `user` (a softer surface that matches the user body's tint).\n * The color *palette* comes from the ChatMessage recipe (`primary`), so\n * consumers only supply the avatar content (initials via `firstName`/\n * `lastName`, an image `src`, or a custom icon via `children`).\n *\n * An **unconfigured** avatar (no content supplied) falls back to a\n * sender-appropriate generic glyph: the AI `AutoAwesome` sparkle for the\n * `agent`, and the `Avatar`'s built-in person icon for the `user`.\n *\n * Props flow to the **inner `Avatar`**, not to the grid-cell wrapper — the\n * wrapper only exists to occupy the avatar column.\n *\n * Accessibility: the avatar is **decorative by default** (`aria-hidden`). A\n * sender glyph duplicates information better conveyed by the message's\n * accessible name and column, and a nameless `Avatar` would otherwise announce\n * a misleading generic label. Passing `firstName`/`lastName` or an explicit\n * `aria-label` opts it back into the accessibility tree with a real name.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageAvatar = ({\n ref,\n size = \"xs\",\n variant,\n children,\n ...props\n}: ChatMessageAvatarProps) => {\n const { sender } = useChatMessageContext();\n // Consumer's explicit `variant` wins; otherwise default per sender.\n const resolvedVariant = variant ?? (sender === \"user\" ? \"subtle\" : \"solid\");\n\n const isNamed =\n props.firstName != null ||\n props.lastName != null ||\n props[\"aria-label\"] != null ||\n props[\"aria-labelledby\"] != null;\n\n // When the consumer supplies no content, give the agent an AI glyph instead\n // of the person fallback. The user keeps `Avatar`'s built-in person icon\n // (rendered when `children` is absent).\n const isUnconfigured =\n children == null &&\n props.firstName == null &&\n props.lastName == null &&\n props.src == null;\n const resolvedChildren =\n children ??\n (sender === \"agent\" && isUnconfigured ? <AutoAwesome /> : undefined);\n\n return (\n <ChatMessageAvatarSlot>\n <Avatar\n ref={ref}\n size={size}\n variant={resolvedVariant}\n // Decorative unless the consumer named it; `props` is spread last so an\n // explicit `aria-hidden` from the consumer still wins.\n aria-hidden={isNamed ? undefined : true}\n {...props}\n >\n {resolvedChildren}\n </Avatar>\n </ChatMessageAvatarSlot>\n );\n};\n\nChatMessageAvatar.displayName = \"ChatMessage.Avatar\";\n","import { ChatMessageBodySlot } from \"../chat-message.slots\";\nimport type { ChatMessageBodyProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Body - The rounded card that holds the message payload.\n *\n * Stacks its children vertically; place `ChatMessage.Actions` as the last child\n * to pin action buttons to the bottom of the body. Background, padding,\n * border-radius and max-width are set per `sender` by the recipe.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageBody = ({\n ref,\n children,\n ...props\n}: ChatMessageBodyProps) => {\n return (\n <ChatMessageBodySlot ref={ref} {...props}>\n {children}\n </ChatMessageBodySlot>\n );\n};\n\nChatMessageBody.displayName = \"ChatMessage.Body\";\n","import { ChatMessageActionsSlot } from \"../chat-message.slots\";\nimport type { ChatMessageActionsProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Actions - Layout-only row for action buttons inside the body.\n *\n * Renders a right-aligned, wrapping flex row. Consumers provide the buttons.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageActions = ({\n ref,\n children,\n ...props\n}: ChatMessageActionsProps) => {\n return (\n <ChatMessageActionsSlot ref={ref} {...props}>\n {children}\n </ChatMessageActionsSlot>\n );\n};\n\nChatMessageActions.displayName = \"ChatMessage.Actions\";\n","import { ChatMessageMetaSlot } from \"../chat-message.slots\";\nimport type { ChatMessageMetaProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Meta - Layout-only row rendered below the body.\n *\n * Renders a `space-between` flex row aligned with the body. Consumers provide\n * the content (timestamp, provenance/trust links, reaction icons). With a\n * single child, `space-between` leaves it at the start of the row — pair it\n * with a spacer or a second element to push content to the end.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageMeta = ({\n ref,\n children,\n ...props\n}: ChatMessageMetaProps) => {\n return (\n <ChatMessageMetaSlot ref={ref} {...props}>\n {children}\n </ChatMessageMetaSlot>\n );\n};\n\nChatMessageMeta.displayName = \"ChatMessage.Meta\";\n","import { ActivityIndicator } from \"@/components/activity-indicator/activity-indicator\";\nimport { ChatMessageTypingSlot } from \"../chat-message.slots\";\nimport type { ChatMessageTypingProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Typing - Animated \"generating…\" indicator for a streaming reply.\n *\n * Renders the Nimbus `ActivityIndicator` (three bouncing dots) inside the\n * body while a response streams. Place it as the body's payload and swap it\n * for the real content once the stream settles.\n *\n * Accessibility: the dots are decorative (`ActivityIndicator` is always\n * `aria-hidden`). Pass a visible label as `children` (e.g. \"Agent is\n * typing…\") for a per-message affordance, and/or set `isStreaming` on\n * `ChatMessage.Root` (which sets `aria-busy`) — the coalesced live-region\n * announcement stays with the consumer's feed/turn container.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageTyping = ({\n ref,\n children,\n ...props\n}: ChatMessageTypingProps) => {\n return (\n <ChatMessageTypingSlot ref={ref} {...props}>\n <ActivityIndicator />\n {children}\n </ChatMessageTypingSlot>\n );\n};\n\nChatMessageTyping.displayName = \"ChatMessage.Typing\";\n","import {\n ChatMessageRoot,\n ChatMessageAvatar,\n ChatMessageBody,\n ChatMessageActions,\n ChatMessageMeta,\n ChatMessageTyping,\n} from \"./components\";\n\n/**\n * ChatMessage\n * ============================================================\n * A compound component representing a single message in an AI chat feed.\n * It provides a body container, an avatar, and layout-only slots that\n * consumers fill with their own content: actions inside the body, a meta\n * below it, and a typing indicator for streaming replies. The `sender` prop\n * drives the layout direction and sender-specific styling, and `tone` flags a\n * failed generation.\n *\n * ChatMessage renders a single message; composing the surrounding feed and any\n * live region is the consumer's job — see the accessibility documentation.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/chat-message}\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\">\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <Text>Here is the summary you asked for.</Text>\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Save as draft</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * </ChatMessage.Body>\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * </ChatMessage.Root>\n * ```\n */\nexport const ChatMessage = {\n /**\n * # ChatMessage.Root\n *\n * The grid container for a single message. Establishes the styling context\n * and lays out the avatar, body and optional meta row. Accepts `sender`\n * (`\"user\" | \"agent\"`) which controls layout direction\n * and styling, `tone` (`\"neutral\" | \"error\"`) to flag a failed generation,\n * and `isStreaming` to mark the message as still generating (sets\n * `aria-busy`). The palette (user surface tint + avatar) defaults to\n * `primary`; pass `colorPalette` to retint the whole message. Renders a\n * semantic `<article>` by default; override with `as`.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"user\" aria-label=\"Message from Ada Lovelace\">\n * <ChatMessage.Avatar firstName=\"Ada\" lastName=\"Lovelace\" />\n * <ChatMessage.Body>\n * <Text>Can you summarise this order?</Text>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Root: ChatMessageRoot,\n /**\n * # ChatMessage.Avatar\n *\n * The sender's avatar. Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`)\n * and is styled per `sender`. Provide the content via `firstName`/`lastName`\n * (initials), `src` (image), or `children` (a custom icon). Decorative by\n * default (`aria-hidden`) unless named.\n *\n * @example\n * ```tsx\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * ```\n */\n Avatar: ChatMessageAvatar,\n /**\n * # ChatMessage.Body\n *\n * The rounded card that holds the message payload. Stacks its children\n * vertically; place `ChatMessage.Actions` last to pin actions to the bottom.\n * Long, unbreakable content wraps inside the card.\n *\n * @example\n * ```tsx\n * <ChatMessage.Body>\n * <Text>Message content</Text>\n * </ChatMessage.Body>\n * ```\n */\n Body: ChatMessageBody,\n /**\n * # ChatMessage.Actions\n *\n * A layout-only, right-aligned row for action buttons, rendered inside the\n * body. Consumers provide the buttons.\n *\n * @example\n * ```tsx\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Dismiss</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * ```\n */\n Actions: ChatMessageActions,\n /**\n * # ChatMessage.Meta\n *\n * A layout-only `space-between` row rendered below the body. Consumers\n * provide the content (timestamp, trust affordances, reaction icons, links).\n *\n * @example\n * ```tsx\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * ```\n */\n Meta: ChatMessageMeta,\n /**\n * # ChatMessage.Typing\n *\n * An animated \"generating…\" indicator (Nimbus `ActivityIndicator`) for a\n * streaming reply. Render it as the body's payload while the response\n * streams; pass a visible label as `children` for a per-message affordance.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\" isStreaming>\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <ChatMessage.Typing>Agent is typing…</ChatMessage.Typing>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Typing: ChatMessageTyping,\n};\n\nexport {\n ChatMessageRoot as _ChatMessageRoot,\n ChatMessageAvatar as _ChatMessageAvatar,\n ChatMessageBody as _ChatMessageBody,\n ChatMessageActions as _ChatMessageActions,\n ChatMessageMeta as _ChatMessageMeta,\n ChatMessageTyping as _ChatMessageTyping,\n};\n"],"mappings":";;;;;;;;AAWA,IAAM,EAAE,iBAAc,mBAAgB,EAAwB,EAC5D,KAAK,oBACP,CAAC,GAOY,IAGT,EAAuD,WAAW,MAAM,GAM/D,IAGT,EAAwD,OAAO,QAAQ,GAK9D,IAGT,EAAsD,OAAO,MAAM,GAK1D,IAGT,EAAyD,OAAO,SAAS,GAKhE,IAGT,EAAsD,OAAO,MAAM,GAM1D,IAGT,EAAwD,OAAO,QAAQ,GChD9D,IAAqB,EAAuC,EACvE,QAAQ,QACV,CAAC,GAEY,UAA8B,EAAW,CAAkB,GCI3D,KAAmB,MAA4B;CAC1D,IAAM,EAAE,QAAK,aAAU,gBAAa,GAAG,MAAc,GAG/C,CAAC,GAAa,KADL,EAAc,EAAE,KAAK,oBAAoB,CAClB,CAAA,CAAO,kBAAkB,CAAS,GAClE,CAAC,GAAY,KAAmB,EAAkB,CAAc,GAMhE,IAA4B,EAAM,WAAW,SAAS,SAAS,SAI/D,IAAe,SAAe,EAAE,UAAO,IAAI,CAAC,CAAM,CAAC;CAEzD,OACE,kBAAC,GAAD;EAIE,aAAW,KAAe,KAAA;EACrB;EACL,GAAI;EACJ,GAAI;EACJ,GAAI;YAEJ,kBAAC,EAAmB,UAApB;GAA6B,OAAO;GACjC;EAC0B,CAAA;CACV,CAAA;AAEzB;AAEA,EAAgB,cAAc;;;AC5B9B,IAAa,KAAqB,EAChC,QACA,UAAO,MACP,YACA,aACA,GAAG,QACyB;CAC5B,IAAM,EAAE,cAAW,EAAsB,GAEnC,IAAkB,MAAY,MAAW,SAAS,WAAW,UAE7D,IACJ,EAAM,aAAa,QACnB,EAAM,YAAY,QAClB,EAAM,iBAAiB,QACvB,EAAM,sBAAsB,MAKxB,IACJ,KAAY,QACZ,EAAM,aAAa,QACnB,EAAM,YAAY,QAClB,EAAM,OAAO,MACT,IACJ,MACC,MAAW,WAAW,IAAiB,kBAAC,GAAD,CAAc,CAAA,IAAI,KAAA;CAE5D,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACO;EACC;EACN,SAAS;EAGT,eAAa,MAAU,KAAA;EACvB,GAAI;YAEH;CACK,CAAA,EACa,CAAA;AAE3B;AAEA,EAAkB,cAAc;;;AClEhC,IAAa,KAAmB,EAC9B,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA0B;CAAK,GAAI;CAChC;AACkB,CAAA;AAIzB,EAAgB,cAAc;;;ACd9B,IAAa,KAAsB,EACjC,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA6B;CAAK,GAAI;CACnC;AACqB,CAAA;AAI5B,EAAmB,cAAc;;;ACTjC,IAAa,KAAmB,EAC9B,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA0B;CAAK,GAAI;CAChC;AACkB,CAAA;AAIzB,EAAgB,cAAc;;;ACN9B,IAAa,KAAqB,EAChC,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA4B;CAAK,GAAI;WAArC,CACE,kBAAC,GAAD,CAAoB,CAAA,GACnB,CACoB;;AAI3B,EAAkB,cAAc;;;ACYhC,IAAa,IAAc;CAuBzB,MAAM;CAgBN,QAAQ;CAeR,MAAM;CAeN,SAAS;CAeT,MAAM;CAoBN,QAAQ;AACV"}
1
+ {"version":3,"file":"chat-message-D9947sio.esm.js","names":[],"sources":["../../src/components/chat-message/chat-message.slots.tsx","../../src/components/chat-message/chat-message.context.ts","../../src/components/chat-message/components/chat-message.root.tsx","../../src/components/chat-message/components/chat-message.avatar.tsx","../../src/components/chat-message/components/chat-message.body.tsx","../../src/components/chat-message/components/chat-message.actions.tsx","../../src/components/chat-message/components/chat-message.meta.tsx","../../src/components/chat-message/components/chat-message.typing.tsx","../../src/components/chat-message/chat-message.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"../../type-utils/slot-types\";\nimport type {\n ChatMessageRootSlotProps,\n ChatMessageAvatarSlotProps,\n ChatMessageBodySlotProps,\n ChatMessageActionsSlotProps,\n ChatMessageMetaSlotProps,\n ChatMessageTypingSlotProps,\n} from \"./chat-message.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusChatMessage\",\n});\n\n/**\n * Root slot — establishes the recipe context and owns the grid layout. The\n * component defaults its rendered element to `<article>` (a feed item, per the\n * ARIA APG); consumers can override via `as`.\n */\nexport const ChatMessageRootSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageRootSlotProps\n> = withProvider<HTMLDivElement, ChatMessageRootSlotProps>(\"article\", \"root\");\n\n/**\n * Avatar slot — a layout wrapper for the interior Nimbus `Avatar`. The nested\n * avatar's background/color are set per `sender` from the recipe.\n */\nexport const ChatMessageAvatarSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageAvatarSlotProps\n> = withContext<HTMLDivElement, ChatMessageAvatarSlotProps>(\"div\", \"avatar\");\n\n/**\n * Body slot — the rounded card that holds the message payload.\n */\nexport const ChatMessageBodySlot: SlotComponent<\n HTMLDivElement,\n ChatMessageBodySlotProps\n> = withContext<HTMLDivElement, ChatMessageBodySlotProps>(\"div\", \"body\");\n\n/**\n * Actions slot — layout-only row for buttons, rendered inside the body.\n */\nexport const ChatMessageActionsSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageActionsSlotProps\n> = withContext<HTMLDivElement, ChatMessageActionsSlotProps>(\"div\", \"actions\");\n\n/**\n * Meta slot — layout-only row rendered below the body.\n */\nexport const ChatMessageMetaSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageMetaSlotProps\n> = withContext<HTMLDivElement, ChatMessageMetaSlotProps>(\"div\", \"meta\");\n\n/**\n * Typing slot — layout wrapper for the animated typing indicator (and an\n * optional visible label), rendered inside the body while a reply streams.\n */\nexport const ChatMessageTypingSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageTypingSlotProps\n> = withContext<HTMLDivElement, ChatMessageTypingSlotProps>(\"div\", \"typing\");\n","import { createContext, useContext } from \"react\";\n\n/** Which participant sent the message. */\nexport type ChatMessageSender = \"user\" | \"agent\";\n\nexport interface ChatMessageContextValue {\n /** The resolved `sender` published by `ChatMessage.Root` (default `\"agent\"`). */\n sender: ChatMessageSender;\n}\n\n/**\n * Carries the message's `sender` from `ChatMessage.Root` to its parts, so a part\n * can derive a `sender`-dependent default that CSS alone can't express (e.g. the\n * avatar's `variant`). The `\"agent\"` default is a safety net: a sender-aware part\n * accidentally rendered outside a `Root` falls back to agent styling rather than\n * throwing (it should always be composed under a `Root` in practice).\n */\nexport const ChatMessageContext = createContext<ChatMessageContextValue>({\n sender: \"agent\",\n});\n\nexport const useChatMessageContext = () => useContext(ChatMessageContext);\n","import { useMemo } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\nimport { ChatMessageRootSlot } from \"../chat-message.slots\";\nimport { ChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageSender } from \"../chat-message.context\";\nimport type { ChatMessageProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Root - The grid container for a single chat message.\n *\n * Establishes the styling context and lays out the avatar, body and optional\n * meta row. The `sender` prop selects the layout direction (avatar leading for\n * `\"agent\"`, trailing for `\"user\"`) and the sender-specific styling;\n * `tone=\"error\"` tints the body for a failed generation.\n *\n * Renders a semantic `<article>` by default (a feed item, per the ARIA APG) so\n * a message is a discrete node in the accessibility tree. This is a *default*,\n * not a mandate: override the element with `as` (e.g. `as=\"li\"` inside a list)\n * and name the message for assistive tech with `aria-label`/`aria-labelledby`.\n * The surrounding feed / live region is the consumer's to compose — see the\n * accessibility docs.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageRoot = (props: ChatMessageProps) => {\n const { ref, children, isStreaming, ...restProps } = props;\n\n const recipe = useSlotRecipe({ key: \"nimbusChatMessage\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(restProps);\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Publish the resolved `sender` to the parts so they can derive\n // `sender`-dependent defaults that CSS can't (e.g. the avatar's `variant`).\n // Read from `props` (it still flows to the slot via `restProps`); anything but\n // an explicit \"user\" resolves to the recipe's default of \"agent\".\n const sender: ChatMessageSender = props.sender === \"user\" ? \"user\" : \"agent\";\n\n // Stable context identity so the parts (Avatar/Body/Meta) don't re-render on\n // every Root render — only when `sender` actually changes.\n const contextValue = useMemo(() => ({ sender }), [sender]);\n\n return (\n <ChatMessageRootSlot\n // The slot renders `<article>` by default (see chat-message.slots.tsx);\n // `functionalProps` is spread last so a consumer-supplied `as` / `role` /\n // `aria-*` always wins.\n aria-busy={isStreaming || undefined}\n ref={ref}\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n >\n <ChatMessageContext.Provider value={contextValue}>\n {children}\n </ChatMessageContext.Provider>\n </ChatMessageRootSlot>\n );\n};\n\nChatMessageRoot.displayName = \"ChatMessage.Root\";\n","import { AutoAwesome } from \"@commercetools/nimbus-icons\";\nimport { Avatar } from \"@/components/avatar/avatar\";\nimport { ChatMessageAvatarSlot } from \"../chat-message.slots\";\nimport { useChatMessageContext } from \"../chat-message.context\";\nimport type { ChatMessageAvatarProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Avatar - The sender's avatar.\n *\n * Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`, a 32px box per the\n * Figma spec). Unless the consumer sets `variant` explicitly, the variant\n * defaults per `sender`: `solid` for the `agent` (a strong branded glyph) and\n * `subtle` for the `user` (a softer surface that matches the user body's tint).\n * The color *palette* comes from the ChatMessage recipe (`primary`), so\n * consumers only supply the avatar content (initials via `firstName`/\n * `lastName`, an image `src`, or a custom icon via `children`).\n *\n * An **unconfigured** avatar (no content supplied) falls back to a\n * sender-appropriate generic glyph: the AI `AutoAwesome` sparkle for the\n * `agent`, and the `Avatar`'s built-in person icon for the `user`.\n *\n * Props flow to the **inner `Avatar`**, not to the grid-cell wrapper — the\n * wrapper only exists to occupy the avatar column.\n *\n * Accessibility: the avatar is **decorative by default** (`aria-hidden`). A\n * sender glyph duplicates information better conveyed by the message's\n * accessible name and column, and a nameless `Avatar` would otherwise announce\n * a misleading generic label. Passing `firstName`/`lastName` or an explicit\n * `aria-label` opts it back into the accessibility tree with a real name.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageAvatar = ({\n ref,\n size = \"xs\",\n variant,\n children,\n ...props\n}: ChatMessageAvatarProps) => {\n const { sender } = useChatMessageContext();\n // Consumer's explicit `variant` wins; otherwise default per sender.\n const resolvedVariant = variant ?? (sender === \"user\" ? \"subtle\" : \"solid\");\n\n const isNamed =\n props.firstName != null ||\n props.lastName != null ||\n props[\"aria-label\"] != null ||\n props[\"aria-labelledby\"] != null;\n\n // When the consumer supplies no content, give the agent an AI glyph instead\n // of the person fallback. The user keeps `Avatar`'s built-in person icon\n // (rendered when `children` is absent).\n const isUnconfigured =\n children == null &&\n props.firstName == null &&\n props.lastName == null &&\n props.src == null;\n const resolvedChildren =\n children ??\n (sender === \"agent\" && isUnconfigured ? <AutoAwesome /> : undefined);\n\n return (\n <ChatMessageAvatarSlot>\n <Avatar\n ref={ref}\n size={size}\n variant={resolvedVariant}\n // Decorative unless the consumer named it; `props` is spread last so an\n // explicit `aria-hidden` from the consumer still wins.\n aria-hidden={isNamed ? undefined : true}\n {...props}\n >\n {resolvedChildren}\n </Avatar>\n </ChatMessageAvatarSlot>\n );\n};\n\nChatMessageAvatar.displayName = \"ChatMessage.Avatar\";\n","import { ChatMessageBodySlot } from \"../chat-message.slots\";\nimport type { ChatMessageBodyProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Body - The rounded card that holds the message payload.\n *\n * Stacks its children vertically; place `ChatMessage.Actions` as the last child\n * to pin action buttons to the bottom of the body. Background, padding,\n * border-radius and max-width are set per `sender` by the recipe.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageBody = ({\n ref,\n children,\n ...props\n}: ChatMessageBodyProps) => {\n return (\n <ChatMessageBodySlot ref={ref} {...props}>\n {children}\n </ChatMessageBodySlot>\n );\n};\n\nChatMessageBody.displayName = \"ChatMessage.Body\";\n","import { ChatMessageActionsSlot } from \"../chat-message.slots\";\nimport type { ChatMessageActionsProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Actions - Layout-only row for action buttons inside the body.\n *\n * Renders a right-aligned, wrapping flex row. Consumers provide the buttons.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageActions = ({\n ref,\n children,\n ...props\n}: ChatMessageActionsProps) => {\n return (\n <ChatMessageActionsSlot ref={ref} {...props}>\n {children}\n </ChatMessageActionsSlot>\n );\n};\n\nChatMessageActions.displayName = \"ChatMessage.Actions\";\n","import { ChatMessageMetaSlot } from \"../chat-message.slots\";\nimport type { ChatMessageMetaProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Meta - Layout-only row rendered below the body.\n *\n * Renders a `space-between` flex row aligned with the body. Consumers provide\n * the content (timestamp, provenance/trust links, reaction icons). With a\n * single child, `space-between` leaves it at the start of the row — pair it\n * with a spacer or a second element to push content to the end.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageMeta = ({\n ref,\n children,\n ...props\n}: ChatMessageMetaProps) => {\n return (\n <ChatMessageMetaSlot ref={ref} {...props}>\n {children}\n </ChatMessageMetaSlot>\n );\n};\n\nChatMessageMeta.displayName = \"ChatMessage.Meta\";\n","import { ActivityIndicator } from \"@/components/activity-indicator/activity-indicator\";\nimport { ChatMessageTypingSlot } from \"../chat-message.slots\";\nimport type { ChatMessageTypingProps } from \"../chat-message.types\";\n\n/**\n * ChatMessage.Typing - Animated \"generating…\" indicator for a streaming reply.\n *\n * Renders the Nimbus `ActivityIndicator` (three bouncing dots) inside the\n * body while a response streams. Place it as the body's payload and swap it\n * for the real content once the stream settles.\n *\n * Accessibility: the dots are decorative (`ActivityIndicator` is always\n * `aria-hidden`). Pass a visible label as `children` (e.g. \"Agent is\n * typing…\") for a per-message affordance, and/or set `isStreaming` on\n * `ChatMessage.Root` (which sets `aria-busy`) — the coalesced live-region\n * announcement stays with the consumer's feed/turn container.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageTyping = ({\n ref,\n children,\n ...props\n}: ChatMessageTypingProps) => {\n return (\n <ChatMessageTypingSlot ref={ref} {...props}>\n <ActivityIndicator />\n {children}\n </ChatMessageTypingSlot>\n );\n};\n\nChatMessageTyping.displayName = \"ChatMessage.Typing\";\n","import {\n ChatMessageRoot,\n ChatMessageAvatar,\n ChatMessageBody,\n ChatMessageActions,\n ChatMessageMeta,\n ChatMessageTyping,\n} from \"./components\";\n\n/**\n * ChatMessage\n * ============================================================\n * A compound component representing a single message in an AI chat feed.\n * It provides a body container, an avatar, and layout-only slots that\n * consumers fill with their own content: actions inside the body, a meta\n * below it, and a typing indicator for streaming replies. The `sender` prop\n * drives the layout direction and sender-specific styling, and `tone` flags a\n * failed generation.\n *\n * ChatMessage renders a single message; composing the surrounding feed and any\n * live region is the consumer's job — see the accessibility documentation.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/chat-message}\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\">\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <Text>Here is the summary you asked for.</Text>\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Save as draft</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * </ChatMessage.Body>\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * </ChatMessage.Root>\n * ```\n */\nexport const ChatMessage = {\n /**\n * # ChatMessage.Root\n *\n * The grid container for a single message. Establishes the styling context\n * and lays out the avatar, body and optional meta row. Accepts `sender`\n * (`\"user\" | \"agent\"`) which controls layout direction\n * and styling, `tone` (`\"neutral\" | \"error\"`) to flag a failed generation,\n * and `isStreaming` to mark the message as still generating (sets\n * `aria-busy`). The palette (user surface tint + avatar) defaults to\n * `primary`; pass `colorPalette` to retint the whole message. Renders a\n * semantic `<article>` by default; override with `as`.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"user\" aria-label=\"Message from Ada Lovelace\">\n * <ChatMessage.Avatar firstName=\"Ada\" lastName=\"Lovelace\" />\n * <ChatMessage.Body>\n * <Text>Can you summarise this order?</Text>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Root: ChatMessageRoot,\n /**\n * # ChatMessage.Avatar\n *\n * The sender's avatar. Wraps the Nimbus `Avatar` (defaulting to `size=\"xs\"`)\n * and is styled per `sender`. Provide the content via `firstName`/`lastName`\n * (initials), `src` (image), or `children` (a custom icon). Decorative by\n * default (`aria-hidden`) unless named.\n *\n * @example\n * ```tsx\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * ```\n */\n Avatar: ChatMessageAvatar,\n /**\n * # ChatMessage.Body\n *\n * The rounded card that holds the message payload. Stacks its children\n * vertically; place `ChatMessage.Actions` last to pin actions to the bottom.\n * Long, unbreakable content wraps inside the card.\n *\n * @example\n * ```tsx\n * <ChatMessage.Body>\n * <Text>Message content</Text>\n * </ChatMessage.Body>\n * ```\n */\n Body: ChatMessageBody,\n /**\n * # ChatMessage.Actions\n *\n * A layout-only, right-aligned row for action buttons, rendered inside the\n * body. Consumers provide the buttons.\n *\n * @example\n * ```tsx\n * <ChatMessage.Actions>\n * <Button variant=\"outline\">Dismiss</Button>\n * <Button variant=\"solid\">Approve</Button>\n * </ChatMessage.Actions>\n * ```\n */\n Actions: ChatMessageActions,\n /**\n * # ChatMessage.Meta\n *\n * A layout-only `space-between` row rendered below the body. Consumers\n * provide the content (timestamp, trust affordances, reaction icons, links).\n *\n * @example\n * ```tsx\n * <ChatMessage.Meta>\n * <Link>How was this generated?</Link>\n * <Text>Apr 13, 11:56pm</Text>\n * </ChatMessage.Meta>\n * ```\n */\n Meta: ChatMessageMeta,\n /**\n * # ChatMessage.Typing\n *\n * An animated \"generating…\" indicator (Nimbus `ActivityIndicator`) for a\n * streaming reply. Render it as the body's payload while the response\n * streams; pass a visible label as `children` for a per-message affordance.\n *\n * @example\n * ```tsx\n * <ChatMessage.Root sender=\"agent\" isStreaming>\n * <ChatMessage.Avatar>\n * <AutoAwesome />\n * </ChatMessage.Avatar>\n * <ChatMessage.Body>\n * <ChatMessage.Typing>Agent is typing…</ChatMessage.Typing>\n * </ChatMessage.Body>\n * </ChatMessage.Root>\n * ```\n */\n Typing: ChatMessageTyping,\n};\n\nexport {\n ChatMessageRoot as _ChatMessageRoot,\n ChatMessageAvatar as _ChatMessageAvatar,\n ChatMessageBody as _ChatMessageBody,\n ChatMessageActions as _ChatMessageActions,\n ChatMessageMeta as _ChatMessageMeta,\n ChatMessageTyping as _ChatMessageTyping,\n};\n"],"mappings":";;;;;;;;AAWA,IAAM,EAAE,iBAAc,mBAAgB,EAAwB,EAC5D,KAAK,oBACP,CAAC,GAOY,IAGT,EAAuD,WAAW,MAAM,GAM/D,IAGT,EAAwD,OAAO,QAAQ,GAK9D,IAGT,EAAsD,OAAO,MAAM,GAK1D,IAGT,EAAyD,OAAO,SAAS,GAKhE,IAGT,EAAsD,OAAO,MAAM,GAM1D,IAGT,EAAwD,OAAO,QAAQ,GChD9D,IAAqB,EAAuC,EACvE,QAAQ,QACV,CAAC,GAEY,UAA8B,EAAW,CAAkB,GCI3D,KAAmB,MAA4B;CAC1D,IAAM,EAAE,QAAK,aAAU,gBAAa,GAAG,MAAc,GAG/C,CAAC,GAAa,KADL,EAAc,EAAE,KAAK,oBAAoB,CAClB,CAAA,CAAO,kBAAkB,CAAS,GAClE,CAAC,GAAY,KAAmB,EAAkB,CAAc,GAMhE,IAA4B,EAAM,WAAW,SAAS,SAAS,SAI/D,IAAe,SAAe,EAAE,UAAO,IAAI,CAAC,CAAM,CAAC;CAEzD,OACE,kBAAC,GAAD;EAIE,aAAW,KAAe,KAAA;EACrB;EACL,GAAI;EACJ,GAAI;EACJ,GAAI;YAEJ,kBAAC,EAAmB,UAApB;GAA6B,OAAO;GACjC;EAC0B,CAAA;CACV,CAAA;AAEzB;AAEA,EAAgB,cAAc;;;AC5B9B,IAAa,KAAqB,EAChC,QACA,UAAO,MACP,YACA,aACA,GAAG,QACyB;CAC5B,IAAM,EAAE,cAAW,EAAsB,GAEnC,IAAkB,MAAY,MAAW,SAAS,WAAW,UAE7D,IACJ,EAAM,aAAa,QACnB,EAAM,YAAY,QAClB,EAAM,iBAAiB,QACvB,EAAM,sBAAsB,MAKxB,IACJ,KAAY,QACZ,EAAM,aAAa,QACnB,EAAM,YAAY,QAClB,EAAM,OAAO,MACT,IACJ,MACC,MAAW,WAAW,IAAiB,kBAAC,GAAD,CAAc,CAAA,IAAI,KAAA;CAE5D,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACO;EACC;EACN,SAAS;EAGT,eAAa,MAAU,KAAA;EACvB,GAAI;YAEH;CACK,CAAA,EACa,CAAA;AAE3B;AAEA,EAAkB,cAAc;;;AClEhC,IAAa,KAAmB,EAC9B,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA0B;CAAK,GAAI;CAChC;AACkB,CAAA;AAIzB,EAAgB,cAAc;;;ACd9B,IAAa,KAAsB,EACjC,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA6B;CAAK,GAAI;CACnC;AACqB,CAAA;AAI5B,EAAmB,cAAc;;;ACTjC,IAAa,KAAmB,EAC9B,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA0B;CAAK,GAAI;CAChC;AACkB,CAAA;AAIzB,EAAgB,cAAc;;;ACN9B,IAAa,KAAqB,EAChC,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA4B;CAAK,GAAI;WAArC,CACE,kBAAC,GAAD,CAAoB,CAAA,GACnB,CACoB;;AAI3B,EAAkB,cAAc;;;ACYhC,IAAa,IAAc;CAuBzB,MAAM;CAgBN,QAAQ;CAeR,MAAM;CAeN,SAAS;CAeT,MAAM;CAoBN,QAAQ;AACV"}
@@ -0,0 +1,2 @@
1
+ const e=require("./extract-padding-props-C-IyriM4.cjs.js"),t=require("./icon-button-BG5cQycc.cjs.js"),n=require("./normalize-messages-BMq9y_ae.cjs.js"),r=require("./hooks-C_oe-t36.cjs.js"),i=require("./extract-style-props-WNdpT-ME.cjs.js");let a=require("react"),o=require("react/jsx-runtime"),s=require("@commercetools/nimbus-icons");var{withProvider:c,withContext:l}=(0,require("@chakra-ui/react/styled-system").createSlotRecipeContext)({key:`nimbusChatMessageList`}),u=c(`div`,`root`),d=l(`div`,`viewport`),f=l(`div`,`item`),p=l(`div`,`scrollToBottom`),m=l(`div`,`empty`),h={en:n.t({conversationLabel:`Conversation`,scrollToBottom:`Scroll to latest message`}),de:n.t({conversationLabel:`Conversation`,scrollToBottom:`Scroll to latest message`}),es:n.t({conversationLabel:`Conversation`,scrollToBottom:`Scroll to latest message`}),"fr-FR":n.t({conversationLabel:`Conversation`,scrollToBottom:`Scroll to latest message`}),"pt-BR":n.t({conversationLabel:`Conversation`,scrollToBottom:`Scroll to latest message`})},g=c=>{let{ref:l,children:f,autoScroll:g=!0,emptyState:_,"aria-label":v,"aria-labelledby":y,...b}=c,[x,S]=i.t(b),C=n.n(h),{viewportRef:w,contentRef:T,isPinned:E,scrollToBottom:D}=r.t({enabled:g});(0,a.useImperativeHandle)(l,()=>({scrollToBottom:D}),[D]);let O=a.Children.toArray(f).length>0,k=v??(y?void 0:C.format(`conversationLabel`));return(0,o.jsxs)(u,{...x,...S,children:[(0,o.jsx)(e.t,{orientation:`vertical`,viewportRef:w,role:`log`,"aria-live":`polite`,"aria-label":k,"aria-labelledby":y,flex:`1`,minH:`0`,height:`100%`,children:O?(0,o.jsx)(d,{ref:T,children:f}):(0,o.jsx)(m,{children:_})}),g&&!E&&(0,o.jsx)(p,{children:(0,o.jsx)(t.t,{"aria-label":C.format(`scrollToBottom`),variant:`solid`,colorPalette:`primary`,size:`xs`,onPress:()=>{D(`smooth`),setTimeout(()=>w.current?.focus({preventScroll:!0}),0)},children:(0,o.jsx)(s.KeyboardArrowDown,{})})})]})};g.displayName=`ChatMessageList.Root`;var _=({ref:e,children:t,...n})=>(0,o.jsx)(f,{ref:e,...n,children:t});_.displayName=`ChatMessageList.Item`;var v={Root:g,Item:_};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
2
+ //# sourceMappingURL=chat-message-list-BEQEQzhV.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-message-list-BEQEQzhV.cjs.js","names":[],"sources":["../../src/components/chat-message-list/chat-message-list.slots.tsx","../../src/components/chat-message-list/intl/en.ts","../../src/components/chat-message-list/intl/de.ts","../../src/components/chat-message-list/intl/es.ts","../../src/components/chat-message-list/intl/fr-FR.ts","../../src/components/chat-message-list/intl/pt-BR.ts","../../src/components/chat-message-list/chat-message-list.messages.ts","../../src/components/chat-message-list/components/chat-message-list.root.tsx","../../src/components/chat-message-list/components/chat-message-list.item.tsx","../../src/components/chat-message-list/chat-message-list.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"../../type-utils/slot-types\";\nimport type {\n ChatMessageListRootSlotProps,\n ChatMessageListViewportSlotProps,\n ChatMessageListItemSlotProps,\n ChatMessageListScrollToBottomSlotProps,\n ChatMessageListEmptySlotProps,\n} from \"./chat-message-list.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusChatMessageList\",\n});\n\n/**\n * Root slot — establishes the recipe context and is the positioned anchor for\n * the floating scroll-to-bottom control.\n */\nexport const ChatMessageListRootSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListRootSlotProps\n> = withProvider<HTMLDivElement, ChatMessageListRootSlotProps>(\"div\", \"root\");\n\n/**\n * Viewport slot — the vertical flow that holds the items and owns the\n * transcript rhythm. Rendered inside the interior `ScrollArea`, so it is the\n * content that scrolls.\n */\nexport const ChatMessageListViewportSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListViewportSlotProps\n> = withContext<HTMLDivElement, ChatMessageListViewportSlotProps>(\n \"div\",\n \"viewport\"\n);\n\n/**\n * Item slot — one list member. A plain block in the scroll flow; it does not\n * assert `role=\"listitem\"` (which would conflict with the `log` container).\n */\nexport const ChatMessageListItemSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListItemSlotProps\n> = withContext<HTMLDivElement, ChatMessageListItemSlotProps>(\"div\", \"item\");\n\n/**\n * Scroll-to-bottom slot — the layout wrapper that positions the \"jump to\n * latest\" control over the bottom of the transcript.\n */\nexport const ChatMessageListScrollToBottomSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListScrollToBottomSlotProps\n> = withContext<HTMLDivElement, ChatMessageListScrollToBottomSlotProps>(\n \"div\",\n \"scrollToBottom\"\n);\n\n/**\n * Empty slot — the centered container shown when there are no items.\n */\nexport const ChatMessageListEmptySlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListEmptySlotProps\n> = withContext<HTMLDivElement, ChatMessageListEmptySlotProps>(\"div\", \"empty\");\n","/**\n * Pre-compiled en messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled de messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled es messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled fr-FR messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled pt-BR messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled localized messages for ChatMessageList component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport chatMessageListMessages_en from \"./intl/en\";\nimport chatMessageListMessages_de from \"./intl/de\";\nimport chatMessageListMessages_es from \"./intl/es\";\nimport chatMessageListMessages_fr from \"./intl/fr-FR\";\nimport chatMessageListMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const chatMessageListMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(chatMessageListMessages_en),\n de: normalizeMessages(chatMessageListMessages_de),\n es: normalizeMessages(chatMessageListMessages_es),\n \"fr-FR\": normalizeMessages(chatMessageListMessages_fr),\n \"pt-BR\": normalizeMessages(chatMessageListMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for ChatMessageList component\n */\nexport type ChatMessageListMessageKey = \"conversationLabel\" | \"scrollToBottom\";\n","import { Children, useImperativeHandle } from \"react\";\nimport { KeyboardArrowDown } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { ScrollArea } from \"../../scroll-area/scroll-area\";\nimport { IconButton } from \"../../icon-button/icon-button\";\nimport {\n ChatMessageListRootSlot,\n ChatMessageListViewportSlot,\n ChatMessageListScrollToBottomSlot,\n ChatMessageListEmptySlot,\n} from \"../chat-message-list.slots\";\nimport { useStickToBottom } from \"../hooks\";\nimport { chatMessageListMessagesStrings } from \"../chat-message-list.messages\";\nimport type { ChatMessageListRootProps } from \"../chat-message-list.types\";\n\n/**\n * ChatMessageList.Root - The scrollable transcript container.\n *\n * Wraps the Nimbus `ScrollArea` for the viewport and owns transcript-level\n * behavior: autoscroll / stick-to-bottom (pins to the newest item while the\n * user is at the bottom, including during streaming, and releases when they\n * scroll up), the \"jump to latest\" affordance, and the single persistent\n * `role=\"log\"` `aria-live=\"polite\"` region that announces appended and streamed\n * messages. When there are no items it renders `emptyState`.\n *\n * The list is content-agnostic: its `Item`s hold a `ChatMessage` or any other\n * content and it never reaches into them. It renders one message's\n * announcement at the transcript level; the message itself only flags\n * `aria-busy` while streaming (see `ChatMessage`).\n *\n * @supportsStyleProps\n */\nexport const ChatMessageListRoot = (props: ChatMessageListRootProps) => {\n const {\n ref,\n children,\n autoScroll = true,\n emptyState,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...restProps\n } = props;\n\n const [styleProps, functionalProps] = extractStyleProps(restProps);\n const stringFormatter = useLocalizedStringFormatter(\n chatMessageListMessagesStrings\n );\n\n const { viewportRef, contentRef, isPinned, scrollToBottom } =\n useStickToBottom({\n enabled: autoScroll,\n });\n\n // Expose imperative scroll control on the ref (see ChatMessageListHandle).\n useImperativeHandle(ref, () => ({ scrollToBottom }), [scrollToBottom]);\n\n const hasItems = Children.toArray(children).length > 0;\n\n // Always name the live region: fall back to a localized label unless the\n // consumer named it themselves (via `aria-label` or `aria-labelledby`).\n const resolvedAriaLabel =\n ariaLabel ??\n (ariaLabelledBy ? undefined : stringFormatter.format(\"conversationLabel\"));\n\n return (\n <ChatMessageListRootSlot {...styleProps} {...functionalProps}>\n <ScrollArea\n orientation=\"vertical\"\n viewportRef={viewportRef}\n // The single, always-mounted live region for the transcript. `log`\n // (over `feed`) imposes no `aria-required-children`, so a mixed\n // transcript of message articles and notices is valid.\n role=\"log\"\n aria-live=\"polite\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={ariaLabelledBy}\n flex=\"1\"\n minH=\"0\"\n height=\"100%\"\n >\n {hasItems ? (\n <ChatMessageListViewportSlot ref={contentRef}>\n {children}\n </ChatMessageListViewportSlot>\n ) : (\n <ChatMessageListEmptySlot>{emptyState}</ChatMessageListEmptySlot>\n )}\n </ScrollArea>\n\n {autoScroll && !isPinned && (\n <ChatMessageListScrollToBottomSlot>\n <IconButton\n aria-label={stringFormatter.format(\"scrollToBottom\")}\n variant=\"solid\"\n colorPalette=\"primary\"\n size=\"xs\"\n onPress={() => {\n scrollToBottom(\"smooth\");\n // Pinning re-engages and unmounts this button, which would drop\n // keyboard focus to <body>. Move focus to the scroll viewport (a\n // tab stop while the transcript overflows) so a keyboard/SR user\n // keeps their place. Deferred so it runs after the unmount;\n // `preventScroll` so focusing doesn't cancel the smooth scroll.\n setTimeout(\n () => viewportRef.current?.focus({ preventScroll: true }),\n 0\n );\n }}\n >\n <KeyboardArrowDown />\n </IconButton>\n </ChatMessageListScrollToBottomSlot>\n )}\n </ChatMessageListRootSlot>\n );\n};\n\nChatMessageListRoot.displayName = \"ChatMessageList.Root\";\n","import { ChatMessageListItemSlot } from \"../chat-message-list.slots\";\nimport type { ChatMessageListItemProps } from \"../chat-message-list.types\";\n\n/**\n * ChatMessageList.Item - One member of the transcript.\n *\n * The list-membership socket: it owns inter-item placement and the entry\n * presentation of a newly appended member, and is content-agnostic — it holds a\n * `ChatMessage` or any other content without reaching into it.\n * That child-agnosticism is what lets a system notice be a peer of a message\n * rather than a message variant.\n *\n * It deliberately does **not** assert `role=\"listitem\"`, which would conflict\n * with the `log` live-region semantics of `ChatMessageList.Root`; it provides\n * DOM order and a structural styling hook only.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageListItem = ({\n ref,\n children,\n ...props\n}: ChatMessageListItemProps) => {\n return (\n <ChatMessageListItemSlot ref={ref} {...props}>\n {children}\n </ChatMessageListItemSlot>\n );\n};\n\nChatMessageListItem.displayName = \"ChatMessageList.Item\";\n","import { ChatMessageListRoot, ChatMessageListItem } from \"./components\";\n\n/**\n * ChatMessageList\n * ============================================================\n * A compound component that presents a **scrollable sequence of chat messages**\n * and owns transcript-level scroll and announcement behavior. It is the second\n * primitive in the `Chat*` family: `ChatMessage` renders one message,\n * `ChatMessageList` arranges many into a conversation.\n *\n * A list is defined by its items, so `ChatMessageList` is a compound of a\n * `Root` and its `Item`s — not a box that happens to contain children. The\n * `Item` is the list-membership socket; a `ChatMessage` (or any other content)\n * is what plugs into it.\n *\n * `Root` wraps the Nimbus `ScrollArea`, owns autoscroll / stick-to-bottom and\n * the \"jump to latest\" affordance, and is the single persistent\n * `role=\"log\"` `aria-live=\"polite\"` region that announces appended and streamed\n * replies — the counterpart to `ChatMessage`'s `isStreaming` busy flag.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/chat-message-list}\n *\n * @example\n * ```tsx\n * <ChatMessageList.Root aria-label=\"Conversation with the agent\">\n * <ChatMessageList.Item>\n * <ChatMessage.Root sender=\"user\">\n * <ChatMessage.Body><Text>Summarise last week's orders?</Text></ChatMessage.Body>\n * </ChatMessage.Root>\n * </ChatMessageList.Item>\n * <ChatMessageList.Item>\n * <Box mx=\"auto\" textAlign=\"center\" color=\"neutral.11\" textStyle=\"sm\">\n * Conversation history was cleared.\n * </Box>\n * </ChatMessageList.Item>\n * </ChatMessageList.Root>\n * ```\n */\nexport const ChatMessageList = {\n /**\n * # ChatMessageList.Root\n *\n * The scrollable transcript container. Wraps `ScrollArea`, owns autoscroll /\n * stick-to-bottom, the scroll-to-bottom control, and the transcript's single\n * `role=\"log\"` `aria-live=\"polite\"` region. Renders `emptyState` when there\n * are no items. Accepts `autoScroll` (default `true`) and exposes an\n * imperative `scrollToBottom()` via `ref`.\n *\n * @example\n * ```tsx\n * <ChatMessageList.Root aria-label=\"Conversation\" autoScroll>\n * <ChatMessageList.Item>…</ChatMessageList.Item>\n * </ChatMessageList.Root>\n * ```\n */\n Root: ChatMessageListRoot,\n /**\n * # ChatMessageList.Item\n *\n * One member of the transcript — the socket that owns inter-item placement\n * and entry presentation. Content-agnostic: it holds a `ChatMessage` or any\n * other content. Does not assert `role=\"listitem\"` (which would conflict with\n * the `log` container).\n *\n * @example\n * ```tsx\n * <ChatMessageList.Item>\n * <ChatMessage.Root sender=\"agent\">…</ChatMessage.Root>\n * </ChatMessageList.Item>\n * ```\n */\n Item: ChatMessageListItem,\n};\n\nexport {\n ChatMessageListRoot as _ChatMessageListRoot,\n ChatMessageListItem as _ChatMessageListItem,\n};\n"],"mappings":"+UAUA,GAAM,CAAE,eAAc,gBAAA,0CAAA,CAAA,CAAA,wBAAA,CAAwC,CAC5D,IAAK,uBACP,CAAC,EAMY,EAGT,EAA2D,MAAO,MAAM,EAO/D,EAGT,EACF,MACA,UACF,EAMa,EAGT,EAA0D,MAAO,MAAM,EAM9D,EAGT,EACF,MACA,gBACF,EAKa,EAGT,EAA2D,MAAO,OAAO,EMxChE,EAGT,CACF,GAAI,EAAA,EAAkB,CLpBtB,kBAAmB,eACnB,eAAgB,0BKmBM,CAA0B,EAChD,GAAI,EAAA,EAAkB,CJrBtB,kBAAmB,eACnB,eAAgB,0BIoBM,CAA0B,EAChD,GAAI,EAAA,EAAkB,CHtBtB,kBAAmB,eACnB,eAAgB,0BGqBM,CAA0B,EAChD,QAAS,EAAA,EAAkB,CFvB3B,kBAAmB,eACnB,eAAgB,0BEsBW,CAA0B,EACrD,QAAS,EAAA,EAAkB,CDxB3B,kBAAmB,eACnB,eAAgB,0BCuBW,CAA0B,CACvD,ECCa,EAAuB,GAAoC,CACtE,GAAM,CACJ,MACA,WACA,aAAa,GACb,aACA,aAAc,EACd,kBAAmB,EACnB,GAAG,GACD,EAEE,CAAC,EAAY,GAAmB,EAAA,EAAkB,CAAS,EAC3D,EAAkB,EAAA,EACtB,CACF,EAEM,CAAE,cAAa,aAAY,WAAU,kBACzC,EAAA,EAAiB,CACf,QAAS,CACX,CAAC,GAGH,EAAA,EAAA,oBAAA,CAAoB,OAAY,CAAE,gBAAe,GAAI,CAAC,CAAc,CAAC,EAErE,IAAM,EAAW,EAAA,SAAS,QAAQ,CAAQ,CAAC,CAAC,OAAS,EAI/C,EACJ,IACC,EAAiB,IAAA,GAAY,EAAgB,OAAO,mBAAmB,GAE1E,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAyB,GAAI,EAAY,GAAI,WAA7C,EACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CACE,YAAY,WACC,cAIb,KAAK,MACL,YAAU,SACV,aAAY,EACZ,kBAAiB,EACjB,KAAK,IACL,KAAK,IACL,OAAO,gBAEN,GACC,EAAA,EAAA,IAAA,CAAC,EAAD,CAA6B,IAAK,EAC/B,UAC0B,CAAA,GAE7B,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAA2B,CAAqC,CAAA,CAExD,CAAA,EAEX,GAAc,CAAC,IACd,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAA,EAAD,CACE,aAAY,EAAgB,OAAO,gBAAgB,EACnD,QAAQ,QACR,aAAa,UACb,KAAK,KACL,YAAe,CACb,EAAe,QAAQ,EAMvB,eACQ,EAAY,SAAS,MAAM,CAAE,cAAe,EAAK,CAAC,EACxD,CACF,CACF,YAEA,EAAA,EAAA,IAAA,CAAC,EAAA,kBAAD,CAAoB,CAAA,CACV,CAAA,CACqB,CAAA,CAEd,GAE7B,EAEA,EAAoB,YAAc,uBCpGlC,IAAa,GAAuB,CAClC,MACA,WACA,GAAG,MAGD,EAAA,EAAA,IAAA,CAAC,EAAD,CAA8B,MAAK,GAAI,EACpC,UACsB,CAAA,EAI7B,EAAoB,YAAc,uBCQlC,IAAa,EAAkB,CAiB7B,KAAM,EAgBN,KAAM,CACR"}
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./extract-padding-props-DigwT-nT.esm.js";
2
- import { t } from "./icon-button-6dtfz6Yf.esm.js";
2
+ import { t } from "./icon-button-CyhrlrIv.esm.js";
3
3
  import { n, t as r } from "./normalize-messages-B_f-0I5n.esm.js";
4
4
  import { t as i } from "./hooks-A_gbGlsD.esm.js";
5
- import { t as a } from "./extract-style-props-BPnHKmWR.esm.js";
5
+ import { t as a } from "./extract-style-props-D519tVOc.esm.js";
6
6
  import { Children as o, useImperativeHandle as s } from "react";
7
7
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
8
  import { KeyboardArrowDown as u } from "@commercetools/nimbus-icons";
@@ -14,20 +14,20 @@ var { withProvider: f, withContext: p } = d({ key: "nimbusChatMessageList" }), m
14
14
  scrollToBottom: "Scroll to latest message"
15
15
  }),
16
16
  de: r({
17
- conversationLabel: "Unterhaltung",
18
- scrollToBottom: "Zur neuesten Nachricht springen"
17
+ conversationLabel: "Conversation",
18
+ scrollToBottom: "Scroll to latest message"
19
19
  }),
20
20
  es: r({
21
- conversationLabel: "Conversación",
22
- scrollToBottom: "Ir al mensaje más reciente"
21
+ conversationLabel: "Conversation",
22
+ scrollToBottom: "Scroll to latest message"
23
23
  }),
24
24
  "fr-FR": r({
25
25
  conversationLabel: "Conversation",
26
- scrollToBottom: "Aller au message le plus récent"
26
+ scrollToBottom: "Scroll to latest message"
27
27
  }),
28
28
  "pt-BR": r({
29
- conversationLabel: "Conversa",
30
- scrollToBottom: "Ir para a mensagem mais recente"
29
+ conversationLabel: "Conversation",
30
+ scrollToBottom: "Scroll to latest message"
31
31
  })
32
32
  }, b = (r) => {
33
33
  let { ref: d, children: f, autoScroll: p = !0, emptyState: g, "aria-label": b, "aria-labelledby": x, ...S } = r, [C, w] = a(S), T = n(y), { viewportRef: E, contentRef: D, isPinned: O, scrollToBottom: k } = i({ enabled: p });
@@ -80,4 +80,4 @@ var S = {
80
80
  //#endregion
81
81
  export { x as n, b as r, S as t };
82
82
 
83
- //# sourceMappingURL=chat-message-list-BhWZEg4l.esm.js.map
83
+ //# sourceMappingURL=chat-message-list-D_4ZLopT.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-message-list-D_4ZLopT.esm.js","names":[],"sources":["../../src/components/chat-message-list/chat-message-list.slots.tsx","../../src/components/chat-message-list/intl/en.ts","../../src/components/chat-message-list/intl/de.ts","../../src/components/chat-message-list/intl/es.ts","../../src/components/chat-message-list/intl/fr-FR.ts","../../src/components/chat-message-list/intl/pt-BR.ts","../../src/components/chat-message-list/chat-message-list.messages.ts","../../src/components/chat-message-list/components/chat-message-list.root.tsx","../../src/components/chat-message-list/components/chat-message-list.item.tsx","../../src/components/chat-message-list/chat-message-list.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"../../type-utils/slot-types\";\nimport type {\n ChatMessageListRootSlotProps,\n ChatMessageListViewportSlotProps,\n ChatMessageListItemSlotProps,\n ChatMessageListScrollToBottomSlotProps,\n ChatMessageListEmptySlotProps,\n} from \"./chat-message-list.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusChatMessageList\",\n});\n\n/**\n * Root slot — establishes the recipe context and is the positioned anchor for\n * the floating scroll-to-bottom control.\n */\nexport const ChatMessageListRootSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListRootSlotProps\n> = withProvider<HTMLDivElement, ChatMessageListRootSlotProps>(\"div\", \"root\");\n\n/**\n * Viewport slot — the vertical flow that holds the items and owns the\n * transcript rhythm. Rendered inside the interior `ScrollArea`, so it is the\n * content that scrolls.\n */\nexport const ChatMessageListViewportSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListViewportSlotProps\n> = withContext<HTMLDivElement, ChatMessageListViewportSlotProps>(\n \"div\",\n \"viewport\"\n);\n\n/**\n * Item slot — one list member. A plain block in the scroll flow; it does not\n * assert `role=\"listitem\"` (which would conflict with the `log` container).\n */\nexport const ChatMessageListItemSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListItemSlotProps\n> = withContext<HTMLDivElement, ChatMessageListItemSlotProps>(\"div\", \"item\");\n\n/**\n * Scroll-to-bottom slot — the layout wrapper that positions the \"jump to\n * latest\" control over the bottom of the transcript.\n */\nexport const ChatMessageListScrollToBottomSlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListScrollToBottomSlotProps\n> = withContext<HTMLDivElement, ChatMessageListScrollToBottomSlotProps>(\n \"div\",\n \"scrollToBottom\"\n);\n\n/**\n * Empty slot — the centered container shown when there are no items.\n */\nexport const ChatMessageListEmptySlot: SlotComponent<\n HTMLDivElement,\n ChatMessageListEmptySlotProps\n> = withContext<HTMLDivElement, ChatMessageListEmptySlotProps>(\"div\", \"empty\");\n","/**\n * Pre-compiled en messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled de messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled es messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled fr-FR messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled pt-BR messages for ChatMessageList\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n conversationLabel: `Conversation`,\n scrollToBottom: `Scroll to latest message`,\n};\n","/**\n * Pre-compiled localized messages for ChatMessageList component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport chatMessageListMessages_en from \"./intl/en\";\nimport chatMessageListMessages_de from \"./intl/de\";\nimport chatMessageListMessages_es from \"./intl/es\";\nimport chatMessageListMessages_fr from \"./intl/fr-FR\";\nimport chatMessageListMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const chatMessageListMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(chatMessageListMessages_en),\n de: normalizeMessages(chatMessageListMessages_de),\n es: normalizeMessages(chatMessageListMessages_es),\n \"fr-FR\": normalizeMessages(chatMessageListMessages_fr),\n \"pt-BR\": normalizeMessages(chatMessageListMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for ChatMessageList component\n */\nexport type ChatMessageListMessageKey = \"conversationLabel\" | \"scrollToBottom\";\n","import { Children, useImperativeHandle } from \"react\";\nimport { KeyboardArrowDown } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { ScrollArea } from \"../../scroll-area/scroll-area\";\nimport { IconButton } from \"../../icon-button/icon-button\";\nimport {\n ChatMessageListRootSlot,\n ChatMessageListViewportSlot,\n ChatMessageListScrollToBottomSlot,\n ChatMessageListEmptySlot,\n} from \"../chat-message-list.slots\";\nimport { useStickToBottom } from \"../hooks\";\nimport { chatMessageListMessagesStrings } from \"../chat-message-list.messages\";\nimport type { ChatMessageListRootProps } from \"../chat-message-list.types\";\n\n/**\n * ChatMessageList.Root - The scrollable transcript container.\n *\n * Wraps the Nimbus `ScrollArea` for the viewport and owns transcript-level\n * behavior: autoscroll / stick-to-bottom (pins to the newest item while the\n * user is at the bottom, including during streaming, and releases when they\n * scroll up), the \"jump to latest\" affordance, and the single persistent\n * `role=\"log\"` `aria-live=\"polite\"` region that announces appended and streamed\n * messages. When there are no items it renders `emptyState`.\n *\n * The list is content-agnostic: its `Item`s hold a `ChatMessage` or any other\n * content and it never reaches into them. It renders one message's\n * announcement at the transcript level; the message itself only flags\n * `aria-busy` while streaming (see `ChatMessage`).\n *\n * @supportsStyleProps\n */\nexport const ChatMessageListRoot = (props: ChatMessageListRootProps) => {\n const {\n ref,\n children,\n autoScroll = true,\n emptyState,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...restProps\n } = props;\n\n const [styleProps, functionalProps] = extractStyleProps(restProps);\n const stringFormatter = useLocalizedStringFormatter(\n chatMessageListMessagesStrings\n );\n\n const { viewportRef, contentRef, isPinned, scrollToBottom } =\n useStickToBottom({\n enabled: autoScroll,\n });\n\n // Expose imperative scroll control on the ref (see ChatMessageListHandle).\n useImperativeHandle(ref, () => ({ scrollToBottom }), [scrollToBottom]);\n\n const hasItems = Children.toArray(children).length > 0;\n\n // Always name the live region: fall back to a localized label unless the\n // consumer named it themselves (via `aria-label` or `aria-labelledby`).\n const resolvedAriaLabel =\n ariaLabel ??\n (ariaLabelledBy ? undefined : stringFormatter.format(\"conversationLabel\"));\n\n return (\n <ChatMessageListRootSlot {...styleProps} {...functionalProps}>\n <ScrollArea\n orientation=\"vertical\"\n viewportRef={viewportRef}\n // The single, always-mounted live region for the transcript. `log`\n // (over `feed`) imposes no `aria-required-children`, so a mixed\n // transcript of message articles and notices is valid.\n role=\"log\"\n aria-live=\"polite\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={ariaLabelledBy}\n flex=\"1\"\n minH=\"0\"\n height=\"100%\"\n >\n {hasItems ? (\n <ChatMessageListViewportSlot ref={contentRef}>\n {children}\n </ChatMessageListViewportSlot>\n ) : (\n <ChatMessageListEmptySlot>{emptyState}</ChatMessageListEmptySlot>\n )}\n </ScrollArea>\n\n {autoScroll && !isPinned && (\n <ChatMessageListScrollToBottomSlot>\n <IconButton\n aria-label={stringFormatter.format(\"scrollToBottom\")}\n variant=\"solid\"\n colorPalette=\"primary\"\n size=\"xs\"\n onPress={() => {\n scrollToBottom(\"smooth\");\n // Pinning re-engages and unmounts this button, which would drop\n // keyboard focus to <body>. Move focus to the scroll viewport (a\n // tab stop while the transcript overflows) so a keyboard/SR user\n // keeps their place. Deferred so it runs after the unmount;\n // `preventScroll` so focusing doesn't cancel the smooth scroll.\n setTimeout(\n () => viewportRef.current?.focus({ preventScroll: true }),\n 0\n );\n }}\n >\n <KeyboardArrowDown />\n </IconButton>\n </ChatMessageListScrollToBottomSlot>\n )}\n </ChatMessageListRootSlot>\n );\n};\n\nChatMessageListRoot.displayName = \"ChatMessageList.Root\";\n","import { ChatMessageListItemSlot } from \"../chat-message-list.slots\";\nimport type { ChatMessageListItemProps } from \"../chat-message-list.types\";\n\n/**\n * ChatMessageList.Item - One member of the transcript.\n *\n * The list-membership socket: it owns inter-item placement and the entry\n * presentation of a newly appended member, and is content-agnostic — it holds a\n * `ChatMessage` or any other content without reaching into it.\n * That child-agnosticism is what lets a system notice be a peer of a message\n * rather than a message variant.\n *\n * It deliberately does **not** assert `role=\"listitem\"`, which would conflict\n * with the `log` live-region semantics of `ChatMessageList.Root`; it provides\n * DOM order and a structural styling hook only.\n *\n * @supportsStyleProps\n */\nexport const ChatMessageListItem = ({\n ref,\n children,\n ...props\n}: ChatMessageListItemProps) => {\n return (\n <ChatMessageListItemSlot ref={ref} {...props}>\n {children}\n </ChatMessageListItemSlot>\n );\n};\n\nChatMessageListItem.displayName = \"ChatMessageList.Item\";\n","import { ChatMessageListRoot, ChatMessageListItem } from \"./components\";\n\n/**\n * ChatMessageList\n * ============================================================\n * A compound component that presents a **scrollable sequence of chat messages**\n * and owns transcript-level scroll and announcement behavior. It is the second\n * primitive in the `Chat*` family: `ChatMessage` renders one message,\n * `ChatMessageList` arranges many into a conversation.\n *\n * A list is defined by its items, so `ChatMessageList` is a compound of a\n * `Root` and its `Item`s — not a box that happens to contain children. The\n * `Item` is the list-membership socket; a `ChatMessage` (or any other content)\n * is what plugs into it.\n *\n * `Root` wraps the Nimbus `ScrollArea`, owns autoscroll / stick-to-bottom and\n * the \"jump to latest\" affordance, and is the single persistent\n * `role=\"log\"` `aria-live=\"polite\"` region that announces appended and streamed\n * replies — the counterpart to `ChatMessage`'s `isStreaming` busy flag.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/chat-message-list}\n *\n * @example\n * ```tsx\n * <ChatMessageList.Root aria-label=\"Conversation with the agent\">\n * <ChatMessageList.Item>\n * <ChatMessage.Root sender=\"user\">\n * <ChatMessage.Body><Text>Summarise last week's orders?</Text></ChatMessage.Body>\n * </ChatMessage.Root>\n * </ChatMessageList.Item>\n * <ChatMessageList.Item>\n * <Box mx=\"auto\" textAlign=\"center\" color=\"neutral.11\" textStyle=\"sm\">\n * Conversation history was cleared.\n * </Box>\n * </ChatMessageList.Item>\n * </ChatMessageList.Root>\n * ```\n */\nexport const ChatMessageList = {\n /**\n * # ChatMessageList.Root\n *\n * The scrollable transcript container. Wraps `ScrollArea`, owns autoscroll /\n * stick-to-bottom, the scroll-to-bottom control, and the transcript's single\n * `role=\"log\"` `aria-live=\"polite\"` region. Renders `emptyState` when there\n * are no items. Accepts `autoScroll` (default `true`) and exposes an\n * imperative `scrollToBottom()` via `ref`.\n *\n * @example\n * ```tsx\n * <ChatMessageList.Root aria-label=\"Conversation\" autoScroll>\n * <ChatMessageList.Item>…</ChatMessageList.Item>\n * </ChatMessageList.Root>\n * ```\n */\n Root: ChatMessageListRoot,\n /**\n * # ChatMessageList.Item\n *\n * One member of the transcript — the socket that owns inter-item placement\n * and entry presentation. Content-agnostic: it holds a `ChatMessage` or any\n * other content. Does not assert `role=\"listitem\"` (which would conflict with\n * the `log` container).\n *\n * @example\n * ```tsx\n * <ChatMessageList.Item>\n * <ChatMessage.Root sender=\"agent\">…</ChatMessage.Root>\n * </ChatMessageList.Item>\n * ```\n */\n Item: ChatMessageListItem,\n};\n\nexport {\n ChatMessageListRoot as _ChatMessageListRoot,\n ChatMessageListItem as _ChatMessageListItem,\n};\n"],"mappings":";;;;;;;;;;AAUA,IAAM,EAAE,iBAAc,mBAAgB,EAAwB,EAC5D,KAAK,wBACP,CAAC,GAMY,IAGT,EAA2D,OAAO,MAAM,GAO/D,IAGT,EACF,OACA,UACF,GAMa,IAGT,EAA0D,OAAO,MAAM,GAM9D,IAGT,EACF,OACA,gBACF,GAKa,IAGT,EAA2D,OAAO,OAAO,GMxChE,IAGT;CACF,IAAI,EAAkB;ELpBtB,mBAAmB;EACnB,gBAAgB;CKmBM,CAA0B;CAChD,IAAI,EAAkB;EJrBtB,mBAAmB;EACnB,gBAAgB;CIoBM,CAA0B;CAChD,IAAI,EAAkB;EHtBtB,mBAAmB;EACnB,gBAAgB;CGqBM,CAA0B;CAChD,SAAS,EAAkB;EFvB3B,mBAAmB;EACnB,gBAAgB;CEsBW,CAA0B;CACrD,SAAS,EAAkB;EDxB3B,mBAAmB;EACnB,gBAAgB;CCuBW,CAA0B;AACvD,GCCa,KAAuB,MAAoC;CACtE,IAAM,EACJ,QACA,aACA,gBAAa,IACb,eACA,cAAc,GACd,mBAAmB,GACnB,GAAG,MACD,GAEE,CAAC,GAAY,KAAmB,EAAkB,CAAS,GAC3D,IAAkB,EACtB,CACF,GAEM,EAAE,gBAAa,eAAY,aAAU,sBACzC,EAAiB,EACf,SAAS,EACX,CAAC;CAGH,EAAoB,UAAY,EAAE,kBAAe,IAAI,CAAC,CAAc,CAAC;CAErE,IAAM,IAAW,EAAS,QAAQ,CAAQ,CAAC,CAAC,SAAS,GAI/C,IACJ,MACC,IAAiB,KAAA,IAAY,EAAgB,OAAO,mBAAmB;CAE1E,OACE,kBAAC,GAAD;EAAyB,GAAI;EAAY,GAAI;YAA7C,CACE,kBAAC,GAAD;GACE,aAAY;GACC;GAIb,MAAK;GACL,aAAU;GACV,cAAY;GACZ,mBAAiB;GACjB,MAAK;GACL,MAAK;GACL,QAAO;aAEN,IACC,kBAAC,GAAD;IAA6B,KAAK;IAC/B;GAC0B,CAAA,IAE7B,kBAAC,GAAD,EAAA,UAA2B,EAAqC,CAAA;EAExD,CAAA,GAEX,KAAc,CAAC,KACd,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GACE,cAAY,EAAgB,OAAO,gBAAgB;GACnD,SAAQ;GACR,cAAa;GACb,MAAK;GACL,eAAe;IAOb,AANA,EAAe,QAAQ,GAMvB,iBACQ,EAAY,SAAS,MAAM,EAAE,eAAe,GAAK,CAAC,GACxD,CACF;GACF;aAEA,kBAAC,GAAD,CAAoB,CAAA;EACV,CAAA,EACqB,CAAA,CAEd;;AAE7B;AAEA,EAAoB,cAAc;;;ACpGlC,IAAa,KAAuB,EAClC,QACA,aACA,GAAG,QAGD,kBAAC,GAAD;CAA8B;CAAK,GAAI;CACpC;AACsB,CAAA;AAI7B,EAAoB,cAAc;;;ACQlC,IAAa,IAAkB;CAiB7B,MAAM;CAgBN,MAAM;AACR"}
@@ -1,2 +1,2 @@
1
- const e=require("./SSRProvider-CM04-CXZ.cjs.js"),t=require("./mergeProps-B4zz6EqI.cjs.js"),n=require("./useObjectRef-B_VeQHvx.cjs.js"),r=require("./filterDOMProps-DnOwsDRm.cjs.js"),i=require("./useFormValidationState-B5e8EeJ8.cjs.js"),a=require("./useToggle-DOG2OJN_.cjs.js"),o=require("./useToggleState-qNV7GBG-.cjs.js"),s=require("./VisuallyHidden-CtikuHFk.cjs.js"),c=require("./useFocusRing-Bx86kFi9.cjs.js"),l=require("./useHover-JjQ5Tf8X.cjs.js"),u=require("./utils-Clf3FzjT.cjs.js"),d=require("./Form-rO3Pwcre.cjs.js"),f=require("./extract-style-props-CA1O0IF2.cjs.js");let p=require("react");p=e.a(p,1);let m=require("react/jsx-runtime"),h=require("@commercetools/nimbus-icons"),g=require("@chakra-ui/react/styled-system");function _(e,n,r){let{labelProps:i,inputProps:o,descriptionProps:s,errorMessageProps:c,isSelected:l,isPressed:u,isDisabled:d,isReadOnly:f,isInvalid:m,validationErrors:h,validationDetails:g}=a.t(e,n,r),{isIndeterminate:_}=e;return(0,p.useEffect)(()=>{r.current&&(r.current.indeterminate=!!_)}),{labelProps:t.t(i,(0,p.useMemo)(()=>({onMouseDown:e=>e.preventDefault()}),[])),inputProps:o,descriptionProps:s,errorMessageProps:c,isSelected:l,isPressed:u,isDisabled:d,isReadOnly:f,isInvalid:m,validationErrors:h,validationDetails:g}}var v=new WeakMap;function y(e,t,n){let r=o.t({isReadOnly:e.isReadOnly||t.isReadOnly,isSelected:t.isSelected(e.value),defaultSelected:t.defaultValue.includes(e.value),onChange(n){n?t.addValue(e.value):t.removeValue(e.value),e.onChange&&e.onChange(n)}}),{name:a,form:s,descriptionId:c,errorMessageId:l,validationBehavior:u}=v.get(t);u=e.validationBehavior??u;let{realtimeValidation:d}=i.a({...e,value:r.isSelected,name:void 0,validationBehavior:`aria`}),f=(0,p.useRef)(i.i),m=()=>{t.setInvalid(e.value,d.isInvalid?d:f.current)};(0,p.useEffect)(m);let h=t.realtimeValidation.isInvalid?t.realtimeValidation:d,g=u===`native`?t.displayValidation:h,y=_({...e,isReadOnly:e.isReadOnly||t.isReadOnly,isDisabled:e.isDisabled||t.isDisabled,name:e.name||a,form:e.form||s,isRequired:e.isRequired??t.isRequired,validationBehavior:u,[i.n]:{realtimeValidation:h,displayValidation:g,resetValidation:t.resetValidation,commitValidation:t.commitValidation,updateValidation(e){f.current=e,m()}}},r,n);return{...y,inputProps:{...y.inputProps,"aria-describedby":[y.inputProps[`aria-describedby`],t.isInvalid?l:null,c].filter(Boolean).join(` `)||void 0}}}var b=(0,p.createContext)(null),x=(0,p.createContext)(null),S=(0,p.createContext)(null),C=(0,p.createContext)(null);function w(e,r){let{validationBehavior:i}=u.c(d.t)||{},a=e.validationBehavior??i??`native`,s=(0,p.useContext)(S),c=n.t((0,p.useMemo)(()=>t.n(r,e.inputRef===void 0?null:e.inputRef),[r,e.inputRef])),l={...u.s(e),children:typeof e.children==`function`||e.children,value:e.value,validationBehavior:a};return[s?y(l,s,c):_(l,o.t(e),c),c]}var T=(0,p.forwardRef)(function(e,t){let{inputRef:n=null,...r}=e;[e,t]=u.n(r,t,b);let[i,a]=w(e,n);return p.default.createElement(C.Provider,{value:{...i,inputRef:a,defaultClassName:`react-aria-Checkbox`,isIndeterminate:e.isIndeterminate,isRequired:e.isRequired}},p.default.createElement(E,{...e,ref:t}))}),E=(0,p.forwardRef)(function(e,n){let{labelProps:i,inputProps:a,isSelected:o,isDisabled:d,isReadOnly:f,isPressed:m,isInvalid:h,inputRef:g,defaultClassName:_,isIndeterminate:v,isRequired:y}=(0,p.useContext)(C),{isFocused:b,isFocusVisible:x,focusProps:S}=c.t(),w=d||f,{hoverProps:T,isHovered:E}=l.t({...e,isDisabled:w}),D=u.r({...e,defaultClassName:_,values:{isSelected:o,isIndeterminate:v||!1,isPressed:m,isHovered:E,isFocused:b,isFocusVisible:x,isDisabled:d,isReadOnly:f,isInvalid:h,isRequired:y||!1}}),O=r.t(e,{global:!0});return delete O.id,delete O.onClick,p.default.createElement(u.o.label,{...t.t(O,i,T,D),ref:n,slot:e.slot||void 0,"data-selected":o||void 0,"data-indeterminate":v||void 0,"data-pressed":m||void 0,"data-hovered":E||void 0,"data-focused":b||void 0,"data-focus-visible":x||void 0,"data-disabled":d||void 0,"data-readonly":f||void 0,"data-invalid":h||void 0,"data-required":y||void 0},p.default.createElement(s.t,{elementType:`span`},p.default.createElement(`input`,{...t.t(a,S),ref:g})),D.children)}),{withProvider:D,withContext:O}=(0,g.createSlotRecipeContext)({key:`nimbusCheckbox`}),k=D(T,`root`),A=O(`span`,`label`),j=O(`span`,`indicator`),M=e=>{let{ref:t,children:n,...r}=e,[i,a]=(0,g.useSlotRecipe)({key:`nimbusCheckbox`}).splitVariantProps(r),[o,s]=f.t(a);return(0,m.jsx)(k,{ref:t,"data-slot":`root`,...s,...i,...o,children:({isSelected:e,isIndeterminate:t,isInvalid:r,isDisabled:i,isFocused:a})=>{let o={"data-selected":e,"data-indeterminate":t,"data-invalid":r,"data-disabled":i,"data-focus":a||void 0};return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(j,{"data-slot":`indicator`,...o,children:[e&&(0,m.jsx)(h.Check,{}),t&&(0,m.jsx)(h.Remove,{})]}),n&&(0,m.jsx)(A,{"data-slot":`label`,...o,children:n})]})}})};M.displayName=`Checkbox`,Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return M}});
2
- //# sourceMappingURL=checkbox-CZCLSrFV.cjs.js.map
1
+ const e=require("./SSRProvider-CM04-CXZ.cjs.js"),t=require("./mergeProps-B4zz6EqI.cjs.js"),n=require("./useObjectRef-B_VeQHvx.cjs.js"),r=require("./filterDOMProps-DnOwsDRm.cjs.js"),i=require("./useFormValidationState-CMK07tQk.cjs.js"),a=require("./useToggle-WawJgKE5.cjs.js"),o=require("./useToggleState-qNV7GBG-.cjs.js"),s=require("./VisuallyHidden-CtikuHFk.cjs.js"),c=require("./useFocusRing-Bx86kFi9.cjs.js"),l=require("./useHover-JjQ5Tf8X.cjs.js"),u=require("./utils-Clf3FzjT.cjs.js"),d=require("./Form-rO3Pwcre.cjs.js"),f=require("./extract-style-props-WNdpT-ME.cjs.js");let p=require("react");p=e.a(p,1);let m=require("react/jsx-runtime"),h=require("@commercetools/nimbus-icons"),g=require("@chakra-ui/react/styled-system");function _(e,n,r){let{labelProps:i,inputProps:o,descriptionProps:s,errorMessageProps:c,isSelected:l,isPressed:u,isDisabled:d,isReadOnly:f,isInvalid:m,validationErrors:h,validationDetails:g}=a.t(e,n,r),{isIndeterminate:_}=e;return(0,p.useEffect)(()=>{r.current&&(r.current.indeterminate=!!_)}),{labelProps:t.t(i,(0,p.useMemo)(()=>({onMouseDown:e=>e.preventDefault()}),[])),inputProps:o,descriptionProps:s,errorMessageProps:c,isSelected:l,isPressed:u,isDisabled:d,isReadOnly:f,isInvalid:m,validationErrors:h,validationDetails:g}}var v=new WeakMap;function y(e,t,n){let r=o.t({isReadOnly:e.isReadOnly||t.isReadOnly,isSelected:t.isSelected(e.value),defaultSelected:t.defaultValue.includes(e.value),onChange(n){n?t.addValue(e.value):t.removeValue(e.value),e.onChange&&e.onChange(n)}}),{name:a,form:s,descriptionId:c,errorMessageId:l,validationBehavior:u}=v.get(t);u=e.validationBehavior??u;let{realtimeValidation:d}=i.a({...e,value:r.isSelected,name:void 0,validationBehavior:`aria`}),f=(0,p.useRef)(i.i),m=()=>{t.setInvalid(e.value,d.isInvalid?d:f.current)};(0,p.useEffect)(m);let h=t.realtimeValidation.isInvalid?t.realtimeValidation:d,g=u===`native`?t.displayValidation:h,y=_({...e,isReadOnly:e.isReadOnly||t.isReadOnly,isDisabled:e.isDisabled||t.isDisabled,name:e.name||a,form:e.form||s,isRequired:e.isRequired??t.isRequired,validationBehavior:u,[i.n]:{realtimeValidation:h,displayValidation:g,resetValidation:t.resetValidation,commitValidation:t.commitValidation,updateValidation(e){f.current=e,m()}}},r,n);return{...y,inputProps:{...y.inputProps,"aria-describedby":[y.inputProps[`aria-describedby`],t.isInvalid?l:null,c].filter(Boolean).join(` `)||void 0}}}var b=(0,p.createContext)(null),x=(0,p.createContext)(null),S=(0,p.createContext)(null),C=(0,p.createContext)(null);function w(e,r){let{validationBehavior:i}=u.c(d.t)||{},a=e.validationBehavior??i??`native`,s=(0,p.useContext)(S),c=n.t((0,p.useMemo)(()=>t.n(r,e.inputRef===void 0?null:e.inputRef),[r,e.inputRef])),l={...u.s(e),children:typeof e.children==`function`||e.children,value:e.value,validationBehavior:a};return[s?y(l,s,c):_(l,o.t(e),c),c]}var T=(0,p.forwardRef)(function(e,t){let{inputRef:n=null,...r}=e;[e,t]=u.n(r,t,b);let[i,a]=w(e,n);return p.default.createElement(C.Provider,{value:{...i,inputRef:a,defaultClassName:`react-aria-Checkbox`,isIndeterminate:e.isIndeterminate,isRequired:e.isRequired}},p.default.createElement(E,{...e,ref:t}))}),E=(0,p.forwardRef)(function(e,n){let{labelProps:i,inputProps:a,isSelected:o,isDisabled:d,isReadOnly:f,isPressed:m,isInvalid:h,inputRef:g,defaultClassName:_,isIndeterminate:v,isRequired:y}=(0,p.useContext)(C),{isFocused:b,isFocusVisible:x,focusProps:S}=c.t(),w=d||f,{hoverProps:T,isHovered:E}=l.t({...e,isDisabled:w}),D=u.r({...e,defaultClassName:_,values:{isSelected:o,isIndeterminate:v||!1,isPressed:m,isHovered:E,isFocused:b,isFocusVisible:x,isDisabled:d,isReadOnly:f,isInvalid:h,isRequired:y||!1}}),O=r.t(e,{global:!0});return delete O.id,delete O.onClick,p.default.createElement(u.o.label,{...t.t(O,i,T,D),ref:n,slot:e.slot||void 0,"data-selected":o||void 0,"data-indeterminate":v||void 0,"data-pressed":m||void 0,"data-hovered":E||void 0,"data-focused":b||void 0,"data-focus-visible":x||void 0,"data-disabled":d||void 0,"data-readonly":f||void 0,"data-invalid":h||void 0,"data-required":y||void 0},p.default.createElement(s.t,{elementType:`span`},p.default.createElement(`input`,{...t.t(a,S),ref:g})),D.children)}),{withProvider:D,withContext:O}=(0,g.createSlotRecipeContext)({key:`nimbusCheckbox`}),k=D(T,`root`),A=O(`span`,`label`),j=O(`span`,`indicator`),M=e=>{let{ref:t,children:n,...r}=e,[i,a]=(0,g.useSlotRecipe)({key:`nimbusCheckbox`}).splitVariantProps(r),[o,s]=f.t(a);return(0,m.jsx)(k,{ref:t,"data-slot":`root`,...s,...i,...o,children:({isSelected:e,isIndeterminate:t,isInvalid:r,isDisabled:i,isFocused:a})=>{let o={"data-selected":e,"data-indeterminate":t,"data-invalid":r,"data-disabled":i,"data-focus":a||void 0};return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(j,{"data-slot":`indicator`,...o,children:[e&&(0,m.jsx)(h.Check,{}),t&&(0,m.jsx)(h.Remove,{})]}),n&&(0,m.jsx)(A,{"data-slot":`label`,...o,children:n})]})}})};M.displayName=`Checkbox`,Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return M}});
2
+ //# sourceMappingURL=checkbox-DCVW3K9i.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-CZCLSrFV.cjs.js","names":["$876b6f32ca5a04c3$export$cbe85ee05b554577","$bbaa08b3cd72f041$export$9d1611c77c2fe928","$43eCz$useToggleState","$43eCz$useFormValidationState","$43eCz$DEFAULT_VALIDATION_RESULT","$43eCz$privateValidationStateProp","$7230ffa83bc0c2cf$export$fabf2dc03a41866e","$cdaed739b1139372$export$c24727297075ec6a","$j1L6B$useObjectRef","$j1L6B$mergeRefs","$7230ffa83bc0c2cf$export$ef03459518577ad4","$j1L6B$useCheckboxGroupItem","$j1L6B$useCheckbox","$j1L6B$useToggleState","$7230ffa83bc0c2cf$export$29f1550f4b0d4415","$j1L6B$react","$j1L6B$useFocusRing","$j1L6B$useHover","$7230ffa83bc0c2cf$export$4d86445c2cf5e3","$j1L6B$filterDOMProps","$7230ffa83bc0c2cf$export$df3a06d6289f983e","$j1L6B$mergeProps","$j1L6B$VisuallyHidden"],"sources":["../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/checkbox/useCheckbox.mjs","../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/checkbox/utils.mjs","../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/checkbox/useCheckboxGroupItem.mjs","../../../../node_modules/.pnpm/react-aria-components@1.19.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/private/Checkbox.mjs","../../src/components/checkbox/checkbox.slots.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import {useToggle as $876b6f32ca5a04c3$export$cbe85ee05b554577} from \"../toggle/useToggle.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useEffect as $5eYZN$useEffect, useMemo as $5eYZN$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $dde212bea465bd23$export$e375f10ce42261c5(props, state, inputRef) {\n let { labelProps: labelProps, inputProps: inputProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, isSelected: isSelected, isPressed: isPressed, isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = (0, $876b6f32ca5a04c3$export$cbe85ee05b554577)(props, state, inputRef);\n let { isIndeterminate: isIndeterminate } = props;\n (0, $5eYZN$useEffect)(()=>{\n // indeterminate is a property, but it can only be set via javascript\n // https://css-tricks.com/indeterminate-checkboxes/\n if (inputRef.current) inputRef.current.indeterminate = !!isIndeterminate;\n });\n return {\n labelProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(labelProps, (0, $5eYZN$useMemo)(()=>({\n // Prevent label from being focused when mouse down on it.\n // Note, this does not prevent the input from being focused in the `click` event.\n onMouseDown: (e)=>e.preventDefault()\n }), [])),\n inputProps: inputProps,\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isSelected: isSelected,\n isPressed: isPressed,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails\n };\n}\n\n\nexport {$dde212bea465bd23$export$e375f10ce42261c5 as useCheckbox};\n//# sourceMappingURL=useCheckbox.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $0fffd24394d22962$export$ec98120685d4f57d = new WeakMap();\n\n\nexport {$0fffd24394d22962$export$ec98120685d4f57d as checkboxGroupData};\n//# sourceMappingURL=utils.mjs.map\n","import {useCheckbox as $dde212bea465bd23$export$e375f10ce42261c5} from \"./useCheckbox.mjs\";\nimport {checkboxGroupData as $0fffd24394d22962$export$ec98120685d4f57d} from \"./utils.mjs\";\nimport {useFormValidationState as $43eCz$useFormValidationState, DEFAULT_VALIDATION_RESULT as $43eCz$DEFAULT_VALIDATION_RESULT, privateValidationStateProp as $43eCz$privateValidationStateProp} from \"react-stately/private/form/useFormValidationState\";\nimport {useRef as $43eCz$useRef, useEffect as $43eCz$useEffect} from \"react\";\nimport {useToggleState as $43eCz$useToggleState} from \"react-stately/useToggleState\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $55cfc34eef47e1ca$export$353b32fc6898d37d(props, state, inputRef) {\n const toggleState = (0, $43eCz$useToggleState)({\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isSelected: state.isSelected(props.value),\n defaultSelected: state.defaultValue.includes(props.value),\n onChange (isSelected) {\n if (isSelected) state.addValue(props.value);\n else state.removeValue(props.value);\n if (props.onChange) props.onChange(isSelected);\n }\n });\n let { name: name, form: form, descriptionId: descriptionId, errorMessageId: errorMessageId, validationBehavior: validationBehavior } = (0, $0fffd24394d22962$export$ec98120685d4f57d).get(state);\n validationBehavior = props.validationBehavior ?? validationBehavior;\n // Local validation for this checkbox.\n let { realtimeValidation: realtimeValidation } = (0, $43eCz$useFormValidationState)({\n ...props,\n value: toggleState.isSelected,\n // Server validation is handled at the group level.\n name: undefined,\n validationBehavior: 'aria'\n });\n // Update the checkbox group state when realtime validation changes.\n let nativeValidation = (0, $43eCz$useRef)((0, $43eCz$DEFAULT_VALIDATION_RESULT));\n let updateValidation = ()=>{\n state.setInvalid(props.value, realtimeValidation.isInvalid ? realtimeValidation : nativeValidation.current);\n };\n (0, $43eCz$useEffect)(updateValidation);\n // Combine group and checkbox level validation.\n let combinedRealtimeValidation = state.realtimeValidation.isInvalid ? state.realtimeValidation : realtimeValidation;\n let displayValidation = validationBehavior === 'native' ? state.displayValidation : combinedRealtimeValidation;\n let res = (0, $dde212bea465bd23$export$e375f10ce42261c5)({\n ...props,\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isDisabled: props.isDisabled || state.isDisabled,\n name: props.name || name,\n form: props.form || form,\n isRequired: props.isRequired ?? state.isRequired,\n validationBehavior: validationBehavior,\n [(0, $43eCz$privateValidationStateProp)]: {\n realtimeValidation: combinedRealtimeValidation,\n displayValidation: displayValidation,\n resetValidation: state.resetValidation,\n commitValidation: state.commitValidation,\n updateValidation (v) {\n nativeValidation.current = v;\n updateValidation();\n }\n }\n }, toggleState, inputRef);\n return {\n ...res,\n inputProps: {\n ...res.inputProps,\n 'aria-describedby': [\n res.inputProps['aria-describedby'],\n state.isInvalid ? errorMessageId : null,\n descriptionId\n ].filter(Boolean).join(' ') || undefined\n }\n };\n}\n\n\nexport {$55cfc34eef47e1ca$export$353b32fc6898d37d as useCheckboxGroupItem};\n//# sourceMappingURL=useCheckboxGroupItem.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, removeDataAttributes as $7230ffa83bc0c2cf$export$ef03459518577ad4, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlot as $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {FieldErrorContext as $1f3c3b1a70cec653$export$ff05c3ac10437e03} from \"./FieldError.mjs\";\nimport {FormContext as $cdaed739b1139372$export$c24727297075ec6a} from \"./Form.mjs\";\nimport {LabelContext as $43a3b93638fe5db9$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {TextContext as $efe09c6d1c304b50$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useCheckboxGroup as $j1L6B$useCheckboxGroup, useCheckboxGroupItem as $j1L6B$useCheckboxGroupItem} from \"react-aria/useCheckboxGroup\";\nimport {useCheckbox as $j1L6B$useCheckbox} from \"react-aria/useCheckbox\";\nimport {useCheckboxGroupState as $j1L6B$useCheckboxGroupState} from \"react-stately/useCheckboxGroupState\";\nimport {filterDOMProps as $j1L6B$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $j1L6B$mergeProps} from \"react-aria/mergeProps\";\nimport {mergeRefs as $j1L6B$mergeRefs} from \"react-aria/mergeRefs\";\nimport $j1L6B$react, {createContext as $j1L6B$createContext, forwardRef as $j1L6B$forwardRef, useContext as $j1L6B$useContext, useMemo as $j1L6B$useMemo} from \"react\";\nimport {useFocusRing as $j1L6B$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $j1L6B$useHover} from \"react-aria/useHover\";\nimport {useObjectRef as $j1L6B$useObjectRef} from \"react-aria/useObjectRef\";\nimport {useToggleState as $j1L6B$useToggleState} from \"react-stately/useToggleState\";\nimport {VisuallyHidden as $j1L6B$VisuallyHidden} from \"react-aria/VisuallyHidden\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $ed8ccb2e23e76301$export$b085522c77523c51 = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$c32003b803b6c22e = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$baf37c4be89255b8 = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$139c5b8563afc1fc = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$4aa08d5625cb8ead = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function CheckboxGroup(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $ed8ccb2e23e76301$export$baf37c4be89255b8);\n let { validationBehavior: formValidationBehavior } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)((0, $cdaed739b1139372$export$c24727297075ec6a)) || {};\n let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';\n let state = (0, $j1L6B$useCheckboxGroupState)({\n ...props,\n validationBehavior: validationBehavior\n });\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { groupProps: groupProps, labelProps: labelProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = (0, $j1L6B$useCheckboxGroup)({\n ...props,\n label: label,\n validationBehavior: validationBehavior\n }, state);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: props.isRequired || false,\n isInvalid: state.isInvalid,\n state: state\n },\n defaultClassName: 'react-aria-CheckboxGroup'\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $j1L6B$mergeProps)(DOMProps, renderProps, groupProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-readonly\": state.isReadOnly || undefined,\n \"data-required\": props.isRequired || undefined,\n \"data-invalid\": state.isInvalid || undefined,\n \"data-disabled\": props.isDisabled || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $ed8ccb2e23e76301$export$139c5b8563afc1fc,\n state\n ],\n [\n (0, $43a3b93638fe5db9$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n ],\n [\n (0, $efe09c6d1c304b50$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n [\n (0, $1f3c3b1a70cec653$export$ff05c3ac10437e03),\n validation\n ]\n ]\n }, renderProps.children));\n});\nconst $ed8ccb2e23e76301$var$InternalCheckboxContext = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$94195a47b94ed396 = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function Checkbox(props, ref) {\n let { inputRef: userProvidedInputRef = null, ...otherProps } = props;\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(otherProps, ref, $ed8ccb2e23e76301$export$c32003b803b6c22e);\n let groupState = (0, $j1L6B$useContext)($ed8ccb2e23e76301$export$139c5b8563afc1fc);\n let [aria, inputRef] = $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef);\n let { descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isInvalid, validationDetails: validationDetails, validationErrors: validationErrors } = aria;\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-CheckboxField',\n values: {\n isSelected: isSelected,\n isIndeterminate: props.isIndeterminate || false,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n isRequired: props.isRequired || false\n }\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $j1L6B$mergeProps)(DOMProps, renderProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-selected\": isSelected || undefined,\n \"data-indeterminate\": props.isIndeterminate || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-required\": props.isRequired || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $ed8ccb2e23e76301$var$InternalCheckboxContext,\n {\n ...aria,\n inputRef: inputRef,\n defaultClassName: 'react-aria-CheckboxButton',\n isIndeterminate: props.isIndeterminate,\n isRequired: props.isRequired\n }\n ],\n [\n (0, $efe09c6d1c304b50$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n // In a CheckboxGroup, validation is handled at the group level instead of repeated on each checkbox.\n [\n (0, $1f3c3b1a70cec653$export$ff05c3ac10437e03),\n groupState ? null : {\n isInvalid: isInvalid,\n validationDetails: validationDetails,\n validationErrors: validationErrors\n }\n ]\n ]\n }, renderProps.children));\n});\nfunction $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef) {\n let { validationBehavior: formValidationBehavior } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)((0, $cdaed739b1139372$export$c24727297075ec6a)) || {};\n let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';\n let groupState = (0, $j1L6B$useContext)($ed8ccb2e23e76301$export$139c5b8563afc1fc);\n let inputRef = (0, $j1L6B$useObjectRef)((0, $j1L6B$useMemo)(()=>(0, $j1L6B$mergeRefs)(userProvidedInputRef, props.inputRef !== undefined ? props.inputRef : null), [\n userProvidedInputRef,\n props.inputRef\n ]));\n let checkboxProps = {\n ...(0, $7230ffa83bc0c2cf$export$ef03459518577ad4)(props),\n children: typeof props.children === 'function' ? true : props.children,\n value: props.value,\n validationBehavior: validationBehavior\n };\n let aria = groupState ? (0, $j1L6B$useCheckboxGroupItem)(checkboxProps, groupState, inputRef) : (0, $j1L6B$useCheckbox)(checkboxProps, (0, $j1L6B$useToggleState)(props), inputRef);\n return [\n aria,\n inputRef\n ];\n}\nconst $ed8ccb2e23e76301$export$48513f6b9f8ce62d = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function Checkbox(props, ref) {\n let { inputRef: userProvidedInputRef = null, ...otherProps } = props;\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(otherProps, ref, $ed8ccb2e23e76301$export$b085522c77523c51);\n let [aria, inputRef] = $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef);\n return /*#__PURE__*/ (0, $j1L6B$react).createElement($ed8ccb2e23e76301$var$InternalCheckboxContext.Provider, {\n value: {\n ...aria,\n inputRef: inputRef,\n defaultClassName: 'react-aria-Checkbox',\n isIndeterminate: props.isIndeterminate,\n isRequired: props.isRequired\n }\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement($ed8ccb2e23e76301$export$6e7a18c0548f3129, {\n ...props,\n ref: ref\n }));\n});\nconst $ed8ccb2e23e76301$export$6e7a18c0548f3129 = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function CheckboxButton(props, ref) {\n let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isPressed: isPressed, isInvalid: isInvalid, inputRef: inputRef, defaultClassName: defaultClassName, isIndeterminate: isIndeterminate, isRequired: isRequired } = (0, $j1L6B$useContext)($ed8ccb2e23e76301$var$InternalCheckboxContext);\n let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $j1L6B$useFocusRing)();\n let isInteractionDisabled = isDisabled || isReadOnly;\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $j1L6B$useHover)({\n ...props,\n isDisabled: isInteractionDisabled\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: defaultClassName,\n values: {\n isSelected: isSelected,\n isIndeterminate: isIndeterminate || false,\n isPressed: isPressed,\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n isRequired: isRequired || false\n }\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).label, {\n ...(0, $j1L6B$mergeProps)(DOMProps, labelProps, hoverProps, renderProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-selected\": isSelected || undefined,\n \"data-indeterminate\": isIndeterminate || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-required\": isRequired || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $j1L6B$VisuallyHidden), {\n elementType: \"span\"\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement(\"input\", {\n ...(0, $j1L6B$mergeProps)(inputProps, focusProps),\n ref: inputRef\n })), renderProps.children);\n});\n\n\nexport {$ed8ccb2e23e76301$export$b085522c77523c51 as CheckboxContext, $ed8ccb2e23e76301$export$c32003b803b6c22e as CheckboxFieldContext, $ed8ccb2e23e76301$export$baf37c4be89255b8 as CheckboxGroupContext, $ed8ccb2e23e76301$export$139c5b8563afc1fc as CheckboxGroupStateContext, $ed8ccb2e23e76301$export$4aa08d5625cb8ead as CheckboxGroup, $ed8ccb2e23e76301$export$94195a47b94ed396 as CheckboxField, $ed8ccb2e23e76301$export$48513f6b9f8ce62d as Checkbox, $ed8ccb2e23e76301$export$6e7a18c0548f3129 as CheckboxButton};\n//# sourceMappingURL=Checkbox.mjs.map\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport { Checkbox as RaCheckbox } from \"react-aria-components\";\nimport type { SlotComponent } from \"@/type-utils/slot-types\";\nimport type {\n CheckboxRootSlotProps,\n CheckboxIndicatorSlotProps,\n CheckboxLabelSlotProps,\n} from \"./checkbox.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusCheckbox\",\n});\n\nexport const CheckboxRoot: SlotComponent<\n HTMLLabelElement,\n CheckboxRootSlotProps\n> = withProvider<HTMLLabelElement, CheckboxRootSlotProps>(RaCheckbox, \"root\");\n\nexport const CheckboxLabel: SlotComponent<\n HTMLSpanElement,\n CheckboxLabelSlotProps\n> = withContext<HTMLSpanElement, CheckboxLabelSlotProps>(\"span\", \"label\");\n\nexport const CheckboxIndicator: SlotComponent<\n HTMLSpanElement,\n CheckboxIndicatorSlotProps\n> = withContext<HTMLSpanElement, CheckboxIndicatorSlotProps>(\n \"span\",\n \"indicator\"\n);\n","import { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Check, Remove as Minus } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils\";\nimport type { CheckboxProps } from \"./checkbox.types\";\nimport type { CheckboxRenderProps } from \"react-aria-components\";\nimport {\n CheckboxIndicator,\n CheckboxRoot,\n CheckboxLabel,\n} from \"./checkbox.slots\";\n\n/**\n * # Checkbox\n *\n * Displays a checkbox.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/checkbox}\n */\nexport const Checkbox = (props: CheckboxProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const recipe = useSlotRecipe({ key: \"nimbusCheckbox\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(restProps);\n\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n return (\n <CheckboxRoot\n ref={forwardedRef}\n data-slot=\"root\"\n {...functionalProps}\n {...recipeProps}\n {...styleProps}\n >\n {({\n isSelected,\n isIndeterminate,\n isInvalid,\n isDisabled,\n isFocused,\n }: CheckboxRenderProps) => {\n const stateProps = {\n \"data-selected\": isSelected,\n \"data-indeterminate\": isIndeterminate,\n \"data-invalid\": isInvalid,\n \"data-disabled\": isDisabled,\n \"data-focus\": isFocused || undefined,\n };\n\n return (\n <>\n <CheckboxIndicator data-slot=\"indicator\" {...stateProps}>\n {isSelected && <Check />}\n {isIndeterminate && <Minus />}\n </CheckboxIndicator>\n\n {children && (\n <CheckboxLabel data-slot=\"label\" {...stateProps}>\n {children}\n </CheckboxLabel>\n )}\n </>\n );\n }}\n </CheckboxRoot>\n );\n};\nCheckbox.displayName = \"Checkbox\";\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"0tBAiBA,SAAS,EAA0C,EAAO,EAAO,EAAU,CACvE,GAAI,CAAc,aAAwB,aAA8B,mBAAqC,oBAA+B,aAAuB,YAAuB,aAAwB,aAAuB,YAA6B,mBAAqC,qBAA0BA,EAAAA,EAA2C,EAAO,EAAO,CAAQ,EAClY,CAAmB,mBAAoB,EAM3C,OALA,EAAA,EAAA,UAAA,KAA0B,CAGlB,EAAS,UAAS,EAAS,QAAQ,cAAgB,CAAC,CAAC,EAC7D,CAAC,EACM,CACH,WAAgBC,EAAAA,EAA2C,GAAA,EAAA,EAAA,QAAA,MAAqC,CAGxF,YAAc,GAAI,EAAE,eAAe,CACvC,GAAI,CAAC,CAAC,CAAC,EACC,aACM,mBACC,oBACP,aACD,YACC,aACA,aACD,YACO,mBACC,mBACvB,CACJ,CChCI,IAAM,EAA4C,IAAI,QCW1D,SAAS,EAA0C,EAAO,EAAO,EAAU,CACvE,IAAM,EAAkBC,EAAAA,EAAuB,CAC3C,WAAY,EAAM,YAAc,EAAM,WACtC,WAAY,EAAM,WAAW,EAAM,KAAK,EACxC,gBAAiB,EAAM,aAAa,SAAS,EAAM,KAAK,EACxD,SAAU,EAAY,CACd,EAAY,EAAM,SAAS,EAAM,KAAK,EACrC,EAAM,YAAY,EAAM,KAAK,EAC9B,EAAM,UAAU,EAAM,SAAS,CAAU,CACjD,CACJ,CAAC,EACG,CAAQ,OAAY,OAAqB,gBAA+B,iBAAoC,sBAA2B,EAA2C,IAAI,CAAK,EAC/L,EAAqB,EAAM,oBAAsB,EAEjD,GAAI,CAAsB,sBAA2BC,EAAAA,EAA+B,CAChF,GAAG,EACH,MAAO,EAAY,WAEnB,KAAM,IAAA,GACN,mBAAoB,MACxB,CAAC,EAEG,GAAA,EAAA,EAAA,OAAA,CAA0CC,EAAAA,CAAiC,EAC3E,MAAuB,CACvB,EAAM,WAAW,EAAM,MAAO,EAAmB,UAAY,EAAqB,EAAiB,OAAO,CAC9G,GACA,EAAA,EAAA,UAAA,CAAsB,CAAgB,EAEtC,IAAI,EAA6B,EAAM,mBAAmB,UAAY,EAAM,mBAAqB,EAC7F,EAAoB,IAAuB,SAAW,EAAM,kBAAoB,EAChF,EAAU,EAA2C,CACrD,GAAG,EACH,WAAY,EAAM,YAAc,EAAM,WACtC,WAAY,EAAM,YAAc,EAAM,WACtC,KAAM,EAAM,MAAQ,EACpB,KAAM,EAAM,MAAQ,EACpB,WAAY,EAAM,YAAc,EAAM,WAClB,sBACfC,EAAAA,GAAqC,CACtC,mBAAoB,EACD,oBACnB,gBAAiB,EAAM,gBACvB,iBAAkB,EAAM,iBACxB,iBAAkB,EAAG,CACjB,EAAiB,QAAU,EAC3B,EAAiB,CACrB,CACJ,CACJ,EAAG,EAAa,CAAQ,EACxB,MAAO,CACH,GAAG,EACH,WAAY,CACR,GAAG,EAAI,WACP,mBAAoB,CAChB,EAAI,WAAW,oBACf,EAAM,UAAY,EAAiB,KACnC,CACJ,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,GAAK,IAAA,EACnC,CACJ,CACJ,CCpCA,IAAM,GAA0D,EAAA,EAAA,cAAA,CAA0B,IAAI,EACxF,GAA0D,EAAA,EAAA,cAAA,CAA0B,IAAI,EAExF,GAA0D,EAAA,EAAA,cAAA,CAA0B,IAAI,EAmExF,GAA8D,EAAA,EAAA,cAAA,CAA0B,IAAI,EAmElG,SAAS,EAAsC,EAAO,EAAsB,CACxE,GAAI,CAAE,mBAAoB,GAA+BC,EAAAA,EAA+CC,EAAAA,CAA0C,GAAK,CAAC,EACpJ,EAAqB,EAAM,oBAAsB,GAA0B,SAC3E,GAAA,EAAA,EAAA,WAAA,CAAoC,CAAyC,EAC7E,EAAeC,EAAAA,GAAAA,EAAAA,EAAAA,QAAAA,KAAiDC,EAAAA,EAAkB,EAAsB,EAAM,WAAa,IAAA,GAA6B,KAAjB,EAAM,QAAe,EAAG,CAC/J,EACA,EAAM,QACV,CAAC,CAAC,EACE,EAAgB,CAChB,GAAOC,EAAAA,EAA2C,CAAK,EACvD,SAAU,OAAO,EAAM,UAAa,YAAoB,EAAM,SAC9D,MAAO,EAAM,MACO,oBACxB,EAEA,MAAO,CADI,EAAiBC,EAA6B,EAAe,EAAY,CAAQ,EAAQC,EAAoB,EAAmBC,EAAAA,EAAuB,CAAK,EAAG,CAAQ,EAG9K,CACJ,CACJ,CACA,IAAM,GAA0D,EAAA,EAAA,WAAA,CAAuB,SAAkB,EAAO,EAAK,CACjH,GAAI,CAAE,SAAU,EAAuB,KAAM,GAAG,GAAe,EAC/D,CAAC,EAAO,GAAWC,EAAAA,EAA2C,EAAY,EAAK,CAAyC,EACxH,GAAI,CAAC,EAAM,GAAY,EAAsC,EAAO,CAAoB,EACxF,OAAyBC,EAAAA,QAAc,cAAc,EAA8C,SAAU,CACzG,MAAO,CACH,GAAG,EACO,WACV,iBAAkB,sBAClB,gBAAiB,EAAM,gBACvB,WAAY,EAAM,UACtB,CACJ,EAAqBA,EAAAA,QAAc,cAAc,EAA2C,CACxF,GAAG,EACE,KACT,CAAC,CAAC,CACN,CAAC,EACK,GAA0D,EAAA,EAAA,WAAA,CAAuB,SAAwB,EAAO,EAAK,CACvH,GAAI,CAAc,aAAwB,aAAwB,aAAwB,aAAwB,aAAuB,YAAsB,YAAqB,WAA4B,mBAAmC,kBAA6B,eAAA,EAAA,EAAA,WAAA,CAAsC,CAA6C,EAC/V,CAAa,YAA2B,iBAA4B,cAAmBC,EAAAA,EAAqB,EAC5G,EAAwB,GAAc,EACtC,CAAc,aAAuB,aAAkBC,EAAAA,EAAiB,CACxE,GAAG,EACH,WAAY,CAChB,CAAC,EACG,EAAkBC,EAAAA,EAAyC,CAC3D,GAAG,EACe,mBAClB,OAAQ,CACQ,aACZ,gBAAiB,GAAmB,GACzB,YACA,YACA,YACK,iBACJ,aACA,aACD,YACX,WAAY,GAAc,EAC9B,CACJ,CAAC,EACG,EAAeC,EAAAA,EAAuB,EAAO,CAC7C,OAAQ,EACZ,CAAC,EAGD,OAFA,OAAO,EAAS,GAChB,OAAO,EAAS,QACSJ,EAAAA,QAAc,cAAkBK,EAAAA,EAA2C,MAAO,CACvG,GAAOC,EAAAA,EAAmB,EAAU,EAAY,EAAY,CAAW,EAClE,MACL,KAAM,EAAM,MAAQ,IAAA,GACpB,gBAAiB,GAAc,IAAA,GAC/B,qBAAsB,GAAmB,IAAA,GACzC,eAAgB,GAAa,IAAA,GAC7B,eAAgB,GAAa,IAAA,GAC7B,eAAgB,GAAa,IAAA,GAC7B,qBAAsB,GAAkB,IAAA,GACxC,gBAAiB,GAAc,IAAA,GAC/B,gBAAiB,GAAc,IAAA,GAC/B,eAAgB,GAAa,IAAA,GAC7B,gBAAiB,GAAc,IAAA,EACnC,EAAqBN,EAAAA,QAAc,cAAkBO,EAAAA,EAAwB,CACzE,YAAa,MACjB,EAAqBP,EAAAA,QAAc,cAAc,QAAS,CACtD,GAAOM,EAAAA,EAAmB,EAAY,CAAU,EAChD,IAAK,CACT,CAAC,CAAC,EAAG,EAAY,QAAQ,CAC7B,CAAC,ECnQK,CAAE,eAAc,gBAAA,EAAA,EAAA,wBAAA,CAAwC,CAC5D,IAAK,gBACP,CAAC,EAEY,EAGT,EAAsD,EAAY,MAAM,EAE/D,EAGT,EAAqD,OAAQ,OAAO,EAE3D,EAGT,EACF,OACA,WACF,ECXa,EAAY,GAAyB,CAChD,GAAM,CAAE,IAAK,EAAc,WAAU,GAAG,GAAc,EAGhD,CAAC,EAAa,IAAA,EAAA,EAAA,cAAA,CADS,CAAE,IAAK,gBAAiB,CACf,CAAA,CAAO,kBAAkB,CAAS,EAElE,CAAC,EAAY,GAAmB,EAAA,EAAkB,CAAc,EAEtE,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,IAAK,EACL,YAAU,OACV,GAAI,EACJ,GAAI,EACJ,GAAI,YAEF,CACA,aACA,kBACA,YACA,aACA,eACyB,CACzB,IAAM,EAAa,CACjB,gBAAiB,EACjB,qBAAsB,EACtB,eAAgB,EAChB,gBAAiB,EACjB,aAAc,GAAa,IAAA,EAC7B,EAEA,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAmB,YAAU,YAAY,GAAI,WAA7C,CACG,IAAc,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAQ,CAAA,EACtB,IAAmB,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAQ,CAAA,CACX,IAElB,IACC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,YAAU,QAAQ,GAAI,EAClC,UACY,CAAA,CAEjB,CAAA,CAAA,CAEN,CACY,CAAA,CAElB,EACA,EAAS,YAAc"}
1
+ {"version":3,"file":"checkbox-DCVW3K9i.cjs.js","names":["$876b6f32ca5a04c3$export$cbe85ee05b554577","$bbaa08b3cd72f041$export$9d1611c77c2fe928","$43eCz$useToggleState","$43eCz$useFormValidationState","$43eCz$DEFAULT_VALIDATION_RESULT","$43eCz$privateValidationStateProp","$7230ffa83bc0c2cf$export$fabf2dc03a41866e","$cdaed739b1139372$export$c24727297075ec6a","$j1L6B$useObjectRef","$j1L6B$mergeRefs","$7230ffa83bc0c2cf$export$ef03459518577ad4","$j1L6B$useCheckboxGroupItem","$j1L6B$useCheckbox","$j1L6B$useToggleState","$7230ffa83bc0c2cf$export$29f1550f4b0d4415","$j1L6B$react","$j1L6B$useFocusRing","$j1L6B$useHover","$7230ffa83bc0c2cf$export$4d86445c2cf5e3","$j1L6B$filterDOMProps","$7230ffa83bc0c2cf$export$df3a06d6289f983e","$j1L6B$mergeProps","$j1L6B$VisuallyHidden"],"sources":["../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/checkbox/useCheckbox.mjs","../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/checkbox/utils.mjs","../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/checkbox/useCheckboxGroupItem.mjs","../../../../node_modules/.pnpm/react-aria-components@1.19.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/private/Checkbox.mjs","../../src/components/checkbox/checkbox.slots.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import {useToggle as $876b6f32ca5a04c3$export$cbe85ee05b554577} from \"../toggle/useToggle.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useEffect as $5eYZN$useEffect, useMemo as $5eYZN$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $dde212bea465bd23$export$e375f10ce42261c5(props, state, inputRef) {\n let { labelProps: labelProps, inputProps: inputProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, isSelected: isSelected, isPressed: isPressed, isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = (0, $876b6f32ca5a04c3$export$cbe85ee05b554577)(props, state, inputRef);\n let { isIndeterminate: isIndeterminate } = props;\n (0, $5eYZN$useEffect)(()=>{\n // indeterminate is a property, but it can only be set via javascript\n // https://css-tricks.com/indeterminate-checkboxes/\n if (inputRef.current) inputRef.current.indeterminate = !!isIndeterminate;\n });\n return {\n labelProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(labelProps, (0, $5eYZN$useMemo)(()=>({\n // Prevent label from being focused when mouse down on it.\n // Note, this does not prevent the input from being focused in the `click` event.\n onMouseDown: (e)=>e.preventDefault()\n }), [])),\n inputProps: inputProps,\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isSelected: isSelected,\n isPressed: isPressed,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails\n };\n}\n\n\nexport {$dde212bea465bd23$export$e375f10ce42261c5 as useCheckbox};\n//# sourceMappingURL=useCheckbox.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $0fffd24394d22962$export$ec98120685d4f57d = new WeakMap();\n\n\nexport {$0fffd24394d22962$export$ec98120685d4f57d as checkboxGroupData};\n//# sourceMappingURL=utils.mjs.map\n","import {useCheckbox as $dde212bea465bd23$export$e375f10ce42261c5} from \"./useCheckbox.mjs\";\nimport {checkboxGroupData as $0fffd24394d22962$export$ec98120685d4f57d} from \"./utils.mjs\";\nimport {useFormValidationState as $43eCz$useFormValidationState, DEFAULT_VALIDATION_RESULT as $43eCz$DEFAULT_VALIDATION_RESULT, privateValidationStateProp as $43eCz$privateValidationStateProp} from \"react-stately/private/form/useFormValidationState\";\nimport {useRef as $43eCz$useRef, useEffect as $43eCz$useEffect} from \"react\";\nimport {useToggleState as $43eCz$useToggleState} from \"react-stately/useToggleState\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $55cfc34eef47e1ca$export$353b32fc6898d37d(props, state, inputRef) {\n const toggleState = (0, $43eCz$useToggleState)({\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isSelected: state.isSelected(props.value),\n defaultSelected: state.defaultValue.includes(props.value),\n onChange (isSelected) {\n if (isSelected) state.addValue(props.value);\n else state.removeValue(props.value);\n if (props.onChange) props.onChange(isSelected);\n }\n });\n let { name: name, form: form, descriptionId: descriptionId, errorMessageId: errorMessageId, validationBehavior: validationBehavior } = (0, $0fffd24394d22962$export$ec98120685d4f57d).get(state);\n validationBehavior = props.validationBehavior ?? validationBehavior;\n // Local validation for this checkbox.\n let { realtimeValidation: realtimeValidation } = (0, $43eCz$useFormValidationState)({\n ...props,\n value: toggleState.isSelected,\n // Server validation is handled at the group level.\n name: undefined,\n validationBehavior: 'aria'\n });\n // Update the checkbox group state when realtime validation changes.\n let nativeValidation = (0, $43eCz$useRef)((0, $43eCz$DEFAULT_VALIDATION_RESULT));\n let updateValidation = ()=>{\n state.setInvalid(props.value, realtimeValidation.isInvalid ? realtimeValidation : nativeValidation.current);\n };\n (0, $43eCz$useEffect)(updateValidation);\n // Combine group and checkbox level validation.\n let combinedRealtimeValidation = state.realtimeValidation.isInvalid ? state.realtimeValidation : realtimeValidation;\n let displayValidation = validationBehavior === 'native' ? state.displayValidation : combinedRealtimeValidation;\n let res = (0, $dde212bea465bd23$export$e375f10ce42261c5)({\n ...props,\n isReadOnly: props.isReadOnly || state.isReadOnly,\n isDisabled: props.isDisabled || state.isDisabled,\n name: props.name || name,\n form: props.form || form,\n isRequired: props.isRequired ?? state.isRequired,\n validationBehavior: validationBehavior,\n [(0, $43eCz$privateValidationStateProp)]: {\n realtimeValidation: combinedRealtimeValidation,\n displayValidation: displayValidation,\n resetValidation: state.resetValidation,\n commitValidation: state.commitValidation,\n updateValidation (v) {\n nativeValidation.current = v;\n updateValidation();\n }\n }\n }, toggleState, inputRef);\n return {\n ...res,\n inputProps: {\n ...res.inputProps,\n 'aria-describedby': [\n res.inputProps['aria-describedby'],\n state.isInvalid ? errorMessageId : null,\n descriptionId\n ].filter(Boolean).join(' ') || undefined\n }\n };\n}\n\n\nexport {$55cfc34eef47e1ca$export$353b32fc6898d37d as useCheckboxGroupItem};\n//# sourceMappingURL=useCheckboxGroupItem.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, removeDataAttributes as $7230ffa83bc0c2cf$export$ef03459518577ad4, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlot as $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {FieldErrorContext as $1f3c3b1a70cec653$export$ff05c3ac10437e03} from \"./FieldError.mjs\";\nimport {FormContext as $cdaed739b1139372$export$c24727297075ec6a} from \"./Form.mjs\";\nimport {LabelContext as $43a3b93638fe5db9$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {TextContext as $efe09c6d1c304b50$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useCheckboxGroup as $j1L6B$useCheckboxGroup, useCheckboxGroupItem as $j1L6B$useCheckboxGroupItem} from \"react-aria/useCheckboxGroup\";\nimport {useCheckbox as $j1L6B$useCheckbox} from \"react-aria/useCheckbox\";\nimport {useCheckboxGroupState as $j1L6B$useCheckboxGroupState} from \"react-stately/useCheckboxGroupState\";\nimport {filterDOMProps as $j1L6B$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $j1L6B$mergeProps} from \"react-aria/mergeProps\";\nimport {mergeRefs as $j1L6B$mergeRefs} from \"react-aria/mergeRefs\";\nimport $j1L6B$react, {createContext as $j1L6B$createContext, forwardRef as $j1L6B$forwardRef, useContext as $j1L6B$useContext, useMemo as $j1L6B$useMemo} from \"react\";\nimport {useFocusRing as $j1L6B$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $j1L6B$useHover} from \"react-aria/useHover\";\nimport {useObjectRef as $j1L6B$useObjectRef} from \"react-aria/useObjectRef\";\nimport {useToggleState as $j1L6B$useToggleState} from \"react-stately/useToggleState\";\nimport {VisuallyHidden as $j1L6B$VisuallyHidden} from \"react-aria/VisuallyHidden\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $ed8ccb2e23e76301$export$b085522c77523c51 = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$c32003b803b6c22e = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$baf37c4be89255b8 = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$139c5b8563afc1fc = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$4aa08d5625cb8ead = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function CheckboxGroup(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $ed8ccb2e23e76301$export$baf37c4be89255b8);\n let { validationBehavior: formValidationBehavior } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)((0, $cdaed739b1139372$export$c24727297075ec6a)) || {};\n let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';\n let state = (0, $j1L6B$useCheckboxGroupState)({\n ...props,\n validationBehavior: validationBehavior\n });\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { groupProps: groupProps, labelProps: labelProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = (0, $j1L6B$useCheckboxGroup)({\n ...props,\n label: label,\n validationBehavior: validationBehavior\n }, state);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isDisabled: state.isDisabled,\n isReadOnly: state.isReadOnly,\n isRequired: props.isRequired || false,\n isInvalid: state.isInvalid,\n state: state\n },\n defaultClassName: 'react-aria-CheckboxGroup'\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $j1L6B$mergeProps)(DOMProps, renderProps, groupProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-readonly\": state.isReadOnly || undefined,\n \"data-required\": props.isRequired || undefined,\n \"data-invalid\": state.isInvalid || undefined,\n \"data-disabled\": props.isDisabled || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $ed8ccb2e23e76301$export$139c5b8563afc1fc,\n state\n ],\n [\n (0, $43a3b93638fe5db9$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n ],\n [\n (0, $efe09c6d1c304b50$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n [\n (0, $1f3c3b1a70cec653$export$ff05c3ac10437e03),\n validation\n ]\n ]\n }, renderProps.children));\n});\nconst $ed8ccb2e23e76301$var$InternalCheckboxContext = /*#__PURE__*/ (0, $j1L6B$createContext)(null);\nconst $ed8ccb2e23e76301$export$94195a47b94ed396 = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function Checkbox(props, ref) {\n let { inputRef: userProvidedInputRef = null, ...otherProps } = props;\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(otherProps, ref, $ed8ccb2e23e76301$export$c32003b803b6c22e);\n let groupState = (0, $j1L6B$useContext)($ed8ccb2e23e76301$export$139c5b8563afc1fc);\n let [aria, inputRef] = $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef);\n let { descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isInvalid: isInvalid, validationDetails: validationDetails, validationErrors: validationErrors } = aria;\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-CheckboxField',\n values: {\n isSelected: isSelected,\n isIndeterminate: props.isIndeterminate || false,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n isRequired: props.isRequired || false\n }\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $j1L6B$mergeProps)(DOMProps, renderProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-selected\": isSelected || undefined,\n \"data-indeterminate\": props.isIndeterminate || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-required\": props.isRequired || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $ed8ccb2e23e76301$var$InternalCheckboxContext,\n {\n ...aria,\n inputRef: inputRef,\n defaultClassName: 'react-aria-CheckboxButton',\n isIndeterminate: props.isIndeterminate,\n isRequired: props.isRequired\n }\n ],\n [\n (0, $efe09c6d1c304b50$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n // In a CheckboxGroup, validation is handled at the group level instead of repeated on each checkbox.\n [\n (0, $1f3c3b1a70cec653$export$ff05c3ac10437e03),\n groupState ? null : {\n isInvalid: isInvalid,\n validationDetails: validationDetails,\n validationErrors: validationErrors\n }\n ]\n ]\n }, renderProps.children));\n});\nfunction $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef) {\n let { validationBehavior: formValidationBehavior } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)((0, $cdaed739b1139372$export$c24727297075ec6a)) || {};\n let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';\n let groupState = (0, $j1L6B$useContext)($ed8ccb2e23e76301$export$139c5b8563afc1fc);\n let inputRef = (0, $j1L6B$useObjectRef)((0, $j1L6B$useMemo)(()=>(0, $j1L6B$mergeRefs)(userProvidedInputRef, props.inputRef !== undefined ? props.inputRef : null), [\n userProvidedInputRef,\n props.inputRef\n ]));\n let checkboxProps = {\n ...(0, $7230ffa83bc0c2cf$export$ef03459518577ad4)(props),\n children: typeof props.children === 'function' ? true : props.children,\n value: props.value,\n validationBehavior: validationBehavior\n };\n let aria = groupState ? (0, $j1L6B$useCheckboxGroupItem)(checkboxProps, groupState, inputRef) : (0, $j1L6B$useCheckbox)(checkboxProps, (0, $j1L6B$useToggleState)(props), inputRef);\n return [\n aria,\n inputRef\n ];\n}\nconst $ed8ccb2e23e76301$export$48513f6b9f8ce62d = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function Checkbox(props, ref) {\n let { inputRef: userProvidedInputRef = null, ...otherProps } = props;\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(otherProps, ref, $ed8ccb2e23e76301$export$b085522c77523c51);\n let [aria, inputRef] = $ed8ccb2e23e76301$var$useCheckboxAria(props, userProvidedInputRef);\n return /*#__PURE__*/ (0, $j1L6B$react).createElement($ed8ccb2e23e76301$var$InternalCheckboxContext.Provider, {\n value: {\n ...aria,\n inputRef: inputRef,\n defaultClassName: 'react-aria-Checkbox',\n isIndeterminate: props.isIndeterminate,\n isRequired: props.isRequired\n }\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement($ed8ccb2e23e76301$export$6e7a18c0548f3129, {\n ...props,\n ref: ref\n }));\n});\nconst $ed8ccb2e23e76301$export$6e7a18c0548f3129 = /*#__PURE__*/ (0, $j1L6B$forwardRef)(function CheckboxButton(props, ref) {\n let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isPressed: isPressed, isInvalid: isInvalid, inputRef: inputRef, defaultClassName: defaultClassName, isIndeterminate: isIndeterminate, isRequired: isRequired } = (0, $j1L6B$useContext)($ed8ccb2e23e76301$var$InternalCheckboxContext);\n let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $j1L6B$useFocusRing)();\n let isInteractionDisabled = isDisabled || isReadOnly;\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $j1L6B$useHover)({\n ...props,\n isDisabled: isInteractionDisabled\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: defaultClassName,\n values: {\n isSelected: isSelected,\n isIndeterminate: isIndeterminate || false,\n isPressed: isPressed,\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: isDisabled,\n isReadOnly: isReadOnly,\n isInvalid: isInvalid,\n isRequired: isRequired || false\n }\n });\n let DOMProps = (0, $j1L6B$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).label, {\n ...(0, $j1L6B$mergeProps)(DOMProps, labelProps, hoverProps, renderProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-selected\": isSelected || undefined,\n \"data-indeterminate\": isIndeterminate || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-required\": isRequired || undefined\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement((0, $j1L6B$VisuallyHidden), {\n elementType: \"span\"\n }, /*#__PURE__*/ (0, $j1L6B$react).createElement(\"input\", {\n ...(0, $j1L6B$mergeProps)(inputProps, focusProps),\n ref: inputRef\n })), renderProps.children);\n});\n\n\nexport {$ed8ccb2e23e76301$export$b085522c77523c51 as CheckboxContext, $ed8ccb2e23e76301$export$c32003b803b6c22e as CheckboxFieldContext, $ed8ccb2e23e76301$export$baf37c4be89255b8 as CheckboxGroupContext, $ed8ccb2e23e76301$export$139c5b8563afc1fc as CheckboxGroupStateContext, $ed8ccb2e23e76301$export$4aa08d5625cb8ead as CheckboxGroup, $ed8ccb2e23e76301$export$94195a47b94ed396 as CheckboxField, $ed8ccb2e23e76301$export$48513f6b9f8ce62d as Checkbox, $ed8ccb2e23e76301$export$6e7a18c0548f3129 as CheckboxButton};\n//# sourceMappingURL=Checkbox.mjs.map\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport { Checkbox as RaCheckbox } from \"react-aria-components\";\nimport type { SlotComponent } from \"@/type-utils/slot-types\";\nimport type {\n CheckboxRootSlotProps,\n CheckboxIndicatorSlotProps,\n CheckboxLabelSlotProps,\n} from \"./checkbox.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusCheckbox\",\n});\n\nexport const CheckboxRoot: SlotComponent<\n HTMLLabelElement,\n CheckboxRootSlotProps\n> = withProvider<HTMLLabelElement, CheckboxRootSlotProps>(RaCheckbox, \"root\");\n\nexport const CheckboxLabel: SlotComponent<\n HTMLSpanElement,\n CheckboxLabelSlotProps\n> = withContext<HTMLSpanElement, CheckboxLabelSlotProps>(\"span\", \"label\");\n\nexport const CheckboxIndicator: SlotComponent<\n HTMLSpanElement,\n CheckboxIndicatorSlotProps\n> = withContext<HTMLSpanElement, CheckboxIndicatorSlotProps>(\n \"span\",\n \"indicator\"\n);\n","import { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Check, Remove as Minus } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils\";\nimport type { CheckboxProps } from \"./checkbox.types\";\nimport type { CheckboxRenderProps } from \"react-aria-components\";\nimport {\n CheckboxIndicator,\n CheckboxRoot,\n CheckboxLabel,\n} from \"./checkbox.slots\";\n\n/**\n * # Checkbox\n *\n * Displays a checkbox.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/checkbox}\n */\nexport const Checkbox = (props: CheckboxProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const recipe = useSlotRecipe({ key: \"nimbusCheckbox\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(restProps);\n\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n return (\n <CheckboxRoot\n ref={forwardedRef}\n data-slot=\"root\"\n {...functionalProps}\n {...recipeProps}\n {...styleProps}\n >\n {({\n isSelected,\n isIndeterminate,\n isInvalid,\n isDisabled,\n isFocused,\n }: CheckboxRenderProps) => {\n const stateProps = {\n \"data-selected\": isSelected,\n \"data-indeterminate\": isIndeterminate,\n \"data-invalid\": isInvalid,\n \"data-disabled\": isDisabled,\n \"data-focus\": isFocused || undefined,\n };\n\n return (\n <>\n <CheckboxIndicator data-slot=\"indicator\" {...stateProps}>\n {isSelected && <Check />}\n {isIndeterminate && <Minus />}\n </CheckboxIndicator>\n\n {children && (\n <CheckboxLabel data-slot=\"label\" {...stateProps}>\n {children}\n </CheckboxLabel>\n )}\n </>\n );\n }}\n </CheckboxRoot>\n );\n};\nCheckbox.displayName = \"Checkbox\";\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"0tBAiBA,SAAS,EAA0C,EAAO,EAAO,EAAU,CACvE,GAAI,CAAc,aAAwB,aAA8B,mBAAqC,oBAA+B,aAAuB,YAAuB,aAAwB,aAAuB,YAA6B,mBAAqC,qBAA0BA,EAAAA,EAA2C,EAAO,EAAO,CAAQ,EAClY,CAAmB,mBAAoB,EAM3C,OALA,EAAA,EAAA,UAAA,KAA0B,CAGlB,EAAS,UAAS,EAAS,QAAQ,cAAgB,CAAC,CAAC,EAC7D,CAAC,EACM,CACH,WAAgBC,EAAAA,EAA2C,GAAA,EAAA,EAAA,QAAA,MAAqC,CAGxF,YAAc,GAAI,EAAE,eAAe,CACvC,GAAI,CAAC,CAAC,CAAC,EACC,aACM,mBACC,oBACP,aACD,YACC,aACA,aACD,YACO,mBACC,mBACvB,CACJ,CChCI,IAAM,EAA4C,IAAI,QCW1D,SAAS,EAA0C,EAAO,EAAO,EAAU,CACvE,IAAM,EAAkBC,EAAAA,EAAuB,CAC3C,WAAY,EAAM,YAAc,EAAM,WACtC,WAAY,EAAM,WAAW,EAAM,KAAK,EACxC,gBAAiB,EAAM,aAAa,SAAS,EAAM,KAAK,EACxD,SAAU,EAAY,CACd,EAAY,EAAM,SAAS,EAAM,KAAK,EACrC,EAAM,YAAY,EAAM,KAAK,EAC9B,EAAM,UAAU,EAAM,SAAS,CAAU,CACjD,CACJ,CAAC,EACG,CAAQ,OAAY,OAAqB,gBAA+B,iBAAoC,sBAA2B,EAA2C,IAAI,CAAK,EAC/L,EAAqB,EAAM,oBAAsB,EAEjD,GAAI,CAAsB,sBAA2BC,EAAAA,EAA+B,CAChF,GAAG,EACH,MAAO,EAAY,WAEnB,KAAM,IAAA,GACN,mBAAoB,MACxB,CAAC,EAEG,GAAA,EAAA,EAAA,OAAA,CAA0CC,EAAAA,CAAiC,EAC3E,MAAuB,CACvB,EAAM,WAAW,EAAM,MAAO,EAAmB,UAAY,EAAqB,EAAiB,OAAO,CAC9G,GACA,EAAA,EAAA,UAAA,CAAsB,CAAgB,EAEtC,IAAI,EAA6B,EAAM,mBAAmB,UAAY,EAAM,mBAAqB,EAC7F,EAAoB,IAAuB,SAAW,EAAM,kBAAoB,EAChF,EAAU,EAA2C,CACrD,GAAG,EACH,WAAY,EAAM,YAAc,EAAM,WACtC,WAAY,EAAM,YAAc,EAAM,WACtC,KAAM,EAAM,MAAQ,EACpB,KAAM,EAAM,MAAQ,EACpB,WAAY,EAAM,YAAc,EAAM,WAClB,sBACfC,EAAAA,GAAqC,CACtC,mBAAoB,EACD,oBACnB,gBAAiB,EAAM,gBACvB,iBAAkB,EAAM,iBACxB,iBAAkB,EAAG,CACjB,EAAiB,QAAU,EAC3B,EAAiB,CACrB,CACJ,CACJ,EAAG,EAAa,CAAQ,EACxB,MAAO,CACH,GAAG,EACH,WAAY,CACR,GAAG,EAAI,WACP,mBAAoB,CAChB,EAAI,WAAW,oBACf,EAAM,UAAY,EAAiB,KACnC,CACJ,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,GAAK,IAAA,EACnC,CACJ,CACJ,CCpCA,IAAM,GAA0D,EAAA,EAAA,cAAA,CAA0B,IAAI,EACxF,GAA0D,EAAA,EAAA,cAAA,CAA0B,IAAI,EAExF,GAA0D,EAAA,EAAA,cAAA,CAA0B,IAAI,EAmExF,GAA8D,EAAA,EAAA,cAAA,CAA0B,IAAI,EAmElG,SAAS,EAAsC,EAAO,EAAsB,CACxE,GAAI,CAAE,mBAAoB,GAA+BC,EAAAA,EAA+CC,EAAAA,CAA0C,GAAK,CAAC,EACpJ,EAAqB,EAAM,oBAAsB,GAA0B,SAC3E,GAAA,EAAA,EAAA,WAAA,CAAoC,CAAyC,EAC7E,EAAeC,EAAAA,GAAAA,EAAAA,EAAAA,QAAAA,KAAiDC,EAAAA,EAAkB,EAAsB,EAAM,WAAa,IAAA,GAA6B,KAAjB,EAAM,QAAe,EAAG,CAC/J,EACA,EAAM,QACV,CAAC,CAAC,EACE,EAAgB,CAChB,GAAOC,EAAAA,EAA2C,CAAK,EACvD,SAAU,OAAO,EAAM,UAAa,YAAoB,EAAM,SAC9D,MAAO,EAAM,MACO,oBACxB,EAEA,MAAO,CADI,EAAiBC,EAA6B,EAAe,EAAY,CAAQ,EAAQC,EAAoB,EAAmBC,EAAAA,EAAuB,CAAK,EAAG,CAAQ,EAG9K,CACJ,CACJ,CACA,IAAM,GAA0D,EAAA,EAAA,WAAA,CAAuB,SAAkB,EAAO,EAAK,CACjH,GAAI,CAAE,SAAU,EAAuB,KAAM,GAAG,GAAe,EAC/D,CAAC,EAAO,GAAWC,EAAAA,EAA2C,EAAY,EAAK,CAAyC,EACxH,GAAI,CAAC,EAAM,GAAY,EAAsC,EAAO,CAAoB,EACxF,OAAyBC,EAAAA,QAAc,cAAc,EAA8C,SAAU,CACzG,MAAO,CACH,GAAG,EACO,WACV,iBAAkB,sBAClB,gBAAiB,EAAM,gBACvB,WAAY,EAAM,UACtB,CACJ,EAAqBA,EAAAA,QAAc,cAAc,EAA2C,CACxF,GAAG,EACE,KACT,CAAC,CAAC,CACN,CAAC,EACK,GAA0D,EAAA,EAAA,WAAA,CAAuB,SAAwB,EAAO,EAAK,CACvH,GAAI,CAAc,aAAwB,aAAwB,aAAwB,aAAwB,aAAuB,YAAsB,YAAqB,WAA4B,mBAAmC,kBAA6B,eAAA,EAAA,EAAA,WAAA,CAAsC,CAA6C,EAC/V,CAAa,YAA2B,iBAA4B,cAAmBC,EAAAA,EAAqB,EAC5G,EAAwB,GAAc,EACtC,CAAc,aAAuB,aAAkBC,EAAAA,EAAiB,CACxE,GAAG,EACH,WAAY,CAChB,CAAC,EACG,EAAkBC,EAAAA,EAAyC,CAC3D,GAAG,EACe,mBAClB,OAAQ,CACQ,aACZ,gBAAiB,GAAmB,GACzB,YACA,YACA,YACK,iBACJ,aACA,aACD,YACX,WAAY,GAAc,EAC9B,CACJ,CAAC,EACG,EAAeC,EAAAA,EAAuB,EAAO,CAC7C,OAAQ,EACZ,CAAC,EAGD,OAFA,OAAO,EAAS,GAChB,OAAO,EAAS,QACSJ,EAAAA,QAAc,cAAkBK,EAAAA,EAA2C,MAAO,CACvG,GAAOC,EAAAA,EAAmB,EAAU,EAAY,EAAY,CAAW,EAClE,MACL,KAAM,EAAM,MAAQ,IAAA,GACpB,gBAAiB,GAAc,IAAA,GAC/B,qBAAsB,GAAmB,IAAA,GACzC,eAAgB,GAAa,IAAA,GAC7B,eAAgB,GAAa,IAAA,GAC7B,eAAgB,GAAa,IAAA,GAC7B,qBAAsB,GAAkB,IAAA,GACxC,gBAAiB,GAAc,IAAA,GAC/B,gBAAiB,GAAc,IAAA,GAC/B,eAAgB,GAAa,IAAA,GAC7B,gBAAiB,GAAc,IAAA,EACnC,EAAqBN,EAAAA,QAAc,cAAkBO,EAAAA,EAAwB,CACzE,YAAa,MACjB,EAAqBP,EAAAA,QAAc,cAAc,QAAS,CACtD,GAAOM,EAAAA,EAAmB,EAAY,CAAU,EAChD,IAAK,CACT,CAAC,CAAC,EAAG,EAAY,QAAQ,CAC7B,CAAC,ECnQK,CAAE,eAAc,gBAAA,EAAA,EAAA,wBAAA,CAAwC,CAC5D,IAAK,gBACP,CAAC,EAEY,EAGT,EAAsD,EAAY,MAAM,EAE/D,EAGT,EAAqD,OAAQ,OAAO,EAE3D,EAGT,EACF,OACA,WACF,ECXa,EAAY,GAAyB,CAChD,GAAM,CAAE,IAAK,EAAc,WAAU,GAAG,GAAc,EAGhD,CAAC,EAAa,IAAA,EAAA,EAAA,cAAA,CADS,CAAE,IAAK,gBAAiB,CACf,CAAA,CAAO,kBAAkB,CAAS,EAElE,CAAC,EAAY,GAAmB,EAAA,EAAkB,CAAc,EAEtE,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,IAAK,EACL,YAAU,OACV,GAAI,EACJ,GAAI,EACJ,GAAI,YAEF,CACA,aACA,kBACA,YACA,aACA,eACyB,CACzB,IAAM,EAAa,CACjB,gBAAiB,EACjB,qBAAsB,EACtB,eAAgB,EAChB,gBAAiB,EACjB,aAAc,GAAa,IAAA,EAC7B,EAEA,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAmB,YAAU,YAAY,GAAI,WAA7C,CACG,IAAc,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CAAQ,CAAA,EACtB,IAAmB,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CAAQ,CAAA,CACX,IAElB,IACC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,YAAU,QAAQ,GAAI,EAClC,UACY,CAAA,CAEjB,CAAA,CAAA,CAEN,CACY,CAAA,CAElB,EACA,EAAS,YAAc"}
@@ -1,15 +1,15 @@
1
1
  import { n as e, t } from "./mergeProps-BJ6-Ao_L.esm.js";
2
2
  import { t as n } from "./useObjectRef-B_3vY5-Q.esm.js";
3
3
  import { t as r } from "./filterDOMProps-Dk-4zxhC.esm.js";
4
- import { a as i, i as a, n as o } from "./useFormValidationState-rjMRhdnd.esm.js";
5
- import { t as s } from "./useToggle-oUUHIEEp.esm.js";
4
+ import { a as i, i as a, n as o } from "./useFormValidationState-hfa069v5.esm.js";
5
+ import { t as s } from "./useToggle-B9oH7p52.esm.js";
6
6
  import { t as c } from "./useToggleState-F4WGjSdP.esm.js";
7
7
  import { t as l } from "./VisuallyHidden-C5SfYuNh.esm.js";
8
8
  import { t as u } from "./useFocusRing-CgvZuPOT.esm.js";
9
9
  import { t as d } from "./useHover-FP8QRkFh.esm.js";
10
10
  import { c as f, n as p, o as m, r as h, s as g } from "./utils-BYIK8Yf2.esm.js";
11
11
  import { t as _ } from "./Form-lxOCK7Ln.esm.js";
12
- import { t as v } from "./extract-style-props-BPnHKmWR.esm.js";
12
+ import { t as v } from "./extract-style-props-D519tVOc.esm.js";
13
13
  import y, { createContext as b, forwardRef as x, useContext as S, useEffect as C, useMemo as w, useRef as T } from "react";
14
14
  import { Fragment as E, jsx as D, jsxs as O } from "react/jsx-runtime";
15
15
  import { Check as k, Remove as A } from "@commercetools/nimbus-icons";
@@ -183,4 +183,4 @@ J.displayName = "Checkbox";
183
183
  //#endregion
184
184
  export { I as n, L as r, J as t };
185
185
 
186
- //# sourceMappingURL=checkbox-Bto3lCdU.esm.js.map
186
+ //# sourceMappingURL=checkbox-dSuozQvl.esm.js.map