@commercetools/nimbus 2.10.0 → 3.0.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 (614) hide show
  1. package/dist/chunks/{Button-i3wfJjZy.es.js → Button-BbiBXpLI.es.js} +3 -3
  2. package/dist/chunks/{Button-i3wfJjZy.es.js.map → Button-BbiBXpLI.es.js.map} +1 -1
  3. package/dist/chunks/{Calendar-BGX_ecv9.es.js → Calendar-D2xXO9yf.es.js} +7 -7
  4. package/dist/chunks/{Calendar-BGX_ecv9.es.js.map → Calendar-D2xXO9yf.es.js.map} +1 -1
  5. package/dist/chunks/{CollectionBuilder-CbqLnlVI.es.js → CollectionBuilder-GnbDoE-A.es.js} +2 -2
  6. package/dist/chunks/{CollectionBuilder-CbqLnlVI.es.js.map → CollectionBuilder-GnbDoE-A.es.js.map} +1 -1
  7. package/dist/chunks/{DateField-C1PcBsYT.es.js → DateField-CQrmNlLj.es.js} +10 -10
  8. package/dist/chunks/{DateField-C1PcBsYT.es.js.map → DateField-CQrmNlLj.es.js.map} +1 -1
  9. package/dist/chunks/{DatePicker-BLXrb3eY.es.js → DatePicker-CbM40tGe.es.js} +11 -11
  10. package/dist/chunks/{DatePicker-BLXrb3eY.es.js.map → DatePicker-CbM40tGe.es.js.map} +1 -1
  11. package/dist/chunks/{Dialog-Dwy2_Ptk.es.js → Dialog-BVUZ7ef8.es.js} +14 -14
  12. package/dist/chunks/{Dialog-Dwy2_Ptk.es.js.map → Dialog-BVUZ7ef8.es.js.map} +1 -1
  13. package/dist/chunks/{FocusScope-D0jw9l8a.es.js → FocusScope-BpjuIERr.es.js} +3 -3
  14. package/dist/chunks/{FocusScope-D0jw9l8a.es.js.map → FocusScope-BpjuIERr.es.js.map} +1 -1
  15. package/dist/chunks/{Group-MOzeoewy.es.js → Group-BoEoEWiy.es.js} +2 -2
  16. package/dist/chunks/{Group-MOzeoewy.es.js.map → Group-BoEoEWiy.es.js.map} +1 -1
  17. package/dist/chunks/{Input-BLulRm-m.es.js → Input-7uI4BOR3.es.js} +2 -2
  18. package/dist/chunks/{Input-BLulRm-m.es.js.map → Input-7uI4BOR3.es.js.map} +1 -1
  19. package/dist/chunks/{ListBox-BQGvhjf1.es.js → ListBox-CLG1CedW.es.js} +11 -11
  20. package/dist/chunks/{ListBox-BQGvhjf1.es.js.map → ListBox-CLG1CedW.es.js.map} +1 -1
  21. package/dist/chunks/{Modal-Cxh6ykOi.es.js → Modal-CyqqmLlL.es.js} +8 -8
  22. package/dist/chunks/{Modal-Cxh6ykOi.es.js.map → Modal-CyqqmLlL.es.js.map} +1 -1
  23. package/dist/chunks/{Separator-ByH0WwDE.es.js → Separator-CU5Dgur6.es.js} +2 -2
  24. package/dist/chunks/{Separator-ByH0WwDE.es.js.map → Separator-CU5Dgur6.es.js.map} +1 -1
  25. package/dist/chunks/{ToggleButton-D8ToBOmn.es.js → ToggleButton-C_RMF16v.es.js} +4 -4
  26. package/dist/chunks/{ToggleButton-D8ToBOmn.es.js.map → ToggleButton-C_RMF16v.es.js.map} +1 -1
  27. package/dist/chunks/{accordion-W57hqCef.cjs.js → accordion-B3vpwgmz.cjs.js} +2 -2
  28. package/dist/chunks/{accordion-W57hqCef.cjs.js.map → accordion-B3vpwgmz.cjs.js.map} +1 -1
  29. package/dist/chunks/{accordion-BhvHB8Xc.es.js → accordion-BtV7SqbN.es.js} +2 -2
  30. package/dist/chunks/{accordion-BhvHB8Xc.es.js.map → accordion-BtV7SqbN.es.js.map} +1 -1
  31. package/dist/chunks/{accordion.content-cNB-_UJh.es.js → accordion.content-Bec2unyW.es.js} +4 -4
  32. package/dist/chunks/{accordion.content-cNB-_UJh.es.js.map → accordion.content-Bec2unyW.es.js.map} +1 -1
  33. package/dist/chunks/{accordion.content-aStf2M-n.cjs.js → accordion.content-DnVIufbw.cjs.js} +2 -2
  34. package/dist/chunks/{accordion.content-aStf2M-n.cjs.js.map → accordion.content-DnVIufbw.cjs.js.map} +1 -1
  35. package/dist/chunks/{alert-DHUVtbqx.cjs.js → alert-DhjefOnW.cjs.js} +2 -2
  36. package/dist/chunks/{alert-DHUVtbqx.cjs.js.map → alert-DhjefOnW.cjs.js.map} +1 -1
  37. package/dist/chunks/{alert-B0Bwo4-D.es.js → alert-Xxqyst93.es.js} +2 -2
  38. package/dist/chunks/{alert-B0Bwo4-D.es.js.map → alert-Xxqyst93.es.js.map} +1 -1
  39. package/dist/chunks/avatar-BxWYEvDv.es.js +59 -0
  40. package/dist/chunks/avatar-BxWYEvDv.es.js.map +1 -0
  41. package/dist/chunks/avatar-CAvEZh0T.cjs.js +2 -0
  42. package/dist/chunks/avatar-CAvEZh0T.cjs.js.map +1 -0
  43. package/dist/chunks/{button-VPIzqipu.cjs.js → button-C8BxhnrL.cjs.js} +2 -2
  44. package/dist/chunks/{button-VPIzqipu.cjs.js.map → button-C8BxhnrL.cjs.js.map} +1 -1
  45. package/dist/chunks/{button-dtLOSwKi.es.js → button-DDk_A6fN.es.js} +4 -4
  46. package/dist/chunks/{button-dtLOSwKi.es.js.map → button-DDk_A6fN.es.js.map} +1 -1
  47. package/dist/chunks/{calendar-BF94XT1s.es.js → calendar-CCbKuHRw.es.js} +5 -5
  48. package/dist/chunks/{calendar-BF94XT1s.es.js.map → calendar-CCbKuHRw.es.js.map} +1 -1
  49. package/dist/chunks/{calendar-B7eb7JPU.cjs.js → calendar-DyS7pcka.cjs.js} +2 -2
  50. package/dist/chunks/{calendar-B7eb7JPU.cjs.js.map → calendar-DyS7pcka.cjs.js.map} +1 -1
  51. package/dist/chunks/card-BAXEfIrr.es.js +123 -0
  52. package/dist/chunks/card-BAXEfIrr.es.js.map +1 -0
  53. package/dist/chunks/card-CKOBGWCk.cjs.js +2 -0
  54. package/dist/chunks/card-CKOBGWCk.cjs.js.map +1 -0
  55. package/dist/chunks/{checkbox-CZDjV_4N.es.js → checkbox-B9YYUgwd.es.js} +6 -6
  56. package/dist/chunks/{checkbox-CZDjV_4N.es.js.map → checkbox-B9YYUgwd.es.js.map} +1 -1
  57. package/dist/chunks/{checkbox-W3u4vRJx.cjs.js → checkbox-k5YpSH7a.cjs.js} +2 -2
  58. package/dist/chunks/{checkbox-W3u4vRJx.cjs.js.map → checkbox-k5YpSH7a.cjs.js.map} +1 -1
  59. package/dist/chunks/{collapsible-motion-BhX2LAbq.es.js → collapsible-motion-BQ6ylBzi.es.js} +3 -3
  60. package/dist/chunks/{collapsible-motion-BhX2LAbq.es.js.map → collapsible-motion-BQ6ylBzi.es.js.map} +1 -1
  61. package/dist/chunks/{collapsible-motion-BGc_z1OF.cjs.js → collapsible-motion-DR0Jmfre.cjs.js} +2 -2
  62. package/dist/chunks/{collapsible-motion-BGc_z1OF.cjs.js.map → collapsible-motion-DR0Jmfre.cjs.js.map} +1 -1
  63. package/dist/chunks/combobox-Bax_tJAv.cjs.js +2 -0
  64. package/dist/chunks/combobox-Bax_tJAv.cjs.js.map +1 -0
  65. package/dist/chunks/combobox-BkebHB4d.es.js +1586 -0
  66. package/dist/chunks/combobox-BkebHB4d.es.js.map +1 -0
  67. package/dist/chunks/data-table-Ba4Jk9qI.cjs.js +2 -0
  68. package/dist/chunks/{data-table-Bv-7Q96i.cjs.js.map → data-table-Ba4Jk9qI.cjs.js.map} +1 -1
  69. package/dist/chunks/{data-table-D3gTUqrT.es.js → data-table-CGdxOTsY.es.js} +1789 -1711
  70. package/dist/chunks/{data-table-D3gTUqrT.es.js.map → data-table-CGdxOTsY.es.js.map} +1 -1
  71. package/dist/chunks/{date-input-ClTl3Qci.es.js → date-input-DFU5GZg-.es.js} +4 -4
  72. package/dist/chunks/{date-input-ClTl3Qci.es.js.map → date-input-DFU5GZg-.es.js.map} +1 -1
  73. package/dist/chunks/{date-input-Cht7WMYd.cjs.js → date-input-cXV2C969.cjs.js} +2 -2
  74. package/dist/chunks/{date-input-Cht7WMYd.cjs.js.map → date-input-cXV2C969.cjs.js.map} +1 -1
  75. package/dist/chunks/{date-picker-C2nULhPJ.cjs.js → date-picker-CKXDJqmt.cjs.js} +2 -2
  76. package/dist/chunks/{date-picker-C2nULhPJ.cjs.js.map → date-picker-CKXDJqmt.cjs.js.map} +1 -1
  77. package/dist/chunks/{date-picker-DNxpXgCk.es.js → date-picker-DiSC4s8p.es.js} +12 -12
  78. package/dist/chunks/{date-picker-DNxpXgCk.es.js.map → date-picker-DiSC4s8p.es.js.map} +1 -1
  79. package/dist/chunks/{date-range-picker-CJuZ64GO.es.js → date-range-picker-DKPzeKkS.es.js} +12 -12
  80. package/dist/chunks/{date-range-picker-CJuZ64GO.es.js.map → date-range-picker-DKPzeKkS.es.js.map} +1 -1
  81. package/dist/chunks/{date-range-picker-19SplEmj.cjs.js → date-range-picker-DZxdGxHy.cjs.js} +2 -2
  82. package/dist/chunks/{date-range-picker-19SplEmj.cjs.js.map → date-range-picker-DZxdGxHy.cjs.js.map} +1 -1
  83. package/dist/chunks/{date-range-picker-field-CI8R-9wO.cjs.js → date-range-picker-field-Cc97V99w.cjs.js} +2 -2
  84. package/dist/chunks/{date-range-picker-field-CI8R-9wO.cjs.js.map → date-range-picker-field-Cc97V99w.cjs.js.map} +1 -1
  85. package/dist/chunks/{date-range-picker-field-Dt-bb4xJ.es.js → date-range-picker-field-Cz0on7N9.es.js} +3 -3
  86. package/dist/chunks/{date-range-picker-field-Dt-bb4xJ.es.js.map → date-range-picker-field-Cz0on7N9.es.js.map} +1 -1
  87. package/dist/chunks/default-page-Bb0JHsAd.cjs.js +2 -0
  88. package/dist/chunks/default-page-Bb0JHsAd.cjs.js.map +1 -0
  89. package/dist/chunks/{default-page-B-Sp5fDS.es.js → default-page-E0hvl34S.es.js} +60 -60
  90. package/dist/chunks/default-page-E0hvl34S.es.js.map +1 -0
  91. package/dist/chunks/{dialog-CpZNWZ1u.es.js → dialog-BMGMx0uh.es.js} +59 -58
  92. package/dist/chunks/dialog-BMGMx0uh.es.js.map +1 -0
  93. package/dist/chunks/dialog-X45TZomp.cjs.js +2 -0
  94. package/dist/chunks/dialog-X45TZomp.cjs.js.map +1 -0
  95. package/dist/chunks/{draggable-list-bbz150ZU.es.js → draggable-list-DQZ9mMY7.es.js} +18 -18
  96. package/dist/chunks/{draggable-list-bbz150ZU.es.js.map → draggable-list-DQZ9mMY7.es.js.map} +1 -1
  97. package/dist/chunks/{draggable-list-DO9XjrfL.cjs.js → draggable-list-DY8FTWN5.cjs.js} +2 -2
  98. package/dist/chunks/{draggable-list-DO9XjrfL.cjs.js.map → draggable-list-DY8FTWN5.cjs.js.map} +1 -1
  99. package/dist/chunks/{drawer-D916HtwS.cjs.js → drawer-B8d7ngw9.cjs.js} +2 -2
  100. package/dist/chunks/{drawer-D916HtwS.cjs.js.map → drawer-B8d7ngw9.cjs.js.map} +1 -1
  101. package/dist/chunks/{drawer-ywS81xb5.es.js → drawer-D2VDzpBe.es.js} +7 -7
  102. package/dist/chunks/{drawer-ywS81xb5.es.js.map → drawer-D2VDzpBe.es.js.map} +1 -1
  103. package/dist/chunks/extract-padding-props-5XQcb4kp.es.js +86 -0
  104. package/dist/chunks/extract-padding-props-5XQcb4kp.es.js.map +1 -0
  105. package/dist/chunks/extract-padding-props-De5B6uiA.cjs.js +2 -0
  106. package/dist/chunks/extract-padding-props-De5B6uiA.cjs.js.map +1 -0
  107. package/dist/chunks/{extract-style-props-D_NsrT_t.es.js → extract-style-props-Bcwub3j6.es.js} +2 -2
  108. package/dist/chunks/{extract-style-props-D_NsrT_t.es.js.map → extract-style-props-Bcwub3j6.es.js.map} +1 -1
  109. package/dist/chunks/{extract-style-props-MWsS2n9A.cjs.js → extract-style-props-DWdgk4rX.cjs.js} +2 -2
  110. package/dist/chunks/{extract-style-props-MWsS2n9A.cjs.js.map → extract-style-props-DWdgk4rX.cjs.js.map} +1 -1
  111. package/dist/chunks/{focusSafely-DqnNk8Cr.es.js → focusSafely-Cpjz2BzP.es.js} +2 -2
  112. package/dist/chunks/{focusSafely-DqnNk8Cr.es.js.map → focusSafely-Cpjz2BzP.es.js.map} +1 -1
  113. package/dist/chunks/form-action-bar-B7zd3XAE.es.js +101 -0
  114. package/dist/chunks/form-action-bar-B7zd3XAE.es.js.map +1 -0
  115. package/dist/chunks/form-action-bar-Bzst5Vxz.cjs.js +2 -0
  116. package/dist/chunks/form-action-bar-Bzst5Vxz.cjs.js.map +1 -0
  117. package/dist/chunks/{form-field-DzzyQud_.es.js → form-field-8H5wbjSo.es.js} +3 -3
  118. package/dist/chunks/{form-field-DzzyQud_.es.js.map → form-field-8H5wbjSo.es.js.map} +1 -1
  119. package/dist/chunks/{form-field-v_NZnNpK.cjs.js → form-field-CRA4BE4c.cjs.js} +2 -2
  120. package/dist/chunks/{form-field-v_NZnNpK.cjs.js.map → form-field-CRA4BE4c.cjs.js.map} +1 -1
  121. package/dist/chunks/{getItemCount-BEy-gD1d.es.js → getItemCount-BlW7-DM4.es.js} +4 -4
  122. package/dist/chunks/{getItemCount-BEy-gD1d.es.js.map → getItemCount-BlW7-DM4.es.js.map} +1 -1
  123. package/dist/chunks/{getScrollParent-DpFDagTz.es.js → getScrollParent-CS3T_04J.es.js} +2 -2
  124. package/dist/chunks/{getScrollParent-DpFDagTz.es.js.map → getScrollParent-CS3T_04J.es.js.map} +1 -1
  125. package/dist/chunks/{group-DmZFJeQ4.es.js → group-C9O-E531.es.js} +2 -2
  126. package/dist/chunks/{group-DmZFJeQ4.es.js.map → group-C9O-E531.es.js.map} +1 -1
  127. package/dist/chunks/{icon-button-DwOSMjvL.es.js → icon-button-BEAbGl9T.es.js} +2 -2
  128. package/dist/chunks/{icon-button-DwOSMjvL.es.js.map → icon-button-BEAbGl9T.es.js.map} +1 -1
  129. package/dist/chunks/{icon-button-Dus3CyuU.cjs.js → icon-button-xxvxJnj0.cjs.js} +2 -2
  130. package/dist/chunks/{icon-button-Dus3CyuU.cjs.js.map → icon-button-xxvxJnj0.cjs.js.map} +1 -1
  131. package/dist/chunks/{icon-toggle-button-D1QCn8pM.cjs.js → icon-toggle-button-BPQBCC7v.cjs.js} +2 -2
  132. package/dist/chunks/{icon-toggle-button-D1QCn8pM.cjs.js.map → icon-toggle-button-BPQBCC7v.cjs.js.map} +1 -1
  133. package/dist/chunks/{icon-toggle-button-Dg4SI2i3.es.js → icon-toggle-button-Car7NrgY.es.js} +2 -2
  134. package/dist/chunks/{icon-toggle-button-Dg4SI2i3.es.js.map → icon-toggle-button-Car7NrgY.es.js.map} +1 -1
  135. package/dist/chunks/{index-B5W9PQbq.es.js → index-B_vTRVge.es.js} +426 -185
  136. package/dist/chunks/index-B_vTRVge.es.js.map +1 -0
  137. package/dist/chunks/index-D7XQqnz_.cjs.js +34 -0
  138. package/dist/chunks/index-D7XQqnz_.cjs.js.map +1 -0
  139. package/dist/chunks/info-dialog-D4ylpGSa.cjs.js +2 -0
  140. package/dist/chunks/info-dialog-D4ylpGSa.cjs.js.map +1 -0
  141. package/dist/chunks/info-dialog-DryM_KKZ.es.js +32 -0
  142. package/dist/chunks/info-dialog-DryM_KKZ.es.js.map +1 -0
  143. package/dist/chunks/{inline-svg-D0MU6k2J.es.js → inline-svg-DKiHSMuM.es.js} +2 -2
  144. package/dist/chunks/{inline-svg-D0MU6k2J.es.js.map → inline-svg-DKiHSMuM.es.js.map} +1 -1
  145. package/dist/chunks/{inline-svg-Che-ey1M.cjs.js → inline-svg-DSoQFXip.cjs.js} +2 -2
  146. package/dist/chunks/{inline-svg-Che-ey1M.cjs.js.map → inline-svg-DSoQFXip.cjs.js.map} +1 -1
  147. package/dist/chunks/{link-BagSeub_.es.js → link-Crovp2Od.es.js} +2 -2
  148. package/dist/chunks/{link-BagSeub_.es.js.map → link-Crovp2Od.es.js.map} +1 -1
  149. package/dist/chunks/{list-DydMQD_X.cjs.js → list-DxPDmQ-o.cjs.js} +2 -2
  150. package/dist/chunks/{list-DydMQD_X.cjs.js.map → list-DxPDmQ-o.cjs.js.map} +1 -1
  151. package/dist/chunks/{list-BEotuefl.es.js → list-tY8NtJk0.es.js} +2 -2
  152. package/dist/chunks/{list-BEotuefl.es.js.map → list-tY8NtJk0.es.js.map} +1 -1
  153. package/dist/chunks/{localized-field-CVsS8mIU.es.js → localized-field-9SQ5Na7r.es.js} +11 -11
  154. package/dist/chunks/{localized-field-CVsS8mIU.es.js.map → localized-field-9SQ5Na7r.es.js.map} +1 -1
  155. package/dist/chunks/{localized-field-U_WJObgA.cjs.js → localized-field-Sp9tovsD.cjs.js} +2 -2
  156. package/dist/chunks/{localized-field-U_WJObgA.cjs.js.map → localized-field-Sp9tovsD.cjs.js.map} +1 -1
  157. package/dist/chunks/{make-element-focusable-QhMuqMrZ.es.js → make-element-focusable-CDZnSp67.es.js} +2 -2
  158. package/dist/chunks/{make-element-focusable-QhMuqMrZ.es.js.map → make-element-focusable-CDZnSp67.es.js.map} +1 -1
  159. package/dist/chunks/{menu-BKLx-WY2.cjs.js → menu-DVanb-L3.cjs.js} +2 -2
  160. package/dist/chunks/{menu-BKLx-WY2.cjs.js.map → menu-DVanb-L3.cjs.js.map} +1 -1
  161. package/dist/chunks/{menu-C97WlcFp.es.js → menu-EnbHuHaW.es.js} +6 -6
  162. package/dist/chunks/{menu-C97WlcFp.es.js.map → menu-EnbHuHaW.es.js.map} +1 -1
  163. package/dist/chunks/modal-page-BiF7R0Pr.cjs.js +2 -0
  164. package/dist/chunks/modal-page-BiF7R0Pr.cjs.js.map +1 -0
  165. package/dist/chunks/{modal-page-BQ56WG8Y.es.js → modal-page-CfoF1omY.es.js} +76 -76
  166. package/dist/chunks/{modal-page-BQ2BiqpG.cjs.js.map → modal-page-CfoF1omY.es.js.map} +1 -1
  167. package/dist/chunks/{money-input-Blu-9yQ8.es.js → money-input-B7loCwhJ.es.js} +8 -8
  168. package/dist/chunks/{money-input-Blu-9yQ8.es.js.map → money-input-B7loCwhJ.es.js.map} +1 -1
  169. package/dist/chunks/{money-input-DWpvCoS4.cjs.js → money-input-DYYoHYJT.cjs.js} +2 -2
  170. package/dist/chunks/{money-input-DWpvCoS4.cjs.js.map → money-input-DYYoHYJT.cjs.js.map} +1 -1
  171. package/dist/chunks/{money-input-field-CiVByz4i.es.js → money-input-field-BgqnQEKD.es.js} +3 -3
  172. package/dist/chunks/{money-input-field-CiVByz4i.es.js.map → money-input-field-BgqnQEKD.es.js.map} +1 -1
  173. package/dist/chunks/{money-input-field-BdETG0rD.cjs.js → money-input-field-CfJuYMwF.cjs.js} +2 -2
  174. package/dist/chunks/{money-input-field-BdETG0rD.cjs.js.map → money-input-field-CfJuYMwF.cjs.js.map} +1 -1
  175. package/dist/chunks/{multiline-text-input-Ba7_M6Y8.es.js → multiline-text-input-Cty3zIk3.es.js} +5 -5
  176. package/dist/chunks/{multiline-text-input-Ba7_M6Y8.es.js.map → multiline-text-input-Cty3zIk3.es.js.map} +1 -1
  177. package/dist/chunks/{multiline-text-input-BFKeT_Kj.cjs.js → multiline-text-input-DOZi-hXb.cjs.js} +2 -2
  178. package/dist/chunks/{multiline-text-input-BFKeT_Kj.cjs.js.map → multiline-text-input-DOZi-hXb.cjs.js.map} +1 -1
  179. package/dist/chunks/{multiline-text-input-field-BBmwUJcX.cjs.js → multiline-text-input-field-Biyu5soS.cjs.js} +2 -2
  180. package/dist/chunks/{multiline-text-input-field-BBmwUJcX.cjs.js.map → multiline-text-input-field-Biyu5soS.cjs.js.map} +1 -1
  181. package/dist/chunks/{multiline-text-input-field-RWUO1iDX.es.js → multiline-text-input-field-DYfT9pzO.es.js} +3 -3
  182. package/dist/chunks/{multiline-text-input-field-RWUO1iDX.es.js.map → multiline-text-input-field-DYfT9pzO.es.js.map} +1 -1
  183. package/dist/chunks/{nimbus-provider-BZf_34CO.cjs.js → nimbus-provider-BBTo9R4P.cjs.js} +2 -2
  184. package/dist/chunks/{nimbus-provider-BZf_34CO.cjs.js.map → nimbus-provider-BBTo9R4P.cjs.js.map} +1 -1
  185. package/dist/chunks/{nimbus-provider-rtZ-5qDX.es.js → nimbus-provider-Ct3e0KGB.es.js} +9 -9
  186. package/dist/chunks/{nimbus-provider-rtZ-5qDX.es.js.map → nimbus-provider-Ct3e0KGB.es.js.map} +1 -1
  187. package/dist/chunks/{number-input-DnHpuJ_z.es.js → number-input-C7007r95.es.js} +8 -8
  188. package/dist/chunks/{number-input-DnHpuJ_z.es.js.map → number-input-C7007r95.es.js.map} +1 -1
  189. package/dist/chunks/{number-input-Di8QMuHo.cjs.js → number-input-eaqJq1-5.cjs.js} +2 -2
  190. package/dist/chunks/{number-input-Di8QMuHo.cjs.js.map → number-input-eaqJq1-5.cjs.js.map} +1 -1
  191. package/dist/chunks/{number-input-field-Cr6jXJf9.cjs.js → number-input-field-DVqoH0p-.cjs.js} +2 -2
  192. package/dist/chunks/{number-input-field-Cr6jXJf9.cjs.js.map → number-input-field-DVqoH0p-.cjs.js.map} +1 -1
  193. package/dist/chunks/{number-input-field-Bqc-1BnB.es.js → number-input-field-Dh5FDth2.es.js} +3 -3
  194. package/dist/chunks/{number-input-field-Bqc-1BnB.es.js.map → number-input-field-Dh5FDth2.es.js.map} +1 -1
  195. package/dist/chunks/{pagination-wtBWXFE_.cjs.js → pagination-DiltG6WS.cjs.js} +2 -2
  196. package/dist/chunks/pagination-DiltG6WS.cjs.js.map +1 -0
  197. package/dist/chunks/{pagination-Cgf2fhkX.es.js → pagination-Z8tzRviC.es.js} +4 -4
  198. package/dist/chunks/pagination-Z8tzRviC.es.js.map +1 -0
  199. package/dist/chunks/{password-input-DOWIpwat.cjs.js → password-input-CUmZJUPL.cjs.js} +2 -2
  200. package/dist/chunks/{password-input-DOWIpwat.cjs.js.map → password-input-CUmZJUPL.cjs.js.map} +1 -1
  201. package/dist/chunks/{password-input-MVNOPHFz.es.js → password-input-D8ptasUp.es.js} +4 -4
  202. package/dist/chunks/{password-input-MVNOPHFz.es.js.map → password-input-D8ptasUp.es.js.map} +1 -1
  203. package/dist/chunks/{password-input-field-BicUe4m1.cjs.js → password-input-field-DSjVMRCP.cjs.js} +2 -2
  204. package/dist/chunks/{password-input-field-BicUe4m1.cjs.js.map → password-input-field-DSjVMRCP.cjs.js.map} +1 -1
  205. package/dist/chunks/{password-input-field-BKy_p1om.es.js → password-input-field-DWs71XOF.es.js} +3 -3
  206. package/dist/chunks/{password-input-field-BKy_p1om.es.js.map → password-input-field-DWs71XOF.es.js.map} +1 -1
  207. package/dist/chunks/{popover-BBxctRr2.es.js → popover-CRwL6ieG.es.js} +2 -2
  208. package/dist/chunks/{popover-BBxctRr2.es.js.map → popover-CRwL6ieG.es.js.map} +1 -1
  209. package/dist/chunks/{progress-bar-CZbRuitA.cjs.js → progress-bar-6w36JcxG.cjs.js} +2 -2
  210. package/dist/chunks/{progress-bar-CZbRuitA.cjs.js.map → progress-bar-6w36JcxG.cjs.js.map} +1 -1
  211. package/dist/chunks/{progress-bar-C3UFAM3Y.es.js → progress-bar-B57j7ETd.es.js} +2 -2
  212. package/dist/chunks/{progress-bar-C3UFAM3Y.es.js.map → progress-bar-B57j7ETd.es.js.map} +1 -1
  213. package/dist/chunks/{radio-input-BEsM8UMA.es.js → radio-input-DOuElAn1.es.js} +8 -8
  214. package/dist/chunks/{radio-input-BEsM8UMA.es.js.map → radio-input-DOuElAn1.es.js.map} +1 -1
  215. package/dist/chunks/{radio-input-nosa_2NG.cjs.js → radio-input-s7Vn3eqD.cjs.js} +2 -2
  216. package/dist/chunks/{radio-input-nosa_2NG.cjs.js.map → radio-input-s7Vn3eqD.cjs.js.map} +1 -1
  217. package/dist/chunks/{range-calendar-BvYi1Gty.cjs.js → range-calendar-C_xSoqge.cjs.js} +2 -2
  218. package/dist/chunks/{range-calendar-BvYi1Gty.cjs.js.map → range-calendar-C_xSoqge.cjs.js.map} +1 -1
  219. package/dist/chunks/{range-calendar-Cc8nVJ9O.es.js → range-calendar-DklNm37M.es.js} +6 -6
  220. package/dist/chunks/{range-calendar-Cc8nVJ9O.es.js.map → range-calendar-DklNm37M.es.js.map} +1 -1
  221. package/dist/chunks/{rich-text-input-CtR9Fk-m.es.js → rich-text-input-BDCm78yF.es.js} +11 -11
  222. package/dist/chunks/{rich-text-input-CtR9Fk-m.es.js.map → rich-text-input-BDCm78yF.es.js.map} +1 -1
  223. package/dist/chunks/{rich-text-input-CpdpI-1n.cjs.js → rich-text-input-DA2GWw4Z.cjs.js} +2 -2
  224. package/dist/chunks/{rich-text-input-CpdpI-1n.cjs.js.map → rich-text-input-DA2GWw4Z.cjs.js.map} +1 -1
  225. package/dist/chunks/{scoped-search-input-6Xkaptim.cjs.js → scoped-search-input-B-2Q4e_S.cjs.js} +2 -2
  226. package/dist/chunks/{scoped-search-input-6Xkaptim.cjs.js.map → scoped-search-input-B-2Q4e_S.cjs.js.map} +1 -1
  227. package/dist/chunks/{scoped-search-input-BakUvuUH.es.js → scoped-search-input-C5I8Q-Rw.es.js} +5 -5
  228. package/dist/chunks/{scoped-search-input-BakUvuUH.es.js.map → scoped-search-input-C5I8Q-Rw.es.js.map} +1 -1
  229. package/dist/chunks/{search-input-CE4Aadh5.es.js → search-input-DW8rHoL6.es.js} +8 -8
  230. package/dist/chunks/{search-input-CE4Aadh5.es.js.map → search-input-DW8rHoL6.es.js.map} +1 -1
  231. package/dist/chunks/{search-input-ChuhT_Q2.cjs.js → search-input-c2zuWAmw.cjs.js} +2 -2
  232. package/dist/chunks/{search-input-ChuhT_Q2.cjs.js.map → search-input-c2zuWAmw.cjs.js.map} +1 -1
  233. package/dist/chunks/{search-input-field-b6Z8_g1D.cjs.js → search-input-field-CKt5P2fW.cjs.js} +2 -2
  234. package/dist/chunks/{search-input-field-b6Z8_g1D.cjs.js.map → search-input-field-CKt5P2fW.cjs.js.map} +1 -1
  235. package/dist/chunks/{search-input-field-C-qLG2Wi.es.js → search-input-field-Cbe1ViMR.es.js} +3 -3
  236. package/dist/chunks/{search-input-field-C-qLG2Wi.es.js.map → search-input-field-Cbe1ViMR.es.js.map} +1 -1
  237. package/dist/chunks/{select-BS2M-M83.cjs.js → select-CDzgGzlu.cjs.js} +2 -2
  238. package/dist/chunks/{select-BS2M-M83.cjs.js.map → select-CDzgGzlu.cjs.js.map} +1 -1
  239. package/dist/chunks/{select-6_4th9JF.es.js → select-Cd_w-w3c.es.js} +15 -15
  240. package/dist/chunks/{select-6_4th9JF.es.js.map → select-Cd_w-w3c.es.js.map} +1 -1
  241. package/dist/chunks/{separator-Chb2smWb.es.js → separator-BpUozUZ9.es.js} +4 -4
  242. package/dist/chunks/{separator-Chb2smWb.es.js.map → separator-BpUozUZ9.es.js.map} +1 -1
  243. package/dist/chunks/{separator-CFwc0iIX.cjs.js → separator-hX0giW7F.cjs.js} +2 -2
  244. package/dist/chunks/{separator-CFwc0iIX.cjs.js.map → separator-hX0giW7F.cjs.js.map} +1 -1
  245. package/dist/chunks/{split-button-D16-WBNG.es.js → split-button-BlXn1zig.es.js} +4 -4
  246. package/dist/chunks/{split-button-D16-WBNG.es.js.map → split-button-BlXn1zig.es.js.map} +1 -1
  247. package/dist/chunks/{split-button-BETviUNO.cjs.js → split-button-p2WBvGiG.cjs.js} +2 -2
  248. package/dist/chunks/{split-button-BETviUNO.cjs.js.map → split-button-p2WBvGiG.cjs.js.map} +1 -1
  249. package/dist/chunks/{steps-C4XbtR5-.es.js → steps-B07EtWhk.es.js} +2 -2
  250. package/dist/chunks/{steps-C4XbtR5-.es.js.map → steps-B07EtWhk.es.js.map} +1 -1
  251. package/dist/chunks/{steps-CspiMGql.cjs.js → steps-BmzCm-36.cjs.js} +2 -2
  252. package/dist/chunks/{steps-CspiMGql.cjs.js.map → steps-BmzCm-36.cjs.js.map} +1 -1
  253. package/dist/chunks/{switch-tSvj0lEc.cjs.js → switch-CHgcSQ7q.cjs.js} +2 -2
  254. package/dist/chunks/{switch-tSvj0lEc.cjs.js.map → switch-CHgcSQ7q.cjs.js.map} +1 -1
  255. package/dist/chunks/{switch-D0yKNmNs.es.js → switch-CStZ99EX.es.js} +6 -6
  256. package/dist/chunks/{switch-D0yKNmNs.es.js.map → switch-CStZ99EX.es.js.map} +1 -1
  257. package/dist/chunks/{tab-nav-D6KyQebA.es.js → tab-nav-Bz8GBurR.es.js} +3 -3
  258. package/dist/chunks/{tab-nav-D6KyQebA.es.js.map → tab-nav-Bz8GBurR.es.js.map} +1 -1
  259. package/dist/chunks/{table-CN-2YRM6.es.js → table-CUNN3TBI.es.js} +2 -2
  260. package/dist/chunks/{table-CN-2YRM6.es.js.map → table-CUNN3TBI.es.js.map} +1 -1
  261. package/dist/chunks/{table-CuNxXwLS.cjs.js → table-jUvZ_o07.cjs.js} +2 -2
  262. package/dist/chunks/{table-CuNxXwLS.cjs.js.map → table-jUvZ_o07.cjs.js.map} +1 -1
  263. package/dist/chunks/{tabs-B35CbEex.es.js → tabs-BuYHA8KE.es.js} +9 -9
  264. package/dist/chunks/{tabs-B35CbEex.es.js.map → tabs-BuYHA8KE.es.js.map} +1 -1
  265. package/dist/chunks/{tabs-fsGVXTZ8.cjs.js → tabs-CvAZzZ9K.cjs.js} +2 -2
  266. package/dist/chunks/{tabs-fsGVXTZ8.cjs.js.map → tabs-CvAZzZ9K.cjs.js.map} +1 -1
  267. package/dist/chunks/{tag-group-XK7hABU3.es.js → tag-group-Ckow1PYY.es.js} +37 -43
  268. package/dist/chunks/{tag-group-XK7hABU3.es.js.map → tag-group-Ckow1PYY.es.js.map} +1 -1
  269. package/dist/chunks/{tag-group-BzdGORQ_.cjs.js → tag-group-CwRzOTkl.cjs.js} +2 -2
  270. package/dist/chunks/{tag-group-BzdGORQ_.cjs.js.map → tag-group-CwRzOTkl.cjs.js.map} +1 -1
  271. package/dist/chunks/{text-input-BF5QoIeL.es.js → text-input-CXWRNuLo.es.js} +5 -5
  272. package/dist/chunks/{text-input-BF5QoIeL.es.js.map → text-input-CXWRNuLo.es.js.map} +1 -1
  273. package/dist/chunks/{text-input-BRKw_iNd.cjs.js → text-input-DWuEIlWt.cjs.js} +2 -2
  274. package/dist/chunks/{text-input-BRKw_iNd.cjs.js.map → text-input-DWuEIlWt.cjs.js.map} +1 -1
  275. package/dist/chunks/{text-input-field-ClRdX2eJ.es.js → text-input-field-BpR1i2C7.es.js} +3 -3
  276. package/dist/chunks/{text-input-field-ClRdX2eJ.es.js.map → text-input-field-BpR1i2C7.es.js.map} +1 -1
  277. package/dist/chunks/{text-input-field-Bmg_yxnr.cjs.js → text-input-field-dVzAZAez.cjs.js} +2 -2
  278. package/dist/chunks/{text-input-field-Bmg_yxnr.cjs.js.map → text-input-field-dVzAZAez.cjs.js.map} +1 -1
  279. package/dist/chunks/{time-input-DcIp-x_e.cjs.js → time-input-DFEmB8Dd.cjs.js} +2 -2
  280. package/dist/chunks/{time-input-DcIp-x_e.cjs.js.map → time-input-DFEmB8Dd.cjs.js.map} +1 -1
  281. package/dist/chunks/{time-input-DrBMWM3f.es.js → time-input-ZJNuKt9i.es.js} +4 -4
  282. package/dist/chunks/{time-input-DrBMWM3f.es.js.map → time-input-ZJNuKt9i.es.js.map} +1 -1
  283. package/dist/chunks/toast.manager-BNtzzS8_.es.js +166 -0
  284. package/dist/chunks/toast.manager-BNtzzS8_.es.js.map +1 -0
  285. package/dist/chunks/toast.manager-x7tNU0Ih.cjs.js +2 -0
  286. package/dist/chunks/toast.manager-x7tNU0Ih.cjs.js.map +1 -0
  287. package/dist/chunks/{toast.outlet-BQ_TOYds.cjs.js → toast.outlet-BfRwM71B.cjs.js} +2 -2
  288. package/dist/chunks/{toast.outlet-BQ_TOYds.cjs.js.map → toast.outlet-BfRwM71B.cjs.js.map} +1 -1
  289. package/dist/chunks/{toast.outlet-B9Ysg-pz.es.js → toast.outlet-Cs9C243e.es.js} +3 -3
  290. package/dist/chunks/{toast.outlet-B9Ysg-pz.es.js.map → toast.outlet-Cs9C243e.es.js.map} +1 -1
  291. package/dist/chunks/{toggle-button-C5EmwyUH.cjs.js → toggle-button-C3ogfkeP.cjs.js} +2 -2
  292. package/dist/chunks/{toggle-button-C5EmwyUH.cjs.js.map → toggle-button-C3ogfkeP.cjs.js.map} +1 -1
  293. package/dist/chunks/{toggle-button-Cgm2bdJk.es.js → toggle-button-Db4QN7G8.es.js} +4 -4
  294. package/dist/chunks/{toggle-button-Cgm2bdJk.es.js.map → toggle-button-Db4QN7G8.es.js.map} +1 -1
  295. package/dist/chunks/{toggle-button-group-70GS2Oxw.es.js → toggle-button-group-KPOZMpau.es.js} +2 -2
  296. package/dist/chunks/{toggle-button-group-70GS2Oxw.es.js.map → toggle-button-group-KPOZMpau.es.js.map} +1 -1
  297. package/dist/chunks/{toolbar-CCWWhVjS.cjs.js → toolbar-BNQ91K5F.cjs.js} +2 -2
  298. package/dist/chunks/{toolbar-CCWWhVjS.cjs.js.map → toolbar-BNQ91K5F.cjs.js.map} +1 -1
  299. package/dist/chunks/{toolbar-DY_v_dEm.es.js → toolbar-C7_awmEu.es.js} +4 -4
  300. package/dist/chunks/{toolbar-DY_v_dEm.es.js.map → toolbar-C7_awmEu.es.js.map} +1 -1
  301. package/dist/chunks/{tooltip-Bx5ngdcy.es.js → tooltip-BCSTJUeB.es.js} +4 -4
  302. package/dist/chunks/{tooltip-Bx5ngdcy.es.js.map → tooltip-BCSTJUeB.es.js.map} +1 -1
  303. package/dist/chunks/use-inline-svg-BwpEJ6Fo.es.js +661 -0
  304. package/dist/chunks/use-inline-svg-BwpEJ6Fo.es.js.map +1 -0
  305. package/dist/chunks/use-inline-svg-C_9d8SVe.cjs.js +3 -0
  306. package/dist/chunks/use-inline-svg-C_9d8SVe.cjs.js.map +1 -0
  307. package/dist/chunks/{useButton-Bn8_4cDG.es.js → useButton-CvZJwQeR.es.js} +3 -3
  308. package/dist/chunks/{useButton-Bn8_4cDG.es.js.map → useButton-CvZJwQeR.es.js.map} +1 -1
  309. package/dist/chunks/{useCollection-BHV9RL7c.es.js → useCollection-RgQhRQUv.es.js} +11 -11
  310. package/dist/chunks/{useCollection-BHV9RL7c.es.js.map → useCollection-RgQhRQUv.es.js.map} +1 -1
  311. package/dist/chunks/{useDescription-Cs3XF2eh.es.js → useDescription-CUA6cnWB.es.js} +3 -3
  312. package/dist/chunks/{useDescription-Cs3XF2eh.es.js.map → useDescription-CUA6cnWB.es.js.map} +1 -1
  313. package/dist/chunks/{useFocusRing-2PACod61.es.js → useFocusRing-BjLV7S0I.es.js} +2 -2
  314. package/dist/chunks/{useFocusRing-2PACod61.es.js.map → useFocusRing-BjLV7S0I.es.js.map} +1 -1
  315. package/dist/chunks/{useFocusVisible-DZMx0daa.es.js → useFocusVisible-DqC5JNzb.es.js} +3 -3
  316. package/dist/chunks/{useFocusVisible-DZMx0daa.es.js.map → useFocusVisible-DqC5JNzb.es.js.map} +1 -1
  317. package/dist/chunks/{useFocusable-Cd_G32KV.es.js → useFocusable-C_nr2Krq.es.js} +2 -2
  318. package/dist/chunks/{useFocusable-Cd_G32KV.es.js.map → useFocusable-C_nr2Krq.es.js.map} +1 -1
  319. package/dist/chunks/{useFormValidation-B4BrOn-T.es.js → useFormValidation-D9CgPyCr.es.js} +2 -2
  320. package/dist/chunks/{useFormValidation-B4BrOn-T.es.js.map → useFormValidation-D9CgPyCr.es.js.map} +1 -1
  321. package/dist/chunks/{useGridListItem-DK2Qg6fD.es.js → useGridListItem-nKFYPkff.es.js} +9 -9
  322. package/dist/chunks/{useGridListItem-DK2Qg6fD.es.js.map → useGridListItem-nKFYPkff.es.js.map} +1 -1
  323. package/dist/chunks/{useHasTabbableChild-CwNEZI_G.es.js → useHasTabbableChild-Dbdf_KS-.es.js} +2 -2
  324. package/dist/chunks/{useHasTabbableChild-CwNEZI_G.es.js.map → useHasTabbableChild-Dbdf_KS-.es.js.map} +1 -1
  325. package/dist/chunks/{useLink-CozRsmDk.es.js → useLink-DSvTeBUk.es.js} +4 -4
  326. package/dist/chunks/{useLink-CozRsmDk.es.js.map → useLink-DSvTeBUk.es.js.map} +1 -1
  327. package/dist/chunks/{useListState-CCuYEVMA.es.js → useListState-ChE2yd3D.es.js} +4 -4
  328. package/dist/chunks/{useListState-CCuYEVMA.es.js.map → useListState-ChE2yd3D.es.js.map} +1 -1
  329. package/dist/chunks/{useOverlayTriggerState-BIEvXItV.es.js → useOverlayTriggerState-D7I9elYW.es.js} +2 -2
  330. package/dist/chunks/{useOverlayTriggerState-BIEvXItV.es.js.map → useOverlayTriggerState-D7I9elYW.es.js.map} +1 -1
  331. package/dist/chunks/{usePress-j9tEDUF8.es.js → usePress-Br1wieoZ.es.js} +3 -3
  332. package/dist/chunks/{usePress-j9tEDUF8.es.js.map → usePress-Br1wieoZ.es.js.map} +1 -1
  333. package/dist/chunks/{useTextField-DcRDkg3E.es.js → useTextField-CZhjyvc5.es.js} +3 -3
  334. package/dist/chunks/{useTextField-DcRDkg3E.es.js.map → useTextField-CZhjyvc5.es.js.map} +1 -1
  335. package/dist/chunks/{useToggle-CaC4NvDB.es.js → useToggle-BPDsTx1-.es.js} +3 -3
  336. package/dist/chunks/{useToggle-CaC4NvDB.es.js.map → useToggle-BPDsTx1-.es.js.map} +1 -1
  337. package/dist/chunks/{useToolbar-CTHfREg3.es.js → useToolbar-BUiUE_wW.es.js} +2 -2
  338. package/dist/chunks/{useToolbar-CTHfREg3.es.js.map → useToolbar-BUiUE_wW.es.js.map} +1 -1
  339. package/dist/components/accordion/accordion.slots.d.ts +5 -5
  340. package/dist/components/accordion.cjs +1 -1
  341. package/dist/components/accordion.es.js +2 -2
  342. package/dist/components/actions.cjs +2 -0
  343. package/dist/components/actions.cjs.map +1 -0
  344. package/dist/components/actions.es.js +5 -0
  345. package/dist/components/actions.es.js.map +1 -0
  346. package/dist/components/alert/alert.recipe.d.ts +1 -1
  347. package/dist/components/alert/alert.slots.d.ts +3 -3
  348. package/dist/components/alert.cjs +1 -1
  349. package/dist/components/alert.es.js +1 -1
  350. package/dist/components/avatar/avatar.d.ts +8 -1
  351. package/dist/components/avatar/avatar.i18n.d.ts +5 -0
  352. package/dist/components/avatar/avatar.messages.d.ts +1 -1
  353. package/dist/components/avatar/avatar.slots.d.ts +1 -1
  354. package/dist/components/avatar/avatar.types.d.ts +10 -4
  355. package/dist/components/avatar/intl/de.d.ts +1 -0
  356. package/dist/components/avatar/intl/en.d.ts +1 -0
  357. package/dist/components/avatar/intl/es.d.ts +1 -0
  358. package/dist/components/avatar/intl/fr-FR.d.ts +1 -0
  359. package/dist/components/avatar/intl/pt-BR.d.ts +1 -0
  360. package/dist/components/avatar/utils/get-full-name.d.ts +6 -0
  361. package/dist/components/avatar/utils/get-initials.d.ts +11 -0
  362. package/dist/components/avatar/utils/index.d.ts +2 -0
  363. package/dist/components/avatar.cjs +1 -1
  364. package/dist/components/avatar.es.js +1 -1
  365. package/dist/components/badge/badge.slots.d.ts +1 -1
  366. package/dist/components/button.cjs +1 -1
  367. package/dist/components/button.es.js +1 -1
  368. package/dist/components/calendar/calendar.slots.d.ts +8 -8
  369. package/dist/components/calendar.cjs +1 -1
  370. package/dist/components/calendar.es.js +1 -1
  371. package/dist/components/card/card.d.ts +38 -19
  372. package/dist/components/card/card.recipe.d.ts +39 -14
  373. package/dist/components/card/card.slots.d.ts +3 -2
  374. package/dist/components/card/card.types.d.ts +15 -10
  375. package/dist/components/card/components/card.body.d.ts +10 -0
  376. package/dist/components/card/components/card.footer.d.ts +10 -0
  377. package/dist/components/card/components/card.header.d.ts +1 -1
  378. package/dist/components/card/components/card.root.d.ts +7 -7
  379. package/dist/components/card/components/index.d.ts +2 -1
  380. package/dist/components/card.cjs +1 -1
  381. package/dist/components/card.es.js +5 -4
  382. package/dist/components/checkbox.cjs +1 -1
  383. package/dist/components/checkbox.es.js +1 -1
  384. package/dist/components/collapsible-motion/collapsible-motion.slots.d.ts +2 -2
  385. package/dist/components/collapsible-motion.cjs +1 -1
  386. package/dist/components/collapsible-motion.es.js +1 -1
  387. package/dist/components/combobox/combobox.slots.d.ts +12 -12
  388. package/dist/components/combobox.cjs +1 -1
  389. package/dist/components/combobox.es.js +1 -1
  390. package/dist/components/components.cjs +1 -1
  391. package/dist/components/components.es.js +1 -1
  392. package/dist/components/data-table/components/data-table.context.d.ts +15 -1
  393. package/dist/components/data-table/components/data-table.row.d.ts +11 -3
  394. package/dist/components/data-table/data-table.slots.d.ts +11 -11
  395. package/dist/components/data-table/data-table.types.d.ts +7 -0
  396. package/dist/components/data-table.cjs +1 -1
  397. package/dist/components/data-table.es.js +1 -1
  398. package/dist/components/date-input/date-input.slots.d.ts +5 -5
  399. package/dist/components/date-input.cjs +1 -1
  400. package/dist/components/date-input.es.js +1 -1
  401. package/dist/components/date-picker/date-picker.slots.d.ts +6 -6
  402. package/dist/components/date-picker.cjs +1 -1
  403. package/dist/components/date-picker.es.js +1 -1
  404. package/dist/components/date-range-picker/date-range-picker.slots.d.ts +8 -8
  405. package/dist/components/date-range-picker-field.cjs +1 -1
  406. package/dist/components/date-range-picker-field.es.js +1 -1
  407. package/dist/components/date-range-picker.cjs +1 -1
  408. package/dist/components/date-range-picker.es.js +1 -1
  409. package/dist/components/default-page.cjs +1 -1
  410. package/dist/components/default-page.es.js +1 -1
  411. package/dist/components/dialog/dialog.slots.d.ts +9 -9
  412. package/dist/components/dialog.cjs +1 -1
  413. package/dist/components/dialog.es.js +1 -1
  414. package/dist/components/dialogs.cjs +2 -0
  415. package/dist/components/dialogs.cjs.map +1 -0
  416. package/dist/components/dialogs.es.js +5 -0
  417. package/dist/components/dialogs.es.js.map +1 -0
  418. package/dist/components/draggable-list/draggable-list.slots.d.ts +4 -4
  419. package/dist/components/draggable-list.cjs +1 -1
  420. package/dist/components/draggable-list.es.js +1 -1
  421. package/dist/components/drawer/drawer.slots.d.ts +10 -10
  422. package/dist/components/drawer.cjs +1 -1
  423. package/dist/components/drawer.es.js +1 -1
  424. package/dist/components/fields.cjs +1 -1
  425. package/dist/components/fields.es.js +7 -7
  426. package/dist/components/form-action-bar.cjs +2 -0
  427. package/dist/components/form-action-bar.cjs.map +1 -0
  428. package/dist/components/form-action-bar.es.js +5 -0
  429. package/dist/components/form-action-bar.es.js.map +1 -0
  430. package/dist/components/form-field/form-field.recipe.d.ts +1 -1
  431. package/dist/components/form-field/form-field.slots.d.ts +2 -2
  432. package/dist/components/form-field.cjs +1 -1
  433. package/dist/components/form-field.es.js +1 -1
  434. package/dist/components/group.es.js +1 -1
  435. package/dist/components/hooks.cjs +1 -1
  436. package/dist/components/hooks.es.js +1 -1
  437. package/dist/components/icon-button.cjs +1 -1
  438. package/dist/components/icon-button.es.js +1 -1
  439. package/dist/components/icon-toggle-button.cjs +1 -1
  440. package/dist/components/icon-toggle-button.es.js +1 -1
  441. package/dist/components/index.d.ts +2 -1
  442. package/dist/components/info-dialog.cjs +2 -0
  443. package/dist/components/info-dialog.cjs.map +1 -0
  444. package/dist/components/info-dialog.es.js +5 -0
  445. package/dist/components/info-dialog.es.js.map +1 -0
  446. package/dist/components/inline-svg/inline-svg.slots.d.ts +1 -1
  447. package/dist/components/inline-svg.cjs +1 -1
  448. package/dist/components/inline-svg.es.js +1 -1
  449. package/dist/components/link/link.slots.d.ts +1 -1
  450. package/dist/components/link.es.js +1 -1
  451. package/dist/components/list.cjs +1 -1
  452. package/dist/components/list.es.js +1 -1
  453. package/dist/components/localized-field/localized-field.recipe.d.ts +1 -1
  454. package/dist/components/localized-field/localized-field.slots.d.ts +10 -10
  455. package/dist/components/localized-field.cjs +1 -1
  456. package/dist/components/localized-field.es.js +1 -1
  457. package/dist/components/modal-page.cjs +1 -1
  458. package/dist/components/modal-page.es.js +1 -1
  459. package/dist/components/money-input/money-input.slots.d.ts +6 -6
  460. package/dist/components/money-input-field.cjs +1 -1
  461. package/dist/components/money-input-field.es.js +1 -1
  462. package/dist/components/money-input.cjs +1 -1
  463. package/dist/components/money-input.es.js +1 -1
  464. package/dist/components/multiline-text-input/multiline-text-input.slots.d.ts +3 -3
  465. package/dist/components/multiline-text-input-field.cjs +1 -1
  466. package/dist/components/multiline-text-input-field.es.js +1 -1
  467. package/dist/components/multiline-text-input.cjs +1 -1
  468. package/dist/components/multiline-text-input.es.js +1 -1
  469. package/dist/components/nimbus-provider.cjs +1 -1
  470. package/dist/components/nimbus-provider.es.js +1 -1
  471. package/dist/components/number-input/number-input.slots.d.ts +6 -6
  472. package/dist/components/number-input-field.cjs +1 -1
  473. package/dist/components/number-input-field.es.js +1 -1
  474. package/dist/components/number-input.cjs +1 -1
  475. package/dist/components/number-input.es.js +1 -1
  476. package/dist/components/pagination/pagination.messages.d.ts +1 -1
  477. package/dist/components/pagination.cjs +1 -1
  478. package/dist/components/pagination.es.js +1 -1
  479. package/dist/components/password-input-field.cjs +1 -1
  480. package/dist/components/password-input-field.es.js +1 -1
  481. package/dist/components/password-input.cjs +1 -1
  482. package/dist/components/password-input.es.js +1 -1
  483. package/dist/components/patterns.cjs +1 -1
  484. package/dist/components/patterns.es.js +18 -14
  485. package/dist/components/patterns.es.js.map +1 -1
  486. package/dist/components/popover.es.js +1 -1
  487. package/dist/components/progress-bar/progress-bar.slots.d.ts +4 -4
  488. package/dist/components/progress-bar.cjs +1 -1
  489. package/dist/components/progress-bar.es.js +1 -1
  490. package/dist/components/radio-input/radio-input.slots.d.ts +2 -2
  491. package/dist/components/radio-input.cjs +1 -1
  492. package/dist/components/radio-input.es.js +1 -1
  493. package/dist/components/range-calendar/range-calendar.slots.d.ts +8 -8
  494. package/dist/components/range-calendar.cjs +1 -1
  495. package/dist/components/range-calendar.es.js +1 -1
  496. package/dist/components/rich-text-input/rich-text-input.slots.d.ts +2 -2
  497. package/dist/components/rich-text-input.cjs +1 -1
  498. package/dist/components/rich-text-input.es.js +1 -1
  499. package/dist/components/scoped-search-input.cjs +1 -1
  500. package/dist/components/scoped-search-input.es.js +1 -1
  501. package/dist/components/scroll-area/index.d.ts +4 -0
  502. package/dist/components/scroll-area/scroll-area.d.ts +26 -0
  503. package/dist/components/scroll-area/scroll-area.recipe.d.ts +58 -0
  504. package/dist/components/scroll-area/scroll-area.types.d.ts +94 -0
  505. package/dist/components/scroll-area.cjs +2 -0
  506. package/dist/components/scroll-area.cjs.map +1 -0
  507. package/dist/components/scroll-area.es.js +8 -0
  508. package/dist/components/scroll-area.es.js.map +1 -0
  509. package/dist/components/search-input-field.cjs +1 -1
  510. package/dist/components/search-input-field.es.js +1 -1
  511. package/dist/components/search-input.cjs +1 -1
  512. package/dist/components/search-input.es.js +1 -1
  513. package/dist/components/select/select.slots.d.ts +7 -7
  514. package/dist/components/select.cjs +1 -1
  515. package/dist/components/select.es.js +1 -1
  516. package/dist/components/separator.cjs +1 -1
  517. package/dist/components/separator.es.js +1 -1
  518. package/dist/components/services.cjs +1 -1
  519. package/dist/components/services.es.js +1 -1
  520. package/dist/components/split-button/split-button.slots.d.ts +3 -3
  521. package/dist/components/split-button.cjs +1 -1
  522. package/dist/components/split-button.es.js +1 -1
  523. package/dist/components/steps/steps.slots.d.ts +12 -12
  524. package/dist/components/steps.cjs +1 -1
  525. package/dist/components/steps.es.js +1 -1
  526. package/dist/components/switch/switch.slots.d.ts +3 -3
  527. package/dist/components/switch.cjs +1 -1
  528. package/dist/components/switch.es.js +1 -1
  529. package/dist/components/tab-nav.es.js +1 -1
  530. package/dist/components/table.cjs +1 -1
  531. package/dist/components/table.es.js +1 -1
  532. package/dist/components/tabs.cjs +1 -1
  533. package/dist/components/tabs.es.js +1 -1
  534. package/dist/components/tag-group.cjs +1 -1
  535. package/dist/components/tag-group.es.js +1 -1
  536. package/dist/components/text-input-field.cjs +1 -1
  537. package/dist/components/text-input-field.es.js +1 -1
  538. package/dist/components/text-input.cjs +1 -1
  539. package/dist/components/text-input.es.js +1 -1
  540. package/dist/components/time-input/time-input.slots.d.ts +5 -5
  541. package/dist/components/time-input.cjs +1 -1
  542. package/dist/components/time-input.es.js +1 -1
  543. package/dist/components/toast/toast.types.d.ts +0 -2
  544. package/dist/components/toast.cjs +1 -1
  545. package/dist/components/toast.es.js +2 -2
  546. package/dist/components/toggle-button-group.es.js +1 -1
  547. package/dist/components/toggle-button.cjs +1 -1
  548. package/dist/components/toggle-button.es.js +1 -1
  549. package/dist/components/toolbar.cjs +1 -1
  550. package/dist/components/toolbar.es.js +1 -1
  551. package/dist/components/tooltip.es.js +2 -2
  552. package/dist/components/utils.cjs +1 -2
  553. package/dist/components/utils.cjs.map +1 -1
  554. package/dist/components/utils.es.js +7 -580
  555. package/dist/components/utils.es.js.map +1 -1
  556. package/dist/index.cjs +1 -1
  557. package/dist/index.cjs.map +1 -1
  558. package/dist/index.es.js +515 -486
  559. package/dist/index.es.js.map +1 -1
  560. package/dist/patterns/actions/form-action-bar/form-action-bar.d.ts +24 -0
  561. package/dist/patterns/actions/form-action-bar/form-action-bar.i18n.d.ts +22 -0
  562. package/dist/patterns/actions/form-action-bar/form-action-bar.messages.d.ts +6 -0
  563. package/dist/patterns/actions/form-action-bar/form-action-bar.types.d.ts +80 -0
  564. package/dist/patterns/actions/form-action-bar/index.d.ts +2 -0
  565. package/dist/patterns/actions/form-action-bar/intl/de.d.ts +12 -0
  566. package/dist/patterns/actions/form-action-bar/intl/en.d.ts +12 -0
  567. package/dist/patterns/actions/form-action-bar/intl/es.d.ts +12 -0
  568. package/dist/patterns/actions/form-action-bar/intl/fr-FR.d.ts +12 -0
  569. package/dist/patterns/actions/form-action-bar/intl/pt-BR.d.ts +12 -0
  570. package/dist/patterns/actions/index.d.ts +1 -0
  571. package/dist/patterns/dialogs/index.d.ts +1 -0
  572. package/dist/patterns/dialogs/info-dialog/index.d.ts +2 -0
  573. package/dist/patterns/dialogs/info-dialog/info-dialog.d.ts +29 -0
  574. package/dist/patterns/dialogs/info-dialog/info-dialog.types.d.ts +65 -0
  575. package/dist/patterns/index.d.ts +2 -0
  576. package/dist/theme/slot-recipes/index.d.ts +159 -80
  577. package/dist/utils/extract-padding-props.d.ts +8 -0
  578. package/dist/utils/index.d.ts +1 -0
  579. package/package.json +24 -23
  580. package/dist/chunks/avatar-BZVVE8-z.cjs.js +0 -2
  581. package/dist/chunks/avatar-BZVVE8-z.cjs.js.map +0 -1
  582. package/dist/chunks/avatar-g0-w5BFv.es.js +0 -58
  583. package/dist/chunks/avatar-g0-w5BFv.es.js.map +0 -1
  584. package/dist/chunks/card-B6WOaP1W.es.js +0 -114
  585. package/dist/chunks/card-B6WOaP1W.es.js.map +0 -1
  586. package/dist/chunks/card-CyGE5pi7.cjs.js +0 -2
  587. package/dist/chunks/card-CyGE5pi7.cjs.js.map +0 -1
  588. package/dist/chunks/combobox-C6lvFWBG.cjs.js +0 -2
  589. package/dist/chunks/combobox-C6lvFWBG.cjs.js.map +0 -1
  590. package/dist/chunks/combobox-CCLI1ID0.es.js +0 -1549
  591. package/dist/chunks/combobox-CCLI1ID0.es.js.map +0 -1
  592. package/dist/chunks/data-table-Bv-7Q96i.cjs.js +0 -2
  593. package/dist/chunks/default-page-8nMYgILp.cjs.js +0 -2
  594. package/dist/chunks/default-page-8nMYgILp.cjs.js.map +0 -1
  595. package/dist/chunks/default-page-B-Sp5fDS.es.js.map +0 -1
  596. package/dist/chunks/dialog-2VC555bv.cjs.js +0 -2
  597. package/dist/chunks/dialog-2VC555bv.cjs.js.map +0 -1
  598. package/dist/chunks/dialog-CpZNWZ1u.es.js.map +0 -1
  599. package/dist/chunks/index-B5W9PQbq.es.js.map +0 -1
  600. package/dist/chunks/index-CoMspoGo.cjs.js +0 -34
  601. package/dist/chunks/index-CoMspoGo.cjs.js.map +0 -1
  602. package/dist/chunks/modal-page-BQ2BiqpG.cjs.js +0 -2
  603. package/dist/chunks/modal-page-BQ56WG8Y.es.js.map +0 -1
  604. package/dist/chunks/pagination-Cgf2fhkX.es.js.map +0 -1
  605. package/dist/chunks/pagination-wtBWXFE_.cjs.js.map +0 -1
  606. package/dist/chunks/toast.manager-C-xQVs3Q.cjs.js +0 -2
  607. package/dist/chunks/toast.manager-C-xQVs3Q.cjs.js.map +0 -1
  608. package/dist/chunks/toast.manager-Dj0xhoar.es.js +0 -173
  609. package/dist/chunks/toast.manager-Dj0xhoar.es.js.map +0 -1
  610. package/dist/chunks/use-inline-svg-BRhR4qWr.cjs.js +0 -2
  611. package/dist/chunks/use-inline-svg-BRhR4qWr.cjs.js.map +0 -1
  612. package/dist/chunks/use-inline-svg-D-aaBVBt.es.js +0 -47
  613. package/dist/chunks/use-inline-svg-D-aaBVBt.es.js.map +0 -1
  614. package/dist/components/card/components/card.content.d.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"focusSafely-DqnNk8Cr.es.js","sources":["../../../../node_modules/.pnpm/react-aria@3.48.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/utils/runAfterTransition.mjs","../../../../node_modules/.pnpm/react-aria@3.48.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/interactions/focusSafely.mjs"],"sourcesContent":["import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"./shadowdom/DOMFunctions.mjs\";\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 */ // We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\n\nlet $081cb5757e08788e$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $081cb5757e08788e$var$transitionCallbacks = new Set();\nfunction $081cb5757e08788e$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n function isTransitionEvent(event) {\n return 'propertyName' in event;\n }\n let onTransitionStart = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Add the transitioning property to the list for this element.\n let transitions = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!transitions) {\n transitions = new Set();\n $081cb5757e08788e$var$transitionsByElement.set(eventTarget, transitions);\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n eventTarget.addEventListener('transitioncancel', onTransitionEnd, {\n once: true\n });\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Remove property from list of transitioning properties.\n let properties = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!properties) return;\n properties.delete(e.propertyName);\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n eventTarget.removeEventListener('transitioncancel', onTransitionEnd);\n $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) {\n for (let cb of $081cb5757e08788e$var$transitionCallbacks)cb();\n $081cb5757e08788e$var$transitionCallbacks.clear();\n }\n };\n document.body.addEventListener('transitionrun', onTransitionStart);\n document.body.addEventListener('transitionend', onTransitionEnd);\n}\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') $081cb5757e08788e$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $081cb5757e08788e$var$setupGlobalEvents);\n}\n/**\n * Cleans up any elements that are no longer in the document.\n * This is necessary because we can't rely on transitionend events to fire\n * for elements that are removed from the document while transitioning.\n */ function $081cb5757e08788e$var$cleanupDetachedElements() {\n for (const [eventTarget] of $081cb5757e08788e$var$transitionsByElement)// Similar to `eventTarget instanceof Element && !eventTarget.isConnected`, but avoids\n // the explicit instanceof check, since it may be different in different contexts.\n if ('isConnected' in eventTarget && !eventTarget.isConnected) $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n}\nfunction $081cb5757e08788e$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n $081cb5757e08788e$var$cleanupDetachedElements();\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) fn();\n else $081cb5757e08788e$var$transitionCallbacks.add(fn);\n });\n}\n\n\nexport {$081cb5757e08788e$export$24490316f764c430 as runAfterTransition};\n//# sourceMappingURL=runAfterTransition.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getInteractionModality as $8f5a2122b0992be3$export$630ff653c5ada6a9} from \"./useFocusVisible.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {runAfterTransition as $081cb5757e08788e$export$24490316f764c430} from \"../utils/runAfterTransition.mjs\";\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 $f192c2f16961cbe0$export$80f3e147d781571c(element) {\n if (!element.isConnected) return;\n // If the user is interacting with a virtual cursor, e.g. screen reader, then\n // wait until after any animated transitions that are currently occurring on\n // the page before shifting focus. This avoids issues with VoiceOver on iOS\n // causing the page to scroll when moving focus if the element is transitioning\n // from off the screen.\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if ((0, $8f5a2122b0992be3$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n (0, $081cb5757e08788e$export$24490316f764c430)(()=>{\n const activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n // If focus did not move or focus was lost to the body, and the element is still in the document, focus it.\n if ((activeElement === lastFocusedElement || activeElement === ownerDocument.body) && element.isConnected) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n });\n } else (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n}\n\n\nexport {$f192c2f16961cbe0$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=focusSafely.mjs.map\n"],"names":["$081cb5757e08788e$var$transitionsByElement","$081cb5757e08788e$var$transitionCallbacks","$081cb5757e08788e$var$cleanupDetachedElements","eventTarget","$081cb5757e08788e$export$24490316f764c430","fn","$f192c2f16961cbe0$export$80f3e147d781571c","element","ownerDocument","$d447af545b77c9f1$export$b204af158042fbac","$8f5a2122b0992be3$export$630ff653c5ada6a9","lastFocusedElement","$23f2114a1b82827e$export$cd4e5573fbe2b576","activeElement","$1969ac565cfec8d0$export$de79e2c695e052f3"],"mappings":";;AAmBA,IAAIA,IAA6C,oBAAI,IAAG,GAEpDC,IAA4C,oBAAI,IAAG;AAoDnD,SAASC,IAAgD;AACzD,aAAW,CAACC,CAAW,KAAKH;AAE5B,IAAI,iBAAiBG,KAAe,CAACA,EAAY,eAAaH,EAA2C,OAAOG,CAAW;AAC/H;AACA,SAASC,EAA0CC,GAAI;AAEnD,wBAAsB,MAAI;AACtB,IAAAH,EAA6C,GAGzCF,EAA2C,SAAS,IAAGK,EAAE,IACxDJ,EAA0C,IAAII,CAAE;AAAA,EACzD,CAAC;AACL;AClEA,SAASC,EAA0CC,GAAS;AACxD,MAAI,CAACA,EAAQ,YAAa;AAM1B,QAAMC,IAAoBC,EAA2CF,CAAO;AAC5E,MAAQG,EAAyC,MAAQ,WAAW;AAChE,QAAIC,IAAyBC,EAA2CJ,CAAa;AACrF,IAAIJ,EAA2C,MAAI;AAC/C,YAAMS,IAAoBD,EAA2CJ,CAAa;AAElF,OAAKK,MAAkBF,KAAsBE,MAAkBL,EAAc,SAASD,EAAQ,eAAiBO,EAA2CP,CAAO;AAAA,IACrK,CAAC;AAAA,EACL,MAAO,CAAIO,EAA2CP,CAAO;AACjE;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"focusSafely-Cpjz2BzP.es.js","sources":["../../../../node_modules/.pnpm/react-aria@3.48.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/utils/runAfterTransition.mjs","../../../../node_modules/.pnpm/react-aria@3.48.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/interactions/focusSafely.mjs"],"sourcesContent":["import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"./shadowdom/DOMFunctions.mjs\";\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 */ // We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\n\nlet $081cb5757e08788e$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $081cb5757e08788e$var$transitionCallbacks = new Set();\nfunction $081cb5757e08788e$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n function isTransitionEvent(event) {\n return 'propertyName' in event;\n }\n let onTransitionStart = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Add the transitioning property to the list for this element.\n let transitions = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!transitions) {\n transitions = new Set();\n $081cb5757e08788e$var$transitionsByElement.set(eventTarget, transitions);\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n eventTarget.addEventListener('transitioncancel', onTransitionEnd, {\n once: true\n });\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Remove property from list of transitioning properties.\n let properties = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!properties) return;\n properties.delete(e.propertyName);\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n eventTarget.removeEventListener('transitioncancel', onTransitionEnd);\n $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) {\n for (let cb of $081cb5757e08788e$var$transitionCallbacks)cb();\n $081cb5757e08788e$var$transitionCallbacks.clear();\n }\n };\n document.body.addEventListener('transitionrun', onTransitionStart);\n document.body.addEventListener('transitionend', onTransitionEnd);\n}\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') $081cb5757e08788e$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $081cb5757e08788e$var$setupGlobalEvents);\n}\n/**\n * Cleans up any elements that are no longer in the document.\n * This is necessary because we can't rely on transitionend events to fire\n * for elements that are removed from the document while transitioning.\n */ function $081cb5757e08788e$var$cleanupDetachedElements() {\n for (const [eventTarget] of $081cb5757e08788e$var$transitionsByElement)// Similar to `eventTarget instanceof Element && !eventTarget.isConnected`, but avoids\n // the explicit instanceof check, since it may be different in different contexts.\n if ('isConnected' in eventTarget && !eventTarget.isConnected) $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n}\nfunction $081cb5757e08788e$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n $081cb5757e08788e$var$cleanupDetachedElements();\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) fn();\n else $081cb5757e08788e$var$transitionCallbacks.add(fn);\n });\n}\n\n\nexport {$081cb5757e08788e$export$24490316f764c430 as runAfterTransition};\n//# sourceMappingURL=runAfterTransition.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getInteractionModality as $8f5a2122b0992be3$export$630ff653c5ada6a9} from \"./useFocusVisible.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {runAfterTransition as $081cb5757e08788e$export$24490316f764c430} from \"../utils/runAfterTransition.mjs\";\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 $f192c2f16961cbe0$export$80f3e147d781571c(element) {\n if (!element.isConnected) return;\n // If the user is interacting with a virtual cursor, e.g. screen reader, then\n // wait until after any animated transitions that are currently occurring on\n // the page before shifting focus. This avoids issues with VoiceOver on iOS\n // causing the page to scroll when moving focus if the element is transitioning\n // from off the screen.\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if ((0, $8f5a2122b0992be3$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n (0, $081cb5757e08788e$export$24490316f764c430)(()=>{\n const activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n // If focus did not move or focus was lost to the body, and the element is still in the document, focus it.\n if ((activeElement === lastFocusedElement || activeElement === ownerDocument.body) && element.isConnected) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n });\n } else (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n}\n\n\nexport {$f192c2f16961cbe0$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=focusSafely.mjs.map\n"],"names":["$081cb5757e08788e$var$transitionsByElement","$081cb5757e08788e$var$transitionCallbacks","$081cb5757e08788e$var$cleanupDetachedElements","eventTarget","$081cb5757e08788e$export$24490316f764c430","fn","$f192c2f16961cbe0$export$80f3e147d781571c","element","ownerDocument","$d447af545b77c9f1$export$b204af158042fbac","$8f5a2122b0992be3$export$630ff653c5ada6a9","lastFocusedElement","$23f2114a1b82827e$export$cd4e5573fbe2b576","activeElement","$1969ac565cfec8d0$export$de79e2c695e052f3"],"mappings":";;AAmBA,IAAIA,IAA6C,oBAAI,IAAG,GAEpDC,IAA4C,oBAAI,IAAG;AAoDnD,SAASC,IAAgD;AACzD,aAAW,CAACC,CAAW,KAAKH;AAE5B,IAAI,iBAAiBG,KAAe,CAACA,EAAY,eAAaH,EAA2C,OAAOG,CAAW;AAC/H;AACA,SAASC,EAA0CC,GAAI;AAEnD,wBAAsB,MAAI;AACtB,IAAAH,EAA6C,GAGzCF,EAA2C,SAAS,IAAGK,EAAE,IACxDJ,EAA0C,IAAII,CAAE;AAAA,EACzD,CAAC;AACL;AClEA,SAASC,EAA0CC,GAAS;AACxD,MAAI,CAACA,EAAQ,YAAa;AAM1B,QAAMC,IAAoBC,EAA2CF,CAAO;AAC5E,MAAQG,EAAyC,MAAQ,WAAW;AAChE,QAAIC,IAAyBC,EAA2CJ,CAAa;AACrF,IAAIJ,EAA2C,MAAI;AAC/C,YAAMS,IAAoBD,EAA2CJ,CAAa;AAElF,OAAKK,MAAkBF,KAAsBE,MAAkBL,EAAc,SAASD,EAAQ,eAAiBO,EAA2CP,CAAO;AAAA,IACrK,CAAC;AAAA,EACL,MAAO,CAAIO,EAA2CP,CAAO;AACjE;","x_google_ignoreList":[0,1]}
@@ -0,0 +1,101 @@
1
+ import { jsxs as o, jsx as l } from "react/jsx-runtime";
2
+ import { B as t } from "./button-DDk_A6fN.es.js";
3
+ import { G as C } from "./group-C9O-E531.es.js";
4
+ import { L as m } from "./loading-spinner-DjYAzT9l.es.js";
5
+ import { n as e, u as S } from "./normalize-messages-CeN1NEyM.es.js";
6
+ const u = {
7
+ ariaLabel: "Form actions",
8
+ cancel: "Cancel",
9
+ delete: "Delete",
10
+ save: "Save"
11
+ }, x = {
12
+ ariaLabel: "Form actions",
13
+ cancel: "Cancel",
14
+ delete: "Delete",
15
+ save: "Save"
16
+ }, z = {
17
+ ariaLabel: "Form actions",
18
+ cancel: "Cancel",
19
+ delete: "Delete",
20
+ save: "Save"
21
+ }, P = {
22
+ ariaLabel: "Form actions",
23
+ cancel: "Cancel",
24
+ delete: "Delete",
25
+ save: "Save"
26
+ }, _ = {
27
+ ariaLabel: "Form actions",
28
+ cancel: "Cancel",
29
+ delete: "Delete",
30
+ save: "Save"
31
+ }, h = {
32
+ en: /* @__PURE__ */ e(u),
33
+ de: /* @__PURE__ */ e(x),
34
+ es: /* @__PURE__ */ e(z),
35
+ "fr-FR": /* @__PURE__ */ e(P),
36
+ "pt-BR": /* @__PURE__ */ e(_)
37
+ }, y = ({
38
+ onSave: d,
39
+ onCancel: f,
40
+ onDelete: n,
41
+ saveLabel: v,
42
+ cancelLabel: b,
43
+ deleteLabel: p,
44
+ isSaveDisabled: B = !1,
45
+ isSaveLoading: c = !1,
46
+ isDeleteLoading: i = !1,
47
+ "aria-label": L,
48
+ cancelSlot: g,
49
+ buttonSize: s
50
+ }) => {
51
+ const a = S(h), r = c || i, F = v ?? a.format("save"), A = b ?? a.format("cancel"), D = p ?? a.format("delete"), M = L ?? a.format("ariaLabel");
52
+ return /* @__PURE__ */ o(C, { "aria-label": M, gap: "300", children: [
53
+ n && /* @__PURE__ */ o(
54
+ t,
55
+ {
56
+ variant: "solid",
57
+ colorPalette: "critical",
58
+ size: s,
59
+ isDisabled: r,
60
+ onPress: n,
61
+ "data-slot": "delete",
62
+ children: [
63
+ D,
64
+ i && /* @__PURE__ */ l(m, { ml: "100", size: "2xs" })
65
+ ]
66
+ }
67
+ ),
68
+ /* @__PURE__ */ l(
69
+ t,
70
+ {
71
+ variant: "outline",
72
+ size: s,
73
+ isDisabled: r,
74
+ onPress: f,
75
+ slot: g,
76
+ "data-slot": "cancel",
77
+ children: A
78
+ }
79
+ ),
80
+ /* @__PURE__ */ o(
81
+ t,
82
+ {
83
+ variant: "solid",
84
+ colorPalette: "primary",
85
+ size: s,
86
+ isDisabled: B || r,
87
+ onPress: d,
88
+ "data-slot": "save",
89
+ children: [
90
+ F,
91
+ c && /* @__PURE__ */ l(m, { ml: "100", size: "2xs" })
92
+ ]
93
+ }
94
+ )
95
+ ] });
96
+ };
97
+ y.displayName = "FormActionBar";
98
+ export {
99
+ y as F
100
+ };
101
+ //# sourceMappingURL=form-action-bar-B7zd3XAE.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-action-bar-B7zd3XAE.es.js","sources":["../../src/patterns/actions/form-action-bar/intl/en.ts","../../src/patterns/actions/form-action-bar/intl/de.ts","../../src/patterns/actions/form-action-bar/intl/es.ts","../../src/patterns/actions/form-action-bar/intl/fr-FR.ts","../../src/patterns/actions/form-action-bar/intl/pt-BR.ts","../../src/patterns/actions/form-action-bar/form-action-bar.messages.ts","../../src/patterns/actions/form-action-bar/form-action-bar.tsx"],"sourcesContent":["/**\n * Pre-compiled en messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled de messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled es messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled fr-FR messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled pt-BR messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled localized messages for FormActionBar 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 formActionBarMessages_en from \"./intl/en\";\nimport formActionBarMessages_de from \"./intl/de\";\nimport formActionBarMessages_es from \"./intl/es\";\nimport formActionBarMessages_fr from \"./intl/fr-FR\";\nimport formActionBarMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const formActionBarMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(formActionBarMessages_en),\n de: normalizeMessages(formActionBarMessages_de),\n es: normalizeMessages(formActionBarMessages_es),\n \"fr-FR\": normalizeMessages(formActionBarMessages_fr),\n \"pt-BR\": normalizeMessages(formActionBarMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for FormActionBar component\n */\nexport type FormActionBarMessageKey =\n | \"ariaLabel\"\n | \"cancel\"\n | \"delete\"\n | \"save\";\n","import { Button } from \"@/components/button/button\";\nimport { Group } from \"@/components/group/group\";\nimport { LoadingSpinner } from \"@/components/loading-spinner/loading-spinner\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { formActionBarMessagesStrings } from \"./form-action-bar.messages\";\nimport type { FormActionBarProps } from \"./form-action-bar.types\";\n\n/**\n * # FormActionBar\n *\n * A pattern providing save / cancel / optional delete buttons for form footers.\n *\n * Works inside any footer slot: `DefaultPage.Footer`, `ModalPage.Footer`,\n * `Drawer.Footer`, `Dialog.Footer`. Replaces separate form-page wrappers.\n *\n * @example\n * ```tsx\n * <FormActionBar\n * onSave={handleSave}\n * onCancel={handleCancel}\n * onDelete={handleDelete}\n * isSaveDisabled={!isDirty}\n * isSaveLoading={isSaving}\n * />\n * ```\n */\nexport const FormActionBar = ({\n onSave,\n onCancel,\n onDelete,\n saveLabel,\n cancelLabel,\n deleteLabel,\n isSaveDisabled = false,\n isSaveLoading = false,\n isDeleteLoading = false,\n \"aria-label\": ariaLabel,\n cancelSlot,\n buttonSize,\n}: FormActionBarProps) => {\n const msg = useLocalizedStringFormatter(formActionBarMessagesStrings);\n const isBusy = isSaveLoading || isDeleteLoading;\n\n const resolvedSaveLabel = saveLabel ?? msg.format(\"save\");\n const resolvedCancelLabel = cancelLabel ?? msg.format(\"cancel\");\n const resolvedDeleteLabel = deleteLabel ?? msg.format(\"delete\");\n const resolvedAriaLabel = ariaLabel ?? msg.format(\"ariaLabel\");\n\n return (\n <Group aria-label={resolvedAriaLabel} gap=\"300\">\n {onDelete && (\n <Button\n variant=\"solid\"\n colorPalette=\"critical\"\n size={buttonSize}\n isDisabled={isBusy}\n onPress={onDelete}\n data-slot=\"delete\"\n >\n {resolvedDeleteLabel}\n {isDeleteLoading && <LoadingSpinner ml=\"100\" size=\"2xs\" />}\n </Button>\n )}\n <Button\n variant=\"outline\"\n size={buttonSize}\n isDisabled={isBusy}\n onPress={onCancel}\n slot={cancelSlot}\n data-slot=\"cancel\"\n >\n {resolvedCancelLabel}\n </Button>\n <Button\n variant=\"solid\"\n colorPalette=\"primary\"\n size={buttonSize}\n isDisabled={isSaveDisabled || isBusy}\n onPress={onSave}\n data-slot=\"save\"\n >\n {resolvedSaveLabel}\n {isSaveLoading && <LoadingSpinner ml=\"100\" size=\"2xs\" />}\n </Button>\n </Group>\n );\n};\n\nFormActionBar.displayName = \"FormActionBar\";\n"],"names":["formActionBarMessages_en","formActionBarMessages_de","formActionBarMessages_es","formActionBarMessages_fr","formActionBarMessages_pt","formActionBarMessagesStrings","normalizeMessages","FormActionBar","onSave","onCancel","onDelete","saveLabel","cancelLabel","deleteLabel","isSaveDisabled","isSaveLoading","isDeleteLoading","ariaLabel","cancelSlot","buttonSize","msg","useLocalizedStringFormatter","isBusy","resolvedSaveLabel","resolvedCancelLabel","resolvedDeleteLabel","resolvedAriaLabel","jsxs","Group","Button","jsx","LoadingSpinner"],"mappings":";;;;;AAMA,MAAAA,IAAe;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AACR,GCLAC,IAAe;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AACR,GCLAC,IAAe;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AACR,GCLAC,IAAe;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AACR,GCLAC,IAAe;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AACR,GCYaC,IAGT;AAAA,EACF,IAAI,gBAAAC,EAAkBN,CAAwB;AAAA,EAC9C,IAAI,gBAAAM,EAAkBL,CAAwB;AAAA,EAC9C,IAAI,gBAAAK,EAAkBJ,CAAwB;AAAA,EAC9C,SAAS,gBAAAI,EAAkBH,CAAwB;AAAA,EACnD,SAAS,gBAAAG,EAAkBF,CAAwB;AACrD,GCNaG,IAAgB,CAAC;AAAA,EAC5B,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,eAAAC,IAAgB;AAAA,EAChB,iBAAAC,IAAkB;AAAA,EAClB,cAAcC;AAAA,EACd,YAAAC;AAAA,EACA,YAAAC;AACF,MAA0B;AACxB,QAAMC,IAAMC,EAA4BhB,CAA4B,GAC9DiB,IAASP,KAAiBC,GAE1BO,IAAoBZ,KAAaS,EAAI,OAAO,MAAM,GAClDI,IAAsBZ,KAAeQ,EAAI,OAAO,QAAQ,GACxDK,IAAsBZ,KAAeO,EAAI,OAAO,QAAQ,GACxDM,IAAoBT,KAAaG,EAAI,OAAO,WAAW;AAE7D,SACE,gBAAAO,EAACC,GAAA,EAAM,cAAYF,GAAmB,KAAI,OACvC,UAAA;AAAA,IAAAhB,KACC,gBAAAiB;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,cAAa;AAAA,QACb,MAAMV;AAAA,QACN,YAAYG;AAAA,QACZ,SAASZ;AAAA,QACT,aAAU;AAAA,QAET,UAAA;AAAA,UAAAe;AAAA,UACAT,KAAmB,gBAAAc,EAACC,GAAA,EAAe,IAAG,OAAM,MAAK,MAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAG5D,gBAAAD;AAAA,MAACD;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAMV;AAAA,QACN,YAAYG;AAAA,QACZ,SAASb;AAAA,QACT,MAAMS;AAAA,QACN,aAAU;AAAA,QAET,UAAAM;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH,gBAAAG;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,cAAa;AAAA,QACb,MAAMV;AAAA,QACN,YAAYL,KAAkBQ;AAAA,QAC9B,SAASd;AAAA,QACT,aAAU;AAAA,QAET,UAAA;AAAA,UAAAe;AAAA,UACAR,KAAiB,gBAAAe,EAACC,GAAA,EAAe,IAAG,OAAM,MAAK,MAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACxD,GACF;AAEJ;AAEAxB,EAAc,cAAc;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),t=require("./button-C8BxhnrL.cjs.js"),F=require("./group-CkyuWqOe.cjs.js"),c=require("./loading-spinner-KDA1v0Qr.cjs.js"),a=require("./normalize-messages-Dogs8lYA.cjs.js"),x={ariaLabel:"Form actions",cancel:"Cancel",delete:"Delete",save:"Save"},S={ariaLabel:"Form actions",cancel:"Cancel",delete:"Delete",save:"Save"},j={ariaLabel:"Form actions",cancel:"Cancel",delete:"Delete",save:"Save"},D={ariaLabel:"Form actions",cancel:"Cancel",delete:"Delete",save:"Save"},C={ariaLabel:"Form actions",cancel:"Cancel",delete:"Delete",save:"Save"},q={en:a.normalizeMessages(x),de:a.normalizeMessages(S),es:a.normalizeMessages(j),"fr-FR":a.normalizeMessages(D),"pt-BR":a.normalizeMessages(C)},m=({onSave:d,onCancel:v,onDelete:n,saveLabel:g,cancelLabel:f,deleteLabel:u,isSaveDisabled:b=!1,isSaveLoading:l=!1,isDeleteLoading:i=!1,"aria-label":B,cancelSlot:M,buttonSize:r})=>{const s=a.useLocalizedStringFormatter(q),o=l||i,L=g??s.format("save"),p=f??s.format("cancel"),z=u??s.format("delete"),A=B??s.format("ariaLabel");return e.jsxs(F.Group,{"aria-label":A,gap:"300",children:[n&&e.jsxs(t.Button,{variant:"solid",colorPalette:"critical",size:r,isDisabled:o,onPress:n,"data-slot":"delete",children:[z,i&&e.jsx(c.LoadingSpinner,{ml:"100",size:"2xs"})]}),e.jsx(t.Button,{variant:"outline",size:r,isDisabled:o,onPress:v,slot:M,"data-slot":"cancel",children:p}),e.jsxs(t.Button,{variant:"solid",colorPalette:"primary",size:r,isDisabled:b||o,onPress:d,"data-slot":"save",children:[L,l&&e.jsx(c.LoadingSpinner,{ml:"100",size:"2xs"})]})]})};m.displayName="FormActionBar";exports.FormActionBar=m;
2
+ //# sourceMappingURL=form-action-bar-Bzst5Vxz.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-action-bar-Bzst5Vxz.cjs.js","sources":["../../src/patterns/actions/form-action-bar/intl/en.ts","../../src/patterns/actions/form-action-bar/intl/de.ts","../../src/patterns/actions/form-action-bar/intl/es.ts","../../src/patterns/actions/form-action-bar/intl/fr-FR.ts","../../src/patterns/actions/form-action-bar/intl/pt-BR.ts","../../src/patterns/actions/form-action-bar/form-action-bar.messages.ts","../../src/patterns/actions/form-action-bar/form-action-bar.tsx"],"sourcesContent":["/**\n * Pre-compiled en messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled de messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled es messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled fr-FR messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled pt-BR messages for FormActionBar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n ariaLabel: `Form actions`,\n cancel: `Cancel`,\n delete: `Delete`,\n save: `Save`,\n};\n","/**\n * Pre-compiled localized messages for FormActionBar 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 formActionBarMessages_en from \"./intl/en\";\nimport formActionBarMessages_de from \"./intl/de\";\nimport formActionBarMessages_es from \"./intl/es\";\nimport formActionBarMessages_fr from \"./intl/fr-FR\";\nimport formActionBarMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const formActionBarMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(formActionBarMessages_en),\n de: normalizeMessages(formActionBarMessages_de),\n es: normalizeMessages(formActionBarMessages_es),\n \"fr-FR\": normalizeMessages(formActionBarMessages_fr),\n \"pt-BR\": normalizeMessages(formActionBarMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for FormActionBar component\n */\nexport type FormActionBarMessageKey =\n | \"ariaLabel\"\n | \"cancel\"\n | \"delete\"\n | \"save\";\n","import { Button } from \"@/components/button/button\";\nimport { Group } from \"@/components/group/group\";\nimport { LoadingSpinner } from \"@/components/loading-spinner/loading-spinner\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { formActionBarMessagesStrings } from \"./form-action-bar.messages\";\nimport type { FormActionBarProps } from \"./form-action-bar.types\";\n\n/**\n * # FormActionBar\n *\n * A pattern providing save / cancel / optional delete buttons for form footers.\n *\n * Works inside any footer slot: `DefaultPage.Footer`, `ModalPage.Footer`,\n * `Drawer.Footer`, `Dialog.Footer`. Replaces separate form-page wrappers.\n *\n * @example\n * ```tsx\n * <FormActionBar\n * onSave={handleSave}\n * onCancel={handleCancel}\n * onDelete={handleDelete}\n * isSaveDisabled={!isDirty}\n * isSaveLoading={isSaving}\n * />\n * ```\n */\nexport const FormActionBar = ({\n onSave,\n onCancel,\n onDelete,\n saveLabel,\n cancelLabel,\n deleteLabel,\n isSaveDisabled = false,\n isSaveLoading = false,\n isDeleteLoading = false,\n \"aria-label\": ariaLabel,\n cancelSlot,\n buttonSize,\n}: FormActionBarProps) => {\n const msg = useLocalizedStringFormatter(formActionBarMessagesStrings);\n const isBusy = isSaveLoading || isDeleteLoading;\n\n const resolvedSaveLabel = saveLabel ?? msg.format(\"save\");\n const resolvedCancelLabel = cancelLabel ?? msg.format(\"cancel\");\n const resolvedDeleteLabel = deleteLabel ?? msg.format(\"delete\");\n const resolvedAriaLabel = ariaLabel ?? msg.format(\"ariaLabel\");\n\n return (\n <Group aria-label={resolvedAriaLabel} gap=\"300\">\n {onDelete && (\n <Button\n variant=\"solid\"\n colorPalette=\"critical\"\n size={buttonSize}\n isDisabled={isBusy}\n onPress={onDelete}\n data-slot=\"delete\"\n >\n {resolvedDeleteLabel}\n {isDeleteLoading && <LoadingSpinner ml=\"100\" size=\"2xs\" />}\n </Button>\n )}\n <Button\n variant=\"outline\"\n size={buttonSize}\n isDisabled={isBusy}\n onPress={onCancel}\n slot={cancelSlot}\n data-slot=\"cancel\"\n >\n {resolvedCancelLabel}\n </Button>\n <Button\n variant=\"solid\"\n colorPalette=\"primary\"\n size={buttonSize}\n isDisabled={isSaveDisabled || isBusy}\n onPress={onSave}\n data-slot=\"save\"\n >\n {resolvedSaveLabel}\n {isSaveLoading && <LoadingSpinner ml=\"100\" size=\"2xs\" />}\n </Button>\n </Group>\n );\n};\n\nFormActionBar.displayName = \"FormActionBar\";\n"],"names":["formActionBarMessages_en","formActionBarMessages_de","formActionBarMessages_es","formActionBarMessages_fr","formActionBarMessages_pt","formActionBarMessagesStrings","normalizeMessages","FormActionBar","onSave","onCancel","onDelete","saveLabel","cancelLabel","deleteLabel","isSaveDisabled","isSaveLoading","isDeleteLoading","ariaLabel","cancelSlot","buttonSize","msg","useLocalizedStringFormatter","isBusy","resolvedSaveLabel","resolvedCancelLabel","resolvedDeleteLabel","resolvedAriaLabel","jsxs","Group","Button","jsx","LoadingSpinner"],"mappings":"8NAMAA,EAAe,CACb,UAAW,eACX,OAAQ,SACR,OAAQ,SACR,KAAM,MACR,ECLAC,EAAe,CACb,UAAW,eACX,OAAQ,SACR,OAAQ,SACR,KAAM,MACR,ECLAC,EAAe,CACb,UAAW,eACX,OAAQ,SACR,OAAQ,SACR,KAAM,MACR,ECLAC,EAAe,CACb,UAAW,eACX,OAAQ,SACR,OAAQ,SACR,KAAM,MACR,ECLAC,EAAe,CACb,UAAW,eACX,OAAQ,SACR,OAAQ,SACR,KAAM,MACR,ECYaC,EAGT,CACF,GAAIC,EAAAA,kBAAkBN,CAAwB,EAC9C,GAAIM,EAAAA,kBAAkBL,CAAwB,EAC9C,GAAIK,EAAAA,kBAAkBJ,CAAwB,EAC9C,QAASI,EAAAA,kBAAkBH,CAAwB,EACnD,QAASG,EAAAA,kBAAkBF,CAAwB,CACrD,ECNaG,EAAgB,CAAC,CAC5B,OAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAC,EACA,YAAAC,EACA,YAAAC,EACA,eAAAC,EAAiB,GACjB,cAAAC,EAAgB,GAChB,gBAAAC,EAAkB,GAClB,aAAcC,EACd,WAAAC,EACA,WAAAC,CACF,IAA0B,CACxB,MAAMC,EAAMC,EAAAA,4BAA4BhB,CAA4B,EAC9DiB,EAASP,GAAiBC,EAE1BO,EAAoBZ,GAAaS,EAAI,OAAO,MAAM,EAClDI,EAAsBZ,GAAeQ,EAAI,OAAO,QAAQ,EACxDK,EAAsBZ,GAAeO,EAAI,OAAO,QAAQ,EACxDM,EAAoBT,GAAaG,EAAI,OAAO,WAAW,EAE7D,OACEO,EAAAA,KAACC,EAAAA,MAAA,CAAM,aAAYF,EAAmB,IAAI,MACvC,SAAA,CAAAhB,GACCiB,EAAAA,KAACE,EAAAA,OAAA,CACC,QAAQ,QACR,aAAa,WACb,KAAMV,EACN,WAAYG,EACZ,QAASZ,EACT,YAAU,SAET,SAAA,CAAAe,EACAT,GAAmBc,EAAAA,IAACC,iBAAA,CAAe,GAAG,MAAM,KAAK,KAAA,CAAM,CAAA,CAAA,CAAA,EAG5DD,EAAAA,IAACD,EAAAA,OAAA,CACC,QAAQ,UACR,KAAMV,EACN,WAAYG,EACZ,QAASb,EACT,KAAMS,EACN,YAAU,SAET,SAAAM,CAAA,CAAA,EAEHG,EAAAA,KAACE,EAAAA,OAAA,CACC,QAAQ,QACR,aAAa,UACb,KAAMV,EACN,WAAYL,GAAkBQ,EAC9B,QAASd,EACT,YAAU,OAET,SAAA,CAAAe,EACAR,GAAiBe,EAAAA,IAACC,iBAAA,CAAe,GAAG,MAAM,KAAK,KAAA,CAAM,CAAA,CAAA,CAAA,CACxD,EACF,CAEJ,EAEAxB,EAAc,YAAc"}
@@ -4,10 +4,10 @@ import { createSlotRecipeContext as G } from "@chakra-ui/react/styled-system";
4
4
  import { $ as J } from "./useField-lGJsB_QJ.es.js";
5
5
  import { $ as K } from "./useObjectRef-tuMEdnba.es.js";
6
6
  import { m as O } from "./merge-refs-D-zSwpoh.es.js";
7
- import { j as Q, $ as R, k as T } from "./Dialog-Dwy2_Ptk.es.js";
7
+ import { j as Q, $ as R, k as T } from "./Dialog-BVUZ7ef8.es.js";
8
8
  import { HelpOutline as U, ErrorOutline as W } from "@commercetools/nimbus-icons";
9
9
  import { B as F } from "./box-DuBoAZvq.es.js";
10
- import { I as X } from "./icon-button-DwOSMjvL.es.js";
10
+ import { I as X } from "./icon-button-BEAbGl9T.es.js";
11
11
  const a = /* @__PURE__ */ z({
12
12
  context: {
13
13
  label: null,
@@ -350,4 +350,4 @@ export {
350
350
  S as e,
351
351
  P as f
352
352
  };
353
- //# sourceMappingURL=form-field-DzzyQud_.es.js.map
353
+ //# sourceMappingURL=form-field-8H5wbjSo.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-DzzyQud_.es.js","sources":["../../src/components/form-field/components/form-field.context.tsx","../../src/components/form-field/form-field.slots.tsx","../../src/components/form-field/components/form-field.root.tsx","../../src/components/form-field/components/form-field.label.tsx","../../src/components/form-field/components/form-field.input.tsx","../../src/components/form-field/components/form-field.description.tsx","../../src/components/form-field/components/form-field.error.tsx","../../src/components/form-field/components/form-field.info-box.tsx","../../src/components/form-field/form-field.tsx"],"sourcesContent":["import { createContext, type ReactNode } from \"react\";\nimport type {\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldLabelSlotProps,\n} from \"../form-field.types\";\n\nexport type FormFieldInputProps = Record<string, unknown>;\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n description: ReactNode;\n descriptionSlotProps?: FormFieldDescriptionSlotProps;\n error: ReactNode;\n errorSlotProps?: FormFieldErrorSlotProps;\n info: ReactNode;\n isInvalid?: boolean;\n isRequired?: boolean;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type FormFieldContextType = {\n context: FormFieldContextPayloadType;\n setContext: React.Dispatch<React.SetStateAction<FormFieldContextPayloadType>>;\n inputProps: FormFieldInputProps;\n};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n },\n setContext: () => {},\n inputProps: {},\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type {\n FormFieldRootSlotProps,\n FormFieldLabelSlotProps,\n FormFieldInputSlotProps,\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldPopoverSlotProps,\n} from \"./form-field.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusFormField\",\n});\n\n// Root slot\nexport const FormFieldRootSlot = withProvider<\n HTMLDivElement,\n FormFieldRootSlotProps\n>(\"div\", \"root\");\n\n// Label Slot\nexport const FormFieldLabelSlot = withContext<\n HTMLDivElement,\n FormFieldLabelSlotProps\n>(\"div\", \"label\");\n\n// Input Slot\nexport const FormFieldInputSlot = withContext<\n HTMLDivElement,\n FormFieldInputSlotProps\n>(\"div\", \"input\");\n\n// Description Slot\nexport const FormFieldDescriptionSlot = withContext<\n HTMLDivElement,\n FormFieldDescriptionSlotProps\n>(\"div\", \"description\");\n\n// Error Slot\nexport const FormFieldErrorSlot = withContext<\n HTMLDivElement,\n FormFieldErrorSlotProps\n>(\"div\", \"error\");\n\n// Error Slot\nexport const FormFieldPopoverSlot = withContext<\n HTMLDivElement,\n FormFieldPopoverSlotProps\n>(\"div\", \"popover\");\n","import { useEffect, useMemo, useState, useRef } from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField, useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@/utils\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"./form-field.context\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldLabelSlot,\n FormFieldPopoverSlot,\n FormFieldRootSlot,\n} from \"../form-field.slots\";\nimport { Dialog, DialogTrigger, Popover } from \"react-aria-components\";\nimport { Box, IconButton } from \"@/components\";\nimport { ErrorOutline, HelpOutline } from \"@commercetools/nimbus-icons\";\n\n/**\n * # FormField.Root\n *\n * displays miscellaneous inputs in a FormField context\n *\n * @supportsStyleProps\n */\nexport const FormFieldRoot = function FormFieldRoot({\n ref: forwardedRef,\n id,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n children,\n ...props\n}: FormFieldProps) {\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const [context, setContext] = useState<FormFieldContextPayloadType>({\n label: null,\n description: null,\n error: null,\n info: null,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n });\n\n const useFieldArgs: Parameters<typeof useField>[0] = useMemo(() => {\n const args: Parameters<typeof useField>[0] = {\n id,\n description: context.description,\n errorMessage: context.error,\n };\n\n if (context.label) {\n args.label = context.label;\n } else {\n // Context will always start out null, so we need to stub out some aria attributes\n // FIXME: This is a hack to get the form field to work, but it's not the best solution\n // FIXME: We should find a better way to handle this by redesigning the FormField component's structure\n args[\"aria-label\"] = \"empty-label\";\n args[\"aria-labelledby\"] = \"empty-label\";\n }\n\n return args;\n }, [id, context.description, context.error, context.label]);\n\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField(useFieldArgs);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }));\n }, [isInvalid, isRequired, isDisabled, isReadOnly]);\n\n const inputProps = useMemo(\n () => ({\n ...fieldProps,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }),\n [fieldProps, isInvalid, isRequired, isDisabled, isReadOnly]\n );\n\n const contextValue = useMemo(\n () => ({ context, setContext, inputProps }),\n [context, inputProps]\n );\n\n return (\n <FormFieldContext.Provider value={contextValue}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps} data-required={isRequired}>\n {context.label}\n {isRequired && <sup aria-hidden=\"true\">*</sup>}\n </label>\n {context.info && (\n <DialogTrigger>\n <Box\n as=\"span\"\n display=\"inline-block\"\n position=\"relative\"\n width=\"1ch\"\n height=\"1ch\"\n ml=\"200\"\n >\n <Box\n as=\"span\"\n display=\"inline-flex\"\n position=\"absolute\"\n top=\"50%\"\n right=\"50%\"\n transform=\"translate(50%, -50%)\"\n >\n <IconButton\n aria-label=\"__MORE INFO\"\n size=\"2xs\"\n colorPalette=\"info\"\n variant=\"link\"\n >\n <HelpOutline />\n </IconButton>\n </Box>\n </Box>\n <Popover>\n <FormFieldPopoverSlot asChild>\n <Dialog>\n <Box p=\"300\">{context.info}</Box>\n </Dialog>\n </FormFieldPopoverSlot>\n </Popover>\n </DialogTrigger>\n )}\n </FormFieldLabelSlot>\n )}\n {context.description && (\n <FormFieldDescriptionSlot\n {...descriptionProps}\n {...context.descriptionSlotProps}\n >\n {context.description}\n </FormFieldDescriptionSlot>\n )}\n {isInvalid && context.error && (\n <FormFieldErrorSlot\n {...errorMessageProps}\n {...context.errorSlotProps}\n >\n <Box\n as={ErrorOutline}\n display=\"inline-flex\"\n boxSize=\"400\"\n flexShrink=\"0\"\n mt=\"50\"\n />\n {context.error}\n </FormFieldErrorSlot>\n )}\n {children}\n </FormFieldRootSlot>\n </FormFieldContext.Provider>\n );\n};\n\nFormFieldRoot.displayName = \"FormField.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldLabelSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Label - The label element for the form field\n *\n * @supportsStyleProps\n */\n// TODO: should this be wrapped in react-aria's `LabelContext` provider?, e.g. https://react-spectrum.adobe.com/react-aria/TextField.html#custom-children\nexport const FormFieldLabel = ({\n children,\n ...labelSlotProps\n}: FormFieldLabelSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n label: children,\n labelSlotProps,\n }));\n\n // Cleanup: clear label when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n label: null,\n labelSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldLabel.displayName = \"FormField.Label\";\n","import { Children, cloneElement, isValidElement, useContext } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldInputSlotProps } from \"../form-field.types\";\nimport { FormFieldInputSlot } from \"../form-field.slots\";\n\n/**\n * FormField.Input - The input wrapper element for the form field\n *\n * Renders children directly (with injected field props) to avoid\n * the state-based indirection that causes cursor position issues\n * on controlled inputs.\n *\n * @supportsStyleProps\n */\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { inputProps } = useContext(FormFieldContext);\n\n return (\n <FormFieldInputSlot {...inputSlotProps}>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n return child;\n })}\n </FormFieldInputSlot>\n );\n};\n\nFormFieldInput.displayName = \"FormField.Input\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldDescriptionSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Description - The description element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldDescription = ({\n children,\n ...descriptionSlotProps\n}: FormFieldDescriptionSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n description: children,\n descriptionSlotProps,\n }));\n\n // Cleanup: clear description when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n description: null,\n descriptionSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldDescription.displayName = \"FormField.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldErrorSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Error - The error message element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldError = ({\n children,\n ...errorSlotProps\n}: FormFieldErrorSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n error: children,\n errorSlotProps,\n }));\n\n // Cleanup: clear error when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n error: null,\n errorSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldError.displayName = \"FormField.Error\";\n","import { useContext, useEffect, type ReactNode } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\n\ntype FormFieldInfoBoxProps = {\n /**\n * The content to display in the InfoBox\n */\n children: ReactNode;\n};\n\n/**\n * FormField.InfoBox - The info box popover content for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldInfoBox = ({ children }: FormFieldInfoBoxProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n info: children,\n }));\n\n // Cleanup: clear info when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n info: null,\n }));\n };\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldInfoBox.displayName = \"FormField.InfoBox\";\n","import {\n FormFieldRoot,\n FormFieldLabel,\n FormFieldInput,\n FormFieldDescription,\n FormFieldError,\n FormFieldInfoBox,\n} from \"./components\";\n\nexport const FormField = {\n /**\n * # FormField.Root\n *\n * The root container for the form field that provides context and state management\n * for all child components. Handles React Aria integration for accessibility,\n * manages field state (required, invalid, disabled, readonly), and coordinates\n * rendering of label, input, description, and error elements.\n *\n * @example\n * ```tsx\n * <FormField.Root isRequired isInvalid>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>Enter your username</FormField.Description>\n * <FormField.Error>Username is required</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Root: FormFieldRoot,\n\n /**\n * # FormField.Label\n *\n * The label element for the form field. Automatically associates with the input\n * via React Aria and displays a required indicator when the field is required.\n * Supports an optional info box trigger for additional field information.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Email Address</FormField.Label>\n * <FormField.InfoBox>\n * Your email will be used for account notifications\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Label: FormFieldLabel,\n\n /**\n * # FormField.Input\n *\n * The input wrapper element that receives and displays the actual input component.\n * Automatically clones children and passes accessibility props, validation state,\n * and field attributes from React Aria.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Password</FormField.Label>\n * <FormField.Input>\n * <PasswordInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Input: FormFieldInput,\n\n /**\n * # FormField.Description\n *\n * The description element that provides helpful information about the field.\n * Automatically associates with the input via `aria-describedby` for screen readers.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>\n * Must be 3-20 characters, letters and numbers only\n * </FormField.Description>\n * </FormField.Root>\n * ```\n */\n Description: FormFieldDescription,\n\n /**\n * # FormField.Error\n *\n * The error message element that displays validation errors. Only visible when\n * the field is invalid. Automatically associates with the input via\n * `aria-errormessage` and includes an error icon.\n *\n * @example\n * ```tsx\n * <FormField.Root isInvalid>\n * <FormField.Label>Email</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Error>Please enter a valid email address</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Error: FormFieldError,\n\n /**\n * # FormField.InfoBox\n *\n * The info box content that appears in a popover when the help icon next to\n * the label is clicked. Use for additional context or instructions that don't\n * need to be visible by default.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>API Key</FormField.Label>\n * <FormField.InfoBox>\n * Your API key can be found in your account settings.\n * Keep it secure and never share it publicly.\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n InfoBox: FormFieldInfoBox,\n};\n\nexport {\n FormFieldRoot as _FormFieldRoot,\n FormFieldLabel as _FormFieldLabel,\n FormFieldInput as _FormFieldInput,\n FormFieldDescription as _FormFieldDescription,\n FormFieldError as _FormFieldError,\n FormFieldInfoBox as _FormFieldInfoBox,\n};\n"],"names":["FormFieldContext","createContext","withProvider","withContext","createSlotRecipeContext","FormFieldRootSlot","FormFieldLabelSlot","FormFieldInputSlot","FormFieldDescriptionSlot","FormFieldErrorSlot","FormFieldPopoverSlot","FormFieldRoot","forwardedRef","id","isInvalid","isRequired","isDisabled","isReadOnly","children","props","localRef","useRef","ref","useObjectRef","mergeRefs","context","setContext","useState","useFieldArgs","useMemo","args","labelProps","fieldProps","descriptionProps","errorMessageProps","useField","useEffect","prevContext","inputProps","contextValue","jsx","jsxs","DialogTrigger","Box","IconButton","HelpOutline","Popover","Dialog","ErrorOutline","FormFieldLabel","labelSlotProps","useContext","FormFieldInput","inputSlotProps","child","isValidElement","cloneElement","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField"],"mappings":"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"}
1
+ {"version":3,"file":"form-field-8H5wbjSo.es.js","sources":["../../src/components/form-field/components/form-field.context.tsx","../../src/components/form-field/form-field.slots.tsx","../../src/components/form-field/components/form-field.root.tsx","../../src/components/form-field/components/form-field.label.tsx","../../src/components/form-field/components/form-field.input.tsx","../../src/components/form-field/components/form-field.description.tsx","../../src/components/form-field/components/form-field.error.tsx","../../src/components/form-field/components/form-field.info-box.tsx","../../src/components/form-field/form-field.tsx"],"sourcesContent":["import { createContext, type ReactNode } from \"react\";\nimport type {\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldLabelSlotProps,\n} from \"../form-field.types\";\n\nexport type FormFieldInputProps = Record<string, unknown>;\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n description: ReactNode;\n descriptionSlotProps?: FormFieldDescriptionSlotProps;\n error: ReactNode;\n errorSlotProps?: FormFieldErrorSlotProps;\n info: ReactNode;\n isInvalid?: boolean;\n isRequired?: boolean;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type FormFieldContextType = {\n context: FormFieldContextPayloadType;\n setContext: React.Dispatch<React.SetStateAction<FormFieldContextPayloadType>>;\n inputProps: FormFieldInputProps;\n};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n },\n setContext: () => {},\n inputProps: {},\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type {\n FormFieldRootSlotProps,\n FormFieldLabelSlotProps,\n FormFieldInputSlotProps,\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldPopoverSlotProps,\n} from \"./form-field.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusFormField\",\n});\n\n// Root slot\nexport const FormFieldRootSlot = withProvider<\n HTMLDivElement,\n FormFieldRootSlotProps\n>(\"div\", \"root\");\n\n// Label Slot\nexport const FormFieldLabelSlot = withContext<\n HTMLDivElement,\n FormFieldLabelSlotProps\n>(\"div\", \"label\");\n\n// Input Slot\nexport const FormFieldInputSlot = withContext<\n HTMLDivElement,\n FormFieldInputSlotProps\n>(\"div\", \"input\");\n\n// Description Slot\nexport const FormFieldDescriptionSlot = withContext<\n HTMLDivElement,\n FormFieldDescriptionSlotProps\n>(\"div\", \"description\");\n\n// Error Slot\nexport const FormFieldErrorSlot = withContext<\n HTMLDivElement,\n FormFieldErrorSlotProps\n>(\"div\", \"error\");\n\n// Error Slot\nexport const FormFieldPopoverSlot = withContext<\n HTMLDivElement,\n FormFieldPopoverSlotProps\n>(\"div\", \"popover\");\n","import { useEffect, useMemo, useState, useRef } from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField, useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@/utils\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"./form-field.context\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldLabelSlot,\n FormFieldPopoverSlot,\n FormFieldRootSlot,\n} from \"../form-field.slots\";\nimport { Dialog, DialogTrigger, Popover } from \"react-aria-components\";\nimport { Box, IconButton } from \"@/components\";\nimport { ErrorOutline, HelpOutline } from \"@commercetools/nimbus-icons\";\n\n/**\n * # FormField.Root\n *\n * displays miscellaneous inputs in a FormField context\n *\n * @supportsStyleProps\n */\nexport const FormFieldRoot = function FormFieldRoot({\n ref: forwardedRef,\n id,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n children,\n ...props\n}: FormFieldProps) {\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const [context, setContext] = useState<FormFieldContextPayloadType>({\n label: null,\n description: null,\n error: null,\n info: null,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n });\n\n const useFieldArgs: Parameters<typeof useField>[0] = useMemo(() => {\n const args: Parameters<typeof useField>[0] = {\n id,\n description: context.description,\n errorMessage: context.error,\n };\n\n if (context.label) {\n args.label = context.label;\n } else {\n // Context will always start out null, so we need to stub out some aria attributes\n // FIXME: This is a hack to get the form field to work, but it's not the best solution\n // FIXME: We should find a better way to handle this by redesigning the FormField component's structure\n args[\"aria-label\"] = \"empty-label\";\n args[\"aria-labelledby\"] = \"empty-label\";\n }\n\n return args;\n }, [id, context.description, context.error, context.label]);\n\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField(useFieldArgs);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }));\n }, [isInvalid, isRequired, isDisabled, isReadOnly]);\n\n const inputProps = useMemo(\n () => ({\n ...fieldProps,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }),\n [fieldProps, isInvalid, isRequired, isDisabled, isReadOnly]\n );\n\n const contextValue = useMemo(\n () => ({ context, setContext, inputProps }),\n [context, inputProps]\n );\n\n return (\n <FormFieldContext.Provider value={contextValue}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps} data-required={isRequired}>\n {context.label}\n {isRequired && <sup aria-hidden=\"true\">*</sup>}\n </label>\n {context.info && (\n <DialogTrigger>\n <Box\n as=\"span\"\n display=\"inline-block\"\n position=\"relative\"\n width=\"1ch\"\n height=\"1ch\"\n ml=\"200\"\n >\n <Box\n as=\"span\"\n display=\"inline-flex\"\n position=\"absolute\"\n top=\"50%\"\n right=\"50%\"\n transform=\"translate(50%, -50%)\"\n >\n <IconButton\n aria-label=\"__MORE INFO\"\n size=\"2xs\"\n colorPalette=\"info\"\n variant=\"link\"\n >\n <HelpOutline />\n </IconButton>\n </Box>\n </Box>\n <Popover>\n <FormFieldPopoverSlot asChild>\n <Dialog>\n <Box p=\"300\">{context.info}</Box>\n </Dialog>\n </FormFieldPopoverSlot>\n </Popover>\n </DialogTrigger>\n )}\n </FormFieldLabelSlot>\n )}\n {context.description && (\n <FormFieldDescriptionSlot\n {...descriptionProps}\n {...context.descriptionSlotProps}\n >\n {context.description}\n </FormFieldDescriptionSlot>\n )}\n {isInvalid && context.error && (\n <FormFieldErrorSlot\n {...errorMessageProps}\n {...context.errorSlotProps}\n >\n <Box\n as={ErrorOutline}\n display=\"inline-flex\"\n boxSize=\"400\"\n flexShrink=\"0\"\n mt=\"50\"\n />\n {context.error}\n </FormFieldErrorSlot>\n )}\n {children}\n </FormFieldRootSlot>\n </FormFieldContext.Provider>\n );\n};\n\nFormFieldRoot.displayName = \"FormField.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldLabelSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Label - The label element for the form field\n *\n * @supportsStyleProps\n */\n// TODO: should this be wrapped in react-aria's `LabelContext` provider?, e.g. https://react-spectrum.adobe.com/react-aria/TextField.html#custom-children\nexport const FormFieldLabel = ({\n children,\n ...labelSlotProps\n}: FormFieldLabelSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n label: children,\n labelSlotProps,\n }));\n\n // Cleanup: clear label when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n label: null,\n labelSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldLabel.displayName = \"FormField.Label\";\n","import { Children, cloneElement, isValidElement, useContext } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldInputSlotProps } from \"../form-field.types\";\nimport { FormFieldInputSlot } from \"../form-field.slots\";\n\n/**\n * FormField.Input - The input wrapper element for the form field\n *\n * Renders children directly (with injected field props) to avoid\n * the state-based indirection that causes cursor position issues\n * on controlled inputs.\n *\n * @supportsStyleProps\n */\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { inputProps } = useContext(FormFieldContext);\n\n return (\n <FormFieldInputSlot {...inputSlotProps}>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n return child;\n })}\n </FormFieldInputSlot>\n );\n};\n\nFormFieldInput.displayName = \"FormField.Input\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldDescriptionSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Description - The description element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldDescription = ({\n children,\n ...descriptionSlotProps\n}: FormFieldDescriptionSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n description: children,\n descriptionSlotProps,\n }));\n\n // Cleanup: clear description when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n description: null,\n descriptionSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldDescription.displayName = \"FormField.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldErrorSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Error - The error message element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldError = ({\n children,\n ...errorSlotProps\n}: FormFieldErrorSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n error: children,\n errorSlotProps,\n }));\n\n // Cleanup: clear error when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n error: null,\n errorSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldError.displayName = \"FormField.Error\";\n","import { useContext, useEffect, type ReactNode } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\n\ntype FormFieldInfoBoxProps = {\n /**\n * The content to display in the InfoBox\n */\n children: ReactNode;\n};\n\n/**\n * FormField.InfoBox - The info box popover content for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldInfoBox = ({ children }: FormFieldInfoBoxProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n info: children,\n }));\n\n // Cleanup: clear info when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n info: null,\n }));\n };\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldInfoBox.displayName = \"FormField.InfoBox\";\n","import {\n FormFieldRoot,\n FormFieldLabel,\n FormFieldInput,\n FormFieldDescription,\n FormFieldError,\n FormFieldInfoBox,\n} from \"./components\";\n\nexport const FormField = {\n /**\n * # FormField.Root\n *\n * The root container for the form field that provides context and state management\n * for all child components. Handles React Aria integration for accessibility,\n * manages field state (required, invalid, disabled, readonly), and coordinates\n * rendering of label, input, description, and error elements.\n *\n * @example\n * ```tsx\n * <FormField.Root isRequired isInvalid>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>Enter your username</FormField.Description>\n * <FormField.Error>Username is required</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Root: FormFieldRoot,\n\n /**\n * # FormField.Label\n *\n * The label element for the form field. Automatically associates with the input\n * via React Aria and displays a required indicator when the field is required.\n * Supports an optional info box trigger for additional field information.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Email Address</FormField.Label>\n * <FormField.InfoBox>\n * Your email will be used for account notifications\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Label: FormFieldLabel,\n\n /**\n * # FormField.Input\n *\n * The input wrapper element that receives and displays the actual input component.\n * Automatically clones children and passes accessibility props, validation state,\n * and field attributes from React Aria.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Password</FormField.Label>\n * <FormField.Input>\n * <PasswordInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Input: FormFieldInput,\n\n /**\n * # FormField.Description\n *\n * The description element that provides helpful information about the field.\n * Automatically associates with the input via `aria-describedby` for screen readers.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>\n * Must be 3-20 characters, letters and numbers only\n * </FormField.Description>\n * </FormField.Root>\n * ```\n */\n Description: FormFieldDescription,\n\n /**\n * # FormField.Error\n *\n * The error message element that displays validation errors. Only visible when\n * the field is invalid. Automatically associates with the input via\n * `aria-errormessage` and includes an error icon.\n *\n * @example\n * ```tsx\n * <FormField.Root isInvalid>\n * <FormField.Label>Email</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Error>Please enter a valid email address</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Error: FormFieldError,\n\n /**\n * # FormField.InfoBox\n *\n * The info box content that appears in a popover when the help icon next to\n * the label is clicked. Use for additional context or instructions that don't\n * need to be visible by default.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>API Key</FormField.Label>\n * <FormField.InfoBox>\n * Your API key can be found in your account settings.\n * Keep it secure and never share it publicly.\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n InfoBox: FormFieldInfoBox,\n};\n\nexport {\n FormFieldRoot as _FormFieldRoot,\n FormFieldLabel as _FormFieldLabel,\n FormFieldInput as _FormFieldInput,\n FormFieldDescription as _FormFieldDescription,\n FormFieldError as _FormFieldError,\n FormFieldInfoBox as _FormFieldInfoBox,\n};\n"],"names":["FormFieldContext","createContext","withProvider","withContext","createSlotRecipeContext","FormFieldRootSlot","FormFieldLabelSlot","FormFieldInputSlot","FormFieldDescriptionSlot","FormFieldErrorSlot","FormFieldPopoverSlot","FormFieldRoot","forwardedRef","id","isInvalid","isRequired","isDisabled","isReadOnly","children","props","localRef","useRef","ref","useObjectRef","mergeRefs","context","setContext","useState","useFieldArgs","useMemo","args","labelProps","fieldProps","descriptionProps","errorMessageProps","useField","useEffect","prevContext","inputProps","contextValue","jsx","jsxs","DialogTrigger","Box","IconButton","HelpOutline","Popover","Dialog","ErrorOutline","FormFieldLabel","labelSlotProps","useContext","FormFieldInput","inputSlotProps","child","isValidElement","cloneElement","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react"),l=require("react/jsx-runtime"),k=require("@chakra-ui/react/styled-system"),R=require("./useField-BVQNiEG8.cjs.js"),w=require("./useObjectRef-mEu7QX6X.cjs.js"),z=require("./merge-refs-D8liJcZz.cjs.js"),x=require("./Dialog-3tr7frni.cjs.js"),E=require("@commercetools/nimbus-icons"),F=require("./box-CWni3A32.cjs.js"),D=require("./icon-button-Dus3CyuU.cjs.js"),a=t.createContext({context:{label:null,description:null,error:null,info:null},setContext:()=>{},inputProps:{}}),{withProvider:V,withContext:p}=k.createSlotRecipeContext({key:"nimbusFormField"}),_=V("div","root"),A=p("div","label"),H=p("div","input"),J=p("div","description"),O=p("div","error"),W=p("div","popover"),m=function({ref:s,id:o,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d,children:v,...y}){const B=t.useRef(null),g=w.$03e8ab2d84d7657a$export$4338b53315abf666(z.mergeRefs(B,s)),[r,P]=t.useState({label:null,description:null,error:null,info:null,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d}),N=t.useMemo(()=>{const c={id:o,description:r.description,errorMessage:r.error};return r.label?c.label=r.label:(c["aria-label"]="empty-label",c["aria-labelledby"]="empty-label"),c},[o,r.description,r.error,r.label]),{labelProps:I,fieldProps:S,descriptionProps:M,errorMessageProps:q}=R.$191c9b6d48a0a4e2$export$294aa081a6c6f55d(N);t.useEffect(()=>{P(c=>({...c,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d}))},[e,i,u,d]);const $=t.useMemo(()=>({...S,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d}),[S,e,i,u,d]),L=t.useMemo(()=>({context:r,setContext:P,inputProps:$}),[r,$]);return l.jsx(a.Provider,{value:L,children:l.jsxs(_,{ref:g,...y,children:[r.label&&l.jsxs(A,{...r.labelSlotProps,children:[l.jsxs("label",{...I,"data-required":i,children:[r.label,i&&l.jsx("sup",{"aria-hidden":"true",children:"*"})]}),r.info&&l.jsxs(x.$f2ff30fde7b014be$export$2e1e1122cf0cba88,{children:[l.jsx(F.Box,{as:"span",display:"inline-block",position:"relative",width:"1ch",height:"1ch",ml:"200",children:l.jsx(F.Box,{as:"span",display:"inline-flex",position:"absolute",top:"50%",right:"50%",transform:"translate(50%, -50%)",children:l.jsx(D.IconButton,{"aria-label":"__MORE INFO",size:"2xs",colorPalette:"info",variant:"link",children:l.jsx(E.HelpOutline,{})})})}),l.jsx(x.$542a13ca2fa5b484$export$5b6b19405a83ff9d,{children:l.jsx(W,{asChild:!0,children:l.jsx(x.$f2ff30fde7b014be$export$3ddf2d174ce01153,{children:l.jsx(F.Box,{p:"300",children:r.info})})})})]})]}),r.description&&l.jsx(J,{...M,...r.descriptionSlotProps,children:r.description}),e&&r.error&&l.jsxs(O,{...q,...r.errorSlotProps,children:[l.jsx(F.Box,{as:E.ErrorOutline,display:"inline-flex",boxSize:"400",flexShrink:"0",mt:"50"}),r.error]}),v]})})};m.displayName="FormField.Root";const f=({children:n,...s})=>{const{setContext:o}=t.useContext(a);return t.useEffect(()=>(o(e=>({...e,label:n,labelSlotProps:s})),()=>{o(e=>({...e,label:null,labelSlotProps:void 0}))}),[n,o]),null};f.displayName="FormField.Label";const b=({children:n,...s})=>{const{inputProps:o}=t.useContext(a);return l.jsx(H,{...s,children:t.Children.map(n,e=>t.isValidElement(e)?t.cloneElement(e,o):e)})};b.displayName="FormField.Input";const h=({children:n,...s})=>{const{setContext:o}=t.useContext(a);return t.useEffect(()=>(o(e=>({...e,description:n,descriptionSlotProps:s})),()=>{o(e=>({...e,description:null,descriptionSlotProps:void 0}))}),[n,o]),null};h.displayName="FormField.Description";const j=({children:n,...s})=>{const{setContext:o}=t.useContext(a);return t.useEffect(()=>(o(e=>({...e,error:n,errorSlotProps:s})),()=>{o(e=>({...e,error:null,errorSlotProps:void 0}))}),[n,o]),null};j.displayName="FormField.Error";const C=({children:n})=>{const{setContext:s}=t.useContext(a);return t.useEffect(()=>(s(o=>({...o,info:n})),()=>{s(o=>({...o,info:null}))}),[n,s]),null};C.displayName="FormField.InfoBox";const G={Root:m,Label:f,Input:b,Description:h,Error:j,InfoBox:C};exports.FormField=G;exports.FormFieldDescription=h;exports.FormFieldError=j;exports.FormFieldInfoBox=C;exports.FormFieldInput=b;exports.FormFieldLabel=f;exports.FormFieldRoot=m;
2
- //# sourceMappingURL=form-field-v_NZnNpK.cjs.js.map
1
+ "use strict";const t=require("react"),l=require("react/jsx-runtime"),k=require("@chakra-ui/react/styled-system"),R=require("./useField-BVQNiEG8.cjs.js"),w=require("./useObjectRef-mEu7QX6X.cjs.js"),z=require("./merge-refs-D8liJcZz.cjs.js"),x=require("./Dialog-3tr7frni.cjs.js"),E=require("@commercetools/nimbus-icons"),F=require("./box-CWni3A32.cjs.js"),D=require("./icon-button-xxvxJnj0.cjs.js"),a=t.createContext({context:{label:null,description:null,error:null,info:null},setContext:()=>{},inputProps:{}}),{withProvider:V,withContext:p}=k.createSlotRecipeContext({key:"nimbusFormField"}),_=V("div","root"),A=p("div","label"),H=p("div","input"),J=p("div","description"),O=p("div","error"),W=p("div","popover"),m=function({ref:s,id:o,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d,children:v,...y}){const B=t.useRef(null),g=w.$03e8ab2d84d7657a$export$4338b53315abf666(z.mergeRefs(B,s)),[r,P]=t.useState({label:null,description:null,error:null,info:null,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d}),N=t.useMemo(()=>{const c={id:o,description:r.description,errorMessage:r.error};return r.label?c.label=r.label:(c["aria-label"]="empty-label",c["aria-labelledby"]="empty-label"),c},[o,r.description,r.error,r.label]),{labelProps:I,fieldProps:S,descriptionProps:M,errorMessageProps:q}=R.$191c9b6d48a0a4e2$export$294aa081a6c6f55d(N);t.useEffect(()=>{P(c=>({...c,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d}))},[e,i,u,d]);const $=t.useMemo(()=>({...S,isInvalid:e,isRequired:i,isDisabled:u,isReadOnly:d}),[S,e,i,u,d]),L=t.useMemo(()=>({context:r,setContext:P,inputProps:$}),[r,$]);return l.jsx(a.Provider,{value:L,children:l.jsxs(_,{ref:g,...y,children:[r.label&&l.jsxs(A,{...r.labelSlotProps,children:[l.jsxs("label",{...I,"data-required":i,children:[r.label,i&&l.jsx("sup",{"aria-hidden":"true",children:"*"})]}),r.info&&l.jsxs(x.$f2ff30fde7b014be$export$2e1e1122cf0cba88,{children:[l.jsx(F.Box,{as:"span",display:"inline-block",position:"relative",width:"1ch",height:"1ch",ml:"200",children:l.jsx(F.Box,{as:"span",display:"inline-flex",position:"absolute",top:"50%",right:"50%",transform:"translate(50%, -50%)",children:l.jsx(D.IconButton,{"aria-label":"__MORE INFO",size:"2xs",colorPalette:"info",variant:"link",children:l.jsx(E.HelpOutline,{})})})}),l.jsx(x.$542a13ca2fa5b484$export$5b6b19405a83ff9d,{children:l.jsx(W,{asChild:!0,children:l.jsx(x.$f2ff30fde7b014be$export$3ddf2d174ce01153,{children:l.jsx(F.Box,{p:"300",children:r.info})})})})]})]}),r.description&&l.jsx(J,{...M,...r.descriptionSlotProps,children:r.description}),e&&r.error&&l.jsxs(O,{...q,...r.errorSlotProps,children:[l.jsx(F.Box,{as:E.ErrorOutline,display:"inline-flex",boxSize:"400",flexShrink:"0",mt:"50"}),r.error]}),v]})})};m.displayName="FormField.Root";const f=({children:n,...s})=>{const{setContext:o}=t.useContext(a);return t.useEffect(()=>(o(e=>({...e,label:n,labelSlotProps:s})),()=>{o(e=>({...e,label:null,labelSlotProps:void 0}))}),[n,o]),null};f.displayName="FormField.Label";const b=({children:n,...s})=>{const{inputProps:o}=t.useContext(a);return l.jsx(H,{...s,children:t.Children.map(n,e=>t.isValidElement(e)?t.cloneElement(e,o):e)})};b.displayName="FormField.Input";const h=({children:n,...s})=>{const{setContext:o}=t.useContext(a);return t.useEffect(()=>(o(e=>({...e,description:n,descriptionSlotProps:s})),()=>{o(e=>({...e,description:null,descriptionSlotProps:void 0}))}),[n,o]),null};h.displayName="FormField.Description";const j=({children:n,...s})=>{const{setContext:o}=t.useContext(a);return t.useEffect(()=>(o(e=>({...e,error:n,errorSlotProps:s})),()=>{o(e=>({...e,error:null,errorSlotProps:void 0}))}),[n,o]),null};j.displayName="FormField.Error";const C=({children:n})=>{const{setContext:s}=t.useContext(a);return t.useEffect(()=>(s(o=>({...o,info:n})),()=>{s(o=>({...o,info:null}))}),[n,s]),null};C.displayName="FormField.InfoBox";const G={Root:m,Label:f,Input:b,Description:h,Error:j,InfoBox:C};exports.FormField=G;exports.FormFieldDescription=h;exports.FormFieldError=j;exports.FormFieldInfoBox=C;exports.FormFieldInput=b;exports.FormFieldLabel=f;exports.FormFieldRoot=m;
2
+ //# sourceMappingURL=form-field-CRA4BE4c.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-v_NZnNpK.cjs.js","sources":["../../src/components/form-field/components/form-field.context.tsx","../../src/components/form-field/form-field.slots.tsx","../../src/components/form-field/components/form-field.root.tsx","../../src/components/form-field/components/form-field.label.tsx","../../src/components/form-field/components/form-field.input.tsx","../../src/components/form-field/components/form-field.description.tsx","../../src/components/form-field/components/form-field.error.tsx","../../src/components/form-field/components/form-field.info-box.tsx","../../src/components/form-field/form-field.tsx"],"sourcesContent":["import { createContext, type ReactNode } from \"react\";\nimport type {\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldLabelSlotProps,\n} from \"../form-field.types\";\n\nexport type FormFieldInputProps = Record<string, unknown>;\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n description: ReactNode;\n descriptionSlotProps?: FormFieldDescriptionSlotProps;\n error: ReactNode;\n errorSlotProps?: FormFieldErrorSlotProps;\n info: ReactNode;\n isInvalid?: boolean;\n isRequired?: boolean;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type FormFieldContextType = {\n context: FormFieldContextPayloadType;\n setContext: React.Dispatch<React.SetStateAction<FormFieldContextPayloadType>>;\n inputProps: FormFieldInputProps;\n};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n },\n setContext: () => {},\n inputProps: {},\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type {\n FormFieldRootSlotProps,\n FormFieldLabelSlotProps,\n FormFieldInputSlotProps,\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldPopoverSlotProps,\n} from \"./form-field.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusFormField\",\n});\n\n// Root slot\nexport const FormFieldRootSlot = withProvider<\n HTMLDivElement,\n FormFieldRootSlotProps\n>(\"div\", \"root\");\n\n// Label Slot\nexport const FormFieldLabelSlot = withContext<\n HTMLDivElement,\n FormFieldLabelSlotProps\n>(\"div\", \"label\");\n\n// Input Slot\nexport const FormFieldInputSlot = withContext<\n HTMLDivElement,\n FormFieldInputSlotProps\n>(\"div\", \"input\");\n\n// Description Slot\nexport const FormFieldDescriptionSlot = withContext<\n HTMLDivElement,\n FormFieldDescriptionSlotProps\n>(\"div\", \"description\");\n\n// Error Slot\nexport const FormFieldErrorSlot = withContext<\n HTMLDivElement,\n FormFieldErrorSlotProps\n>(\"div\", \"error\");\n\n// Error Slot\nexport const FormFieldPopoverSlot = withContext<\n HTMLDivElement,\n FormFieldPopoverSlotProps\n>(\"div\", \"popover\");\n","import { useEffect, useMemo, useState, useRef } from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField, useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@/utils\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"./form-field.context\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldLabelSlot,\n FormFieldPopoverSlot,\n FormFieldRootSlot,\n} from \"../form-field.slots\";\nimport { Dialog, DialogTrigger, Popover } from \"react-aria-components\";\nimport { Box, IconButton } from \"@/components\";\nimport { ErrorOutline, HelpOutline } from \"@commercetools/nimbus-icons\";\n\n/**\n * # FormField.Root\n *\n * displays miscellaneous inputs in a FormField context\n *\n * @supportsStyleProps\n */\nexport const FormFieldRoot = function FormFieldRoot({\n ref: forwardedRef,\n id,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n children,\n ...props\n}: FormFieldProps) {\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const [context, setContext] = useState<FormFieldContextPayloadType>({\n label: null,\n description: null,\n error: null,\n info: null,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n });\n\n const useFieldArgs: Parameters<typeof useField>[0] = useMemo(() => {\n const args: Parameters<typeof useField>[0] = {\n id,\n description: context.description,\n errorMessage: context.error,\n };\n\n if (context.label) {\n args.label = context.label;\n } else {\n // Context will always start out null, so we need to stub out some aria attributes\n // FIXME: This is a hack to get the form field to work, but it's not the best solution\n // FIXME: We should find a better way to handle this by redesigning the FormField component's structure\n args[\"aria-label\"] = \"empty-label\";\n args[\"aria-labelledby\"] = \"empty-label\";\n }\n\n return args;\n }, [id, context.description, context.error, context.label]);\n\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField(useFieldArgs);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }));\n }, [isInvalid, isRequired, isDisabled, isReadOnly]);\n\n const inputProps = useMemo(\n () => ({\n ...fieldProps,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }),\n [fieldProps, isInvalid, isRequired, isDisabled, isReadOnly]\n );\n\n const contextValue = useMemo(\n () => ({ context, setContext, inputProps }),\n [context, inputProps]\n );\n\n return (\n <FormFieldContext.Provider value={contextValue}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps} data-required={isRequired}>\n {context.label}\n {isRequired && <sup aria-hidden=\"true\">*</sup>}\n </label>\n {context.info && (\n <DialogTrigger>\n <Box\n as=\"span\"\n display=\"inline-block\"\n position=\"relative\"\n width=\"1ch\"\n height=\"1ch\"\n ml=\"200\"\n >\n <Box\n as=\"span\"\n display=\"inline-flex\"\n position=\"absolute\"\n top=\"50%\"\n right=\"50%\"\n transform=\"translate(50%, -50%)\"\n >\n <IconButton\n aria-label=\"__MORE INFO\"\n size=\"2xs\"\n colorPalette=\"info\"\n variant=\"link\"\n >\n <HelpOutline />\n </IconButton>\n </Box>\n </Box>\n <Popover>\n <FormFieldPopoverSlot asChild>\n <Dialog>\n <Box p=\"300\">{context.info}</Box>\n </Dialog>\n </FormFieldPopoverSlot>\n </Popover>\n </DialogTrigger>\n )}\n </FormFieldLabelSlot>\n )}\n {context.description && (\n <FormFieldDescriptionSlot\n {...descriptionProps}\n {...context.descriptionSlotProps}\n >\n {context.description}\n </FormFieldDescriptionSlot>\n )}\n {isInvalid && context.error && (\n <FormFieldErrorSlot\n {...errorMessageProps}\n {...context.errorSlotProps}\n >\n <Box\n as={ErrorOutline}\n display=\"inline-flex\"\n boxSize=\"400\"\n flexShrink=\"0\"\n mt=\"50\"\n />\n {context.error}\n </FormFieldErrorSlot>\n )}\n {children}\n </FormFieldRootSlot>\n </FormFieldContext.Provider>\n );\n};\n\nFormFieldRoot.displayName = \"FormField.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldLabelSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Label - The label element for the form field\n *\n * @supportsStyleProps\n */\n// TODO: should this be wrapped in react-aria's `LabelContext` provider?, e.g. https://react-spectrum.adobe.com/react-aria/TextField.html#custom-children\nexport const FormFieldLabel = ({\n children,\n ...labelSlotProps\n}: FormFieldLabelSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n label: children,\n labelSlotProps,\n }));\n\n // Cleanup: clear label when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n label: null,\n labelSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldLabel.displayName = \"FormField.Label\";\n","import { Children, cloneElement, isValidElement, useContext } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldInputSlotProps } from \"../form-field.types\";\nimport { FormFieldInputSlot } from \"../form-field.slots\";\n\n/**\n * FormField.Input - The input wrapper element for the form field\n *\n * Renders children directly (with injected field props) to avoid\n * the state-based indirection that causes cursor position issues\n * on controlled inputs.\n *\n * @supportsStyleProps\n */\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { inputProps } = useContext(FormFieldContext);\n\n return (\n <FormFieldInputSlot {...inputSlotProps}>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n return child;\n })}\n </FormFieldInputSlot>\n );\n};\n\nFormFieldInput.displayName = \"FormField.Input\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldDescriptionSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Description - The description element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldDescription = ({\n children,\n ...descriptionSlotProps\n}: FormFieldDescriptionSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n description: children,\n descriptionSlotProps,\n }));\n\n // Cleanup: clear description when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n description: null,\n descriptionSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldDescription.displayName = \"FormField.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldErrorSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Error - The error message element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldError = ({\n children,\n ...errorSlotProps\n}: FormFieldErrorSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n error: children,\n errorSlotProps,\n }));\n\n // Cleanup: clear error when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n error: null,\n errorSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldError.displayName = \"FormField.Error\";\n","import { useContext, useEffect, type ReactNode } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\n\ntype FormFieldInfoBoxProps = {\n /**\n * The content to display in the InfoBox\n */\n children: ReactNode;\n};\n\n/**\n * FormField.InfoBox - The info box popover content for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldInfoBox = ({ children }: FormFieldInfoBoxProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n info: children,\n }));\n\n // Cleanup: clear info when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n info: null,\n }));\n };\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldInfoBox.displayName = \"FormField.InfoBox\";\n","import {\n FormFieldRoot,\n FormFieldLabel,\n FormFieldInput,\n FormFieldDescription,\n FormFieldError,\n FormFieldInfoBox,\n} from \"./components\";\n\nexport const FormField = {\n /**\n * # FormField.Root\n *\n * The root container for the form field that provides context and state management\n * for all child components. Handles React Aria integration for accessibility,\n * manages field state (required, invalid, disabled, readonly), and coordinates\n * rendering of label, input, description, and error elements.\n *\n * @example\n * ```tsx\n * <FormField.Root isRequired isInvalid>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>Enter your username</FormField.Description>\n * <FormField.Error>Username is required</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Root: FormFieldRoot,\n\n /**\n * # FormField.Label\n *\n * The label element for the form field. Automatically associates with the input\n * via React Aria and displays a required indicator when the field is required.\n * Supports an optional info box trigger for additional field information.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Email Address</FormField.Label>\n * <FormField.InfoBox>\n * Your email will be used for account notifications\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Label: FormFieldLabel,\n\n /**\n * # FormField.Input\n *\n * The input wrapper element that receives and displays the actual input component.\n * Automatically clones children and passes accessibility props, validation state,\n * and field attributes from React Aria.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Password</FormField.Label>\n * <FormField.Input>\n * <PasswordInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Input: FormFieldInput,\n\n /**\n * # FormField.Description\n *\n * The description element that provides helpful information about the field.\n * Automatically associates with the input via `aria-describedby` for screen readers.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>\n * Must be 3-20 characters, letters and numbers only\n * </FormField.Description>\n * </FormField.Root>\n * ```\n */\n Description: FormFieldDescription,\n\n /**\n * # FormField.Error\n *\n * The error message element that displays validation errors. Only visible when\n * the field is invalid. Automatically associates with the input via\n * `aria-errormessage` and includes an error icon.\n *\n * @example\n * ```tsx\n * <FormField.Root isInvalid>\n * <FormField.Label>Email</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Error>Please enter a valid email address</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Error: FormFieldError,\n\n /**\n * # FormField.InfoBox\n *\n * The info box content that appears in a popover when the help icon next to\n * the label is clicked. Use for additional context or instructions that don't\n * need to be visible by default.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>API Key</FormField.Label>\n * <FormField.InfoBox>\n * Your API key can be found in your account settings.\n * Keep it secure and never share it publicly.\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n InfoBox: FormFieldInfoBox,\n};\n\nexport {\n FormFieldRoot as _FormFieldRoot,\n FormFieldLabel as _FormFieldLabel,\n FormFieldInput as _FormFieldInput,\n FormFieldDescription as _FormFieldDescription,\n FormFieldError as _FormFieldError,\n FormFieldInfoBox as _FormFieldInfoBox,\n};\n"],"names":["FormFieldContext","createContext","withProvider","withContext","createSlotRecipeContext","FormFieldRootSlot","FormFieldLabelSlot","FormFieldInputSlot","FormFieldDescriptionSlot","FormFieldErrorSlot","FormFieldPopoverSlot","FormFieldRoot","forwardedRef","id","isInvalid","isRequired","isDisabled","isReadOnly","children","props","localRef","useRef","ref","useObjectRef","mergeRefs","context","setContext","useState","useFieldArgs","useMemo","args","labelProps","fieldProps","descriptionProps","errorMessageProps","useField","useEffect","prevContext","inputProps","contextValue","jsx","jsxs","DialogTrigger","Box","IconButton","HelpOutline","Popover","Dialog","ErrorOutline","FormFieldLabel","labelSlotProps","useContext","FormFieldInput","inputSlotProps","child","isValidElement","cloneElement","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField"],"mappings":"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"}
1
+ {"version":3,"file":"form-field-CRA4BE4c.cjs.js","sources":["../../src/components/form-field/components/form-field.context.tsx","../../src/components/form-field/form-field.slots.tsx","../../src/components/form-field/components/form-field.root.tsx","../../src/components/form-field/components/form-field.label.tsx","../../src/components/form-field/components/form-field.input.tsx","../../src/components/form-field/components/form-field.description.tsx","../../src/components/form-field/components/form-field.error.tsx","../../src/components/form-field/components/form-field.info-box.tsx","../../src/components/form-field/form-field.tsx"],"sourcesContent":["import { createContext, type ReactNode } from \"react\";\nimport type {\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldLabelSlotProps,\n} from \"../form-field.types\";\n\nexport type FormFieldInputProps = Record<string, unknown>;\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n description: ReactNode;\n descriptionSlotProps?: FormFieldDescriptionSlotProps;\n error: ReactNode;\n errorSlotProps?: FormFieldErrorSlotProps;\n info: ReactNode;\n isInvalid?: boolean;\n isRequired?: boolean;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type FormFieldContextType = {\n context: FormFieldContextPayloadType;\n setContext: React.Dispatch<React.SetStateAction<FormFieldContextPayloadType>>;\n inputProps: FormFieldInputProps;\n};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n },\n setContext: () => {},\n inputProps: {},\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type {\n FormFieldRootSlotProps,\n FormFieldLabelSlotProps,\n FormFieldInputSlotProps,\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldPopoverSlotProps,\n} from \"./form-field.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusFormField\",\n});\n\n// Root slot\nexport const FormFieldRootSlot = withProvider<\n HTMLDivElement,\n FormFieldRootSlotProps\n>(\"div\", \"root\");\n\n// Label Slot\nexport const FormFieldLabelSlot = withContext<\n HTMLDivElement,\n FormFieldLabelSlotProps\n>(\"div\", \"label\");\n\n// Input Slot\nexport const FormFieldInputSlot = withContext<\n HTMLDivElement,\n FormFieldInputSlotProps\n>(\"div\", \"input\");\n\n// Description Slot\nexport const FormFieldDescriptionSlot = withContext<\n HTMLDivElement,\n FormFieldDescriptionSlotProps\n>(\"div\", \"description\");\n\n// Error Slot\nexport const FormFieldErrorSlot = withContext<\n HTMLDivElement,\n FormFieldErrorSlotProps\n>(\"div\", \"error\");\n\n// Error Slot\nexport const FormFieldPopoverSlot = withContext<\n HTMLDivElement,\n FormFieldPopoverSlotProps\n>(\"div\", \"popover\");\n","import { useEffect, useMemo, useState, useRef } from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField, useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@/utils\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"./form-field.context\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldLabelSlot,\n FormFieldPopoverSlot,\n FormFieldRootSlot,\n} from \"../form-field.slots\";\nimport { Dialog, DialogTrigger, Popover } from \"react-aria-components\";\nimport { Box, IconButton } from \"@/components\";\nimport { ErrorOutline, HelpOutline } from \"@commercetools/nimbus-icons\";\n\n/**\n * # FormField.Root\n *\n * displays miscellaneous inputs in a FormField context\n *\n * @supportsStyleProps\n */\nexport const FormFieldRoot = function FormFieldRoot({\n ref: forwardedRef,\n id,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n children,\n ...props\n}: FormFieldProps) {\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const [context, setContext] = useState<FormFieldContextPayloadType>({\n label: null,\n description: null,\n error: null,\n info: null,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n });\n\n const useFieldArgs: Parameters<typeof useField>[0] = useMemo(() => {\n const args: Parameters<typeof useField>[0] = {\n id,\n description: context.description,\n errorMessage: context.error,\n };\n\n if (context.label) {\n args.label = context.label;\n } else {\n // Context will always start out null, so we need to stub out some aria attributes\n // FIXME: This is a hack to get the form field to work, but it's not the best solution\n // FIXME: We should find a better way to handle this by redesigning the FormField component's structure\n args[\"aria-label\"] = \"empty-label\";\n args[\"aria-labelledby\"] = \"empty-label\";\n }\n\n return args;\n }, [id, context.description, context.error, context.label]);\n\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField(useFieldArgs);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }));\n }, [isInvalid, isRequired, isDisabled, isReadOnly]);\n\n const inputProps = useMemo(\n () => ({\n ...fieldProps,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }),\n [fieldProps, isInvalid, isRequired, isDisabled, isReadOnly]\n );\n\n const contextValue = useMemo(\n () => ({ context, setContext, inputProps }),\n [context, inputProps]\n );\n\n return (\n <FormFieldContext.Provider value={contextValue}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps} data-required={isRequired}>\n {context.label}\n {isRequired && <sup aria-hidden=\"true\">*</sup>}\n </label>\n {context.info && (\n <DialogTrigger>\n <Box\n as=\"span\"\n display=\"inline-block\"\n position=\"relative\"\n width=\"1ch\"\n height=\"1ch\"\n ml=\"200\"\n >\n <Box\n as=\"span\"\n display=\"inline-flex\"\n position=\"absolute\"\n top=\"50%\"\n right=\"50%\"\n transform=\"translate(50%, -50%)\"\n >\n <IconButton\n aria-label=\"__MORE INFO\"\n size=\"2xs\"\n colorPalette=\"info\"\n variant=\"link\"\n >\n <HelpOutline />\n </IconButton>\n </Box>\n </Box>\n <Popover>\n <FormFieldPopoverSlot asChild>\n <Dialog>\n <Box p=\"300\">{context.info}</Box>\n </Dialog>\n </FormFieldPopoverSlot>\n </Popover>\n </DialogTrigger>\n )}\n </FormFieldLabelSlot>\n )}\n {context.description && (\n <FormFieldDescriptionSlot\n {...descriptionProps}\n {...context.descriptionSlotProps}\n >\n {context.description}\n </FormFieldDescriptionSlot>\n )}\n {isInvalid && context.error && (\n <FormFieldErrorSlot\n {...errorMessageProps}\n {...context.errorSlotProps}\n >\n <Box\n as={ErrorOutline}\n display=\"inline-flex\"\n boxSize=\"400\"\n flexShrink=\"0\"\n mt=\"50\"\n />\n {context.error}\n </FormFieldErrorSlot>\n )}\n {children}\n </FormFieldRootSlot>\n </FormFieldContext.Provider>\n );\n};\n\nFormFieldRoot.displayName = \"FormField.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldLabelSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Label - The label element for the form field\n *\n * @supportsStyleProps\n */\n// TODO: should this be wrapped in react-aria's `LabelContext` provider?, e.g. https://react-spectrum.adobe.com/react-aria/TextField.html#custom-children\nexport const FormFieldLabel = ({\n children,\n ...labelSlotProps\n}: FormFieldLabelSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n label: children,\n labelSlotProps,\n }));\n\n // Cleanup: clear label when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n label: null,\n labelSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldLabel.displayName = \"FormField.Label\";\n","import { Children, cloneElement, isValidElement, useContext } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldInputSlotProps } from \"../form-field.types\";\nimport { FormFieldInputSlot } from \"../form-field.slots\";\n\n/**\n * FormField.Input - The input wrapper element for the form field\n *\n * Renders children directly (with injected field props) to avoid\n * the state-based indirection that causes cursor position issues\n * on controlled inputs.\n *\n * @supportsStyleProps\n */\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { inputProps } = useContext(FormFieldContext);\n\n return (\n <FormFieldInputSlot {...inputSlotProps}>\n {Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n return child;\n })}\n </FormFieldInputSlot>\n );\n};\n\nFormFieldInput.displayName = \"FormField.Input\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldDescriptionSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Description - The description element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldDescription = ({\n children,\n ...descriptionSlotProps\n}: FormFieldDescriptionSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n description: children,\n descriptionSlotProps,\n }));\n\n // Cleanup: clear description when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n description: null,\n descriptionSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldDescription.displayName = \"FormField.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldErrorSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Error - The error message element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldError = ({\n children,\n ...errorSlotProps\n}: FormFieldErrorSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n error: children,\n errorSlotProps,\n }));\n\n // Cleanup: clear error when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n error: null,\n errorSlotProps: undefined,\n }));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldError.displayName = \"FormField.Error\";\n","import { useContext, useEffect, type ReactNode } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\n\ntype FormFieldInfoBoxProps = {\n /**\n * The content to display in the InfoBox\n */\n children: ReactNode;\n};\n\n/**\n * FormField.InfoBox - The info box popover content for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldInfoBox = ({ children }: FormFieldInfoBoxProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n info: children,\n }));\n\n // Cleanup: clear info when component unmounts\n return () => {\n setContext((prevContext) => ({\n ...prevContext,\n info: null,\n }));\n };\n }, [children, setContext]);\n\n return null;\n};\n\nFormFieldInfoBox.displayName = \"FormField.InfoBox\";\n","import {\n FormFieldRoot,\n FormFieldLabel,\n FormFieldInput,\n FormFieldDescription,\n FormFieldError,\n FormFieldInfoBox,\n} from \"./components\";\n\nexport const FormField = {\n /**\n * # FormField.Root\n *\n * The root container for the form field that provides context and state management\n * for all child components. Handles React Aria integration for accessibility,\n * manages field state (required, invalid, disabled, readonly), and coordinates\n * rendering of label, input, description, and error elements.\n *\n * @example\n * ```tsx\n * <FormField.Root isRequired isInvalid>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>Enter your username</FormField.Description>\n * <FormField.Error>Username is required</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Root: FormFieldRoot,\n\n /**\n * # FormField.Label\n *\n * The label element for the form field. Automatically associates with the input\n * via React Aria and displays a required indicator when the field is required.\n * Supports an optional info box trigger for additional field information.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Email Address</FormField.Label>\n * <FormField.InfoBox>\n * Your email will be used for account notifications\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Label: FormFieldLabel,\n\n /**\n * # FormField.Input\n *\n * The input wrapper element that receives and displays the actual input component.\n * Automatically clones children and passes accessibility props, validation state,\n * and field attributes from React Aria.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Password</FormField.Label>\n * <FormField.Input>\n * <PasswordInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n Input: FormFieldInput,\n\n /**\n * # FormField.Description\n *\n * The description element that provides helpful information about the field.\n * Automatically associates with the input via `aria-describedby` for screen readers.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>Username</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Description>\n * Must be 3-20 characters, letters and numbers only\n * </FormField.Description>\n * </FormField.Root>\n * ```\n */\n Description: FormFieldDescription,\n\n /**\n * # FormField.Error\n *\n * The error message element that displays validation errors. Only visible when\n * the field is invalid. Automatically associates with the input via\n * `aria-errormessage` and includes an error icon.\n *\n * @example\n * ```tsx\n * <FormField.Root isInvalid>\n * <FormField.Label>Email</FormField.Label>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * <FormField.Error>Please enter a valid email address</FormField.Error>\n * </FormField.Root>\n * ```\n */\n Error: FormFieldError,\n\n /**\n * # FormField.InfoBox\n *\n * The info box content that appears in a popover when the help icon next to\n * the label is clicked. Use for additional context or instructions that don't\n * need to be visible by default.\n *\n * @example\n * ```tsx\n * <FormField.Root>\n * <FormField.Label>API Key</FormField.Label>\n * <FormField.InfoBox>\n * Your API key can be found in your account settings.\n * Keep it secure and never share it publicly.\n * </FormField.InfoBox>\n * <FormField.Input>\n * <TextInput />\n * </FormField.Input>\n * </FormField.Root>\n * ```\n */\n InfoBox: FormFieldInfoBox,\n};\n\nexport {\n FormFieldRoot as _FormFieldRoot,\n FormFieldLabel as _FormFieldLabel,\n FormFieldInput as _FormFieldInput,\n FormFieldDescription as _FormFieldDescription,\n FormFieldError as _FormFieldError,\n FormFieldInfoBox as _FormFieldInfoBox,\n};\n"],"names":["FormFieldContext","createContext","withProvider","withContext","createSlotRecipeContext","FormFieldRootSlot","FormFieldLabelSlot","FormFieldInputSlot","FormFieldDescriptionSlot","FormFieldErrorSlot","FormFieldPopoverSlot","FormFieldRoot","forwardedRef","id","isInvalid","isRequired","isDisabled","isReadOnly","children","props","localRef","useRef","ref","useObjectRef","mergeRefs","context","setContext","useState","useFieldArgs","useMemo","args","labelProps","fieldProps","descriptionProps","errorMessageProps","useField","useEffect","prevContext","inputProps","contextValue","jsx","jsxs","DialogTrigger","Box","IconButton","HelpOutline","Popover","Dialog","ErrorOutline","FormFieldLabel","labelSlotProps","useContext","FormFieldInput","inputSlotProps","child","isValidElement","cloneElement","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { $ as y, b } from "./utils-BBrLCz2b.es.js";
2
- import { $ as K, b as m } from "./CollectionBuilder-CbqLnlVI.es.js";
2
+ import { $ as K, b as m } from "./CollectionBuilder-GnbDoE-A.es.js";
3
3
  import x, { createContext as $, useMemo as D } from "react";
4
- import { d as p, e as w, f as N } from "./useCollection-BHV9RL7c.es.js";
5
- import { $ as c } from "./useDescription-Cs3XF2eh.es.js";
4
+ import { d as p, e as w, f as N } from "./useCollection-RgQhRQUv.es.js";
5
+ import { $ as c } from "./useDescription-CUA6cnWB.es.js";
6
6
  import { $ as R } from "./useCollator-BHtcueqX.es.js";
7
7
  const v = /* @__PURE__ */ $({}), O = /* @__PURE__ */ K(m, function(e, t) {
8
8
  return [e, t] = y(e, t, v), /* @__PURE__ */ x.createElement(b.header, {
@@ -209,4 +209,4 @@ export {
209
209
  O as d,
210
210
  u as e
211
211
  };
212
- //# sourceMappingURL=getItemCount-BEy-gD1d.es.js.map
212
+ //# sourceMappingURL=getItemCount-BlW7-DM4.es.js.map