@commercetools/nimbus 0.0.0-canary-20251203100745 → 0.0.0-canary-20251203155001

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 (497) hide show
  1. package/dist/chunks/{Button-CmpJG0ec.es.js → Button-BjcDZ5eb.es.js} +7 -7
  2. package/dist/chunks/{Button-CmpJG0ec.es.js.map → Button-BjcDZ5eb.es.js.map} +1 -1
  3. package/dist/chunks/{CollectionBuilder-BqQjeKfi.es.js → CollectionBuilder-BnYe2z4W.es.js} +2 -2
  4. package/dist/chunks/{CollectionBuilder-BqQjeKfi.es.js.map → CollectionBuilder-BnYe2z4W.es.js.map} +1 -1
  5. package/dist/chunks/{DateField-Bpk0AwB2.es.js → DateField-C5JgBb30.es.js} +21 -21
  6. package/dist/chunks/{DateField-Bpk0AwB2.es.js.map → DateField-C5JgBb30.es.js.map} +1 -1
  7. package/dist/chunks/{DatePicker-CUW1A5A8.es.js → DatePicker-9m2POezC.es.js} +17 -17
  8. package/dist/chunks/{DatePicker-CUW1A5A8.es.js.map → DatePicker-9m2POezC.es.js.map} +1 -1
  9. package/dist/chunks/{Dialog-BYVU-i0Y.es.js → Dialog-DcnmO0xr.es.js} +24 -24
  10. package/dist/chunks/{Dialog-BYVU-i0Y.es.js.map → Dialog-DcnmO0xr.es.js.map} +1 -1
  11. package/dist/chunks/{FocusScope-bj_mamFe.es.js → FocusScope-CqEZq7sr.es.js} +36 -36
  12. package/dist/chunks/{FocusScope-bj_mamFe.es.js.map → FocusScope-CqEZq7sr.es.js.map} +1 -1
  13. package/dist/chunks/{Group-C9jsb9_m.es.js → Group-BQc9LuMT.es.js} +8 -8
  14. package/dist/chunks/{Group-C9jsb9_m.es.js.map → Group-BQc9LuMT.es.js.map} +1 -1
  15. package/dist/chunks/{Header-CNoClAau.es.js → Header-CliQVNVa.es.js} +5 -5
  16. package/dist/chunks/{Header-CNoClAau.es.js.map → Header-CliQVNVa.es.js.map} +1 -1
  17. package/dist/chunks/{Heading-D804NNml.es.js → Heading-D7Ut7eK3.es.js} +14 -14
  18. package/dist/chunks/{Heading-D804NNml.es.js.map → Heading-D7Ut7eK3.es.js.map} +1 -1
  19. package/dist/chunks/{Input-aKSXZBAh.es.js → Input-Cmg08oRP.es.js} +5 -5
  20. package/dist/chunks/{Input-aKSXZBAh.es.js.map → Input-Cmg08oRP.es.js.map} +1 -1
  21. package/dist/chunks/{Label-Bu5lTMzy.es.js → Label-DIseLESi.es.js} +2 -2
  22. package/dist/chunks/{Label-Bu5lTMzy.es.js.map → Label-DIseLESi.es.js.map} +1 -1
  23. package/dist/chunks/{ListBox-DYbGAoet.es.js → ListBox-CcSs4yTw.es.js} +15 -15
  24. package/dist/chunks/{ListBox-DYbGAoet.es.js.map → ListBox-CcSs4yTw.es.js.map} +1 -1
  25. package/dist/chunks/{Modal-2TttSPy4.es.js → Modal-3QPNDzpi.es.js} +7 -7
  26. package/dist/chunks/{Modal-2TttSPy4.es.js.map → Modal-3QPNDzpi.es.js.map} +1 -1
  27. package/dist/chunks/{OverlayArrow-qm-lnjhS.es.js → OverlayArrow-BIjbCSXk.es.js} +2 -2
  28. package/dist/chunks/{OverlayArrow-qm-lnjhS.es.js.map → OverlayArrow-BIjbCSXk.es.js.map} +1 -1
  29. package/dist/chunks/{ProgressBar-DogfCeuX.es.js → ProgressBar-Dm2Ge45l.es.js} +5 -5
  30. package/dist/chunks/{ProgressBar-DogfCeuX.es.js.map → ProgressBar-Dm2Ge45l.es.js.map} +1 -1
  31. package/dist/chunks/{SelectionManager-CXicxYqF.es.js → SelectionManager-B0Cb1kHW.es.js} +10 -10
  32. package/dist/chunks/{SelectionManager-CXicxYqF.es.js.map → SelectionManager-B0Cb1kHW.es.js.map} +1 -1
  33. package/dist/chunks/{Separator-WCa1iR4U.es.js → Separator-DP89PKAS.es.js} +4 -4
  34. package/dist/chunks/{Separator-WCa1iR4U.es.js.map → Separator-DP89PKAS.es.js.map} +1 -1
  35. package/dist/chunks/{TextArea-JHqAZ7HD.es.js → TextArea-CXEdUjgW.es.js} +5 -5
  36. package/dist/chunks/{TextArea-JHqAZ7HD.es.js.map → TextArea-CXEdUjgW.es.js.map} +1 -1
  37. package/dist/chunks/{ToggleButton-B-feHlsu.es.js → ToggleButton-BqW-X6iJ.es.js} +7 -7
  38. package/dist/chunks/{ToggleButton-B-feHlsu.es.js.map → ToggleButton-BqW-X6iJ.es.js.map} +1 -1
  39. package/dist/chunks/{VisuallyHidden-BIA5VRNP.es.js → VisuallyHidden-BLRzeMsq.es.js} +3 -3
  40. package/dist/chunks/{VisuallyHidden-BIA5VRNP.es.js.map → VisuallyHidden-BLRzeMsq.es.js.map} +1 -1
  41. package/dist/chunks/{accordion-_4Vtr930.es.js → accordion-BacJkt5n.es.js} +2 -2
  42. package/dist/chunks/{accordion-_4Vtr930.es.js.map → accordion-BacJkt5n.es.js.map} +1 -1
  43. package/dist/chunks/{accordion-B978Ssd8.cjs.js → accordion-qzbckNub.cjs.js} +2 -2
  44. package/dist/chunks/{accordion-B978Ssd8.cjs.js.map → accordion-qzbckNub.cjs.js.map} +1 -1
  45. package/dist/chunks/accordion.content-Cslx-S6p.cjs.js +2 -0
  46. package/dist/chunks/{accordion.content-Bd2PESBz.cjs.js.map → accordion.content-Cslx-S6p.cjs.js.map} +1 -1
  47. package/dist/chunks/{accordion.content-YkB30Nl0.es.js → accordion.content-SFS_lHjk.es.js} +23 -24
  48. package/dist/chunks/{accordion.content-YkB30Nl0.es.js.map → accordion.content-SFS_lHjk.es.js.map} +1 -1
  49. package/dist/chunks/{alert-_J_dHFj_.es.js → alert-CoJ8asOZ.es.js} +2 -2
  50. package/dist/chunks/{alert-_J_dHFj_.es.js.map → alert-CoJ8asOZ.es.js.map} +1 -1
  51. package/dist/chunks/{alert-55tm3vfU.cjs.js → alert-D6ENEy8f.cjs.js} +2 -2
  52. package/dist/chunks/{alert-55tm3vfU.cjs.js.map → alert-D6ENEy8f.cjs.js.map} +1 -1
  53. package/dist/chunks/badge-CgYpum7D.es.js +17 -0
  54. package/dist/chunks/{badge-DUiqk6w9.es.js.map → badge-CgYpum7D.es.js.map} +1 -1
  55. package/dist/chunks/{button-CvWz8q1N.cjs.js → button-CxL9YuuF.cjs.js} +2 -2
  56. package/dist/chunks/{button-CvWz8q1N.cjs.js.map → button-CxL9YuuF.cjs.js.map} +1 -1
  57. package/dist/chunks/{button-DTxnOPiN.es.js → button-DZew_Si4.es.js} +6 -6
  58. package/dist/chunks/{button-DTxnOPiN.es.js.map → button-DZew_Si4.es.js.map} +1 -1
  59. package/dist/chunks/{calendar-C0WVsTa4.es.js → calendar-CDVjB0zo.es.js} +9 -9
  60. package/dist/chunks/{calendar-C0WVsTa4.es.js.map → calendar-CDVjB0zo.es.js.map} +1 -1
  61. package/dist/chunks/{calendar-CMCE8As1.cjs.js → calendar-Dx5LLOml.cjs.js} +2 -2
  62. package/dist/chunks/{calendar-CMCE8As1.cjs.js.map → calendar-Dx5LLOml.cjs.js.map} +1 -1
  63. package/dist/chunks/{card-D9xReN37.cjs.js → card-DB6gUcAw.cjs.js} +2 -2
  64. package/dist/chunks/{card-D9xReN37.cjs.js.map → card-DB6gUcAw.cjs.js.map} +1 -1
  65. package/dist/chunks/{card-DSxEwCmQ.es.js → card-ydiSozha.es.js} +2 -2
  66. package/dist/chunks/{card-DSxEwCmQ.es.js.map → card-ydiSozha.es.js.map} +1 -1
  67. package/dist/chunks/{checkbox-DMpI_oaX.es.js → checkbox-DuPKJsWQ.es.js} +10 -10
  68. package/dist/chunks/{checkbox-DMpI_oaX.es.js.map → checkbox-DuPKJsWQ.es.js.map} +1 -1
  69. package/dist/chunks/{checkbox-CdXKptM4.cjs.js → checkbox-fwmjQ4Uk.cjs.js} +2 -2
  70. package/dist/chunks/{checkbox-CdXKptM4.cjs.js.map → checkbox-fwmjQ4Uk.cjs.js.map} +1 -1
  71. package/dist/chunks/{collapsible-motion-Dw8EugiR.es.js → collapsible-motion-B5YFRwO4.es.js} +5 -5
  72. package/dist/chunks/{collapsible-motion-Dw8EugiR.es.js.map → collapsible-motion-B5YFRwO4.es.js.map} +1 -1
  73. package/dist/chunks/{collapsible-motion-CA8uQuKZ.cjs.js → collapsible-motion-BiF9lLAN.cjs.js} +2 -2
  74. package/dist/chunks/{collapsible-motion-CA8uQuKZ.cjs.js.map → collapsible-motion-BiF9lLAN.cjs.js.map} +1 -1
  75. package/dist/chunks/{combobox-BMpAKWKs.es.js → combobox-BobLAXh8.es.js} +74 -74
  76. package/dist/chunks/{combobox-BMpAKWKs.es.js.map → combobox-BobLAXh8.es.js.map} +1 -1
  77. package/dist/chunks/{combobox-DPZmJZJF.cjs.js → combobox-CEyLEi9S.cjs.js} +2 -2
  78. package/dist/chunks/{combobox-DPZmJZJF.cjs.js.map → combobox-CEyLEi9S.cjs.js.map} +1 -1
  79. package/dist/chunks/{data-table-B5tlvmbJ.cjs.js → data-table-DpRmr71N.cjs.js} +2 -2
  80. package/dist/chunks/{data-table-B5tlvmbJ.cjs.js.map → data-table-DpRmr71N.cjs.js.map} +1 -1
  81. package/dist/chunks/{data-table-Ch0tFro2.es.js → data-table-uvxFiIVK.es.js} +37 -37
  82. package/dist/chunks/{data-table-Ch0tFro2.es.js.map → data-table-uvxFiIVK.es.js.map} +1 -1
  83. package/dist/chunks/{date-input-lsbLlxie.cjs.js → date-input-BDkIVUEJ.cjs.js} +2 -2
  84. package/dist/chunks/{date-input-lsbLlxie.cjs.js.map → date-input-BDkIVUEJ.cjs.js.map} +1 -1
  85. package/dist/chunks/{date-input-COUAItnm.es.js → date-input-C_dX1XXD.es.js} +4 -4
  86. package/dist/chunks/{date-input-COUAItnm.es.js.map → date-input-C_dX1XXD.es.js.map} +1 -1
  87. package/dist/chunks/{date-picker-B5ZR0GJ3.es.js → date-picker-Cq8qD5Ff.es.js} +14 -14
  88. package/dist/chunks/{date-picker-B5ZR0GJ3.es.js.map → date-picker-Cq8qD5Ff.es.js.map} +1 -1
  89. package/dist/chunks/{date-picker-JA1Mh2WY.cjs.js → date-picker-DODeu1jH.cjs.js} +2 -2
  90. package/dist/chunks/{date-picker-JA1Mh2WY.cjs.js.map → date-picker-DODeu1jH.cjs.js.map} +1 -1
  91. package/dist/chunks/{date-range-picker-CMhOBPtp.es.js → date-range-picker-Bf14iS4A.es.js} +14 -14
  92. package/dist/chunks/{date-range-picker-CMhOBPtp.es.js.map → date-range-picker-Bf14iS4A.es.js.map} +1 -1
  93. package/dist/chunks/{date-range-picker-yzo8osGE.cjs.js → date-range-picker-D1gUgq_6.cjs.js} +2 -2
  94. package/dist/chunks/{date-range-picker-yzo8osGE.cjs.js.map → date-range-picker-D1gUgq_6.cjs.js.map} +1 -1
  95. package/dist/chunks/{date-range-picker-field-UFUo2JuI.cjs.js → date-range-picker-field-Bvvmu7oL.cjs.js} +2 -2
  96. package/dist/chunks/{date-range-picker-field-UFUo2JuI.cjs.js.map → date-range-picker-field-Bvvmu7oL.cjs.js.map} +1 -1
  97. package/dist/chunks/{date-range-picker-field-DaoP69E2.es.js → date-range-picker-field-CqG7wwZc.es.js} +3 -3
  98. package/dist/chunks/{date-range-picker-field-DaoP69E2.es.js.map → date-range-picker-field-CqG7wwZc.es.js.map} +1 -1
  99. package/dist/chunks/{dialog-DNl_apyv.cjs.js → dialog-CS8h46ov.cjs.js} +2 -2
  100. package/dist/chunks/{dialog-DNl_apyv.cjs.js.map → dialog-CS8h46ov.cjs.js.map} +1 -1
  101. package/dist/chunks/{dialog-cV8_ifAL.es.js → dialog-DUZOjwNj.es.js} +7 -7
  102. package/dist/chunks/{dialog-cV8_ifAL.es.js.map → dialog-DUZOjwNj.es.js.map} +1 -1
  103. package/dist/chunks/{draggable-list-4w8RgF1w.cjs.js → draggable-list-CUcHb55R.cjs.js} +2 -2
  104. package/dist/chunks/{draggable-list-4w8RgF1w.cjs.js.map → draggable-list-CUcHb55R.cjs.js.map} +1 -1
  105. package/dist/chunks/{draggable-list-B6YVD64W.es.js → draggable-list-LtLBvlhK.es.js} +22 -22
  106. package/dist/chunks/{draggable-list-B6YVD64W.es.js.map → draggable-list-LtLBvlhK.es.js.map} +1 -1
  107. package/dist/chunks/{drawer-BcgvPugV.cjs.js → drawer-DZt4nA9C.cjs.js} +2 -2
  108. package/dist/chunks/{drawer-BcgvPugV.cjs.js.map → drawer-DZt4nA9C.cjs.js.map} +1 -1
  109. package/dist/chunks/{drawer-ByFci-Lp.es.js → drawer-YCoDb7TU.es.js} +8 -8
  110. package/dist/chunks/{drawer-ByFci-Lp.es.js.map → drawer-YCoDb7TU.es.js.map} +1 -1
  111. package/dist/chunks/{extract-style-props-CJjpdqym.es.js → extract-style-props-CIoUvqFb.es.js} +2 -2
  112. package/dist/chunks/{extract-style-props-CJjpdqym.es.js.map → extract-style-props-CIoUvqFb.es.js.map} +1 -1
  113. package/dist/chunks/{extract-style-props-DL4zPQSN.cjs.js → extract-style-props-DGdckd6P.cjs.js} +2 -2
  114. package/dist/chunks/{extract-style-props-DL4zPQSN.cjs.js.map → extract-style-props-DGdckd6P.cjs.js.map} +1 -1
  115. package/dist/chunks/{focusSafely-RvsgqoUt.es.js → focusSafely-Cwb0Tyy6.es.js} +3 -3
  116. package/dist/chunks/{focusSafely-RvsgqoUt.es.js.map → focusSafely-Cwb0Tyy6.es.js.map} +1 -1
  117. package/dist/chunks/{form-field-D36wdkEj.cjs.js → form-field-CozKmli4.cjs.js} +2 -2
  118. package/dist/chunks/{form-field-D36wdkEj.cjs.js.map → form-field-CozKmli4.cjs.js.map} +1 -1
  119. package/dist/chunks/{form-field-Po_Y_5wQ.es.js → form-field-Df4_JmSU.es.js} +4 -4
  120. package/dist/chunks/{form-field-Po_Y_5wQ.es.js.map → form-field-Df4_JmSU.es.js.map} +1 -1
  121. package/dist/chunks/{getScrollParent-DlqhSzBC.es.js → getScrollParent-MZgwmCKW.es.js} +2 -2
  122. package/dist/chunks/{getScrollParent-DlqhSzBC.es.js.map → getScrollParent-MZgwmCKW.es.js.map} +1 -1
  123. package/dist/chunks/{group-jGsHh1w7.es.js → group-CCBgdph2.es.js} +2 -2
  124. package/dist/chunks/{group-jGsHh1w7.es.js.map → group-CCBgdph2.es.js.map} +1 -1
  125. package/dist/chunks/{heading-CwsT9zp_.es.js → heading-nfjoR4vL.es.js} +2 -2
  126. package/dist/chunks/{heading-CwsT9zp_.es.js.map → heading-nfjoR4vL.es.js.map} +1 -1
  127. package/dist/chunks/{icon-button-ClTyaPhB.cjs.js → icon-button-BPzrehNJ.cjs.js} +2 -2
  128. package/dist/chunks/{icon-button-ClTyaPhB.cjs.js.map → icon-button-BPzrehNJ.cjs.js.map} +1 -1
  129. package/dist/chunks/{icon-button-Cnas4bnJ.es.js → icon-button-hZxuTfRy.es.js} +2 -2
  130. package/dist/chunks/{icon-button-Cnas4bnJ.es.js.map → icon-button-hZxuTfRy.es.js.map} +1 -1
  131. package/dist/chunks/{icon-toggle-button-3hAIS1Mt.es.js → icon-toggle-button-BtyMh4Ys.es.js} +2 -2
  132. package/dist/chunks/{icon-toggle-button-3hAIS1Mt.es.js.map → icon-toggle-button-BtyMh4Ys.es.js.map} +1 -1
  133. package/dist/chunks/{icon-toggle-button-B8ycCaqk.cjs.js → icon-toggle-button-DzoifEyi.cjs.js} +2 -2
  134. package/dist/chunks/{icon-toggle-button-B8ycCaqk.cjs.js.map → icon-toggle-button-DzoifEyi.cjs.js.map} +1 -1
  135. package/dist/chunks/{index-CmfW40Im.es.js → index-CqOsUykV.es.js} +185 -185
  136. package/dist/chunks/index-CqOsUykV.es.js.map +1 -0
  137. package/dist/chunks/{index-DIQn6o2R.cjs.js → index-DdyUbTzB.cjs.js} +3 -3
  138. package/dist/chunks/index-DdyUbTzB.cjs.js.map +1 -0
  139. package/dist/chunks/{kbd-B11Qoo4k.es.js → kbd-Bl5Ncm2d.es.js} +2 -2
  140. package/dist/chunks/{kbd-B11Qoo4k.es.js.map → kbd-Bl5Ncm2d.es.js.map} +1 -1
  141. package/dist/chunks/{link-Db65JZE6.es.js → link-BMUyXcmC.es.js} +9 -9
  142. package/dist/chunks/{link-Db65JZE6.es.js.map → link-BMUyXcmC.es.js.map} +1 -1
  143. package/dist/chunks/{loading-spinner-FBgHlqXQ.es.js → loading-spinner-DF6c3rBM.es.js} +3 -3
  144. package/dist/chunks/{loading-spinner-FBgHlqXQ.es.js.map → loading-spinner-DF6c3rBM.es.js.map} +1 -1
  145. package/dist/chunks/{localized-field-BqedmRuV.es.js → localized-field-BTtMYX2e.es.js} +25 -25
  146. package/dist/chunks/{localized-field-BqedmRuV.es.js.map → localized-field-BTtMYX2e.es.js.map} +1 -1
  147. package/dist/chunks/{localized-field-BudXks_7.cjs.js → localized-field-CKzOQS8a.cjs.js} +2 -2
  148. package/dist/chunks/{localized-field-BudXks_7.cjs.js.map → localized-field-CKzOQS8a.cjs.js.map} +1 -1
  149. package/dist/chunks/{make-element-focusable-DVfaQntJ.es.js → make-element-focusable-7-aXFtDJ.es.js} +6 -6
  150. package/dist/chunks/{make-element-focusable-DVfaQntJ.es.js.map → make-element-focusable-7-aXFtDJ.es.js.map} +1 -1
  151. package/dist/chunks/{menu-DMtIo54m.es.js → menu-9gmr8hQj.es.js} +6 -6
  152. package/dist/chunks/{menu-DMtIo54m.es.js.map → menu-9gmr8hQj.es.js.map} +1 -1
  153. package/dist/chunks/{menu-DGuxJIC6.cjs.js → menu-DbUVggzL.cjs.js} +2 -2
  154. package/dist/chunks/{menu-DGuxJIC6.cjs.js.map → menu-DbUVggzL.cjs.js.map} +1 -1
  155. package/dist/chunks/{mergeProps-D1jjFfMs.es.js → mergeProps-Dsl8k3Ig.es.js} +6 -6
  156. package/dist/chunks/{mergeProps-D1jjFfMs.es.js.map → mergeProps-Dsl8k3Ig.es.js.map} +1 -1
  157. package/dist/chunks/{money-input-B3fxVHDJ.cjs.js → money-input-BelTJgi2.cjs.js} +2 -2
  158. package/dist/chunks/{money-input-B3fxVHDJ.cjs.js.map → money-input-BelTJgi2.cjs.js.map} +1 -1
  159. package/dist/chunks/{money-input-BHveN9w0.es.js → money-input-DiuaCRAq.es.js} +9 -9
  160. package/dist/chunks/{money-input-BHveN9w0.es.js.map → money-input-DiuaCRAq.es.js.map} +1 -1
  161. package/dist/chunks/{money-input-field-CsChyLci.es.js → money-input-field-B8gMfNW7.es.js} +3 -3
  162. package/dist/chunks/{money-input-field-CsChyLci.es.js.map → money-input-field-B8gMfNW7.es.js.map} +1 -1
  163. package/dist/chunks/{money-input-field-FVpMq6tJ.cjs.js → money-input-field-tgZ_nN7r.cjs.js} +2 -2
  164. package/dist/chunks/{money-input-field-FVpMq6tJ.cjs.js.map → money-input-field-tgZ_nN7r.cjs.js.map} +1 -1
  165. package/dist/chunks/{multiline-text-input-C5pMVuYM.cjs.js → multiline-text-input-DJeOCh8z.cjs.js} +2 -2
  166. package/dist/chunks/{multiline-text-input-C5pMVuYM.cjs.js.map → multiline-text-input-DJeOCh8z.cjs.js.map} +1 -1
  167. package/dist/chunks/{multiline-text-input-CTop15Kc.es.js → multiline-text-input-fb-1IzTw.es.js} +5 -5
  168. package/dist/chunks/{multiline-text-input-CTop15Kc.es.js.map → multiline-text-input-fb-1IzTw.es.js.map} +1 -1
  169. package/dist/chunks/{multiline-text-input-field-D_M3z9GG.es.js → multiline-text-input-field-DIjx7INz.es.js} +3 -3
  170. package/dist/chunks/{multiline-text-input-field-D_M3z9GG.es.js.map → multiline-text-input-field-DIjx7INz.es.js.map} +1 -1
  171. package/dist/chunks/{multiline-text-input-field-B3eQzuAg.cjs.js → multiline-text-input-field-EiZALVr9.cjs.js} +2 -2
  172. package/dist/chunks/{multiline-text-input-field-B3eQzuAg.cjs.js.map → multiline-text-input-field-EiZALVr9.cjs.js.map} +1 -1
  173. package/dist/chunks/{nimbus-provider-COP-MGlb.cjs.js → nimbus-provider-BZ1AjgyS.cjs.js} +2 -2
  174. package/dist/chunks/{nimbus-provider-COP-MGlb.cjs.js.map → nimbus-provider-BZ1AjgyS.cjs.js.map} +1 -1
  175. package/dist/chunks/{nimbus-provider-BZuDgONW.es.js → nimbus-provider-XoinDagw.es.js} +2 -2
  176. package/dist/chunks/{nimbus-provider-BZuDgONW.es.js.map → nimbus-provider-XoinDagw.es.js.map} +1 -1
  177. package/dist/chunks/{number-input-Dj9jPceO.cjs.js → number-input-BY8SeNuT.cjs.js} +2 -2
  178. package/dist/chunks/{number-input-Dj9jPceO.cjs.js.map → number-input-BY8SeNuT.cjs.js.map} +1 -1
  179. package/dist/chunks/{number-input-CLoBlpiD.es.js → number-input-DKGtPqlr.es.js} +14 -14
  180. package/dist/chunks/{number-input-CLoBlpiD.es.js.map → number-input-DKGtPqlr.es.js.map} +1 -1
  181. package/dist/chunks/{number-input-field-BKxrwzEz.es.js → number-input-field-DnIN5wjh.es.js} +3 -3
  182. package/dist/chunks/{number-input-field-BKxrwzEz.es.js.map → number-input-field-DnIN5wjh.es.js.map} +1 -1
  183. package/dist/chunks/{number-input-field-DYJa53Un.cjs.js → number-input-field-l6_xjbpB.cjs.js} +2 -2
  184. package/dist/chunks/{number-input-field-DYJa53Un.cjs.js.map → number-input-field-l6_xjbpB.cjs.js.map} +1 -1
  185. package/dist/chunks/{pagination-DNTHTYbV.cjs.js → pagination-Cks7-saP.cjs.js} +2 -2
  186. package/dist/chunks/{pagination-DNTHTYbV.cjs.js.map → pagination-Cks7-saP.cjs.js.map} +1 -1
  187. package/dist/chunks/{pagination-WCa7N8As.es.js → pagination-DAPyY6Zk.es.js} +5 -5
  188. package/dist/chunks/{pagination-WCa7N8As.es.js.map → pagination-DAPyY6Zk.es.js.map} +1 -1
  189. package/dist/chunks/{password-input-B1aemp6U.es.js → password-input-BXrS2-3k.es.js} +4 -4
  190. package/dist/chunks/{password-input-B1aemp6U.es.js.map → password-input-BXrS2-3k.es.js.map} +1 -1
  191. package/dist/chunks/{password-input-CWPQT3AJ.cjs.js → password-input-DG0_r6H_.cjs.js} +2 -2
  192. package/dist/chunks/{password-input-CWPQT3AJ.cjs.js.map → password-input-DG0_r6H_.cjs.js.map} +1 -1
  193. package/dist/chunks/{password-input-field-DGjkta8d.es.js → password-input-field-BIH25kaL.es.js} +3 -3
  194. package/dist/chunks/{password-input-field-DGjkta8d.es.js.map → password-input-field-BIH25kaL.es.js.map} +1 -1
  195. package/dist/chunks/{password-input-field-C3ct8JqT.cjs.js → password-input-field-DMQAWO16.cjs.js} +2 -2
  196. package/dist/chunks/{password-input-field-C3ct8JqT.cjs.js.map → password-input-field-DMQAWO16.cjs.js.map} +1 -1
  197. package/dist/chunks/{popover-B1aRr1CU.es.js → popover-zNeVW5hN.es.js} +2 -2
  198. package/dist/chunks/{popover-B1aRr1CU.es.js.map → popover-zNeVW5hN.es.js.map} +1 -1
  199. package/dist/chunks/{progress-bar-Dny28r_G.cjs.js → progress-bar-DG9JB9bR.cjs.js} +2 -2
  200. package/dist/chunks/{progress-bar-Dny28r_G.cjs.js.map → progress-bar-DG9JB9bR.cjs.js.map} +1 -1
  201. package/dist/chunks/{progress-bar-VQAbvri1.es.js → progress-bar-DYbU-4Vi.es.js} +4 -4
  202. package/dist/chunks/{progress-bar-VQAbvri1.es.js.map → progress-bar-DYbU-4Vi.es.js.map} +1 -1
  203. package/dist/chunks/{radio-input-CIqZ2V6i.cjs.js → radio-input-CA4Y8LF8.cjs.js} +2 -2
  204. package/dist/chunks/{radio-input-CIqZ2V6i.cjs.js.map → radio-input-CA4Y8LF8.cjs.js.map} +1 -1
  205. package/dist/chunks/{radio-input-6FtNHf0N.es.js → radio-input-tsryyQ63.es.js} +42 -42
  206. package/dist/chunks/{radio-input-6FtNHf0N.es.js.map → radio-input-tsryyQ63.es.js.map} +1 -1
  207. package/dist/chunks/{range-calendar-Cumbca_6.es.js → range-calendar-CCKqVOdF.es.js} +10 -10
  208. package/dist/chunks/{range-calendar-Cumbca_6.es.js.map → range-calendar-CCKqVOdF.es.js.map} +1 -1
  209. package/dist/chunks/{range-calendar-Bjst1nRD.cjs.js → range-calendar-CFfa_h1A.cjs.js} +2 -2
  210. package/dist/chunks/{range-calendar-Bjst1nRD.cjs.js.map → range-calendar-CFfa_h1A.cjs.js.map} +1 -1
  211. package/dist/chunks/{rich-text-input-C7jglLdt.es.js → rich-text-input-CoIBknUh.es.js} +13 -13
  212. package/dist/chunks/{rich-text-input-C7jglLdt.es.js.map → rich-text-input-CoIBknUh.es.js.map} +1 -1
  213. package/dist/chunks/{rich-text-input-CpQVkFRl.cjs.js → rich-text-input-D7zyqfNG.cjs.js} +2 -2
  214. package/dist/chunks/{rich-text-input-CpQVkFRl.cjs.js.map → rich-text-input-D7zyqfNG.cjs.js.map} +1 -1
  215. package/dist/chunks/{scoped-search-input-CIUdBb04.cjs.js → scoped-search-input-B7lz2Odg.cjs.js} +2 -2
  216. package/dist/chunks/{scoped-search-input-CIUdBb04.cjs.js.map → scoped-search-input-B7lz2Odg.cjs.js.map} +1 -1
  217. package/dist/chunks/{scoped-search-input-C3N9xhiG.es.js → scoped-search-input-DM_clkPu.es.js} +5 -5
  218. package/dist/chunks/{scoped-search-input-C3N9xhiG.es.js.map → scoped-search-input-DM_clkPu.es.js.map} +1 -1
  219. package/dist/chunks/{scrollIntoView-CQMm8-SR.es.js → scrollIntoView-B7D07fJk.es.js} +5 -5
  220. package/dist/chunks/{scrollIntoView-CQMm8-SR.es.js.map → scrollIntoView-B7D07fJk.es.js.map} +1 -1
  221. package/dist/chunks/{search-input-xfX98rpy.es.js → search-input-CaJyfxW-.es.js} +11 -11
  222. package/dist/chunks/{search-input-xfX98rpy.es.js.map → search-input-CaJyfxW-.es.js.map} +1 -1
  223. package/dist/chunks/{search-input-B2eu94HO.cjs.js → search-input-Cq5nPtbF.cjs.js} +2 -2
  224. package/dist/chunks/{search-input-B2eu94HO.cjs.js.map → search-input-Cq5nPtbF.cjs.js.map} +1 -1
  225. package/dist/chunks/{search-input-field-CiEbfoqx.cjs.js → search-input-field-4wVwDFiQ.cjs.js} +2 -2
  226. package/dist/chunks/{search-input-field-CiEbfoqx.cjs.js.map → search-input-field-4wVwDFiQ.cjs.js.map} +1 -1
  227. package/dist/chunks/{search-input-field-Bt94J1Xu.es.js → search-input-field-zzVNsLn3.es.js} +3 -3
  228. package/dist/chunks/{search-input-field-Bt94J1Xu.es.js.map → search-input-field-zzVNsLn3.es.js.map} +1 -1
  229. package/dist/chunks/{select-OOmONm5T.cjs.js → select-AaF9VDYS.cjs.js} +2 -2
  230. package/dist/chunks/{select-OOmONm5T.cjs.js.map → select-AaF9VDYS.cjs.js.map} +1 -1
  231. package/dist/chunks/{select-6rfY6mk9.es.js → select-C4gMn8gq.es.js} +21 -21
  232. package/dist/chunks/{select-6rfY6mk9.es.js.map → select-C4gMn8gq.es.js.map} +1 -1
  233. package/dist/chunks/{separator-DoOgit09.cjs.js → separator-BadgCkrO.cjs.js} +2 -2
  234. package/dist/chunks/{separator-DoOgit09.cjs.js.map → separator-BadgCkrO.cjs.js.map} +1 -1
  235. package/dist/chunks/{separator-ByExde_2.es.js → separator-Bc2_grIr.es.js} +4 -4
  236. package/dist/chunks/{separator-ByExde_2.es.js.map → separator-Bc2_grIr.es.js.map} +1 -1
  237. package/dist/chunks/{split-button-DtNcxPjS.cjs.js → split-button-CbGHEymu.cjs.js} +2 -2
  238. package/dist/chunks/{split-button-DtNcxPjS.cjs.js.map → split-button-CbGHEymu.cjs.js.map} +1 -1
  239. package/dist/chunks/{split-button-CcfdSUWT.es.js → split-button-DT1Anaq1.es.js} +4 -4
  240. package/dist/chunks/{split-button-CcfdSUWT.es.js.map → split-button-DT1Anaq1.es.js.map} +1 -1
  241. package/dist/chunks/{switch-ZhX47Ufo.es.js → switch-1tLtDt7M.es.js} +7 -7
  242. package/dist/chunks/{switch-ZhX47Ufo.es.js.map → switch-1tLtDt7M.es.js.map} +1 -1
  243. package/dist/chunks/{switch-Bttbn3oV.cjs.js → switch-BxR5TD9Q.cjs.js} +2 -2
  244. package/dist/chunks/{switch-Bttbn3oV.cjs.js.map → switch-BxR5TD9Q.cjs.js.map} +1 -1
  245. package/dist/chunks/{tabs-DWMVR5Mq.cjs.js → tabs-C4EfvdVt.cjs.js} +2 -2
  246. package/dist/chunks/{tabs-DWMVR5Mq.cjs.js.map → tabs-C4EfvdVt.cjs.js.map} +1 -1
  247. package/dist/chunks/{tabs-B7qKxKnI.es.js → tabs-CgoUJCIx.es.js} +13 -13
  248. package/dist/chunks/{tabs-B7qKxKnI.es.js.map → tabs-CgoUJCIx.es.js.map} +1 -1
  249. package/dist/chunks/{tag-group-BkoC3DAk.cjs.js → tag-group-Bu4IPJY2.cjs.js} +2 -2
  250. package/dist/chunks/{tag-group-BkoC3DAk.cjs.js.map → tag-group-Bu4IPJY2.cjs.js.map} +1 -1
  251. package/dist/chunks/{tag-group-7rUsjnet.es.js → tag-group-DauMcIZX.es.js} +19 -19
  252. package/dist/chunks/{tag-group-7rUsjnet.es.js.map → tag-group-DauMcIZX.es.js.map} +1 -1
  253. package/dist/chunks/{text-DvqDjbwb.es.js → text-CIb_VDvO.es.js} +2 -2
  254. package/dist/chunks/{text-DvqDjbwb.es.js.map → text-CIb_VDvO.es.js.map} +1 -1
  255. package/dist/chunks/{text-input-D_3g3kxm.es.js → text-input-BpdFm4J-.es.js} +7 -7
  256. package/dist/chunks/{text-input-D_3g3kxm.es.js.map → text-input-BpdFm4J-.es.js.map} +1 -1
  257. package/dist/chunks/{text-input-Dv2HkOIG.cjs.js → text-input-YkL8bx31.cjs.js} +2 -2
  258. package/dist/chunks/{text-input-Dv2HkOIG.cjs.js.map → text-input-YkL8bx31.cjs.js.map} +1 -1
  259. package/dist/chunks/{text-input-field-DWpejDcH.es.js → text-input-field-B0WhjD0U.es.js} +3 -3
  260. package/dist/chunks/{text-input-field-DWpejDcH.es.js.map → text-input-field-B0WhjD0U.es.js.map} +1 -1
  261. package/dist/chunks/{text-input-field-vYxpIFXm.cjs.js → text-input-field-CPLVnqlr.cjs.js} +2 -2
  262. package/dist/chunks/{text-input-field-vYxpIFXm.cjs.js.map → text-input-field-CPLVnqlr.cjs.js.map} +1 -1
  263. package/dist/chunks/{time-input-CZWkAErU.es.js → time-input-DMyhDH5j.es.js} +4 -4
  264. package/dist/chunks/{time-input-CZWkAErU.es.js.map → time-input-DMyhDH5j.es.js.map} +1 -1
  265. package/dist/chunks/{time-input-CMAP5QkL.cjs.js → time-input-m8zeR_8L.cjs.js} +2 -2
  266. package/dist/chunks/{time-input-CMAP5QkL.cjs.js.map → time-input-m8zeR_8L.cjs.js.map} +1 -1
  267. package/dist/chunks/{toggle-button-QMUjECJO.es.js → toggle-button-B2uXtvzj.es.js} +4 -4
  268. package/dist/chunks/{toggle-button-QMUjECJO.es.js.map → toggle-button-B2uXtvzj.es.js.map} +1 -1
  269. package/dist/chunks/{toggle-button-BnDf2yfy.cjs.js → toggle-button-CHZm868U.cjs.js} +2 -2
  270. package/dist/chunks/{toggle-button-BnDf2yfy.cjs.js.map → toggle-button-CHZm868U.cjs.js.map} +1 -1
  271. package/dist/chunks/{toggle-button-group-P0oS-q6h.es.js → toggle-button-group-BWpmMkEz.es.js} +2 -2
  272. package/dist/chunks/{toggle-button-group-P0oS-q6h.es.js.map → toggle-button-group-BWpmMkEz.es.js.map} +1 -1
  273. package/dist/chunks/{toolbar-Bg2OUmFi.cjs.js → toolbar-BAETJxml.cjs.js} +2 -2
  274. package/dist/chunks/{toolbar-Bg2OUmFi.cjs.js.map → toolbar-BAETJxml.cjs.js.map} +1 -1
  275. package/dist/chunks/{toolbar-C3GiZF_9.es.js → toolbar-BnS73QeG.es.js} +6 -6
  276. package/dist/chunks/{toolbar-C3GiZF_9.es.js.map → toolbar-BnS73QeG.es.js.map} +1 -1
  277. package/dist/chunks/{tooltip-CzEuq_Qi.es.js → tooltip-D3QrrizN.es.js} +7 -7
  278. package/dist/chunks/{tooltip-CzEuq_Qi.es.js.map → tooltip-D3QrrizN.es.js.map} +1 -1
  279. package/dist/chunks/{useButton-B2TbwHSy.es.js → useButton-CiPiehgC.es.js} +4 -4
  280. package/dist/chunks/{useButton-B2TbwHSy.es.js.map → useButton-CiPiehgC.es.js.map} +1 -1
  281. package/dist/chunks/{useDateFormatter-CO08GpLe.es.js → useDateFormatter-886GJ5w1.es.js} +2 -2
  282. package/dist/chunks/{useDateFormatter-CO08GpLe.es.js.map → useDateFormatter-886GJ5w1.es.js.map} +1 -1
  283. package/dist/chunks/{useDisclosureState-BqxwXawT.es.js → useDisclosureState-CWZTR2xM.es.js} +3 -3
  284. package/dist/chunks/{useDisclosureState-BqxwXawT.es.js.map → useDisclosureState-CWZTR2xM.es.js.map} +1 -1
  285. package/dist/chunks/{useEvent-D8bTsAyx.es.js → useEvent-CRo5BZDX.es.js} +6 -6
  286. package/dist/chunks/{useEvent-D8bTsAyx.es.js.map → useEvent-CRo5BZDX.es.js.map} +1 -1
  287. package/dist/chunks/{useField-BfW84CS4.es.js → useField-CHrpmkxe.es.js} +8 -8
  288. package/dist/chunks/{useField-BfW84CS4.es.js.map → useField-CHrpmkxe.es.js.map} +1 -1
  289. package/dist/chunks/{useFocus-TCNvrvTC.es.js → useFocus-CrgTusM3.es.js} +6 -6
  290. package/dist/chunks/{useFocus-TCNvrvTC.es.js.map → useFocus-CrgTusM3.es.js.map} +1 -1
  291. package/dist/chunks/{useFocusRing-oMAqzr3e.es.js → useFocusRing-FPt2Rwil.es.js} +4 -4
  292. package/dist/chunks/{useFocusRing-oMAqzr3e.es.js.map → useFocusRing-FPt2Rwil.es.js.map} +1 -1
  293. package/dist/chunks/{useFocusVisible-Uw6yFmFY.es.js → useFocusVisible-B3HmFL2Q.es.js} +6 -6
  294. package/dist/chunks/{useFocusVisible-Uw6yFmFY.es.js.map → useFocusVisible-B3HmFL2Q.es.js.map} +1 -1
  295. package/dist/chunks/{useFocusWithin-nAsP7Ru3.es.js → useFocusWithin-EFOG-Jn1.es.js} +6 -6
  296. package/dist/chunks/{useFocusWithin-nAsP7Ru3.es.js.map → useFocusWithin-EFOG-Jn1.es.js.map} +1 -1
  297. package/dist/chunks/{useFocusable-Bm-DQaak.es.js → useFocusable-Cs6i58WP.es.js} +5 -5
  298. package/dist/chunks/{useFocusable-Bm-DQaak.es.js.map → useFocusable-Cs6i58WP.es.js.map} +1 -1
  299. package/dist/chunks/{useFormReset-C52dSDoe.es.js → useFormReset-BGuIA_u2.es.js} +2 -2
  300. package/dist/chunks/{useFormReset-C52dSDoe.es.js.map → useFormReset-BGuIA_u2.es.js.map} +1 -1
  301. package/dist/chunks/{useFormValidation-DxDV9X1M.es.js → useFormValidation-BCVLtR0U.es.js} +3 -3
  302. package/dist/chunks/{useFormValidation-DxDV9X1M.es.js.map → useFormValidation-BCVLtR0U.es.js.map} +1 -1
  303. package/dist/chunks/{useGridListItem-DTjO497o.es.js → useGridListItem-CjGTTOtc.es.js} +10 -10
  304. package/dist/chunks/{useGridListItem-DTjO497o.es.js.map → useGridListItem-CjGTTOtc.es.js.map} +1 -1
  305. package/dist/chunks/{useHasTabbableChild-DemFbZRn.es.js → useHasTabbableChild-DXq72IE3.es.js} +3 -3
  306. package/dist/chunks/{useHasTabbableChild-DemFbZRn.es.js.map → useHasTabbableChild-DXq72IE3.es.js.map} +1 -1
  307. package/dist/chunks/{useHover-BtRK9g2L.es.js → useHover-BQRSM3qT.es.js} +2 -2
  308. package/dist/chunks/{useHover-BtRK9g2L.es.js.map → useHover-BQRSM3qT.es.js.map} +1 -1
  309. package/dist/chunks/{useLabel-DfbcmKTa.es.js → useLabel-DQaRD22u.es.js} +5 -5
  310. package/dist/chunks/{useLabel-DfbcmKTa.es.js.map → useLabel-DQaRD22u.es.js.map} +1 -1
  311. package/dist/chunks/{useLabels-Gn8v9XZB.es.js → useLabels-BDqWMehi.es.js} +2 -2
  312. package/dist/chunks/{useLabels-Gn8v9XZB.es.js.map → useLabels-BDqWMehi.es.js.map} +1 -1
  313. package/dist/chunks/{useListState-D9k6HiWm.es.js → useListState-CRfmjiWx.es.js} +2 -2
  314. package/dist/chunks/{useListState-D9k6HiWm.es.js.map → useListState-CRfmjiWx.es.js.map} +1 -1
  315. package/dist/chunks/{usePress-C_IPaF8I.es.js → usePress-BuLomD_X.es.js} +6 -6
  316. package/dist/chunks/{usePress-C_IPaF8I.es.js.map → usePress-BuLomD_X.es.js.map} +1 -1
  317. package/dist/chunks/{useProgressBar-DCj794Zv.es.js → useProgressBar--OvVKto2.es.js} +7 -7
  318. package/dist/chunks/{useProgressBar-DCj794Zv.es.js.map → useProgressBar--OvVKto2.es.js.map} +1 -1
  319. package/dist/chunks/{useSingleSelectListState-C_tE7a5E.es.js → useSingleSelectListState-DFR33TSw.es.js} +2 -2
  320. package/dist/chunks/{useSingleSelectListState-C_tE7a5E.es.js.map → useSingleSelectListState-DFR33TSw.es.js.map} +1 -1
  321. package/dist/chunks/{useSpinButton-BiQ20B5n.es.js → useSpinButton-YcV6vlPf.es.js} +15 -15
  322. package/dist/chunks/{useSpinButton-BiQ20B5n.es.js.map → useSpinButton-YcV6vlPf.es.js.map} +1 -1
  323. package/dist/chunks/{useSyncRef-DmY05o2G.es.js → useSyncRef-BpLviItW.es.js} +2 -2
  324. package/dist/chunks/{useSyncRef-DmY05o2G.es.js.map → useSyncRef-BpLviItW.es.js.map} +1 -1
  325. package/dist/chunks/{useTextField-9WuJfc9u.es.js → useTextField-yuaT8-G4.es.js} +7 -7
  326. package/dist/chunks/{useTextField-9WuJfc9u.es.js.map → useTextField-yuaT8-G4.es.js.map} +1 -1
  327. package/dist/chunks/{useToggle-BZPMewLP.es.js → useToggle-DKP3zVOY.es.js} +5 -5
  328. package/dist/chunks/{useToggle-BZPMewLP.es.js.map → useToggle-DKP3zVOY.es.js.map} +1 -1
  329. package/dist/chunks/{useToolbar-C673xD3E.es.js → useToolbar-CbJkugif.es.js} +3 -3
  330. package/dist/chunks/{useToolbar-C673xD3E.es.js.map → useToolbar-CbJkugif.es.js.map} +1 -1
  331. package/dist/chunks/{utils-9vu7GUaz.es.js → utils-B6pV5ewr.es.js} +12 -12
  332. package/dist/chunks/{utils-9vu7GUaz.es.js.map → utils-B6pV5ewr.es.js.map} +1 -1
  333. package/dist/chunks/{utils-Bl-3nKLa.es.js → utils-oAGBWzI5.es.js} +14 -14
  334. package/dist/chunks/{utils-Bl-3nKLa.es.js.map → utils-oAGBWzI5.es.js.map} +1 -1
  335. package/dist/chunks/{visually-hidden-m5QY9YV7.es.js → visually-hidden-Dj5CT-u_.es.js} +2 -2
  336. package/dist/chunks/{visually-hidden-m5QY9YV7.es.js.map → visually-hidden-Dj5CT-u_.es.js.map} +1 -1
  337. package/dist/components/accordion/accordion.recipe.d.ts +1 -1
  338. package/dist/components/accordion/accordion.slots.d.ts +5 -5
  339. package/dist/components/accordion.cjs +1 -1
  340. package/dist/components/accordion.es.js +2 -2
  341. package/dist/components/alert/alert.recipe.d.ts +1 -1
  342. package/dist/components/alert/alert.slots.d.ts +3 -3
  343. package/dist/components/alert.cjs +1 -1
  344. package/dist/components/alert.es.js +1 -1
  345. package/dist/components/avatar/avatar.slots.d.ts +1 -1
  346. package/dist/components/badge/badge.slots.d.ts +1 -1
  347. package/dist/components/badge.es.js +1 -1
  348. package/dist/components/button.cjs +1 -1
  349. package/dist/components/button.es.js +1 -1
  350. package/dist/components/calendar/calendar.slots.d.ts +8 -8
  351. package/dist/components/calendar.cjs +1 -1
  352. package/dist/components/calendar.es.js +1 -1
  353. package/dist/components/card.cjs +1 -1
  354. package/dist/components/card.es.js +1 -1
  355. package/dist/components/checkbox.cjs +1 -1
  356. package/dist/components/checkbox.es.js +1 -1
  357. package/dist/components/collapsible-motion/collapsible-motion.slots.d.ts +2 -2
  358. package/dist/components/collapsible-motion.cjs +1 -1
  359. package/dist/components/collapsible-motion.es.js +1 -1
  360. package/dist/components/combobox/combobox.recipe.d.ts +1 -1
  361. package/dist/components/combobox/combobox.slots.d.ts +9 -9
  362. package/dist/components/combobox.cjs +1 -1
  363. package/dist/components/combobox.es.js +1 -1
  364. package/dist/components/components.cjs +1 -1
  365. package/dist/components/components.es.js +1 -1
  366. package/dist/components/data-table/data-table.d.ts +3 -3
  367. package/dist/components/data-table/data-table.slots.d.ts +12 -12
  368. package/dist/components/data-table.cjs +1 -1
  369. package/dist/components/data-table.es.js +1 -1
  370. package/dist/components/date-input/date-input.slots.d.ts +5 -5
  371. package/dist/components/date-input.cjs +1 -1
  372. package/dist/components/date-input.es.js +1 -1
  373. package/dist/components/date-picker/date-picker.recipe.d.ts +1 -1
  374. package/dist/components/date-picker/date-picker.slots.d.ts +6 -6
  375. package/dist/components/date-picker.cjs +1 -1
  376. package/dist/components/date-picker.es.js +1 -1
  377. package/dist/components/date-range-picker/date-range-picker.recipe.d.ts +1 -1
  378. package/dist/components/date-range-picker/date-range-picker.slots.d.ts +8 -8
  379. package/dist/components/date-range-picker-field.cjs +1 -1
  380. package/dist/components/date-range-picker-field.es.js +1 -1
  381. package/dist/components/date-range-picker.cjs +1 -1
  382. package/dist/components/date-range-picker.es.js +1 -1
  383. package/dist/components/dialog/dialog.slots.d.ts +9 -9
  384. package/dist/components/dialog.cjs +1 -1
  385. package/dist/components/dialog.es.js +1 -1
  386. package/dist/components/draggable-list/draggable-list.slots.d.ts +4 -4
  387. package/dist/components/draggable-list.cjs +1 -1
  388. package/dist/components/draggable-list.es.js +1 -1
  389. package/dist/components/drawer/drawer.slots.d.ts +10 -10
  390. package/dist/components/drawer.cjs +1 -1
  391. package/dist/components/drawer.es.js +1 -1
  392. package/dist/components/fields.cjs +1 -1
  393. package/dist/components/fields.es.js +7 -7
  394. package/dist/components/form-field/form-field.recipe.d.ts +1 -1
  395. package/dist/components/form-field/form-field.slots.d.ts +2 -2
  396. package/dist/components/form-field.cjs +1 -1
  397. package/dist/components/form-field.es.js +1 -1
  398. package/dist/components/group.es.js +1 -1
  399. package/dist/components/heading.es.js +1 -1
  400. package/dist/components/icon-button.cjs +1 -1
  401. package/dist/components/icon-button.es.js +1 -1
  402. package/dist/components/icon-toggle-button.cjs +1 -1
  403. package/dist/components/icon-toggle-button.es.js +1 -1
  404. package/dist/components/inline-svg/inline-svg.slots.d.ts +1 -1
  405. package/dist/components/kbd.es.js +1 -1
  406. package/dist/components/link/link.slots.d.ts +1 -1
  407. package/dist/components/link.es.js +1 -1
  408. package/dist/components/loading-spinner/loading-spinner.slots.d.ts +1 -1
  409. package/dist/components/loading-spinner.es.js +1 -1
  410. package/dist/components/localized-field/localized-field.slots.d.ts +10 -10
  411. package/dist/components/localized-field.cjs +1 -1
  412. package/dist/components/localized-field.es.js +1 -1
  413. package/dist/components/menu/menu.recipe.d.ts +1 -1
  414. package/dist/components/money-input/money-input.slots.d.ts +6 -6
  415. package/dist/components/money-input-field.cjs +1 -1
  416. package/dist/components/money-input-field.es.js +1 -1
  417. package/dist/components/money-input.cjs +1 -1
  418. package/dist/components/money-input.es.js +1 -1
  419. package/dist/components/multiline-text-input/multiline-text-input.slots.d.ts +3 -3
  420. package/dist/components/multiline-text-input-field.cjs +1 -1
  421. package/dist/components/multiline-text-input-field.es.js +1 -1
  422. package/dist/components/multiline-text-input.cjs +1 -1
  423. package/dist/components/multiline-text-input.es.js +1 -1
  424. package/dist/components/nimbus-provider.cjs +1 -1
  425. package/dist/components/nimbus-provider.es.js +1 -1
  426. package/dist/components/number-input/number-input.slots.d.ts +6 -6
  427. package/dist/components/number-input-field.cjs +1 -1
  428. package/dist/components/number-input-field.es.js +1 -1
  429. package/dist/components/number-input.cjs +1 -1
  430. package/dist/components/number-input.es.js +1 -1
  431. package/dist/components/pagination.cjs +1 -1
  432. package/dist/components/pagination.es.js +1 -1
  433. package/dist/components/password-input-field.cjs +1 -1
  434. package/dist/components/password-input-field.es.js +1 -1
  435. package/dist/components/password-input.cjs +1 -1
  436. package/dist/components/password-input.es.js +1 -1
  437. package/dist/components/patterns.cjs +1 -1
  438. package/dist/components/patterns.es.js +7 -7
  439. package/dist/components/popover.es.js +1 -1
  440. package/dist/components/progress-bar/progress-bar.slots.d.ts +4 -4
  441. package/dist/components/progress-bar.cjs +1 -1
  442. package/dist/components/progress-bar.es.js +1 -1
  443. package/dist/components/radio-input/radio-input.slots.d.ts +2 -2
  444. package/dist/components/radio-input.cjs +1 -1
  445. package/dist/components/radio-input.es.js +1 -1
  446. package/dist/components/range-calendar/range-calendar.slots.d.ts +8 -8
  447. package/dist/components/range-calendar.cjs +1 -1
  448. package/dist/components/range-calendar.es.js +1 -1
  449. package/dist/components/rich-text-input/rich-text-input.slots.d.ts +2 -2
  450. package/dist/components/rich-text-input.cjs +1 -1
  451. package/dist/components/rich-text-input.es.js +1 -1
  452. package/dist/components/scoped-search-input.cjs +1 -1
  453. package/dist/components/scoped-search-input.es.js +1 -1
  454. package/dist/components/search-input-field.cjs +1 -1
  455. package/dist/components/search-input-field.es.js +1 -1
  456. package/dist/components/search-input.cjs +1 -1
  457. package/dist/components/search-input.es.js +1 -1
  458. package/dist/components/select/select.slots.d.ts +7 -7
  459. package/dist/components/select.cjs +1 -1
  460. package/dist/components/select.es.js +1 -1
  461. package/dist/components/separator.cjs +1 -1
  462. package/dist/components/separator.es.js +1 -1
  463. package/dist/components/split-button/split-button.slots.d.ts +3 -3
  464. package/dist/components/split-button.cjs +1 -1
  465. package/dist/components/split-button.es.js +1 -1
  466. package/dist/components/switch/switch.slots.d.ts +3 -3
  467. package/dist/components/switch.cjs +1 -1
  468. package/dist/components/switch.es.js +1 -1
  469. package/dist/components/tabs/tabs.recipe.d.ts +1 -1
  470. package/dist/components/tabs/tabs.slots.d.ts +3 -3
  471. package/dist/components/tabs.cjs +1 -1
  472. package/dist/components/tabs.es.js +1 -1
  473. package/dist/components/tag-group.cjs +1 -1
  474. package/dist/components/tag-group.es.js +1 -1
  475. package/dist/components/text-input-field.cjs +1 -1
  476. package/dist/components/text-input-field.es.js +1 -1
  477. package/dist/components/text-input.cjs +1 -1
  478. package/dist/components/text-input.es.js +1 -1
  479. package/dist/components/text.es.js +1 -1
  480. package/dist/components/time-input/time-input.slots.d.ts +5 -5
  481. package/dist/components/time-input.cjs +1 -1
  482. package/dist/components/time-input.es.js +1 -1
  483. package/dist/components/toggle-button-group.es.js +1 -1
  484. package/dist/components/toggle-button.cjs +1 -1
  485. package/dist/components/toggle-button.es.js +1 -1
  486. package/dist/components/toolbar.cjs +1 -1
  487. package/dist/components/toolbar.es.js +1 -1
  488. package/dist/components/tooltip.es.js +2 -2
  489. package/dist/components/visually-hidden.es.js +1 -1
  490. package/dist/index.cjs +1 -1
  491. package/dist/index.es.js +64 -64
  492. package/dist/theme/slot-recipes/index.d.ts +8 -8
  493. package/package.json +5 -5
  494. package/dist/chunks/accordion.content-Bd2PESBz.cjs.js +0 -2
  495. package/dist/chunks/badge-DUiqk6w9.es.js +0 -17
  496. package/dist/chunks/index-CmfW40Im.es.js.map +0 -1
  497. package/dist/chunks/index-DIQn6o2R.cjs.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),w=require("react"),T=require("./Dialog-flHBRP1h.cjs.js"),g=require("@chakra-ui/react/styled-system"),S=require("./index-DIQn6o2R.cjs.js"),q=require("./Button-DLCecw8f.cjs.js"),P=require("./extract-style-props-DL4zPQSN.cjs.js"),j=require("./Modal-mFYEMNT-.cjs.js"),N=require("./heading-DWweWKGQ.cjs.js"),O=require("@commercetools/nimbus-icons"),R=require("react-intl"),B=require("./icon-button-ClTyaPhB.cjs.js"),{withProvider:H,withContext:n}=g.createSlotRecipeContext({recipe:S.drawerSlotRecipe}),I=H("div","root"),M=n("button","trigger"),F=n("div","modalOverlay"),E=n("div","modal"),V=n("div","content"),k=n("header","header"),z=n("div","body"),A=n("footer","footer"),K=n("h2","title"),L=n("div","closeTrigger"),$=w.createContext(void 0),G=()=>{const e=w.useContext($);if(!e)throw new Error("useDrawerContext must be used within Drawer.Root");return e},J=({children:e,value:t})=>r.jsx($,{value:t,children:e}),D=e=>{const t=g.useSlotRecipe({recipe:S.drawerSlotRecipe}),[s]=t.splitVariantProps(e),{children:o,isOpen:a,onOpenChange:i,defaultOpen:u=!1}=e,l=r.jsx(I,{...s,children:o}),f=w.Children.toArray(o).some(c=>{if(w.isValidElement(c)&&typeof c.type=="function"){const d=c.type?.displayName;return d==="DrawerTrigger"||d==="Drawer.Trigger"}return!1});return r.jsx(J,{value:e,children:f?r.jsx(T.$de32f1b87079253c$export$2e1e1122cf0cba88,{isOpen:a,onOpenChange:i,defaultOpen:u,children:l}):l})};D.displayName="Drawer.Root";const p=({ref:e,children:t,asChild:s,...o})=>{if(s)return r.jsx(g.chakra.button,{ref:e,asChild:!0,...o,children:t});const[a,i]=P.extractStyleProps(o);return r.jsx(M,{...a,asChild:!0,children:r.jsx(q.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{ref:e,...i,children:t})})};p.displayName="Drawer.Trigger";const x=e=>{const{ref:t,children:s,...o}=e,{defaultOpen:a,isDismissable:i,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:l,isOpen:f,onOpenChange:c}=G(),d={defaultOpen:a,isDismissable:i,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:l,isOpen:f,onOpenChange:c},[v]=P.extractStyleProps(o);return r.jsx(F,{asChild:!0,children:r.jsx(j.$f3f84453ead64de5$export$8948f78d83984c69,{...d,children:r.jsx(E,{asChild:!0,children:r.jsx(j.$f3f84453ead64de5$export$2b77a92f1a5ad772,{children:r.jsx(V,{asChild:!0,...v,children:r.jsx(T.$de32f1b87079253c$export$3ddf2d174ce01153,{ref:t,children:s})})})})})})};x.displayName="Drawer.Content";const h=e=>{const{ref:t,children:s,...o}=e;return r.jsx(k,{ref:t,...o,children:s})};h.displayName="Drawer.Header";const y=e=>{const{ref:t,children:s,...o}=e,a={tabIndex:0};return r.jsx(z,{ref:t,...a,...o,children:s})};y.displayName="Drawer.Body";const C=e=>{const{ref:t,children:s,...o}=e;return r.jsx(A,{ref:t,...o,children:s})};C.displayName="Drawer.Footer";const b=e=>{const{ref:t,children:s,...o}=e;return r.jsx(K,{asChild:!0,...o,children:r.jsx(N.Heading,{ref:t,slot:"title",as:"h2",textStyle:"lg",children:s})})};b.displayName="Drawer.Title";const Q=R.defineMessages({closeTrigger:{id:"Nimbus.Drawer.closeTrigger",description:"aria-label for the default close trigger button",defaultMessage:"Close drawer"}}),m=e=>{const{ref:t,"aria-label":s,...o}=e,a=R.useIntl();return r.jsx(L,{children:r.jsx(B.IconButton,{ref:t,slot:"close",size:"xs",variant:"ghost","aria-label":s||a.formatMessage(Q.closeTrigger),...o,children:r.jsx(O.Close,{})})})};m.displayName="Drawer.CloseTrigger";const U={Root:D,Trigger:p,Content:x,Header:h,Body:y,Footer:C,Title:b,CloseTrigger:m};exports.Drawer=U;exports.DrawerBody=y;exports.DrawerCloseTrigger=m;exports.DrawerContent=x;exports.DrawerFooter=C;exports.DrawerHeader=h;exports.DrawerRoot=D;exports.DrawerTitle=b;exports.DrawerTrigger=p;
2
- //# sourceMappingURL=drawer-BcgvPugV.cjs.js.map
1
+ "use strict";const r=require("react/jsx-runtime"),w=require("react"),T=require("./Dialog-flHBRP1h.cjs.js"),g=require("@chakra-ui/react/styled-system"),S=require("./index-DdyUbTzB.cjs.js"),q=require("./Button-DLCecw8f.cjs.js"),P=require("./extract-style-props-DGdckd6P.cjs.js"),j=require("./Modal-mFYEMNT-.cjs.js"),N=require("./heading-DWweWKGQ.cjs.js"),O=require("@commercetools/nimbus-icons"),R=require("react-intl"),B=require("./icon-button-BPzrehNJ.cjs.js"),{withProvider:H,withContext:n}=g.createSlotRecipeContext({recipe:S.drawerSlotRecipe}),I=H("div","root"),M=n("button","trigger"),F=n("div","modalOverlay"),E=n("div","modal"),V=n("div","content"),k=n("header","header"),z=n("div","body"),A=n("footer","footer"),K=n("h2","title"),L=n("div","closeTrigger"),$=w.createContext(void 0),G=()=>{const e=w.useContext($);if(!e)throw new Error("useDrawerContext must be used within Drawer.Root");return e},J=({children:e,value:t})=>r.jsx($,{value:t,children:e}),D=e=>{const t=g.useSlotRecipe({recipe:S.drawerSlotRecipe}),[s]=t.splitVariantProps(e),{children:o,isOpen:a,onOpenChange:i,defaultOpen:u=!1}=e,l=r.jsx(I,{...s,children:o}),f=w.Children.toArray(o).some(c=>{if(w.isValidElement(c)&&typeof c.type=="function"){const d=c.type?.displayName;return d==="DrawerTrigger"||d==="Drawer.Trigger"}return!1});return r.jsx(J,{value:e,children:f?r.jsx(T.$de32f1b87079253c$export$2e1e1122cf0cba88,{isOpen:a,onOpenChange:i,defaultOpen:u,children:l}):l})};D.displayName="Drawer.Root";const p=({ref:e,children:t,asChild:s,...o})=>{if(s)return r.jsx(g.chakra.button,{ref:e,asChild:!0,...o,children:t});const[a,i]=P.extractStyleProps(o);return r.jsx(M,{...a,asChild:!0,children:r.jsx(q.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{ref:e,...i,children:t})})};p.displayName="Drawer.Trigger";const x=e=>{const{ref:t,children:s,...o}=e,{defaultOpen:a,isDismissable:i,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:l,isOpen:f,onOpenChange:c}=G(),d={defaultOpen:a,isDismissable:i,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:l,isOpen:f,onOpenChange:c},[v]=P.extractStyleProps(o);return r.jsx(F,{asChild:!0,children:r.jsx(j.$f3f84453ead64de5$export$8948f78d83984c69,{...d,children:r.jsx(E,{asChild:!0,children:r.jsx(j.$f3f84453ead64de5$export$2b77a92f1a5ad772,{children:r.jsx(V,{asChild:!0,...v,children:r.jsx(T.$de32f1b87079253c$export$3ddf2d174ce01153,{ref:t,children:s})})})})})})};x.displayName="Drawer.Content";const h=e=>{const{ref:t,children:s,...o}=e;return r.jsx(k,{ref:t,...o,children:s})};h.displayName="Drawer.Header";const y=e=>{const{ref:t,children:s,...o}=e,a={tabIndex:0};return r.jsx(z,{ref:t,...a,...o,children:s})};y.displayName="Drawer.Body";const C=e=>{const{ref:t,children:s,...o}=e;return r.jsx(A,{ref:t,...o,children:s})};C.displayName="Drawer.Footer";const b=e=>{const{ref:t,children:s,...o}=e;return r.jsx(K,{asChild:!0,...o,children:r.jsx(N.Heading,{ref:t,slot:"title",as:"h2",textStyle:"lg",children:s})})};b.displayName="Drawer.Title";const Q=R.defineMessages({closeTrigger:{id:"Nimbus.Drawer.closeTrigger",description:"aria-label for the default close trigger button",defaultMessage:"Close drawer"}}),m=e=>{const{ref:t,"aria-label":s,...o}=e,a=R.useIntl();return r.jsx(L,{children:r.jsx(B.IconButton,{ref:t,slot:"close",size:"xs",variant:"ghost","aria-label":s||a.formatMessage(Q.closeTrigger),...o,children:r.jsx(O.Close,{})})})};m.displayName="Drawer.CloseTrigger";const U={Root:D,Trigger:p,Content:x,Header:h,Body:y,Footer:C,Title:b,CloseTrigger:m};exports.Drawer=U;exports.DrawerBody=y;exports.DrawerCloseTrigger=m;exports.DrawerContent=x;exports.DrawerFooter=C;exports.DrawerHeader=h;exports.DrawerRoot=D;exports.DrawerTitle=b;exports.DrawerTrigger=p;
2
+ //# sourceMappingURL=drawer-DZt4nA9C.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-BcgvPugV.cjs.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Drawer.Trigger - The trigger element that opens the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\n/**\n * Drawer.Content - The main drawer content container\n *\n * @supportsStyleProps\n */\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\n/**\n * Drawer.Header - The header section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\n/**\n * Drawer.Body - The main body content section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\n/**\n * Drawer.Footer - The footer section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Drawer.Title - The accessible title element for the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Drawer.CloseTrigger - A button that closes the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","defaultProps","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"6cAMM,CAAE,aAAAA,EAAc,YAAAC,CAAA,EAAgBC,0BAAwB,CAC5D,OAAQC,EAAAA,gBACV,CAAC,EAIYC,EAAiBJ,EAC5B,MACA,MACF,EAIaK,EAAoBJ,EAG/B,SAAU,SAAS,EAIRK,EAAyBL,EAGpC,MAAO,cAAc,EAIVM,EAAkBN,EAG7B,MAAO,OAAO,EAIHO,EAAoBP,EAG/B,MAAO,SAAS,EAILQ,EAAmBR,EAC9B,SACA,QACF,EAIaS,EAAiBT,EAC5B,MACA,MACF,EAIaU,EAAmBV,EAC9B,SACA,QACF,EAIaW,EAAkBX,EAG7B,KAAM,OAAO,EAIFY,EAAyBZ,EAGpC,MAAO,cAAc,ECtEVa,EAAgBC,EAAAA,cAC3B,MACF,EAOaC,EAAuB,IAA0B,CAC5D,MAAMC,EAAUC,EAAAA,WAAWJ,CAAa,EACxC,GAAI,CAACG,EACH,MAAM,IAAI,MAAM,kDAAkD,EAEpE,OAAOA,CACT,EAKaE,EAAiB,CAAC,CAC7B,SAAAC,EACA,MAAAC,CACF,IAISC,EAAAA,IAACR,EAAA,CAAc,MAAAO,EAAe,SAAAD,CAAA,CAAS,EC3BnCG,EAAcC,GAA2B,CACpD,MAAMC,EAASC,EAAAA,cAAc,CAAE,OAAQvB,EAAAA,iBAAkB,EAEnD,CAACwB,CAAW,EAAIF,EAAO,kBAAkBD,CAAK,EAE9C,CAAE,SAAAJ,EAAU,OAAAQ,EAAQ,aAAAC,EAAc,YAAAC,EAAc,IAAUN,EAE1DO,EAAUT,EAAAA,IAAClB,EAAA,CAAgB,GAAGuB,EAAc,SAAAP,EAAS,EAIrDY,EAAmBC,EAAM,SAAS,QAAQb,CAAQ,EAAE,KAAMc,GAAU,CACxE,GAAID,EAAM,eAAeC,CAAK,GAAK,OAAOA,EAAM,MAAS,WAAY,CACnE,MAAMC,EACJD,EAAM,MACL,YACH,OACEC,IAAgB,iBAAmBA,IAAgB,gBAEvD,CACA,MAAO,EACT,CAAC,EAGD,OACEb,EAAAA,IAACH,EAAA,CAAe,MAAOK,EACpB,SAAAQ,EAECV,EAAAA,IAACc,EAAAA,0CAAA,CACC,OAAAR,EACA,aAAAC,EACA,YAAAC,EAEC,SAAAC,CAAA,CAAA,EAIHA,EAEJ,CAEJ,EAEAR,EAAW,YAAc,cCxClB,MAAMc,EAAgB,CAAC,CAC5B,IAAKC,EACL,SAAAlB,EACA,QAAAmB,EACA,GAAGf,CACL,IAA0B,CAExB,GAAIe,EACF,OACEjB,MAACkB,EAAAA,OAAO,OAAP,CAAc,IAAKF,EAAc,QAAO,GAAE,GAAGd,EAC3C,SAAAJ,CAAA,CACH,EAIJ,KAAM,CAACqB,EAAYC,CAAS,EAAIC,EAAAA,kBAAkBnB,CAAK,EAIvD,OACEF,EAAAA,IAACjB,EAAA,CAAmB,GAAGoC,EAAY,QAAO,GACxC,SAAAnB,EAAAA,IAACsB,EAAAA,0CAAA,CAAS,IAAKN,EAAe,GAAGI,EAC9B,SAAAtB,EACH,EACF,CAEJ,EAEAiB,EAAc,YAAc,iBCpBrB,MAAMQ,EAAiBrB,GAA8B,CAC1D,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAGhD,CACJ,YAAAM,EACA,cAAAgB,EACA,0BAAAC,EACA,6BAAAC,EACA,OAAApB,EACA,aAAAC,CAAA,EACEb,EAAA,EAEEiC,EAAa,CACjB,YAAAnB,EACA,cAAAgB,EACA,0BAAAC,EACA,6BAAAC,EACA,OAAApB,EACA,aAAAC,CAAA,EAGI,CAACY,CAAU,EAAIE,EAAAA,kBAAkBD,CAAS,EAEhD,OACEpB,EAAAA,IAAChB,EAAA,CAAuB,QAAO,GAC7B,SAAAgB,EAAAA,IAAC4B,4CAAA,CAAgB,GAAGD,EAClB,SAAA3B,EAAAA,IAACf,EAAA,CAAgB,QAAO,GACtB,SAAAe,EAAAA,IAAC6B,EAAAA,0CAAA,CACC,SAAA7B,EAAAA,IAACd,EAAA,CAAkB,QAAO,GAAE,GAAGiC,EAC7B,SAAAnB,MAAC8B,EAAAA,0CAAA,CAAS,IAAKd,EAAe,SAAAlB,EAAS,CAAA,CACzC,CAAA,CACF,CAAA,CACF,EACF,EACF,CAEJ,EAEAyB,EAAc,YAAc,iBClDrB,MAAMQ,EAAgB7B,GAA6B,CACxD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEtD,aACGf,EAAA,CAAiB,IAAK6B,EAAe,GAAGI,EACtC,SAAAtB,EACH,CAEJ,EAEAiC,EAAa,YAAc,gBCVpB,MAAMC,EAAc9B,GAA2B,CACpD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEhD+B,EAAe,CAKnB,SAAU,CAAA,EAGZ,OACEjC,EAAAA,IAACZ,GAAe,IAAK4B,EAAe,GAAGiB,EAAe,GAAGb,EACtD,SAAAtB,EACH,CAEJ,EAEAkC,EAAW,YAAc,cClBlB,MAAME,EAAgBhC,GAA6B,CACxD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEtD,aACGb,EAAA,CAAiB,IAAK2B,EAAe,GAAGI,EACtC,SAAAtB,EACH,CAEJ,EAEAoC,EAAa,YAAc,gBCTpB,MAAMC,EAAejC,GAA4B,CACtD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEtD,aACGZ,EAAA,CAAgB,QAAO,GAAE,GAAG8B,EAC3B,SAAApB,EAAAA,IAACoC,UAAA,CAAQ,IAAKpB,EAAc,KAAK,QAAQ,GAAG,KAAK,UAAU,KACxD,SAAAlB,EACH,EACF,CAEJ,EAEAqC,EAAY,YAAc,eCnBnB,MAAME,EAAWC,EAAAA,eAAe,CACrC,aAAc,CACZ,GAAI,6BACJ,YAAa,kDACb,eAAgB,cAAA,CAEpB,CAAC,ECIYC,EAAsBrC,GAAmC,CACpE,KAAM,CAAE,IAAKc,EAAc,aAAcwB,EAAW,GAAGpB,GAAclB,EAC/DuC,EAAOC,EAAAA,QAAA,EAEb,aACGnD,EAAA,CACC,SAAAS,EAAAA,IAAC2C,EAAAA,WAAA,CACC,IAAK3B,EACL,KAAK,QACL,KAAK,KACL,QAAQ,QACR,aAAYwB,GAAaC,EAAK,cAAcJ,EAAS,YAAY,EAChE,GAAGjB,EAEJ,eAACwB,EAAAA,MAAA,CAAA,CAAM,CAAA,CAAA,EAEX,CAEJ,EAEAL,EAAmB,YAAc,sBCY1B,MAAMM,EAAS,CAuBpB,KAAM5C,EAeN,QAASc,EAwBT,QAASQ,EAkBT,OAAQQ,EAkBR,KAAMC,EAmBN,OAAQE,EAiBR,MAAOC,EAwBP,aAAcI,CAChB"}
1
+ {"version":3,"file":"drawer-DZt4nA9C.cjs.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Drawer.Trigger - The trigger element that opens the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\n/**\n * Drawer.Content - The main drawer content container\n *\n * @supportsStyleProps\n */\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\n/**\n * Drawer.Header - The header section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\n/**\n * Drawer.Body - The main body content section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\n/**\n * Drawer.Footer - The footer section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Drawer.Title - The accessible title element for the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Drawer.CloseTrigger - A button that closes the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","defaultProps","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import w, { useContext as S, createContext as R } from "react";
3
- import { k as v, h as N } from "./Dialog-BYVU-i0Y.es.js";
3
+ import { k as v, h as N } from "./Dialog-DcnmO0xr.es.js";
4
4
  import { createSlotRecipeContext as O, useSlotRecipe as H, chakra as B } from "@chakra-ui/react/styled-system";
5
- import { k as m } from "./index-CmfW40Im.es.js";
6
- import { a as I } from "./Button-CmpJG0ec.es.js";
7
- import { e as g } from "./extract-style-props-CJjpdqym.es.js";
8
- import { $ as M, a as F } from "./Modal-2TttSPy4.es.js";
9
- import { H as k } from "./heading-CwsT9zp_.es.js";
5
+ import { k as m } from "./index-CqOsUykV.es.js";
6
+ import { a as I } from "./Button-BjcDZ5eb.es.js";
7
+ import { e as g } from "./extract-style-props-CIoUvqFb.es.js";
8
+ import { $ as M, a as F } from "./Modal-3QPNDzpi.es.js";
9
+ import { H as k } from "./heading-nfjoR4vL.es.js";
10
10
  import { Close as E } from "@commercetools/nimbus-icons";
11
11
  import { defineMessages as V, useIntl as _ } from "react-intl";
12
- import { I as j } from "./icon-button-Cnas4bnJ.es.js";
12
+ import { I as j } from "./icon-button-hZxuTfRy.es.js";
13
13
  const { withProvider: z, withContext: s } = /* @__PURE__ */ O({
14
14
  recipe: m
15
15
  }), A = /* @__PURE__ */ z(
@@ -309,4 +309,4 @@ export {
309
309
  T as g,
310
310
  $ as h
311
311
  };
312
- //# sourceMappingURL=drawer-ByFci-Lp.es.js.map
312
+ //# sourceMappingURL=drawer-YCoDb7TU.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-ByFci-Lp.es.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Drawer.Trigger - The trigger element that opens the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\n/**\n * Drawer.Content - The main drawer content container\n *\n * @supportsStyleProps\n */\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\n/**\n * Drawer.Header - The header section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\n/**\n * Drawer.Body - The main body content section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\n/**\n * Drawer.Footer - The footer section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Drawer.Title - The accessible title element for the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Drawer.CloseTrigger - A button that closes the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"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"}
1
+ {"version":3,"file":"drawer-YCoDb7TU.es.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Drawer.Trigger - The trigger element that opens the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\n/**\n * Drawer.Content - The main drawer content container\n *\n * @supportsStyleProps\n */\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\n/**\n * Drawer.Header - The header section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\n/**\n * Drawer.Body - The main body content section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\n/**\n * Drawer.Footer - The footer section of the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Drawer.Title - The accessible title element for the drawer\n *\n * @supportsStyleProps\n */\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Drawer.CloseTrigger - A button that closes the drawer when activated\n *\n * @supportsStyleProps\n */\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { s } from "./index-CmfW40Im.es.js";
1
+ import { s } from "./index-CqOsUykV.es.js";
2
2
  function a(e) {
3
3
  const r = {}, o = { ...e };
4
4
  return Object.keys(e).forEach((t) => {
@@ -8,4 +8,4 @@ function a(e) {
8
8
  export {
9
9
  a as e
10
10
  };
11
- //# sourceMappingURL=extract-style-props-CJjpdqym.es.js.map
11
+ //# sourceMappingURL=extract-style-props-CIoUvqFb.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-style-props-CJjpdqym.es.js","sources":["../../src/utils/extract-style-props.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":";AAOO,SAASA,EACdC,GAC4C;AAC5C,QAAMC,IAAsC,CAAA,GACtCC,IAAa,EAAE,GAAGF,EAAA;AAGxB,gBAAO,KAAKA,CAAK,EAAE,QAAQ,CAACG,MAAQ;AAClC,IACE,OAAO,UAAU,eAAe,KAAKH,GAAOG,CAAG,KAC/CC,EAAO,gBAAgBD,CAAG,MAE1BF,EAAWE,CAAG,IAAIH,EAAMG,CAAc,GACtC,OAAOD,EAAWC,CAAG;AAAA,EAEzB,CAAC,GAEM,CAACF,GAAYC,CAA6B;AACnD;"}
1
+ {"version":3,"file":"extract-style-props-CIoUvqFb.es.js","sources":["../../src/utils/extract-style-props.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":";AAOO,SAASA,EACdC,GAC4C;AAC5C,QAAMC,IAAsC,CAAA,GACtCC,IAAa,EAAE,GAAGF,EAAA;AAGxB,gBAAO,KAAKA,CAAK,EAAE,QAAQ,CAACG,MAAQ;AAClC,IACE,OAAO,UAAU,eAAe,KAAKH,GAAOG,CAAG,KAC/CC,EAAO,gBAAgBD,CAAG,MAE1BF,EAAWE,CAAG,IAAIH,EAAMG,CAAc,GACtC,OAAOD,EAAWC,CAAG;AAAA,EAEzB,CAAC,GAEM,CAACF,GAAYC,CAA6B;AACnD;"}
@@ -1,2 +1,2 @@
1
- "use strict";const c=require("./index-DIQn6o2R.cjs.js");function o(e){const r={},s={...e};return Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)&&c.system.isValidProperty(t)&&(r[t]=e[t],delete s[t])}),[r,s]}exports.extractStyleProps=o;
2
- //# sourceMappingURL=extract-style-props-DL4zPQSN.cjs.js.map
1
+ "use strict";const c=require("./index-DdyUbTzB.cjs.js");function o(e){const r={},s={...e};return Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)&&c.system.isValidProperty(t)&&(r[t]=e[t],delete s[t])}),[r,s]}exports.extractStyleProps=o;
2
+ //# sourceMappingURL=extract-style-props-DGdckd6P.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-style-props-DL4zPQSN.cjs.js","sources":["../../src/utils/extract-style-props.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":"wDAOO,SAASA,EACdC,EAC4C,CAC5C,MAAMC,EAAsC,CAAA,EACtCC,EAAa,CAAE,GAAGF,CAAA,EAGxB,cAAO,KAAKA,CAAK,EAAE,QAASG,GAAQ,CAEhC,OAAO,UAAU,eAAe,KAAKH,EAAOG,CAAG,GAC/CC,EAAAA,OAAO,gBAAgBD,CAAG,IAE1BF,EAAWE,CAAG,EAAIH,EAAMG,CAAc,EACtC,OAAOD,EAAWC,CAAG,EAEzB,CAAC,EAEM,CAACF,EAAYC,CAA6B,CACnD"}
1
+ {"version":3,"file":"extract-style-props-DGdckd6P.cjs.js","sources":["../../src/utils/extract-style-props.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":"wDAOO,SAASA,EACdC,EAC4C,CAC5C,MAAMC,EAAsC,CAAA,EACtCC,EAAa,CAAE,GAAGF,CAAA,EAGxB,cAAO,KAAKA,CAAK,EAAE,QAASG,GAAQ,CAEhC,OAAO,UAAU,eAAe,KAAKH,EAAOG,CAAG,GAC/CC,EAAAA,OAAO,gBAAgBD,CAAG,IAE1BF,EAAWE,CAAG,EAAIH,EAAMG,CAAc,EACtC,OAAOD,EAAWC,CAAG,EAEzB,CAAC,EAEM,CAACF,EAAYC,CAA6B,CACnD"}
@@ -1,5 +1,5 @@
1
- import { b as d } from "./useFocusVisible-Uw6yFmFY.es.js";
2
- import { $ as c, c as r } from "./utils-Bl-3nKLa.es.js";
1
+ import { b as d } from "./useFocusVisible-B3HmFL2Q.es.js";
2
+ import { a as c, d as r } from "./utils-oAGBWzI5.es.js";
3
3
  import { $ as a } from "./focusWithoutScrolling-CDw3JYiq.es.js";
4
4
  let t = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Set();
5
5
  function s() {
@@ -24,4 +24,4 @@ export {
24
24
  p as $,
25
25
  b as a
26
26
  };
27
- //# sourceMappingURL=focusSafely-RvsgqoUt.es.js.map
27
+ //# sourceMappingURL=focusSafely-Cwb0Tyy6.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focusSafely-RvsgqoUt.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+utils@3.31.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@react-aria/utils/dist/runAfterTransition.mjs","../../../../node_modules/.pnpm/@react-aria+interactions@3.25.6_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@react-aria/interactions/dist/focusSafely.mjs"],"sourcesContent":["/*\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.\nlet $bbed8b41f857bcc0$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $bbed8b41f857bcc0$var$transitionCallbacks = new Set();\nfunction $bbed8b41f857bcc0$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n function isTransitionEvent(event) {\n return 'propertyName' in event;\n }\n let onTransitionStart = (e)=>{\n if (!isTransitionEvent(e) || !e.target) return;\n // Add the transitioning property to the list for this element.\n let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!transitions) {\n transitions = new Set();\n $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, 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 e.target.addEventListener('transitioncancel', onTransitionEnd, {\n once: true\n });\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n if (!isTransitionEvent(e) || !e.target) return;\n // Remove property from list of transitioning properties.\n let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\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 e.target.removeEventListener('transitioncancel', onTransitionEnd);\n $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {\n for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks)cb();\n $bbed8b41f857bcc0$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') $bbed8b41f857bcc0$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $bbed8b41f857bcc0$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 $bbed8b41f857bcc0$var$cleanupDetachedElements() {\n for (const [eventTarget] of $bbed8b41f857bcc0$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) $bbed8b41f857bcc0$var$transitionsByElement.delete(eventTarget);\n}\nfunction $bbed8b41f857bcc0$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n $bbed8b41f857bcc0$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 ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();\n else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);\n });\n}\n\n\nexport {$bbed8b41f857bcc0$export$24490316f764c430 as runAfterTransition};\n//# sourceMappingURL=runAfterTransition.module.js.map\n","import {getInteractionModality as $507fabe10e71c6fb$export$630ff653c5ada6a9} from \"./useFocusVisible.mjs\";\nimport {getOwnerDocument as $k50bp$getOwnerDocument, getActiveElement as $k50bp$getActiveElement, runAfterTransition as $k50bp$runAfterTransition, focusWithoutScrolling as $k50bp$focusWithoutScrolling} from \"@react-aria/utils\";\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\nfunction $3ad3f6e1647bc98d$export$80f3e147d781571c(element) {\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, $k50bp$getOwnerDocument)(element);\n const activeElement = (0, $k50bp$getActiveElement)(ownerDocument);\n if ((0, $507fabe10e71c6fb$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = activeElement;\n (0, $k50bp$runAfterTransition)(()=>{\n // If focus did not move and the element is still in the document, focus it.\n if ((0, $k50bp$getActiveElement)(ownerDocument) === lastFocusedElement && element.isConnected) (0, $k50bp$focusWithoutScrolling)(element);\n });\n } else (0, $k50bp$focusWithoutScrolling)(element);\n}\n\n\nexport {$3ad3f6e1647bc98d$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=focusSafely.module.js.map\n"],"names":["$bbed8b41f857bcc0$var$transitionsByElement","$bbed8b41f857bcc0$var$transitionCallbacks","$bbed8b41f857bcc0$var$cleanupDetachedElements","eventTarget","$bbed8b41f857bcc0$export$24490316f764c430","fn","$3ad3f6e1647bc98d$export$80f3e147d781571c","element","ownerDocument","$k50bp$getOwnerDocument","activeElement","$k50bp$getActiveElement","$507fabe10e71c6fb$export$630ff653c5ada6a9","lastFocusedElement","$k50bp$runAfterTransition","$k50bp$focusWithoutScrolling"],"mappings":";;;AAgBA,IAAIA,IAA6C,oBAAI,IAAG,GAEpDC,IAA4C,oBAAI,IAAG;AAkDnD,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;ACnEA,SAASC,EAA0CC,GAAS;AAMxD,QAAMC,IAAoBC,EAAyBF,CAAO,GACpDG,IAAoBC,EAAyBH,CAAa;AAChE,MAAQI,EAAyC,MAAQ,WAAW;AAChE,QAAIC,IAAqBH;AACzB,IAAII,EAA2B,MAAI;AAE/B,MAAQH,EAAyBH,CAAa,MAAMK,KAAsBN,EAAQ,eAAiBQ,EAA8BR,CAAO;AAAA,IAC5I,CAAC;AAAA,EACL,MAAO,CAAIQ,EAA8BR,CAAO;AACpD;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"focusSafely-Cwb0Tyy6.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+utils@3.31.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@react-aria/utils/dist/runAfterTransition.mjs","../../../../node_modules/.pnpm/@react-aria+interactions@3.25.6_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@react-aria/interactions/dist/focusSafely.mjs"],"sourcesContent":["/*\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.\nlet $bbed8b41f857bcc0$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $bbed8b41f857bcc0$var$transitionCallbacks = new Set();\nfunction $bbed8b41f857bcc0$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n function isTransitionEvent(event) {\n return 'propertyName' in event;\n }\n let onTransitionStart = (e)=>{\n if (!isTransitionEvent(e) || !e.target) return;\n // Add the transitioning property to the list for this element.\n let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!transitions) {\n transitions = new Set();\n $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, 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 e.target.addEventListener('transitioncancel', onTransitionEnd, {\n once: true\n });\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n if (!isTransitionEvent(e) || !e.target) return;\n // Remove property from list of transitioning properties.\n let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\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 e.target.removeEventListener('transitioncancel', onTransitionEnd);\n $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {\n for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks)cb();\n $bbed8b41f857bcc0$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') $bbed8b41f857bcc0$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $bbed8b41f857bcc0$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 $bbed8b41f857bcc0$var$cleanupDetachedElements() {\n for (const [eventTarget] of $bbed8b41f857bcc0$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) $bbed8b41f857bcc0$var$transitionsByElement.delete(eventTarget);\n}\nfunction $bbed8b41f857bcc0$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n $bbed8b41f857bcc0$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 ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();\n else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);\n });\n}\n\n\nexport {$bbed8b41f857bcc0$export$24490316f764c430 as runAfterTransition};\n//# sourceMappingURL=runAfterTransition.module.js.map\n","import {getInteractionModality as $507fabe10e71c6fb$export$630ff653c5ada6a9} from \"./useFocusVisible.mjs\";\nimport {getOwnerDocument as $k50bp$getOwnerDocument, getActiveElement as $k50bp$getActiveElement, runAfterTransition as $k50bp$runAfterTransition, focusWithoutScrolling as $k50bp$focusWithoutScrolling} from \"@react-aria/utils\";\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\nfunction $3ad3f6e1647bc98d$export$80f3e147d781571c(element) {\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, $k50bp$getOwnerDocument)(element);\n const activeElement = (0, $k50bp$getActiveElement)(ownerDocument);\n if ((0, $507fabe10e71c6fb$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = activeElement;\n (0, $k50bp$runAfterTransition)(()=>{\n // If focus did not move and the element is still in the document, focus it.\n if ((0, $k50bp$getActiveElement)(ownerDocument) === lastFocusedElement && element.isConnected) (0, $k50bp$focusWithoutScrolling)(element);\n });\n } else (0, $k50bp$focusWithoutScrolling)(element);\n}\n\n\nexport {$3ad3f6e1647bc98d$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=focusSafely.module.js.map\n"],"names":["$bbed8b41f857bcc0$var$transitionsByElement","$bbed8b41f857bcc0$var$transitionCallbacks","$bbed8b41f857bcc0$var$cleanupDetachedElements","eventTarget","$bbed8b41f857bcc0$export$24490316f764c430","fn","$3ad3f6e1647bc98d$export$80f3e147d781571c","element","ownerDocument","$k50bp$getOwnerDocument","activeElement","$k50bp$getActiveElement","$507fabe10e71c6fb$export$630ff653c5ada6a9","lastFocusedElement","$k50bp$runAfterTransition","$k50bp$focusWithoutScrolling"],"mappings":";;;AAgBA,IAAIA,IAA6C,oBAAI,IAAG,GAEpDC,IAA4C,oBAAI,IAAG;AAkDnD,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;ACnEA,SAASC,EAA0CC,GAAS;AAMxD,QAAMC,IAAoBC,EAAyBF,CAAO,GACpDG,IAAoBC,EAAyBH,CAAa;AAChE,MAAQI,EAAyC,MAAQ,WAAW;AAChE,QAAIC,IAAqBH;AACzB,IAAII,EAA2B,MAAI;AAE/B,MAAQH,EAAyBH,CAAa,MAAMK,KAAsBN,EAAQ,eAAiBQ,EAA8BR,CAAO;AAAA,IAC5I,CAAC;AAAA,EACL,MAAO,CAAIQ,EAA8BR,CAAO;AACpD;","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react"),l=require("react/jsx-runtime"),E=require("@chakra-ui/react"),x=require("./Dialog-flHBRP1h.cjs.js"),P=require("@commercetools/nimbus-icons"),k=require("./useObjectRef-4v2MxSjQ.cjs.js"),w=require("./useField-lK6K_h1G.cjs.js"),F=require("./box-CWni3A32.cjs.js"),z=require("./icon-button-ClTyaPhB.cjs.js"),u=t.createContext({context:{label:null,description:null,error:null,info:null,input:null},setContext:()=>{}}),{withProvider:A,withContext:p}=E.createSlotRecipeContext({key:"formField"}),D=A("div","root"),V=p("div","label"),_=p("div","input"),H=p("div","description"),O=p("div","error"),G=p("div","popover"),f=function({ref:i,id:o,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d,children:v,...g}){const B=t.useRef(null),y=k.$df56164dff5785e2$export$4338b53315abf666(E.mergeRefs(B,i)),[e,S]=t.useState({label:null,description:null,error:null,info:null,input:null,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d}),I=t.useMemo(()=>{const s={id:o,description:e.description,errorMessage:e.error};return e.label?s.label=e.label:(s["aria-label"]="empty-label",s["aria-labelledby"]="empty-label"),s},[o,e.description,e.error,e.label]),{labelProps:N,fieldProps:$,descriptionProps:M,errorMessageProps:L}=w.$2baaea4c71418dea$export$294aa081a6c6f55d(I);t.useEffect(()=>{S(s=>({...s,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d}))},[r,c,a,d]);const R=t.useMemo(()=>({...$,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d}),[$,r,c,a,d]),q=t.useMemo(()=>({context:e,setContext:S}),[e]);return l.jsx(u.Provider,{value:q,children:l.jsxs(D,{ref:y,...g,children:[e.label&&l.jsxs(V,{...e.labelSlotProps,children:[l.jsxs("label",{...N,children:[e.label,c&&l.jsx("sup",{"aria-hidden":"true",children:"*"})]}),e.info&&l.jsxs(x.$de32f1b87079253c$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(z.IconButton,{"aria-label":"__MORE INFO",size:"2xs",colorPalette:"info",variant:"link",children:l.jsx(P.HelpOutline,{})})})}),l.jsx(x.$07b14b47974efb58$export$5b6b19405a83ff9d,{children:l.jsx(G,{asChild:!0,children:l.jsx(x.$de32f1b87079253c$export$3ddf2d174ce01153,{children:l.jsx(F.Box,{p:"300",children:e.info})})})})]})]}),e.input&&l.jsx(_,{...e.inputSlotProps,children:t.Children.map(e.input,s=>t.isValidElement(s)?t.cloneElement(s,R):s)}),e.description&&l.jsx(H,{...M,...e.descriptionSlotProps,children:e.description}),r&&e.error&&l.jsxs(O,{...L,...e.errorSlotProps,children:[l.jsx(F.Box,{as:P.ErrorOutline,display:"inline-flex",boxSize:"400",verticalAlign:"text-bottom",mr:"100",alignSelf:"center"}),e.error]}),v]})})};f.displayName="FormField.Root";const m=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>(o(r=>({...r,label:n,labelSlotProps:i})),()=>{o(r=>({...r,label:null,labelSlotProps:void 0}))}),[n,o]),null};m.displayName="FormField.Label";const b=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>{o(r=>({...r,input:n,inputSlotProps:i}))},[n,o]),null};b.displayName="FormField.Input";const h=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>(o(r=>({...r,description:n,descriptionSlotProps:i})),()=>{o(r=>({...r,description:null,descriptionSlotProps:void 0}))}),[n,o]),null};h.displayName="FormField.Description";const j=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>(o(r=>({...r,error:n,errorSlotProps:i})),()=>{o(r=>({...r,error:null,errorSlotProps:void 0}))}),[n,o]),null};j.displayName="FormField.Error";const C=({children:n})=>{const{setContext:i}=t.useContext(u);return t.useEffect(()=>(i(o=>({...o,info:n})),()=>{i(o=>({...o,info:null}))}),[n,i]),null};C.displayName="FormField.InfoBox";const J={Root:f,Label:m,Input:b,Description:h,Error:j,InfoBox:C};exports.FormField=J;exports.FormFieldDescription=h;exports.FormFieldError=j;exports.FormFieldInfoBox=C;exports.FormFieldInput=b;exports.FormFieldLabel=m;exports.FormFieldRoot=f;
2
- //# sourceMappingURL=form-field-D36wdkEj.cjs.js.map
1
+ "use strict";const t=require("react"),l=require("react/jsx-runtime"),E=require("@chakra-ui/react"),x=require("./Dialog-flHBRP1h.cjs.js"),P=require("@commercetools/nimbus-icons"),k=require("./useObjectRef-4v2MxSjQ.cjs.js"),w=require("./useField-lK6K_h1G.cjs.js"),F=require("./box-CWni3A32.cjs.js"),z=require("./icon-button-BPzrehNJ.cjs.js"),u=t.createContext({context:{label:null,description:null,error:null,info:null,input:null},setContext:()=>{}}),{withProvider:A,withContext:p}=E.createSlotRecipeContext({key:"formField"}),D=A("div","root"),V=p("div","label"),_=p("div","input"),H=p("div","description"),O=p("div","error"),G=p("div","popover"),f=function({ref:i,id:o,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d,children:v,...g}){const B=t.useRef(null),y=k.$df56164dff5785e2$export$4338b53315abf666(E.mergeRefs(B,i)),[e,S]=t.useState({label:null,description:null,error:null,info:null,input:null,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d}),I=t.useMemo(()=>{const s={id:o,description:e.description,errorMessage:e.error};return e.label?s.label=e.label:(s["aria-label"]="empty-label",s["aria-labelledby"]="empty-label"),s},[o,e.description,e.error,e.label]),{labelProps:N,fieldProps:$,descriptionProps:M,errorMessageProps:L}=w.$2baaea4c71418dea$export$294aa081a6c6f55d(I);t.useEffect(()=>{S(s=>({...s,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d}))},[r,c,a,d]);const R=t.useMemo(()=>({...$,isInvalid:r,isRequired:c,isDisabled:a,isReadOnly:d}),[$,r,c,a,d]),q=t.useMemo(()=>({context:e,setContext:S}),[e]);return l.jsx(u.Provider,{value:q,children:l.jsxs(D,{ref:y,...g,children:[e.label&&l.jsxs(V,{...e.labelSlotProps,children:[l.jsxs("label",{...N,children:[e.label,c&&l.jsx("sup",{"aria-hidden":"true",children:"*"})]}),e.info&&l.jsxs(x.$de32f1b87079253c$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(z.IconButton,{"aria-label":"__MORE INFO",size:"2xs",colorPalette:"info",variant:"link",children:l.jsx(P.HelpOutline,{})})})}),l.jsx(x.$07b14b47974efb58$export$5b6b19405a83ff9d,{children:l.jsx(G,{asChild:!0,children:l.jsx(x.$de32f1b87079253c$export$3ddf2d174ce01153,{children:l.jsx(F.Box,{p:"300",children:e.info})})})})]})]}),e.input&&l.jsx(_,{...e.inputSlotProps,children:t.Children.map(e.input,s=>t.isValidElement(s)?t.cloneElement(s,R):s)}),e.description&&l.jsx(H,{...M,...e.descriptionSlotProps,children:e.description}),r&&e.error&&l.jsxs(O,{...L,...e.errorSlotProps,children:[l.jsx(F.Box,{as:P.ErrorOutline,display:"inline-flex",boxSize:"400",verticalAlign:"text-bottom",mr:"100",alignSelf:"center"}),e.error]}),v]})})};f.displayName="FormField.Root";const m=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>(o(r=>({...r,label:n,labelSlotProps:i})),()=>{o(r=>({...r,label:null,labelSlotProps:void 0}))}),[n,o]),null};m.displayName="FormField.Label";const b=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>{o(r=>({...r,input:n,inputSlotProps:i}))},[n,o]),null};b.displayName="FormField.Input";const h=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>(o(r=>({...r,description:n,descriptionSlotProps:i})),()=>{o(r=>({...r,description:null,descriptionSlotProps:void 0}))}),[n,o]),null};h.displayName="FormField.Description";const j=({children:n,...i})=>{const{setContext:o}=t.useContext(u);return t.useEffect(()=>(o(r=>({...r,error:n,errorSlotProps:i})),()=>{o(r=>({...r,error:null,errorSlotProps:void 0}))}),[n,o]),null};j.displayName="FormField.Error";const C=({children:n})=>{const{setContext:i}=t.useContext(u);return t.useEffect(()=>(i(o=>({...o,info:n})),()=>{i(o=>({...o,info:null}))}),[n,i]),null};C.displayName="FormField.InfoBox";const J={Root:f,Label:m,Input:b,Description:h,Error:j,InfoBox:C};exports.FormField=J;exports.FormFieldDescription=h;exports.FormFieldError=j;exports.FormFieldInfoBox=C;exports.FormFieldInput=b;exports.FormFieldLabel=m;exports.FormFieldRoot=f;
2
+ //# sourceMappingURL=form-field-CozKmli4.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-D36wdkEj.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 FormFieldInputSlotProps,\n FormFieldLabelSlotProps,\n} from \"../form-field.types\";\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n input: ReactNode;\n inputSlotProps?: FormFieldInputSlotProps;\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};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n input: null,\n },\n setContext: () => {},\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\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: \"formField\",\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 {\n Children,\n cloneElement,\n isValidElement,\n useEffect,\n useMemo,\n useState,\n useRef,\n} from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField, useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"./form-field.context\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldInputSlot,\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 input: 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(() => ({ context, setContext }), [context]);\n\n return (\n <FormFieldContext.Provider value={contextValue}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps}>\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.input && (\n <FormFieldInputSlot {...context.inputSlotProps}>\n {Children.map(context.input, (child) => {\n // Important: Check if the child is a valid React element before cloning.\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n // If it's not a valid element (e.g., text node, null, undefined), return it as is.\n return child;\n })}\n </FormFieldInputSlot>\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 verticalAlign=\"text-bottom\"\n mr=\"100\"\n alignSelf=\"center\"\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 }, [children, setContext]);\n\n return null;\n};\n\nFormFieldLabel.displayName = \"FormField.Label\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldInputSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Input - The input wrapper element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n input: children,\n inputSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\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 }, [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 }, [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","Children","child","isValidElement","cloneElement","ErrorOutline","FormFieldLabel","labelSlotProps","useContext","FormFieldInput","inputSlotProps","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField"],"mappings":"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"}
1
+ {"version":3,"file":"form-field-CozKmli4.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 FormFieldInputSlotProps,\n FormFieldLabelSlotProps,\n} from \"../form-field.types\";\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n input: ReactNode;\n inputSlotProps?: FormFieldInputSlotProps;\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};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n input: null,\n },\n setContext: () => {},\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\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: \"formField\",\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 {\n Children,\n cloneElement,\n isValidElement,\n useEffect,\n useMemo,\n useState,\n useRef,\n} from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField, useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"./form-field.context\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldInputSlot,\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 input: 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(() => ({ context, setContext }), [context]);\n\n return (\n <FormFieldContext.Provider value={contextValue}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps}>\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.input && (\n <FormFieldInputSlot {...context.inputSlotProps}>\n {Children.map(context.input, (child) => {\n // Important: Check if the child is a valid React element before cloning.\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n // If it's not a valid element (e.g., text node, null, undefined), return it as is.\n return child;\n })}\n </FormFieldInputSlot>\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 verticalAlign=\"text-bottom\"\n mr=\"100\"\n alignSelf=\"center\"\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 }, [children, setContext]);\n\n return null;\n};\n\nFormFieldLabel.displayName = \"FormField.Label\";\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"./form-field.context\";\nimport type { FormFieldInputSlotProps } from \"../form-field.types\";\n\n/**\n * FormField.Input - The input wrapper element for the form field\n *\n * @supportsStyleProps\n */\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n input: children,\n inputSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\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 }, [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 }, [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","Children","child","isValidElement","cloneElement","ErrorOutline","FormFieldLabel","labelSlotProps","useContext","FormFieldInput","inputSlotProps","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField"],"mappings":"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"}