@commercetools/nimbus 0.0.0-canary-20251203094041 → 0.0.0-canary-20251203100409

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-BjcDZ5eb.es.js → Button-CmpJG0ec.es.js} +7 -7
  2. package/dist/chunks/{Button-BjcDZ5eb.es.js.map → Button-CmpJG0ec.es.js.map} +1 -1
  3. package/dist/chunks/{CollectionBuilder-BnYe2z4W.es.js → CollectionBuilder-BqQjeKfi.es.js} +2 -2
  4. package/dist/chunks/{CollectionBuilder-BnYe2z4W.es.js.map → CollectionBuilder-BqQjeKfi.es.js.map} +1 -1
  5. package/dist/chunks/{DateField-C5JgBb30.es.js → DateField-Bpk0AwB2.es.js} +21 -21
  6. package/dist/chunks/{DateField-C5JgBb30.es.js.map → DateField-Bpk0AwB2.es.js.map} +1 -1
  7. package/dist/chunks/{DatePicker-9m2POezC.es.js → DatePicker-CUW1A5A8.es.js} +17 -17
  8. package/dist/chunks/{DatePicker-9m2POezC.es.js.map → DatePicker-CUW1A5A8.es.js.map} +1 -1
  9. package/dist/chunks/{Dialog-DcnmO0xr.es.js → Dialog-BYVU-i0Y.es.js} +24 -24
  10. package/dist/chunks/{Dialog-DcnmO0xr.es.js.map → Dialog-BYVU-i0Y.es.js.map} +1 -1
  11. package/dist/chunks/{FocusScope-CqEZq7sr.es.js → FocusScope-bj_mamFe.es.js} +36 -36
  12. package/dist/chunks/{FocusScope-CqEZq7sr.es.js.map → FocusScope-bj_mamFe.es.js.map} +1 -1
  13. package/dist/chunks/{Group-BQc9LuMT.es.js → Group-C9jsb9_m.es.js} +8 -8
  14. package/dist/chunks/{Group-BQc9LuMT.es.js.map → Group-C9jsb9_m.es.js.map} +1 -1
  15. package/dist/chunks/{Header-CliQVNVa.es.js → Header-CNoClAau.es.js} +5 -5
  16. package/dist/chunks/{Header-CliQVNVa.es.js.map → Header-CNoClAau.es.js.map} +1 -1
  17. package/dist/chunks/{Heading-D7Ut7eK3.es.js → Heading-D804NNml.es.js} +14 -14
  18. package/dist/chunks/{Heading-D7Ut7eK3.es.js.map → Heading-D804NNml.es.js.map} +1 -1
  19. package/dist/chunks/{Input-Cmg08oRP.es.js → Input-aKSXZBAh.es.js} +5 -5
  20. package/dist/chunks/{Input-Cmg08oRP.es.js.map → Input-aKSXZBAh.es.js.map} +1 -1
  21. package/dist/chunks/{Label-DIseLESi.es.js → Label-Bu5lTMzy.es.js} +2 -2
  22. package/dist/chunks/{Label-DIseLESi.es.js.map → Label-Bu5lTMzy.es.js.map} +1 -1
  23. package/dist/chunks/{ListBox-CcSs4yTw.es.js → ListBox-DYbGAoet.es.js} +15 -15
  24. package/dist/chunks/{ListBox-CcSs4yTw.es.js.map → ListBox-DYbGAoet.es.js.map} +1 -1
  25. package/dist/chunks/{Modal-3QPNDzpi.es.js → Modal-2TttSPy4.es.js} +7 -7
  26. package/dist/chunks/{Modal-3QPNDzpi.es.js.map → Modal-2TttSPy4.es.js.map} +1 -1
  27. package/dist/chunks/{OverlayArrow-BIjbCSXk.es.js → OverlayArrow-qm-lnjhS.es.js} +2 -2
  28. package/dist/chunks/{OverlayArrow-BIjbCSXk.es.js.map → OverlayArrow-qm-lnjhS.es.js.map} +1 -1
  29. package/dist/chunks/{ProgressBar-Dm2Ge45l.es.js → ProgressBar-DogfCeuX.es.js} +5 -5
  30. package/dist/chunks/{ProgressBar-Dm2Ge45l.es.js.map → ProgressBar-DogfCeuX.es.js.map} +1 -1
  31. package/dist/chunks/{SelectionManager-B0Cb1kHW.es.js → SelectionManager-CXicxYqF.es.js} +10 -10
  32. package/dist/chunks/{SelectionManager-B0Cb1kHW.es.js.map → SelectionManager-CXicxYqF.es.js.map} +1 -1
  33. package/dist/chunks/{Separator-DP89PKAS.es.js → Separator-WCa1iR4U.es.js} +4 -4
  34. package/dist/chunks/{Separator-DP89PKAS.es.js.map → Separator-WCa1iR4U.es.js.map} +1 -1
  35. package/dist/chunks/{TextArea-CXEdUjgW.es.js → TextArea-JHqAZ7HD.es.js} +5 -5
  36. package/dist/chunks/{TextArea-CXEdUjgW.es.js.map → TextArea-JHqAZ7HD.es.js.map} +1 -1
  37. package/dist/chunks/{ToggleButton-BqW-X6iJ.es.js → ToggleButton-B-feHlsu.es.js} +7 -7
  38. package/dist/chunks/{ToggleButton-BqW-X6iJ.es.js.map → ToggleButton-B-feHlsu.es.js.map} +1 -1
  39. package/dist/chunks/{VisuallyHidden-BLRzeMsq.es.js → VisuallyHidden-BIA5VRNP.es.js} +3 -3
  40. package/dist/chunks/{VisuallyHidden-BLRzeMsq.es.js.map → VisuallyHidden-BIA5VRNP.es.js.map} +1 -1
  41. package/dist/chunks/{accordion-qzbckNub.cjs.js → accordion-B978Ssd8.cjs.js} +2 -2
  42. package/dist/chunks/{accordion-qzbckNub.cjs.js.map → accordion-B978Ssd8.cjs.js.map} +1 -1
  43. package/dist/chunks/{accordion-BacJkt5n.es.js → accordion-_4Vtr930.es.js} +2 -2
  44. package/dist/chunks/{accordion-BacJkt5n.es.js.map → accordion-_4Vtr930.es.js.map} +1 -1
  45. package/dist/chunks/accordion.content-Bd2PESBz.cjs.js +2 -0
  46. package/dist/chunks/{accordion.content-Cslx-S6p.cjs.js.map → accordion.content-Bd2PESBz.cjs.js.map} +1 -1
  47. package/dist/chunks/{accordion.content-SFS_lHjk.es.js → accordion.content-YkB30Nl0.es.js} +24 -23
  48. package/dist/chunks/{accordion.content-SFS_lHjk.es.js.map → accordion.content-YkB30Nl0.es.js.map} +1 -1
  49. package/dist/chunks/{alert-D6ENEy8f.cjs.js → alert-55tm3vfU.cjs.js} +2 -2
  50. package/dist/chunks/{alert-D6ENEy8f.cjs.js.map → alert-55tm3vfU.cjs.js.map} +1 -1
  51. package/dist/chunks/{alert-CoJ8asOZ.es.js → alert-_J_dHFj_.es.js} +2 -2
  52. package/dist/chunks/{alert-CoJ8asOZ.es.js.map → alert-_J_dHFj_.es.js.map} +1 -1
  53. package/dist/chunks/badge-DUiqk6w9.es.js +17 -0
  54. package/dist/chunks/{badge-CgYpum7D.es.js.map → badge-DUiqk6w9.es.js.map} +1 -1
  55. package/dist/chunks/{button-CxL9YuuF.cjs.js → button-CvWz8q1N.cjs.js} +2 -2
  56. package/dist/chunks/{button-CxL9YuuF.cjs.js.map → button-CvWz8q1N.cjs.js.map} +1 -1
  57. package/dist/chunks/{button-DZew_Si4.es.js → button-DTxnOPiN.es.js} +6 -6
  58. package/dist/chunks/{button-DZew_Si4.es.js.map → button-DTxnOPiN.es.js.map} +1 -1
  59. package/dist/chunks/{calendar-CDVjB0zo.es.js → calendar-C0WVsTa4.es.js} +9 -9
  60. package/dist/chunks/{calendar-CDVjB0zo.es.js.map → calendar-C0WVsTa4.es.js.map} +1 -1
  61. package/dist/chunks/{calendar-Dx5LLOml.cjs.js → calendar-CMCE8As1.cjs.js} +2 -2
  62. package/dist/chunks/{calendar-Dx5LLOml.cjs.js.map → calendar-CMCE8As1.cjs.js.map} +1 -1
  63. package/dist/chunks/{card-DB6gUcAw.cjs.js → card-D9xReN37.cjs.js} +2 -2
  64. package/dist/chunks/{card-DB6gUcAw.cjs.js.map → card-D9xReN37.cjs.js.map} +1 -1
  65. package/dist/chunks/{card-ydiSozha.es.js → card-DSxEwCmQ.es.js} +2 -2
  66. package/dist/chunks/{card-ydiSozha.es.js.map → card-DSxEwCmQ.es.js.map} +1 -1
  67. package/dist/chunks/{checkbox-fwmjQ4Uk.cjs.js → checkbox-CdXKptM4.cjs.js} +2 -2
  68. package/dist/chunks/{checkbox-fwmjQ4Uk.cjs.js.map → checkbox-CdXKptM4.cjs.js.map} +1 -1
  69. package/dist/chunks/{checkbox-DuPKJsWQ.es.js → checkbox-DMpI_oaX.es.js} +10 -10
  70. package/dist/chunks/{checkbox-DuPKJsWQ.es.js.map → checkbox-DMpI_oaX.es.js.map} +1 -1
  71. package/dist/chunks/{collapsible-motion-BiF9lLAN.cjs.js → collapsible-motion-CA8uQuKZ.cjs.js} +2 -2
  72. package/dist/chunks/{collapsible-motion-BiF9lLAN.cjs.js.map → collapsible-motion-CA8uQuKZ.cjs.js.map} +1 -1
  73. package/dist/chunks/{collapsible-motion-B5YFRwO4.es.js → collapsible-motion-Dw8EugiR.es.js} +5 -5
  74. package/dist/chunks/{collapsible-motion-B5YFRwO4.es.js.map → collapsible-motion-Dw8EugiR.es.js.map} +1 -1
  75. package/dist/chunks/{combobox-BobLAXh8.es.js → combobox-BMpAKWKs.es.js} +74 -74
  76. package/dist/chunks/{combobox-BobLAXh8.es.js.map → combobox-BMpAKWKs.es.js.map} +1 -1
  77. package/dist/chunks/{combobox-CEyLEi9S.cjs.js → combobox-DPZmJZJF.cjs.js} +2 -2
  78. package/dist/chunks/{combobox-CEyLEi9S.cjs.js.map → combobox-DPZmJZJF.cjs.js.map} +1 -1
  79. package/dist/chunks/{data-table-DpRmr71N.cjs.js → data-table-B5tlvmbJ.cjs.js} +2 -2
  80. package/dist/chunks/{data-table-DpRmr71N.cjs.js.map → data-table-B5tlvmbJ.cjs.js.map} +1 -1
  81. package/dist/chunks/{data-table-uvxFiIVK.es.js → data-table-Ch0tFro2.es.js} +37 -37
  82. package/dist/chunks/{data-table-uvxFiIVK.es.js.map → data-table-Ch0tFro2.es.js.map} +1 -1
  83. package/dist/chunks/{date-input-C_dX1XXD.es.js → date-input-COUAItnm.es.js} +4 -4
  84. package/dist/chunks/{date-input-C_dX1XXD.es.js.map → date-input-COUAItnm.es.js.map} +1 -1
  85. package/dist/chunks/{date-input-BDkIVUEJ.cjs.js → date-input-lsbLlxie.cjs.js} +2 -2
  86. package/dist/chunks/{date-input-BDkIVUEJ.cjs.js.map → date-input-lsbLlxie.cjs.js.map} +1 -1
  87. package/dist/chunks/{date-picker-Cq8qD5Ff.es.js → date-picker-B5ZR0GJ3.es.js} +14 -14
  88. package/dist/chunks/{date-picker-Cq8qD5Ff.es.js.map → date-picker-B5ZR0GJ3.es.js.map} +1 -1
  89. package/dist/chunks/{date-picker-DODeu1jH.cjs.js → date-picker-JA1Mh2WY.cjs.js} +2 -2
  90. package/dist/chunks/{date-picker-DODeu1jH.cjs.js.map → date-picker-JA1Mh2WY.cjs.js.map} +1 -1
  91. package/dist/chunks/{date-range-picker-Bf14iS4A.es.js → date-range-picker-CMhOBPtp.es.js} +14 -14
  92. package/dist/chunks/{date-range-picker-Bf14iS4A.es.js.map → date-range-picker-CMhOBPtp.es.js.map} +1 -1
  93. package/dist/chunks/{date-range-picker-field-CqG7wwZc.es.js → date-range-picker-field-DaoP69E2.es.js} +3 -3
  94. package/dist/chunks/{date-range-picker-field-CqG7wwZc.es.js.map → date-range-picker-field-DaoP69E2.es.js.map} +1 -1
  95. package/dist/chunks/{date-range-picker-field-Bvvmu7oL.cjs.js → date-range-picker-field-UFUo2JuI.cjs.js} +2 -2
  96. package/dist/chunks/{date-range-picker-field-Bvvmu7oL.cjs.js.map → date-range-picker-field-UFUo2JuI.cjs.js.map} +1 -1
  97. package/dist/chunks/{date-range-picker-D1gUgq_6.cjs.js → date-range-picker-yzo8osGE.cjs.js} +2 -2
  98. package/dist/chunks/{date-range-picker-D1gUgq_6.cjs.js.map → date-range-picker-yzo8osGE.cjs.js.map} +1 -1
  99. package/dist/chunks/{dialog-CS8h46ov.cjs.js → dialog-DNl_apyv.cjs.js} +2 -2
  100. package/dist/chunks/{dialog-CS8h46ov.cjs.js.map → dialog-DNl_apyv.cjs.js.map} +1 -1
  101. package/dist/chunks/{dialog-DUZOjwNj.es.js → dialog-cV8_ifAL.es.js} +7 -7
  102. package/dist/chunks/{dialog-DUZOjwNj.es.js.map → dialog-cV8_ifAL.es.js.map} +1 -1
  103. package/dist/chunks/{draggable-list-CUcHb55R.cjs.js → draggable-list-4w8RgF1w.cjs.js} +2 -2
  104. package/dist/chunks/{draggable-list-CUcHb55R.cjs.js.map → draggable-list-4w8RgF1w.cjs.js.map} +1 -1
  105. package/dist/chunks/{draggable-list-LtLBvlhK.es.js → draggable-list-B6YVD64W.es.js} +22 -22
  106. package/dist/chunks/{draggable-list-LtLBvlhK.es.js.map → draggable-list-B6YVD64W.es.js.map} +1 -1
  107. package/dist/chunks/{drawer-DZt4nA9C.cjs.js → drawer-BcgvPugV.cjs.js} +2 -2
  108. package/dist/chunks/{drawer-DZt4nA9C.cjs.js.map → drawer-BcgvPugV.cjs.js.map} +1 -1
  109. package/dist/chunks/{drawer-YCoDb7TU.es.js → drawer-ByFci-Lp.es.js} +8 -8
  110. package/dist/chunks/{drawer-YCoDb7TU.es.js.map → drawer-ByFci-Lp.es.js.map} +1 -1
  111. package/dist/chunks/{extract-style-props-CIoUvqFb.es.js → extract-style-props-CJjpdqym.es.js} +2 -2
  112. package/dist/chunks/{extract-style-props-CIoUvqFb.es.js.map → extract-style-props-CJjpdqym.es.js.map} +1 -1
  113. package/dist/chunks/{extract-style-props-DGdckd6P.cjs.js → extract-style-props-DL4zPQSN.cjs.js} +2 -2
  114. package/dist/chunks/{extract-style-props-DGdckd6P.cjs.js.map → extract-style-props-DL4zPQSN.cjs.js.map} +1 -1
  115. package/dist/chunks/{focusSafely-Cwb0Tyy6.es.js → focusSafely-RvsgqoUt.es.js} +3 -3
  116. package/dist/chunks/{focusSafely-Cwb0Tyy6.es.js.map → focusSafely-RvsgqoUt.es.js.map} +1 -1
  117. package/dist/chunks/{form-field-CozKmli4.cjs.js → form-field-D36wdkEj.cjs.js} +2 -2
  118. package/dist/chunks/{form-field-CozKmli4.cjs.js.map → form-field-D36wdkEj.cjs.js.map} +1 -1
  119. package/dist/chunks/{form-field-Df4_JmSU.es.js → form-field-Po_Y_5wQ.es.js} +4 -4
  120. package/dist/chunks/{form-field-Df4_JmSU.es.js.map → form-field-Po_Y_5wQ.es.js.map} +1 -1
  121. package/dist/chunks/{getScrollParent-MZgwmCKW.es.js → getScrollParent-DlqhSzBC.es.js} +2 -2
  122. package/dist/chunks/{getScrollParent-MZgwmCKW.es.js.map → getScrollParent-DlqhSzBC.es.js.map} +1 -1
  123. package/dist/chunks/{group-CCBgdph2.es.js → group-jGsHh1w7.es.js} +2 -2
  124. package/dist/chunks/{group-CCBgdph2.es.js.map → group-jGsHh1w7.es.js.map} +1 -1
  125. package/dist/chunks/{heading-nfjoR4vL.es.js → heading-CwsT9zp_.es.js} +2 -2
  126. package/dist/chunks/{heading-nfjoR4vL.es.js.map → heading-CwsT9zp_.es.js.map} +1 -1
  127. package/dist/chunks/{icon-button-BPzrehNJ.cjs.js → icon-button-ClTyaPhB.cjs.js} +2 -2
  128. package/dist/chunks/{icon-button-BPzrehNJ.cjs.js.map → icon-button-ClTyaPhB.cjs.js.map} +1 -1
  129. package/dist/chunks/{icon-button-hZxuTfRy.es.js → icon-button-Cnas4bnJ.es.js} +2 -2
  130. package/dist/chunks/{icon-button-hZxuTfRy.es.js.map → icon-button-Cnas4bnJ.es.js.map} +1 -1
  131. package/dist/chunks/{icon-toggle-button-BtyMh4Ys.es.js → icon-toggle-button-3hAIS1Mt.es.js} +2 -2
  132. package/dist/chunks/{icon-toggle-button-BtyMh4Ys.es.js.map → icon-toggle-button-3hAIS1Mt.es.js.map} +1 -1
  133. package/dist/chunks/{icon-toggle-button-DzoifEyi.cjs.js → icon-toggle-button-B8ycCaqk.cjs.js} +2 -2
  134. package/dist/chunks/{icon-toggle-button-DzoifEyi.cjs.js.map → icon-toggle-button-B8ycCaqk.cjs.js.map} +1 -1
  135. package/dist/chunks/{index-CqOsUykV.es.js → index-CmfW40Im.es.js} +185 -185
  136. package/dist/chunks/index-CmfW40Im.es.js.map +1 -0
  137. package/dist/chunks/{index-DdyUbTzB.cjs.js → index-DIQn6o2R.cjs.js} +3 -3
  138. package/dist/chunks/index-DIQn6o2R.cjs.js.map +1 -0
  139. package/dist/chunks/{kbd-Bl5Ncm2d.es.js → kbd-B11Qoo4k.es.js} +2 -2
  140. package/dist/chunks/{kbd-Bl5Ncm2d.es.js.map → kbd-B11Qoo4k.es.js.map} +1 -1
  141. package/dist/chunks/{link-BMUyXcmC.es.js → link-Db65JZE6.es.js} +9 -9
  142. package/dist/chunks/{link-BMUyXcmC.es.js.map → link-Db65JZE6.es.js.map} +1 -1
  143. package/dist/chunks/{loading-spinner-DF6c3rBM.es.js → loading-spinner-FBgHlqXQ.es.js} +3 -3
  144. package/dist/chunks/{loading-spinner-DF6c3rBM.es.js.map → loading-spinner-FBgHlqXQ.es.js.map} +1 -1
  145. package/dist/chunks/{localized-field-BTtMYX2e.es.js → localized-field-BqedmRuV.es.js} +25 -25
  146. package/dist/chunks/{localized-field-BTtMYX2e.es.js.map → localized-field-BqedmRuV.es.js.map} +1 -1
  147. package/dist/chunks/{localized-field-CKzOQS8a.cjs.js → localized-field-BudXks_7.cjs.js} +2 -2
  148. package/dist/chunks/{localized-field-CKzOQS8a.cjs.js.map → localized-field-BudXks_7.cjs.js.map} +1 -1
  149. package/dist/chunks/{make-element-focusable-7-aXFtDJ.es.js → make-element-focusable-DVfaQntJ.es.js} +6 -6
  150. package/dist/chunks/{make-element-focusable-7-aXFtDJ.es.js.map → make-element-focusable-DVfaQntJ.es.js.map} +1 -1
  151. package/dist/chunks/{menu-DbUVggzL.cjs.js → menu-DGuxJIC6.cjs.js} +2 -2
  152. package/dist/chunks/{menu-DbUVggzL.cjs.js.map → menu-DGuxJIC6.cjs.js.map} +1 -1
  153. package/dist/chunks/{menu-9gmr8hQj.es.js → menu-DMtIo54m.es.js} +6 -6
  154. package/dist/chunks/{menu-9gmr8hQj.es.js.map → menu-DMtIo54m.es.js.map} +1 -1
  155. package/dist/chunks/{mergeProps-Dsl8k3Ig.es.js → mergeProps-D1jjFfMs.es.js} +6 -6
  156. package/dist/chunks/{mergeProps-Dsl8k3Ig.es.js.map → mergeProps-D1jjFfMs.es.js.map} +1 -1
  157. package/dist/chunks/{money-input-BelTJgi2.cjs.js → money-input-B3fxVHDJ.cjs.js} +2 -2
  158. package/dist/chunks/{money-input-BelTJgi2.cjs.js.map → money-input-B3fxVHDJ.cjs.js.map} +1 -1
  159. package/dist/chunks/{money-input-DiuaCRAq.es.js → money-input-BHveN9w0.es.js} +9 -9
  160. package/dist/chunks/{money-input-DiuaCRAq.es.js.map → money-input-BHveN9w0.es.js.map} +1 -1
  161. package/dist/chunks/{money-input-field-B8gMfNW7.es.js → money-input-field-CsChyLci.es.js} +3 -3
  162. package/dist/chunks/{money-input-field-B8gMfNW7.es.js.map → money-input-field-CsChyLci.es.js.map} +1 -1
  163. package/dist/chunks/{money-input-field-tgZ_nN7r.cjs.js → money-input-field-FVpMq6tJ.cjs.js} +2 -2
  164. package/dist/chunks/{money-input-field-tgZ_nN7r.cjs.js.map → money-input-field-FVpMq6tJ.cjs.js.map} +1 -1
  165. package/dist/chunks/{multiline-text-input-DJeOCh8z.cjs.js → multiline-text-input-C5pMVuYM.cjs.js} +2 -2
  166. package/dist/chunks/{multiline-text-input-DJeOCh8z.cjs.js.map → multiline-text-input-C5pMVuYM.cjs.js.map} +1 -1
  167. package/dist/chunks/{multiline-text-input-fb-1IzTw.es.js → multiline-text-input-CTop15Kc.es.js} +5 -5
  168. package/dist/chunks/{multiline-text-input-fb-1IzTw.es.js.map → multiline-text-input-CTop15Kc.es.js.map} +1 -1
  169. package/dist/chunks/{multiline-text-input-field-EiZALVr9.cjs.js → multiline-text-input-field-B3eQzuAg.cjs.js} +2 -2
  170. package/dist/chunks/{multiline-text-input-field-EiZALVr9.cjs.js.map → multiline-text-input-field-B3eQzuAg.cjs.js.map} +1 -1
  171. package/dist/chunks/{multiline-text-input-field-DIjx7INz.es.js → multiline-text-input-field-D_M3z9GG.es.js} +3 -3
  172. package/dist/chunks/{multiline-text-input-field-DIjx7INz.es.js.map → multiline-text-input-field-D_M3z9GG.es.js.map} +1 -1
  173. package/dist/chunks/{nimbus-provider-XoinDagw.es.js → nimbus-provider-BZuDgONW.es.js} +2 -2
  174. package/dist/chunks/{nimbus-provider-XoinDagw.es.js.map → nimbus-provider-BZuDgONW.es.js.map} +1 -1
  175. package/dist/chunks/{nimbus-provider-BZ1AjgyS.cjs.js → nimbus-provider-COP-MGlb.cjs.js} +2 -2
  176. package/dist/chunks/{nimbus-provider-BZ1AjgyS.cjs.js.map → nimbus-provider-COP-MGlb.cjs.js.map} +1 -1
  177. package/dist/chunks/{number-input-DKGtPqlr.es.js → number-input-CLoBlpiD.es.js} +14 -14
  178. package/dist/chunks/{number-input-DKGtPqlr.es.js.map → number-input-CLoBlpiD.es.js.map} +1 -1
  179. package/dist/chunks/{number-input-BY8SeNuT.cjs.js → number-input-Dj9jPceO.cjs.js} +2 -2
  180. package/dist/chunks/{number-input-BY8SeNuT.cjs.js.map → number-input-Dj9jPceO.cjs.js.map} +1 -1
  181. package/dist/chunks/{number-input-field-DnIN5wjh.es.js → number-input-field-BKxrwzEz.es.js} +3 -3
  182. package/dist/chunks/{number-input-field-DnIN5wjh.es.js.map → number-input-field-BKxrwzEz.es.js.map} +1 -1
  183. package/dist/chunks/{number-input-field-l6_xjbpB.cjs.js → number-input-field-DYJa53Un.cjs.js} +2 -2
  184. package/dist/chunks/{number-input-field-l6_xjbpB.cjs.js.map → number-input-field-DYJa53Un.cjs.js.map} +1 -1
  185. package/dist/chunks/{pagination-Cks7-saP.cjs.js → pagination-DNTHTYbV.cjs.js} +2 -2
  186. package/dist/chunks/{pagination-Cks7-saP.cjs.js.map → pagination-DNTHTYbV.cjs.js.map} +1 -1
  187. package/dist/chunks/{pagination-DAPyY6Zk.es.js → pagination-WCa7N8As.es.js} +5 -5
  188. package/dist/chunks/{pagination-DAPyY6Zk.es.js.map → pagination-WCa7N8As.es.js.map} +1 -1
  189. package/dist/chunks/{password-input-BXrS2-3k.es.js → password-input-B1aemp6U.es.js} +4 -4
  190. package/dist/chunks/{password-input-BXrS2-3k.es.js.map → password-input-B1aemp6U.es.js.map} +1 -1
  191. package/dist/chunks/{password-input-DG0_r6H_.cjs.js → password-input-CWPQT3AJ.cjs.js} +2 -2
  192. package/dist/chunks/{password-input-DG0_r6H_.cjs.js.map → password-input-CWPQT3AJ.cjs.js.map} +1 -1
  193. package/dist/chunks/{password-input-field-DMQAWO16.cjs.js → password-input-field-C3ct8JqT.cjs.js} +2 -2
  194. package/dist/chunks/{password-input-field-DMQAWO16.cjs.js.map → password-input-field-C3ct8JqT.cjs.js.map} +1 -1
  195. package/dist/chunks/{password-input-field-BIH25kaL.es.js → password-input-field-DGjkta8d.es.js} +3 -3
  196. package/dist/chunks/{password-input-field-BIH25kaL.es.js.map → password-input-field-DGjkta8d.es.js.map} +1 -1
  197. package/dist/chunks/{popover-zNeVW5hN.es.js → popover-B1aRr1CU.es.js} +2 -2
  198. package/dist/chunks/{popover-zNeVW5hN.es.js.map → popover-B1aRr1CU.es.js.map} +1 -1
  199. package/dist/chunks/{progress-bar-DG9JB9bR.cjs.js → progress-bar-Dny28r_G.cjs.js} +2 -2
  200. package/dist/chunks/{progress-bar-DG9JB9bR.cjs.js.map → progress-bar-Dny28r_G.cjs.js.map} +1 -1
  201. package/dist/chunks/{progress-bar-DYbU-4Vi.es.js → progress-bar-VQAbvri1.es.js} +4 -4
  202. package/dist/chunks/{progress-bar-DYbU-4Vi.es.js.map → progress-bar-VQAbvri1.es.js.map} +1 -1
  203. package/dist/chunks/{radio-input-tsryyQ63.es.js → radio-input-6FtNHf0N.es.js} +42 -42
  204. package/dist/chunks/{radio-input-tsryyQ63.es.js.map → radio-input-6FtNHf0N.es.js.map} +1 -1
  205. package/dist/chunks/{radio-input-CA4Y8LF8.cjs.js → radio-input-CIqZ2V6i.cjs.js} +2 -2
  206. package/dist/chunks/{radio-input-CA4Y8LF8.cjs.js.map → radio-input-CIqZ2V6i.cjs.js.map} +1 -1
  207. package/dist/chunks/{range-calendar-CFfa_h1A.cjs.js → range-calendar-Bjst1nRD.cjs.js} +2 -2
  208. package/dist/chunks/{range-calendar-CFfa_h1A.cjs.js.map → range-calendar-Bjst1nRD.cjs.js.map} +1 -1
  209. package/dist/chunks/{range-calendar-CCKqVOdF.es.js → range-calendar-Cumbca_6.es.js} +10 -10
  210. package/dist/chunks/{range-calendar-CCKqVOdF.es.js.map → range-calendar-Cumbca_6.es.js.map} +1 -1
  211. package/dist/chunks/{rich-text-input-CoIBknUh.es.js → rich-text-input-C7jglLdt.es.js} +13 -13
  212. package/dist/chunks/{rich-text-input-CoIBknUh.es.js.map → rich-text-input-C7jglLdt.es.js.map} +1 -1
  213. package/dist/chunks/{rich-text-input-D7zyqfNG.cjs.js → rich-text-input-CpQVkFRl.cjs.js} +2 -2
  214. package/dist/chunks/{rich-text-input-D7zyqfNG.cjs.js.map → rich-text-input-CpQVkFRl.cjs.js.map} +1 -1
  215. package/dist/chunks/{scoped-search-input-DM_clkPu.es.js → scoped-search-input-C3N9xhiG.es.js} +5 -5
  216. package/dist/chunks/{scoped-search-input-DM_clkPu.es.js.map → scoped-search-input-C3N9xhiG.es.js.map} +1 -1
  217. package/dist/chunks/{scoped-search-input-B7lz2Odg.cjs.js → scoped-search-input-CIUdBb04.cjs.js} +2 -2
  218. package/dist/chunks/{scoped-search-input-B7lz2Odg.cjs.js.map → scoped-search-input-CIUdBb04.cjs.js.map} +1 -1
  219. package/dist/chunks/{scrollIntoView-B7D07fJk.es.js → scrollIntoView-CQMm8-SR.es.js} +5 -5
  220. package/dist/chunks/{scrollIntoView-B7D07fJk.es.js.map → scrollIntoView-CQMm8-SR.es.js.map} +1 -1
  221. package/dist/chunks/{search-input-Cq5nPtbF.cjs.js → search-input-B2eu94HO.cjs.js} +2 -2
  222. package/dist/chunks/{search-input-Cq5nPtbF.cjs.js.map → search-input-B2eu94HO.cjs.js.map} +1 -1
  223. package/dist/chunks/{search-input-field-zzVNsLn3.es.js → search-input-field-Bt94J1Xu.es.js} +3 -3
  224. package/dist/chunks/{search-input-field-zzVNsLn3.es.js.map → search-input-field-Bt94J1Xu.es.js.map} +1 -1
  225. package/dist/chunks/{search-input-field-4wVwDFiQ.cjs.js → search-input-field-CiEbfoqx.cjs.js} +2 -2
  226. package/dist/chunks/{search-input-field-4wVwDFiQ.cjs.js.map → search-input-field-CiEbfoqx.cjs.js.map} +1 -1
  227. package/dist/chunks/{search-input-CaJyfxW-.es.js → search-input-xfX98rpy.es.js} +11 -11
  228. package/dist/chunks/{search-input-CaJyfxW-.es.js.map → search-input-xfX98rpy.es.js.map} +1 -1
  229. package/dist/chunks/{select-C4gMn8gq.es.js → select-6rfY6mk9.es.js} +21 -21
  230. package/dist/chunks/{select-C4gMn8gq.es.js.map → select-6rfY6mk9.es.js.map} +1 -1
  231. package/dist/chunks/{select-AaF9VDYS.cjs.js → select-OOmONm5T.cjs.js} +2 -2
  232. package/dist/chunks/{select-AaF9VDYS.cjs.js.map → select-OOmONm5T.cjs.js.map} +1 -1
  233. package/dist/chunks/{separator-Bc2_grIr.es.js → separator-ByExde_2.es.js} +4 -4
  234. package/dist/chunks/{separator-Bc2_grIr.es.js.map → separator-ByExde_2.es.js.map} +1 -1
  235. package/dist/chunks/{separator-BadgCkrO.cjs.js → separator-DoOgit09.cjs.js} +2 -2
  236. package/dist/chunks/{separator-BadgCkrO.cjs.js.map → separator-DoOgit09.cjs.js.map} +1 -1
  237. package/dist/chunks/{split-button-DT1Anaq1.es.js → split-button-CcfdSUWT.es.js} +4 -4
  238. package/dist/chunks/{split-button-DT1Anaq1.es.js.map → split-button-CcfdSUWT.es.js.map} +1 -1
  239. package/dist/chunks/{split-button-CbGHEymu.cjs.js → split-button-DtNcxPjS.cjs.js} +2 -2
  240. package/dist/chunks/{split-button-CbGHEymu.cjs.js.map → split-button-DtNcxPjS.cjs.js.map} +1 -1
  241. package/dist/chunks/{switch-BxR5TD9Q.cjs.js → switch-Bttbn3oV.cjs.js} +2 -2
  242. package/dist/chunks/{switch-BxR5TD9Q.cjs.js.map → switch-Bttbn3oV.cjs.js.map} +1 -1
  243. package/dist/chunks/{switch-1tLtDt7M.es.js → switch-ZhX47Ufo.es.js} +7 -7
  244. package/dist/chunks/{switch-1tLtDt7M.es.js.map → switch-ZhX47Ufo.es.js.map} +1 -1
  245. package/dist/chunks/{tabs-CgoUJCIx.es.js → tabs-B7qKxKnI.es.js} +13 -13
  246. package/dist/chunks/{tabs-CgoUJCIx.es.js.map → tabs-B7qKxKnI.es.js.map} +1 -1
  247. package/dist/chunks/{tabs-C4EfvdVt.cjs.js → tabs-DWMVR5Mq.cjs.js} +2 -2
  248. package/dist/chunks/{tabs-C4EfvdVt.cjs.js.map → tabs-DWMVR5Mq.cjs.js.map} +1 -1
  249. package/dist/chunks/{tag-group-DauMcIZX.es.js → tag-group-7rUsjnet.es.js} +19 -19
  250. package/dist/chunks/{tag-group-DauMcIZX.es.js.map → tag-group-7rUsjnet.es.js.map} +1 -1
  251. package/dist/chunks/{tag-group-Bu4IPJY2.cjs.js → tag-group-BkoC3DAk.cjs.js} +2 -2
  252. package/dist/chunks/{tag-group-Bu4IPJY2.cjs.js.map → tag-group-BkoC3DAk.cjs.js.map} +1 -1
  253. package/dist/chunks/{text-CIb_VDvO.es.js → text-DvqDjbwb.es.js} +2 -2
  254. package/dist/chunks/{text-CIb_VDvO.es.js.map → text-DvqDjbwb.es.js.map} +1 -1
  255. package/dist/chunks/{text-input-BpdFm4J-.es.js → text-input-D_3g3kxm.es.js} +7 -7
  256. package/dist/chunks/{text-input-BpdFm4J-.es.js.map → text-input-D_3g3kxm.es.js.map} +1 -1
  257. package/dist/chunks/{text-input-YkL8bx31.cjs.js → text-input-Dv2HkOIG.cjs.js} +2 -2
  258. package/dist/chunks/{text-input-YkL8bx31.cjs.js.map → text-input-Dv2HkOIG.cjs.js.map} +1 -1
  259. package/dist/chunks/{text-input-field-B0WhjD0U.es.js → text-input-field-DWpejDcH.es.js} +3 -3
  260. package/dist/chunks/{text-input-field-B0WhjD0U.es.js.map → text-input-field-DWpejDcH.es.js.map} +1 -1
  261. package/dist/chunks/{text-input-field-CPLVnqlr.cjs.js → text-input-field-vYxpIFXm.cjs.js} +2 -2
  262. package/dist/chunks/{text-input-field-CPLVnqlr.cjs.js.map → text-input-field-vYxpIFXm.cjs.js.map} +1 -1
  263. package/dist/chunks/{time-input-m8zeR_8L.cjs.js → time-input-CMAP5QkL.cjs.js} +2 -2
  264. package/dist/chunks/{time-input-m8zeR_8L.cjs.js.map → time-input-CMAP5QkL.cjs.js.map} +1 -1
  265. package/dist/chunks/{time-input-DMyhDH5j.es.js → time-input-CZWkAErU.es.js} +4 -4
  266. package/dist/chunks/{time-input-DMyhDH5j.es.js.map → time-input-CZWkAErU.es.js.map} +1 -1
  267. package/dist/chunks/{toggle-button-CHZm868U.cjs.js → toggle-button-BnDf2yfy.cjs.js} +2 -2
  268. package/dist/chunks/{toggle-button-CHZm868U.cjs.js.map → toggle-button-BnDf2yfy.cjs.js.map} +1 -1
  269. package/dist/chunks/{toggle-button-B2uXtvzj.es.js → toggle-button-QMUjECJO.es.js} +4 -4
  270. package/dist/chunks/{toggle-button-B2uXtvzj.es.js.map → toggle-button-QMUjECJO.es.js.map} +1 -1
  271. package/dist/chunks/{toggle-button-group-BWpmMkEz.es.js → toggle-button-group-P0oS-q6h.es.js} +2 -2
  272. package/dist/chunks/{toggle-button-group-BWpmMkEz.es.js.map → toggle-button-group-P0oS-q6h.es.js.map} +1 -1
  273. package/dist/chunks/{toolbar-BAETJxml.cjs.js → toolbar-Bg2OUmFi.cjs.js} +2 -2
  274. package/dist/chunks/{toolbar-BAETJxml.cjs.js.map → toolbar-Bg2OUmFi.cjs.js.map} +1 -1
  275. package/dist/chunks/{toolbar-BnS73QeG.es.js → toolbar-C3GiZF_9.es.js} +6 -6
  276. package/dist/chunks/{toolbar-BnS73QeG.es.js.map → toolbar-C3GiZF_9.es.js.map} +1 -1
  277. package/dist/chunks/{tooltip-D3QrrizN.es.js → tooltip-CzEuq_Qi.es.js} +7 -7
  278. package/dist/chunks/{tooltip-D3QrrizN.es.js.map → tooltip-CzEuq_Qi.es.js.map} +1 -1
  279. package/dist/chunks/{useButton-CiPiehgC.es.js → useButton-B2TbwHSy.es.js} +4 -4
  280. package/dist/chunks/{useButton-CiPiehgC.es.js.map → useButton-B2TbwHSy.es.js.map} +1 -1
  281. package/dist/chunks/{useDateFormatter-886GJ5w1.es.js → useDateFormatter-CO08GpLe.es.js} +2 -2
  282. package/dist/chunks/{useDateFormatter-886GJ5w1.es.js.map → useDateFormatter-CO08GpLe.es.js.map} +1 -1
  283. package/dist/chunks/{useDisclosureState-CWZTR2xM.es.js → useDisclosureState-BqxwXawT.es.js} +3 -3
  284. package/dist/chunks/{useDisclosureState-CWZTR2xM.es.js.map → useDisclosureState-BqxwXawT.es.js.map} +1 -1
  285. package/dist/chunks/{useEvent-CRo5BZDX.es.js → useEvent-D8bTsAyx.es.js} +6 -6
  286. package/dist/chunks/{useEvent-CRo5BZDX.es.js.map → useEvent-D8bTsAyx.es.js.map} +1 -1
  287. package/dist/chunks/{useField-CHrpmkxe.es.js → useField-BfW84CS4.es.js} +8 -8
  288. package/dist/chunks/{useField-CHrpmkxe.es.js.map → useField-BfW84CS4.es.js.map} +1 -1
  289. package/dist/chunks/{useFocus-CrgTusM3.es.js → useFocus-TCNvrvTC.es.js} +6 -6
  290. package/dist/chunks/{useFocus-CrgTusM3.es.js.map → useFocus-TCNvrvTC.es.js.map} +1 -1
  291. package/dist/chunks/{useFocusRing-FPt2Rwil.es.js → useFocusRing-oMAqzr3e.es.js} +4 -4
  292. package/dist/chunks/{useFocusRing-FPt2Rwil.es.js.map → useFocusRing-oMAqzr3e.es.js.map} +1 -1
  293. package/dist/chunks/{useFocusVisible-B3HmFL2Q.es.js → useFocusVisible-Uw6yFmFY.es.js} +6 -6
  294. package/dist/chunks/{useFocusVisible-B3HmFL2Q.es.js.map → useFocusVisible-Uw6yFmFY.es.js.map} +1 -1
  295. package/dist/chunks/{useFocusWithin-EFOG-Jn1.es.js → useFocusWithin-nAsP7Ru3.es.js} +6 -6
  296. package/dist/chunks/{useFocusWithin-EFOG-Jn1.es.js.map → useFocusWithin-nAsP7Ru3.es.js.map} +1 -1
  297. package/dist/chunks/{useFocusable-Cs6i58WP.es.js → useFocusable-Bm-DQaak.es.js} +5 -5
  298. package/dist/chunks/{useFocusable-Cs6i58WP.es.js.map → useFocusable-Bm-DQaak.es.js.map} +1 -1
  299. package/dist/chunks/{useFormReset-BGuIA_u2.es.js → useFormReset-C52dSDoe.es.js} +2 -2
  300. package/dist/chunks/{useFormReset-BGuIA_u2.es.js.map → useFormReset-C52dSDoe.es.js.map} +1 -1
  301. package/dist/chunks/{useFormValidation-BCVLtR0U.es.js → useFormValidation-DxDV9X1M.es.js} +3 -3
  302. package/dist/chunks/{useFormValidation-BCVLtR0U.es.js.map → useFormValidation-DxDV9X1M.es.js.map} +1 -1
  303. package/dist/chunks/{useGridListItem-CjGTTOtc.es.js → useGridListItem-DTjO497o.es.js} +10 -10
  304. package/dist/chunks/{useGridListItem-CjGTTOtc.es.js.map → useGridListItem-DTjO497o.es.js.map} +1 -1
  305. package/dist/chunks/{useHasTabbableChild-DXq72IE3.es.js → useHasTabbableChild-DemFbZRn.es.js} +3 -3
  306. package/dist/chunks/{useHasTabbableChild-DXq72IE3.es.js.map → useHasTabbableChild-DemFbZRn.es.js.map} +1 -1
  307. package/dist/chunks/{useHover-BQRSM3qT.es.js → useHover-BtRK9g2L.es.js} +2 -2
  308. package/dist/chunks/{useHover-BQRSM3qT.es.js.map → useHover-BtRK9g2L.es.js.map} +1 -1
  309. package/dist/chunks/{useLabel-DQaRD22u.es.js → useLabel-DfbcmKTa.es.js} +5 -5
  310. package/dist/chunks/{useLabel-DQaRD22u.es.js.map → useLabel-DfbcmKTa.es.js.map} +1 -1
  311. package/dist/chunks/{useLabels-BDqWMehi.es.js → useLabels-Gn8v9XZB.es.js} +2 -2
  312. package/dist/chunks/{useLabels-BDqWMehi.es.js.map → useLabels-Gn8v9XZB.es.js.map} +1 -1
  313. package/dist/chunks/{useListState-CRfmjiWx.es.js → useListState-D9k6HiWm.es.js} +2 -2
  314. package/dist/chunks/{useListState-CRfmjiWx.es.js.map → useListState-D9k6HiWm.es.js.map} +1 -1
  315. package/dist/chunks/{usePress-BuLomD_X.es.js → usePress-C_IPaF8I.es.js} +6 -6
  316. package/dist/chunks/{usePress-BuLomD_X.es.js.map → usePress-C_IPaF8I.es.js.map} +1 -1
  317. package/dist/chunks/{useProgressBar--OvVKto2.es.js → useProgressBar-DCj794Zv.es.js} +7 -7
  318. package/dist/chunks/{useProgressBar--OvVKto2.es.js.map → useProgressBar-DCj794Zv.es.js.map} +1 -1
  319. package/dist/chunks/{useSingleSelectListState-DFR33TSw.es.js → useSingleSelectListState-C_tE7a5E.es.js} +2 -2
  320. package/dist/chunks/{useSingleSelectListState-DFR33TSw.es.js.map → useSingleSelectListState-C_tE7a5E.es.js.map} +1 -1
  321. package/dist/chunks/{useSpinButton-YcV6vlPf.es.js → useSpinButton-BiQ20B5n.es.js} +15 -15
  322. package/dist/chunks/{useSpinButton-YcV6vlPf.es.js.map → useSpinButton-BiQ20B5n.es.js.map} +1 -1
  323. package/dist/chunks/{useSyncRef-BpLviItW.es.js → useSyncRef-DmY05o2G.es.js} +2 -2
  324. package/dist/chunks/{useSyncRef-BpLviItW.es.js.map → useSyncRef-DmY05o2G.es.js.map} +1 -1
  325. package/dist/chunks/{useTextField-yuaT8-G4.es.js → useTextField-9WuJfc9u.es.js} +7 -7
  326. package/dist/chunks/{useTextField-yuaT8-G4.es.js.map → useTextField-9WuJfc9u.es.js.map} +1 -1
  327. package/dist/chunks/{useToggle-DKP3zVOY.es.js → useToggle-BZPMewLP.es.js} +5 -5
  328. package/dist/chunks/{useToggle-DKP3zVOY.es.js.map → useToggle-BZPMewLP.es.js.map} +1 -1
  329. package/dist/chunks/{useToolbar-CbJkugif.es.js → useToolbar-C673xD3E.es.js} +3 -3
  330. package/dist/chunks/{useToolbar-CbJkugif.es.js.map → useToolbar-C673xD3E.es.js.map} +1 -1
  331. package/dist/chunks/{utils-B6pV5ewr.es.js → utils-9vu7GUaz.es.js} +12 -12
  332. package/dist/chunks/{utils-B6pV5ewr.es.js.map → utils-9vu7GUaz.es.js.map} +1 -1
  333. package/dist/chunks/{utils-oAGBWzI5.es.js → utils-Bl-3nKLa.es.js} +14 -14
  334. package/dist/chunks/{utils-oAGBWzI5.es.js.map → utils-Bl-3nKLa.es.js.map} +1 -1
  335. package/dist/chunks/{visually-hidden-Dj5CT-u_.es.js → visually-hidden-m5QY9YV7.es.js} +2 -2
  336. package/dist/chunks/{visually-hidden-Dj5CT-u_.es.js.map → visually-hidden-m5QY9YV7.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-Cslx-S6p.cjs.js +0 -2
  495. package/dist/chunks/badge-CgYpum7D.es.js +0 -17
  496. package/dist/chunks/index-CqOsUykV.es.js.map +0 -1
  497. package/dist/chunks/index-DdyUbTzB.cjs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker-field-CqG7wwZc.es.js","sources":["../../src/patterns/fields/date-range-picker-field/date-range-picker-field.tsx"],"sourcesContent":["import { DateRangePicker } from \"@/components/date-range-picker/date-range-picker\";\nimport { FormField, FieldErrors } from \"@/components\";\nimport type { DateRangePickerFieldProps } from \"./date-range-picker-field.types\";\n\n/**\n * # DateRangePickerField\n *\n * A form field component that combines DateRangePicker with Form Field features\n * like labels, descriptions, error handling, and validation feedback.\n *\n * This component follows the same API pattern as other field components in the UI-Kit,\n * providing a consistent interface for date range selection within forms.\n *\n * @example\n * ```tsx\n * <DateRangePickerField\n * label=\"Date Range\"\n * description=\"Select a start and end date\"\n * value={dateRange}\n * onChange={handleChange}\n * errors={errors}\n * touched={touched}\n * isRequired\n * />\n * ```\n */\nexport const DateRangePickerField = ({\n id,\n label,\n description,\n info,\n errors,\n renderError,\n touched = false,\n isRequired = false,\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n direction = \"column\",\n size = \"md\",\n ...dateRangePickerProps\n}: DateRangePickerFieldProps) => {\n // Determine if we should show errors\n const hasErrors = touched && errors && Object.values(errors).some(Boolean);\n\n return (\n <FormField.Root\n id={id}\n direction={direction as \"row\" | \"column\"}\n size={size}\n isInvalid={hasErrors || isInvalid}\n isRequired={isRequired}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n >\n <FormField.Label>{label}</FormField.Label>\n <FormField.Input>\n <DateRangePicker\n size={size}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n {...dateRangePickerProps}\n />\n </FormField.Input>\n\n {description && (\n <FormField.Description>{description}</FormField.Description>\n )}\n\n {info && <FormField.InfoBox>{info}</FormField.InfoBox>}\n {hasErrors && (\n <FormField.Error>\n <FieldErrors\n id={`${id}-errors`}\n errors={errors}\n renderError={renderError}\n />\n </FormField.Error>\n )}\n </FormField.Root>\n );\n};\n\nDateRangePickerField.displayName = \"DateRangePickerField\";\n"],"names":["DateRangePickerField","id","label","description","info","errors","renderError","touched","isRequired","isDisabled","isReadOnly","isInvalid","direction","size","dateRangePickerProps","hasErrors","jsxs","FormField","jsx","DateRangePicker","FieldErrors"],"mappings":";;;;AA0BO,MAAMA,IAAuB,CAAC;AAAA,EACnC,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,MAAiC;AAE/B,QAAMC,IAAYR,KAAWF,KAAU,OAAO,OAAOA,CAAM,EAAE,KAAK,OAAO;AAEzE,SACE,gBAAAW;AAAA,IAACC,EAAU;AAAA,IAAV;AAAA,MACC,IAAAhB;AAAA,MACA,WAAAW;AAAA,MACA,MAAAC;AAAA,MACA,WAAWE,KAAaJ;AAAA,MACxB,YAAAH;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAQ,EAACD,EAAU,OAAV,EAAiB,UAAAf,EAAA,CAAM;AAAA,QACxB,gBAAAgB,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAAN;AAAA,YACA,YAAAJ;AAAA,YACA,YAAAC;AAAA,YACC,GAAGI;AAAA,UAAA;AAAA,QAAA,GAER;AAAA,QAECX,KACC,gBAAAe,EAACD,EAAU,aAAV,EAAuB,UAAAd,GAAY;AAAA,QAGrCC,KAAQ,gBAAAc,EAACD,EAAU,SAAV,EAAmB,UAAAb,GAAK;AAAA,QACjCW,KACC,gBAAAG,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,IAAI,GAAGnB,CAAE;AAAA,YACT,QAAAI;AAAA,YACA,aAAAC;AAAA,UAAA;AAAA,QAAA,EACF,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAN,EAAqB,cAAc;"}
1
+ {"version":3,"file":"date-range-picker-field-DaoP69E2.es.js","sources":["../../src/patterns/fields/date-range-picker-field/date-range-picker-field.tsx"],"sourcesContent":["import { DateRangePicker } from \"@/components/date-range-picker/date-range-picker\";\nimport { FormField, FieldErrors } from \"@/components\";\nimport type { DateRangePickerFieldProps } from \"./date-range-picker-field.types\";\n\n/**\n * # DateRangePickerField\n *\n * A form field component that combines DateRangePicker with Form Field features\n * like labels, descriptions, error handling, and validation feedback.\n *\n * This component follows the same API pattern as other field components in the UI-Kit,\n * providing a consistent interface for date range selection within forms.\n *\n * @example\n * ```tsx\n * <DateRangePickerField\n * label=\"Date Range\"\n * description=\"Select a start and end date\"\n * value={dateRange}\n * onChange={handleChange}\n * errors={errors}\n * touched={touched}\n * isRequired\n * />\n * ```\n */\nexport const DateRangePickerField = ({\n id,\n label,\n description,\n info,\n errors,\n renderError,\n touched = false,\n isRequired = false,\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n direction = \"column\",\n size = \"md\",\n ...dateRangePickerProps\n}: DateRangePickerFieldProps) => {\n // Determine if we should show errors\n const hasErrors = touched && errors && Object.values(errors).some(Boolean);\n\n return (\n <FormField.Root\n id={id}\n direction={direction as \"row\" | \"column\"}\n size={size}\n isInvalid={hasErrors || isInvalid}\n isRequired={isRequired}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n >\n <FormField.Label>{label}</FormField.Label>\n <FormField.Input>\n <DateRangePicker\n size={size}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n {...dateRangePickerProps}\n />\n </FormField.Input>\n\n {description && (\n <FormField.Description>{description}</FormField.Description>\n )}\n\n {info && <FormField.InfoBox>{info}</FormField.InfoBox>}\n {hasErrors && (\n <FormField.Error>\n <FieldErrors\n id={`${id}-errors`}\n errors={errors}\n renderError={renderError}\n />\n </FormField.Error>\n )}\n </FormField.Root>\n );\n};\n\nDateRangePickerField.displayName = \"DateRangePickerField\";\n"],"names":["DateRangePickerField","id","label","description","info","errors","renderError","touched","isRequired","isDisabled","isReadOnly","isInvalid","direction","size","dateRangePickerProps","hasErrors","jsxs","FormField","jsx","DateRangePicker","FieldErrors"],"mappings":";;;;AA0BO,MAAMA,IAAuB,CAAC;AAAA,EACnC,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,MAAiC;AAE/B,QAAMC,IAAYR,KAAWF,KAAU,OAAO,OAAOA,CAAM,EAAE,KAAK,OAAO;AAEzE,SACE,gBAAAW;AAAA,IAACC,EAAU;AAAA,IAAV;AAAA,MACC,IAAAhB;AAAA,MACA,WAAAW;AAAA,MACA,MAAAC;AAAA,MACA,WAAWE,KAAaJ;AAAA,MACxB,YAAAH;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAQ,EAACD,EAAU,OAAV,EAAiB,UAAAf,EAAA,CAAM;AAAA,QACxB,gBAAAgB,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAAN;AAAA,YACA,YAAAJ;AAAA,YACA,YAAAC;AAAA,YACC,GAAGI;AAAA,UAAA;AAAA,QAAA,GAER;AAAA,QAECX,KACC,gBAAAe,EAACD,EAAU,aAAV,EAAuB,UAAAd,GAAY;AAAA,QAGrCC,KAAQ,gBAAAc,EAACD,EAAU,SAAV,EAAmB,UAAAb,GAAK;AAAA,QACjCW,KACC,gBAAAG,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,IAAI,GAAGnB,CAAE;AAAA,YACT,QAAAI;AAAA,YACA,aAAAC;AAAA,UAAA;AAAA,QAAA,EACF,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAN,EAAqB,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),R=require("./date-range-picker-D1gUgq_6.cjs.js"),r=require("./form-field-CozKmli4.cjs.js"),g=require("./field-errors-D2re_C_c.cjs.js"),t=({id:l,label:F,description:s,info:o,errors:i,renderError:m,touched:j=!1,isRequired:u=!1,isDisabled:n=!1,isReadOnly:a=!1,isInvalid:x=!1,direction:f="column",size:c="md",...h})=>{const d=j&&i&&Object.values(i).some(Boolean);return e.jsxs(r.FormField.Root,{id:l,direction:f,size:c,isInvalid:d||x,isRequired:u,isDisabled:n,isReadOnly:a,children:[e.jsx(r.FormField.Label,{children:F}),e.jsx(r.FormField.Input,{children:e.jsx(R.DateRangePicker,{size:c,isDisabled:n,isReadOnly:a,...h})}),s&&e.jsx(r.FormField.Description,{children:s}),o&&e.jsx(r.FormField.InfoBox,{children:o}),d&&e.jsx(r.FormField.Error,{children:e.jsx(g.FieldErrors,{id:`${l}-errors`,errors:i,renderError:m})})]})};t.displayName="DateRangePickerField";exports.DateRangePickerField=t;
2
- //# sourceMappingURL=date-range-picker-field-Bvvmu7oL.cjs.js.map
1
+ "use strict";const e=require("react/jsx-runtime"),R=require("./date-range-picker-yzo8osGE.cjs.js"),r=require("./form-field-D36wdkEj.cjs.js"),g=require("./field-errors-D2re_C_c.cjs.js"),t=({id:l,label:F,description:s,info:o,errors:i,renderError:m,touched:j=!1,isRequired:u=!1,isDisabled:n=!1,isReadOnly:a=!1,isInvalid:x=!1,direction:f="column",size:c="md",...h})=>{const d=j&&i&&Object.values(i).some(Boolean);return e.jsxs(r.FormField.Root,{id:l,direction:f,size:c,isInvalid:d||x,isRequired:u,isDisabled:n,isReadOnly:a,children:[e.jsx(r.FormField.Label,{children:F}),e.jsx(r.FormField.Input,{children:e.jsx(R.DateRangePicker,{size:c,isDisabled:n,isReadOnly:a,...h})}),s&&e.jsx(r.FormField.Description,{children:s}),o&&e.jsx(r.FormField.InfoBox,{children:o}),d&&e.jsx(r.FormField.Error,{children:e.jsx(g.FieldErrors,{id:`${l}-errors`,errors:i,renderError:m})})]})};t.displayName="DateRangePickerField";exports.DateRangePickerField=t;
2
+ //# sourceMappingURL=date-range-picker-field-UFUo2JuI.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker-field-Bvvmu7oL.cjs.js","sources":["../../src/patterns/fields/date-range-picker-field/date-range-picker-field.tsx"],"sourcesContent":["import { DateRangePicker } from \"@/components/date-range-picker/date-range-picker\";\nimport { FormField, FieldErrors } from \"@/components\";\nimport type { DateRangePickerFieldProps } from \"./date-range-picker-field.types\";\n\n/**\n * # DateRangePickerField\n *\n * A form field component that combines DateRangePicker with Form Field features\n * like labels, descriptions, error handling, and validation feedback.\n *\n * This component follows the same API pattern as other field components in the UI-Kit,\n * providing a consistent interface for date range selection within forms.\n *\n * @example\n * ```tsx\n * <DateRangePickerField\n * label=\"Date Range\"\n * description=\"Select a start and end date\"\n * value={dateRange}\n * onChange={handleChange}\n * errors={errors}\n * touched={touched}\n * isRequired\n * />\n * ```\n */\nexport const DateRangePickerField = ({\n id,\n label,\n description,\n info,\n errors,\n renderError,\n touched = false,\n isRequired = false,\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n direction = \"column\",\n size = \"md\",\n ...dateRangePickerProps\n}: DateRangePickerFieldProps) => {\n // Determine if we should show errors\n const hasErrors = touched && errors && Object.values(errors).some(Boolean);\n\n return (\n <FormField.Root\n id={id}\n direction={direction as \"row\" | \"column\"}\n size={size}\n isInvalid={hasErrors || isInvalid}\n isRequired={isRequired}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n >\n <FormField.Label>{label}</FormField.Label>\n <FormField.Input>\n <DateRangePicker\n size={size}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n {...dateRangePickerProps}\n />\n </FormField.Input>\n\n {description && (\n <FormField.Description>{description}</FormField.Description>\n )}\n\n {info && <FormField.InfoBox>{info}</FormField.InfoBox>}\n {hasErrors && (\n <FormField.Error>\n <FieldErrors\n id={`${id}-errors`}\n errors={errors}\n renderError={renderError}\n />\n </FormField.Error>\n )}\n </FormField.Root>\n );\n};\n\nDateRangePickerField.displayName = \"DateRangePickerField\";\n"],"names":["DateRangePickerField","id","label","description","info","errors","renderError","touched","isRequired","isDisabled","isReadOnly","isInvalid","direction","size","dateRangePickerProps","hasErrors","jsxs","FormField","jsx","DateRangePicker","FieldErrors"],"mappings":"yLA0BaA,EAAuB,CAAC,CACnC,GAAAC,EACA,MAAAC,EACA,YAAAC,EACA,KAAAC,EACA,OAAAC,EACA,YAAAC,EACA,QAAAC,EAAU,GACV,WAAAC,EAAa,GACb,WAAAC,EAAa,GACb,WAAAC,EAAa,GACb,UAAAC,EAAY,GACZ,UAAAC,EAAY,SACZ,KAAAC,EAAO,KACP,GAAGC,CACL,IAAiC,CAE/B,MAAMC,EAAYR,GAAWF,GAAU,OAAO,OAAOA,CAAM,EAAE,KAAK,OAAO,EAEzE,OACEW,EAAAA,KAACC,EAAAA,UAAU,KAAV,CACC,GAAAhB,EACA,UAAAW,EACA,KAAAC,EACA,UAAWE,GAAaJ,EACxB,WAAAH,EACA,WAAAC,EACA,WAAAC,EAEA,SAAA,CAAAQ,EAAAA,IAACD,EAAAA,UAAU,MAAV,CAAiB,SAAAf,CAAA,CAAM,EACxBgB,EAAAA,IAACD,EAAAA,UAAU,MAAV,CACC,SAAAC,EAAAA,IAACC,EAAAA,gBAAA,CACC,KAAAN,EACA,WAAAJ,EACA,WAAAC,EACC,GAAGI,CAAA,CAAA,EAER,EAECX,GACCe,EAAAA,IAACD,EAAAA,UAAU,YAAV,CAAuB,SAAAd,EAAY,EAGrCC,GAAQc,EAAAA,IAACD,EAAAA,UAAU,QAAV,CAAmB,SAAAb,EAAK,EACjCW,GACCG,EAAAA,IAACD,EAAAA,UAAU,MAAV,CACC,SAAAC,EAAAA,IAACE,EAAAA,YAAA,CACC,GAAI,GAAGnB,CAAE,UACT,OAAAI,EACA,YAAAC,CAAA,CAAA,CACF,CACF,CAAA,CAAA,CAAA,CAIR,EAEAN,EAAqB,YAAc"}
1
+ {"version":3,"file":"date-range-picker-field-UFUo2JuI.cjs.js","sources":["../../src/patterns/fields/date-range-picker-field/date-range-picker-field.tsx"],"sourcesContent":["import { DateRangePicker } from \"@/components/date-range-picker/date-range-picker\";\nimport { FormField, FieldErrors } from \"@/components\";\nimport type { DateRangePickerFieldProps } from \"./date-range-picker-field.types\";\n\n/**\n * # DateRangePickerField\n *\n * A form field component that combines DateRangePicker with Form Field features\n * like labels, descriptions, error handling, and validation feedback.\n *\n * This component follows the same API pattern as other field components in the UI-Kit,\n * providing a consistent interface for date range selection within forms.\n *\n * @example\n * ```tsx\n * <DateRangePickerField\n * label=\"Date Range\"\n * description=\"Select a start and end date\"\n * value={dateRange}\n * onChange={handleChange}\n * errors={errors}\n * touched={touched}\n * isRequired\n * />\n * ```\n */\nexport const DateRangePickerField = ({\n id,\n label,\n description,\n info,\n errors,\n renderError,\n touched = false,\n isRequired = false,\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n direction = \"column\",\n size = \"md\",\n ...dateRangePickerProps\n}: DateRangePickerFieldProps) => {\n // Determine if we should show errors\n const hasErrors = touched && errors && Object.values(errors).some(Boolean);\n\n return (\n <FormField.Root\n id={id}\n direction={direction as \"row\" | \"column\"}\n size={size}\n isInvalid={hasErrors || isInvalid}\n isRequired={isRequired}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n >\n <FormField.Label>{label}</FormField.Label>\n <FormField.Input>\n <DateRangePicker\n size={size}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n {...dateRangePickerProps}\n />\n </FormField.Input>\n\n {description && (\n <FormField.Description>{description}</FormField.Description>\n )}\n\n {info && <FormField.InfoBox>{info}</FormField.InfoBox>}\n {hasErrors && (\n <FormField.Error>\n <FieldErrors\n id={`${id}-errors`}\n errors={errors}\n renderError={renderError}\n />\n </FormField.Error>\n )}\n </FormField.Root>\n );\n};\n\nDateRangePickerField.displayName = \"DateRangePickerField\";\n"],"names":["DateRangePickerField","id","label","description","info","errors","renderError","touched","isRequired","isDisabled","isReadOnly","isInvalid","direction","size","dateRangePickerProps","hasErrors","jsxs","FormField","jsx","DateRangePicker","FieldErrors"],"mappings":"yLA0BaA,EAAuB,CAAC,CACnC,GAAAC,EACA,MAAAC,EACA,YAAAC,EACA,KAAAC,EACA,OAAAC,EACA,YAAAC,EACA,QAAAC,EAAU,GACV,WAAAC,EAAa,GACb,WAAAC,EAAa,GACb,WAAAC,EAAa,GACb,UAAAC,EAAY,GACZ,UAAAC,EAAY,SACZ,KAAAC,EAAO,KACP,GAAGC,CACL,IAAiC,CAE/B,MAAMC,EAAYR,GAAWF,GAAU,OAAO,OAAOA,CAAM,EAAE,KAAK,OAAO,EAEzE,OACEW,EAAAA,KAACC,EAAAA,UAAU,KAAV,CACC,GAAAhB,EACA,UAAAW,EACA,KAAAC,EACA,UAAWE,GAAaJ,EACxB,WAAAH,EACA,WAAAC,EACA,WAAAC,EAEA,SAAA,CAAAQ,EAAAA,IAACD,EAAAA,UAAU,MAAV,CAAiB,SAAAf,CAAA,CAAM,EACxBgB,EAAAA,IAACD,EAAAA,UAAU,MAAV,CACC,SAAAC,EAAAA,IAACC,EAAAA,gBAAA,CACC,KAAAN,EACA,WAAAJ,EACA,WAAAC,EACC,GAAGI,CAAA,CAAA,EAER,EAECX,GACCe,EAAAA,IAACD,EAAAA,UAAU,YAAV,CAAuB,SAAAd,EAAY,EAGrCC,GAAQc,EAAAA,IAACD,EAAAA,UAAU,QAAV,CAAmB,SAAAb,EAAK,EACjCW,GACCG,EAAAA,IAACD,EAAAA,UAAU,MAAV,CACC,SAAAC,EAAAA,IAACE,EAAAA,YAAA,CACC,GAAI,GAAGnB,CAAE,UACT,OAAAI,EACA,YAAAC,CAAA,CAAA,CACF,CACF,CAAA,CAAA,CAAA,CAIR,EAEAN,EAAqB,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),N=require("@chakra-ui/react"),y=require("@commercetools/nimbus-icons"),v=require("./DatePicker-BGFu7oAQ.cjs.js"),M=require("./Dialog-flHBRP1h.cjs.js"),V=require("./Group-1nWkximy.cjs.js"),E=require("@chakra-ui/react/styled-system"),z=require("./index-DdyUbTzB.cjs.js"),w=require("./extract-style-props-DGdckd6P.cjs.js"),h=require("react"),P=require("react-intl"),S=require("@chakra-ui/react/flex"),$=require("./text-BtRhIklG.cjs.js"),k=require("./time-input-m8zeR_8L.cjs.js"),C=require("./Button-DLCecw8f.cjs.js"),j=require("./utils-DVb3jcp5.cjs.js"),L=require("./DateField-B5u8QZFY.cjs.js"),F=require("./range-calendar-CFfa_h1A.cjs.js"),I=require("./date-input-BDkIVUEJ.cjs.js"),q=require("./icon-button-BPzrehNJ.cjs.js"),{withProvider:B,withContext:D}=N.createSlotRecipeContext({key:"dateRangePicker"}),W=B("div","root"),G=D("div","group"),O=D("div","trigger"),A=D("div","popover"),K=D("div","calendar"),l=P.defineMessages({clearSelection:{id:"Nimbus.DateRangePicker.clearSelection",description:"aria-label for clear button in date range picker",defaultMessage:"Clear date range"},openCalendar:{id:"Nimbus.DateRangePicker.openCalendar",description:"aria-label for calendar toggle button in date range picker",defaultMessage:"Open calendar"},clearInput:{id:"Nimbus.DateRangePicker.clearInput",description:"aria-label for clear input button in date range picker",defaultMessage:"Clear input value"},startTime:{id:"Nimbus.DateRangePicker.startTime",description:"aria-label for start time input (default)",defaultMessage:"Start time"},startTimeHour:{id:"Nimbus.DateRangePicker.startTimeHour",description:"aria-label for start time input (hour granularity)",defaultMessage:"Start time (hour)"},startTimeHourMinute:{id:"Nimbus.DateRangePicker.startTimeHourMinute",description:"aria-label for start time input (minute granularity)",defaultMessage:"Start time (hour and minute)"},startTimeHourMinuteSecond:{id:"Nimbus.DateRangePicker.startTimeHourMinuteSecond",description:"aria-label for start time input (second granularity)",defaultMessage:"Start time (hour, minute, and second)"},endTime:{id:"Nimbus.DateRangePicker.endTime",description:"aria-label for end time input (default)",defaultMessage:"End time"},endTimeHour:{id:"Nimbus.DateRangePicker.endTimeHour",description:"aria-label for end time input (hour granularity)",defaultMessage:"End time (hour)"},endTimeHourMinute:{id:"Nimbus.DateRangePicker.endTimeHourMinute",description:"aria-label for end time input (minute granularity)",defaultMessage:"End time (hour and minute)"},endTimeHourMinuteSecond:{id:"Nimbus.DateRangePicker.endTimeHourMinuteSecond",description:"aria-label for end time input (second granularity)",defaultMessage:"End time (hour, minute, and second)"},startTimeLabel:{id:"Nimbus.DateRangePicker.startTimeLabel",description:"visible label for start time input field",defaultMessage:"Start time"},endTimeLabel:{id:"Nimbus.DateRangePicker.endTimeLabel",description:"visible label for end time input field",defaultMessage:"End time"}}),J=({hideTimeZone:o,hourCycle:i})=>{const c=P.useIntl(),t=h.useContext(v.$06d5b8ec9ee5d538$export$80d7ae1f804790be),{granularity:u,value:r}=t,s=h.useRef(null),m=h.useRef(r);return u==="day"?null:(h.useEffect(()=>{let g;if(r?.start&&m.current?.start?.compare(r.start)!==0||r?.end&&m.current?.end?.compare(r.end)!==0){const d=s.current,p=document.activeElement;d?.contains(p)&&p?.getAttribute("role")==="spinbutton"||(g=setTimeout(()=>{if(d){const a=d.querySelector('[role="spinbutton"]');a&&a.focus()}},50))}return m.current=r,()=>{g&&clearTimeout(g)}},[r]),e.jsxs(S.Flex,{ref:s,borderTop:"solid-25",borderColor:"neutral.3",py:"300",px:"400",alignItems:"center",justifyContent:"center",gap:"200",children:[e.jsxs(S.Flex,{alignItems:"center",gap:"200",children:[e.jsx($.Text,{textStyle:"xs",fontWeight:"500",color:"neutral.12",minWidth:"fit-content",children:c.formatMessage(l.startTimeLabel)}),e.jsx(k.TimeInput,{slot:"startTimeInput",variant:"ghost",size:"sm",hideTimeZone:o,hourCycle:i})]}),e.jsxs(S.Flex,{alignItems:"center",gap:"200",children:[e.jsx($.Text,{textStyle:"xs",fontWeight:"500",color:"neutral.12",minWidth:"fit-content",children:c.formatMessage(l.endTimeLabel)}),e.jsx(k.TimeInput,{slot:"endTimeInput",variant:"ghost",size:"sm",hideTimeZone:o,hourCycle:i})]})]}))},Q=({children:o})=>{const i=P.useIntl(),c=j.$64fa3d84918910a7$export$fabf2dc03a41866e(C.$d2b4bc8c273e7be6$export$24d547caef80ccd1)||{},t=h.useContext(v.$06d5b8ec9ee5d538$export$80d7ae1f804790be),u=a=>a?.day&&a?.month&&a?.year,r=!t?.value||!u(t.value.start)||!u(t.value.end),{granularity:s}=t,m=t?.value?.start&&"hour"in t.value.start?t.value.start:null,g=t?.value?.end&&"hour"in t.value.end?t.value.end:null,x=c?.isDisabled,d=a=>{const n=a==="start"?"start":"end";switch(s){case"hour":return i.formatMessage(l[`${n}TimeHour`]);case"minute":return i.formatMessage(l[`${n}TimeHourMinute`]);case"second":return i.formatMessage(l[`${n}TimeHourMinuteSecond`]);default:return i.formatMessage(l[`${n}Time`])}},p={calendarToggle:{...c,onPress:a=>{const n=document?.activeElement;n&&n.blur(),c.onPress?.(a)}},clear:{onPress:()=>t?.setValue(null),"aria-label":i.formatMessage(l.clearInput),isDisabled:x,style:r?{display:"none"}:void 0,"aria-hidden":r?!0:void 0}},T={startTimeInput:{value:m,onChange:a=>{if(a!==null&&t?.value?.start){const n=t.value,f=n.start,b=n.end;if(f&&b){const R=f.set({hour:a.hour,minute:a.minute||0,second:a.second||0,millisecond:a.millisecond||0});t.setValue({start:R,end:b})}}},granularity:s==="day"?void 0:s,"aria-label":d("start")},endTimeInput:{value:g,onChange:a=>{if(a!==null&&t?.value?.end){const n=t.value,f=n.start,b=n.end;if(f&&b){const R=b.set({hour:a.hour,minute:a.minute||0,second:a.second||0,millisecond:a.millisecond||0});t.setValue({start:f,end:R})}}},granularity:s==="day"?void 0:s,"aria-label":d("end")}};return e.jsx(j.$64fa3d84918910a7$export$2881499e37b75b9a,{values:[[C.$d2b4bc8c273e7be6$export$24d547caef80ccd1,{slots:p}],[L.$40825cdb76e74f70$export$8e17ddc448e87c1e,{slots:T}]],children:o})},H=o=>{const i=P.useIntl(),{granularity:c="day",hideTimeZone:t,hourCycle:u}=o,r=E.useSlotRecipe({recipe:z.dateRangePickerSlotRecipe}),[s,m]=r.splitVariantProps(o),[g,x]=w.extractStyleProps(m),{size:d="md"}=s,p=d==="md"?"xs":"2xs",T=c==="day"?o.shouldCloseOnSelect:!1;return e.jsx(W,{...s,...g,asChild:!0,children:e.jsx(v.$06d5b8ec9ee5d538$export$17334619f3ac2224,{...x,shouldCloseOnSelect:T,children:e.jsxs(Q,{children:[e.jsx(G,{asChild:!0,children:e.jsxs(V.$a049562f99e7db0e$export$eb2fcfdbd7ba97d4,{children:[e.jsx(I.DateInput,{slot:"start",size:o.size,variant:"plain",width:"auto",hideTimeZone:t,hourCycle:u}),e.jsx($.Text,{as:"span",px:"150",color:"neutral.11",userSelect:"none","aria-hidden":"true",slot:null,children:"–"}),e.jsx(I.DateInput,{slot:"end",size:o.size,variant:"plain",width:"auto",hideTimeZone:t,hourCycle:u}),e.jsxs(O,{children:[e.jsx(q.IconButton,{variant:"ghost",size:p,slot:"clear","aria-label":i.formatMessage(l.clearSelection),children:e.jsx(y.Close,{})}),e.jsx(q.IconButton,{variant:"ghost",size:p,slot:"calendarToggle","aria-label":i.formatMessage(l.openCalendar),children:e.jsx(y.CalendarMonth,{})})]})]})}),e.jsx(A,{asChild:!0,children:e.jsx(M.$07b14b47974efb58$export$5b6b19405a83ff9d,{placement:"bottom end",children:e.jsxs(M.$de32f1b87079253c$export$3ddf2d174ce01153,{children:[e.jsx(K,{children:e.jsx(F.RangeCalendar,{})}),e.jsx(J,{hideTimeZone:t,hourCycle:u})]})})})]})})})};H.displayName="DateRangePicker";exports.DateRangePicker=H;
2
- //# sourceMappingURL=date-range-picker-D1gUgq_6.cjs.js.map
1
+ "use strict";const e=require("react/jsx-runtime"),N=require("@chakra-ui/react"),y=require("@commercetools/nimbus-icons"),v=require("./DatePicker-BGFu7oAQ.cjs.js"),M=require("./Dialog-flHBRP1h.cjs.js"),V=require("./Group-1nWkximy.cjs.js"),E=require("@chakra-ui/react/styled-system"),z=require("./index-DIQn6o2R.cjs.js"),w=require("./extract-style-props-DL4zPQSN.cjs.js"),h=require("react"),P=require("react-intl"),S=require("@chakra-ui/react/flex"),$=require("./text-BtRhIklG.cjs.js"),k=require("./time-input-CMAP5QkL.cjs.js"),C=require("./Button-DLCecw8f.cjs.js"),j=require("./utils-DVb3jcp5.cjs.js"),L=require("./DateField-B5u8QZFY.cjs.js"),F=require("./range-calendar-Bjst1nRD.cjs.js"),I=require("./date-input-lsbLlxie.cjs.js"),q=require("./icon-button-ClTyaPhB.cjs.js"),{withProvider:B,withContext:D}=N.createSlotRecipeContext({key:"dateRangePicker"}),W=B("div","root"),G=D("div","group"),O=D("div","trigger"),A=D("div","popover"),K=D("div","calendar"),l=P.defineMessages({clearSelection:{id:"Nimbus.DateRangePicker.clearSelection",description:"aria-label for clear button in date range picker",defaultMessage:"Clear date range"},openCalendar:{id:"Nimbus.DateRangePicker.openCalendar",description:"aria-label for calendar toggle button in date range picker",defaultMessage:"Open calendar"},clearInput:{id:"Nimbus.DateRangePicker.clearInput",description:"aria-label for clear input button in date range picker",defaultMessage:"Clear input value"},startTime:{id:"Nimbus.DateRangePicker.startTime",description:"aria-label for start time input (default)",defaultMessage:"Start time"},startTimeHour:{id:"Nimbus.DateRangePicker.startTimeHour",description:"aria-label for start time input (hour granularity)",defaultMessage:"Start time (hour)"},startTimeHourMinute:{id:"Nimbus.DateRangePicker.startTimeHourMinute",description:"aria-label for start time input (minute granularity)",defaultMessage:"Start time (hour and minute)"},startTimeHourMinuteSecond:{id:"Nimbus.DateRangePicker.startTimeHourMinuteSecond",description:"aria-label for start time input (second granularity)",defaultMessage:"Start time (hour, minute, and second)"},endTime:{id:"Nimbus.DateRangePicker.endTime",description:"aria-label for end time input (default)",defaultMessage:"End time"},endTimeHour:{id:"Nimbus.DateRangePicker.endTimeHour",description:"aria-label for end time input (hour granularity)",defaultMessage:"End time (hour)"},endTimeHourMinute:{id:"Nimbus.DateRangePicker.endTimeHourMinute",description:"aria-label for end time input (minute granularity)",defaultMessage:"End time (hour and minute)"},endTimeHourMinuteSecond:{id:"Nimbus.DateRangePicker.endTimeHourMinuteSecond",description:"aria-label for end time input (second granularity)",defaultMessage:"End time (hour, minute, and second)"},startTimeLabel:{id:"Nimbus.DateRangePicker.startTimeLabel",description:"visible label for start time input field",defaultMessage:"Start time"},endTimeLabel:{id:"Nimbus.DateRangePicker.endTimeLabel",description:"visible label for end time input field",defaultMessage:"End time"}}),J=({hideTimeZone:o,hourCycle:i})=>{const c=P.useIntl(),t=h.useContext(v.$06d5b8ec9ee5d538$export$80d7ae1f804790be),{granularity:u,value:r}=t,s=h.useRef(null),m=h.useRef(r);return u==="day"?null:(h.useEffect(()=>{let g;if(r?.start&&m.current?.start?.compare(r.start)!==0||r?.end&&m.current?.end?.compare(r.end)!==0){const d=s.current,p=document.activeElement;d?.contains(p)&&p?.getAttribute("role")==="spinbutton"||(g=setTimeout(()=>{if(d){const a=d.querySelector('[role="spinbutton"]');a&&a.focus()}},50))}return m.current=r,()=>{g&&clearTimeout(g)}},[r]),e.jsxs(S.Flex,{ref:s,borderTop:"solid-25",borderColor:"neutral.3",py:"300",px:"400",alignItems:"center",justifyContent:"center",gap:"200",children:[e.jsxs(S.Flex,{alignItems:"center",gap:"200",children:[e.jsx($.Text,{textStyle:"xs",fontWeight:"500",color:"neutral.12",minWidth:"fit-content",children:c.formatMessage(l.startTimeLabel)}),e.jsx(k.TimeInput,{slot:"startTimeInput",variant:"ghost",size:"sm",hideTimeZone:o,hourCycle:i})]}),e.jsxs(S.Flex,{alignItems:"center",gap:"200",children:[e.jsx($.Text,{textStyle:"xs",fontWeight:"500",color:"neutral.12",minWidth:"fit-content",children:c.formatMessage(l.endTimeLabel)}),e.jsx(k.TimeInput,{slot:"endTimeInput",variant:"ghost",size:"sm",hideTimeZone:o,hourCycle:i})]})]}))},Q=({children:o})=>{const i=P.useIntl(),c=j.$64fa3d84918910a7$export$fabf2dc03a41866e(C.$d2b4bc8c273e7be6$export$24d547caef80ccd1)||{},t=h.useContext(v.$06d5b8ec9ee5d538$export$80d7ae1f804790be),u=a=>a?.day&&a?.month&&a?.year,r=!t?.value||!u(t.value.start)||!u(t.value.end),{granularity:s}=t,m=t?.value?.start&&"hour"in t.value.start?t.value.start:null,g=t?.value?.end&&"hour"in t.value.end?t.value.end:null,x=c?.isDisabled,d=a=>{const n=a==="start"?"start":"end";switch(s){case"hour":return i.formatMessage(l[`${n}TimeHour`]);case"minute":return i.formatMessage(l[`${n}TimeHourMinute`]);case"second":return i.formatMessage(l[`${n}TimeHourMinuteSecond`]);default:return i.formatMessage(l[`${n}Time`])}},p={calendarToggle:{...c,onPress:a=>{const n=document?.activeElement;n&&n.blur(),c.onPress?.(a)}},clear:{onPress:()=>t?.setValue(null),"aria-label":i.formatMessage(l.clearInput),isDisabled:x,style:r?{display:"none"}:void 0,"aria-hidden":r?!0:void 0}},T={startTimeInput:{value:m,onChange:a=>{if(a!==null&&t?.value?.start){const n=t.value,f=n.start,b=n.end;if(f&&b){const R=f.set({hour:a.hour,minute:a.minute||0,second:a.second||0,millisecond:a.millisecond||0});t.setValue({start:R,end:b})}}},granularity:s==="day"?void 0:s,"aria-label":d("start")},endTimeInput:{value:g,onChange:a=>{if(a!==null&&t?.value?.end){const n=t.value,f=n.start,b=n.end;if(f&&b){const R=b.set({hour:a.hour,minute:a.minute||0,second:a.second||0,millisecond:a.millisecond||0});t.setValue({start:f,end:R})}}},granularity:s==="day"?void 0:s,"aria-label":d("end")}};return e.jsx(j.$64fa3d84918910a7$export$2881499e37b75b9a,{values:[[C.$d2b4bc8c273e7be6$export$24d547caef80ccd1,{slots:p}],[L.$40825cdb76e74f70$export$8e17ddc448e87c1e,{slots:T}]],children:o})},H=o=>{const i=P.useIntl(),{granularity:c="day",hideTimeZone:t,hourCycle:u}=o,r=E.useSlotRecipe({recipe:z.dateRangePickerSlotRecipe}),[s,m]=r.splitVariantProps(o),[g,x]=w.extractStyleProps(m),{size:d="md"}=s,p=d==="md"?"xs":"2xs",T=c==="day"?o.shouldCloseOnSelect:!1;return e.jsx(W,{...s,...g,asChild:!0,children:e.jsx(v.$06d5b8ec9ee5d538$export$17334619f3ac2224,{...x,shouldCloseOnSelect:T,children:e.jsxs(Q,{children:[e.jsx(G,{asChild:!0,children:e.jsxs(V.$a049562f99e7db0e$export$eb2fcfdbd7ba97d4,{children:[e.jsx(I.DateInput,{slot:"start",size:o.size,variant:"plain",width:"auto",hideTimeZone:t,hourCycle:u}),e.jsx($.Text,{as:"span",px:"150",color:"neutral.11",userSelect:"none","aria-hidden":"true",slot:null,children:"–"}),e.jsx(I.DateInput,{slot:"end",size:o.size,variant:"plain",width:"auto",hideTimeZone:t,hourCycle:u}),e.jsxs(O,{children:[e.jsx(q.IconButton,{variant:"ghost",size:p,slot:"clear","aria-label":i.formatMessage(l.clearSelection),children:e.jsx(y.Close,{})}),e.jsx(q.IconButton,{variant:"ghost",size:p,slot:"calendarToggle","aria-label":i.formatMessage(l.openCalendar),children:e.jsx(y.CalendarMonth,{})})]})]})}),e.jsx(A,{asChild:!0,children:e.jsx(M.$07b14b47974efb58$export$5b6b19405a83ff9d,{placement:"bottom end",children:e.jsxs(M.$de32f1b87079253c$export$3ddf2d174ce01153,{children:[e.jsx(K,{children:e.jsx(F.RangeCalendar,{})}),e.jsx(J,{hideTimeZone:t,hourCycle:u})]})})})]})})})};H.displayName="DateRangePicker";exports.DateRangePicker=H;
2
+ //# sourceMappingURL=date-range-picker-yzo8osGE.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker-D1gUgq_6.cjs.js","sources":["../../src/components/date-range-picker/date-range-picker.slots.tsx","../../src/components/date-range-picker/date-range-picker.i18n.ts","../../src/components/date-range-picker/components/date-range-picker.time-input.tsx","../../src/components/date-range-picker/components/date-range-picker.custom-context.tsx","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type { DateRangePickerRootSlotProps } from \"./date-range-picker.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dateRangePicker\",\n});\n\n/**\n * Root component that provides the styling context for the DateRangePicker component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const DateRangePickerRootSlot = withProvider<\n HTMLDivElement,\n DateRangePickerRootSlotProps\n>(\"div\", \"root\");\n\n/**\n * Slot component for the input group containing the DateInput and trigger button.\n */\nexport const DateRangePickerGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"group\");\n\n/**\n * Slot component for the trigger button that opens the calendar popover.\n */\nexport const DateRangePickerTriggerSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"trigger\");\n\n/**\n * Slot component for the popover container.\n */\nexport const DateRangePickerPopoverSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"popover\");\n\n/**\n * Slot component for the calendar container within the popover.\n */\nexport const DateRangePickerCalendarSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"calendar\");\n\n/**\n * Slot component for the calendar header.\n */\nexport const DateRangePickerCalendarHeaderSlot = withContext<\n HTMLElement,\n HTMLChakraProps<\"header\">\n>(\"header\", \"calendarHeader\");\n\n/**\n * Slot component for the calendar grid.\n */\nexport const DateRangePickerCalendarGridSlot = withContext<\n HTMLTableElement,\n HTMLChakraProps<\"table\">\n>(\"table\", \"calendarGrid\");\n\n/**\n * Slot component for individual calendar cells.\n */\nexport const DateRangePickerCalendarCellSlot = withContext<\n HTMLTableCellElement,\n HTMLChakraProps<\"td\">\n>(\"td\", \"calendarCell\");\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n clearSelection: {\n id: \"Nimbus.DateRangePicker.clearSelection\",\n description: \"aria-label for clear button in date range picker\",\n defaultMessage: \"Clear date range\",\n },\n openCalendar: {\n id: \"Nimbus.DateRangePicker.openCalendar\",\n description: \"aria-label for calendar toggle button in date range picker\",\n defaultMessage: \"Open calendar\",\n },\n clearInput: {\n id: \"Nimbus.DateRangePicker.clearInput\",\n description: \"aria-label for clear input button in date range picker\",\n defaultMessage: \"Clear input value\",\n },\n startTime: {\n id: \"Nimbus.DateRangePicker.startTime\",\n description: \"aria-label for start time input (default)\",\n defaultMessage: \"Start time\",\n },\n startTimeHour: {\n id: \"Nimbus.DateRangePicker.startTimeHour\",\n description: \"aria-label for start time input (hour granularity)\",\n defaultMessage: \"Start time (hour)\",\n },\n startTimeHourMinute: {\n id: \"Nimbus.DateRangePicker.startTimeHourMinute\",\n description: \"aria-label for start time input (minute granularity)\",\n defaultMessage: \"Start time (hour and minute)\",\n },\n startTimeHourMinuteSecond: {\n id: \"Nimbus.DateRangePicker.startTimeHourMinuteSecond\",\n description: \"aria-label for start time input (second granularity)\",\n defaultMessage: \"Start time (hour, minute, and second)\",\n },\n endTime: {\n id: \"Nimbus.DateRangePicker.endTime\",\n description: \"aria-label for end time input (default)\",\n defaultMessage: \"End time\",\n },\n endTimeHour: {\n id: \"Nimbus.DateRangePicker.endTimeHour\",\n description: \"aria-label for end time input (hour granularity)\",\n defaultMessage: \"End time (hour)\",\n },\n endTimeHourMinute: {\n id: \"Nimbus.DateRangePicker.endTimeHourMinute\",\n description: \"aria-label for end time input (minute granularity)\",\n defaultMessage: \"End time (hour and minute)\",\n },\n endTimeHourMinuteSecond: {\n id: \"Nimbus.DateRangePicker.endTimeHourMinuteSecond\",\n description: \"aria-label for end time input (second granularity)\",\n defaultMessage: \"End time (hour, minute, and second)\",\n },\n startTimeLabel: {\n id: \"Nimbus.DateRangePicker.startTimeLabel\",\n description: \"visible label for start time input field\",\n defaultMessage: \"Start time\",\n },\n endTimeLabel: {\n id: \"Nimbus.DateRangePicker.endTimeLabel\",\n description: \"visible label for end time input field\",\n defaultMessage: \"End time\",\n },\n});\n","import { Flex, Text, TimeInput } from \"@/components\";\nimport { useContext, useRef, useEffect } from \"react\";\nimport { DateRangePickerStateContext } from \"react-aria-components\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../date-range-picker.i18n\";\nimport type { DateRangePickerTimeInputProps } from \"../date-range-picker.types\";\n\nexport const DateRangePickerTimeInput = ({\n hideTimeZone,\n hourCycle,\n}: DateRangePickerTimeInputProps) => {\n const intl = useIntl();\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n const { granularity, value } = dateRangePickerState!;\n const timeInputRef = useRef<HTMLDivElement>(null);\n const previousValueRef = useRef(value);\n\n // do not show up to the party if you're not invited\n if (granularity === \"day\") {\n return null;\n }\n\n // Focus the time input when date range changes (user selects dates from calendar)\n useEffect(() => {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n // Check if date range changed by comparing start and end dates\n const hasValueChanged =\n (value?.start &&\n previousValueRef.current?.start?.compare(value.start) !== 0) ||\n (value?.end && previousValueRef.current?.end?.compare(value.end) !== 0);\n\n if (hasValueChanged) {\n // Only auto-focus if no time input segment currently has focus\n // This prevents stealing focus during user interaction with time segments\n const container = timeInputRef.current;\n const activeElement = document.activeElement;\n const hasTimeSegmentFocus =\n container?.contains(activeElement) &&\n activeElement?.getAttribute(\"role\") === \"spinbutton\";\n\n if (!hasTimeSegmentFocus) {\n // Small delay to ensure the DOM is ready\n timeoutId = setTimeout(() => {\n // Find the first focusable segment within the time input container\n if (container) {\n const firstSegment = container.querySelector(\n '[role=\"spinbutton\"]'\n ) as HTMLElement;\n\n if (firstSegment) {\n firstSegment.focus();\n }\n }\n }, 50);\n }\n }\n\n previousValueRef.current = value;\n\n // Cleanup timeout on effect re-run or unmount to prevent memory leaks\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [value]);\n\n return (\n <Flex\n ref={timeInputRef}\n borderTop=\"solid-25\"\n borderColor=\"neutral.3\"\n py=\"300\"\n px=\"400\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"200\"\n >\n {/* Start DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {intl.formatMessage(messages.startTimeLabel)}\n </Text>\n <TimeInput\n slot=\"startTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n\n {/* End DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {intl.formatMessage(messages.endTimeLabel)}\n </Text>\n <TimeInput\n slot=\"endTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n </Flex>\n );\n};\n","import { useContext, type ReactNode } from \"react\";\nimport {\n Provider,\n ButtonContext,\n DateRangePickerStateContext,\n TimeFieldContext,\n useSlottedContext,\n} from \"react-aria-components\";\nimport type { PressEvent, TimeValue } from \"react-aria\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../date-range-picker.i18n\";\n\nexport const DateRangePickerCustomContext = ({\n children,\n}: {\n children: ReactNode;\n}) => {\n const intl = useIntl();\n const buttonContext = useSlottedContext(ButtonContext) || {};\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n\n // Check if all 6 segments (start: day, month, year; end: day, month, year) have values\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const hasCompleteRangeDate = (date: any) =>\n date?.day && date?.month && date?.year;\n\n const incompleteValue =\n !dateRangePickerState?.value ||\n !hasCompleteRangeDate(dateRangePickerState.value.start) ||\n !hasCompleteRangeDate(dateRangePickerState.value.end);\n\n const { granularity } = dateRangePickerState!;\n\n // Extract time values from start and end dates separately\n const startTimeValue =\n dateRangePickerState?.value?.start &&\n \"hour\" in dateRangePickerState.value.start\n ? dateRangePickerState.value.start\n : null;\n const endTimeValue =\n dateRangePickerState?.value?.end && \"hour\" in dateRangePickerState.value.end\n ? dateRangePickerState.value.end\n : null;\n\n // Try to get disabled state from the button context\n const isDateRangePickerDisabled = buttonContext?.isDisabled;\n\n // Generate default aria-label based on granularity if not provided\n const getDefaultTimeInputAriaLabel = (type: \"start\" | \"end\") => {\n const messageKey = type === \"start\" ? \"start\" : \"end\";\n switch (granularity) {\n case \"hour\":\n return intl.formatMessage(\n messages[`${messageKey}TimeHour` as keyof typeof messages]\n );\n case \"minute\":\n return intl.formatMessage(\n messages[`${messageKey}TimeHourMinute` as keyof typeof messages]\n );\n case \"second\":\n return intl.formatMessage(\n messages[`${messageKey}TimeHourMinuteSecond` as keyof typeof messages]\n );\n default:\n return intl.formatMessage(\n messages[`${messageKey}Time` as keyof typeof messages]\n );\n }\n };\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n /** toggles the calendar popover */\n calendarToggle: {\n ...buttonContext,\n onPress: (event: PressEvent) => {\n // Ensure any active input (e.g., date picker segment) loses focus\n // because blurring the input will close the popover if it's open (or was just opened)\n const activeElement = document?.activeElement as HTMLElement | null;\n\n if (activeElement) {\n activeElement.blur();\n }\n\n buttonContext.onPress?.(event);\n },\n },\n /** Clear button that displays when there's a value in each segment - hidden from both visual and screen readers when there's no value */\n clear: {\n // Clear both start and end values\n onPress: () => dateRangePickerState?.setValue(null),\n \"aria-label\": intl.formatMessage(messages.clearInput),\n isDisabled: isDateRangePickerDisabled,\n // Hide the button when there's no value\n style: incompleteValue ? { display: \"none\" } : undefined,\n \"aria-hidden\": incompleteValue ? true : undefined,\n },\n };\n\n /**\n * TimeInput slots\n * ================================\n */\n\n // Separate time input slots for start and end times\n const timeInputSlots = {\n startTimeInput: {\n value: startTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.start) {\n // Update the start date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newStartDate = startDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: newStartDate,\n end: endDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"start\"),\n },\n endTimeInput: {\n value: endTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.end) {\n // Update the end date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newEndDate = endDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: startDate,\n end: newEndDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"end\"),\n },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n slots: buttonSlots,\n },\n ],\n [TimeFieldContext, { slots: timeInputSlots }],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n DateRangePickerRootSlot,\n DateRangePickerGroupSlot,\n DateRangePickerTriggerSlot,\n DateRangePickerPopoverSlot,\n DateRangePickerCalendarSlot,\n} from \"./date-range-picker.slots\";\n\nimport { CalendarMonth, Close } from \"@commercetools/nimbus-icons\";\n\nimport {\n DateRangePicker as ReactAriaDateRangePicker,\n Group,\n Popover,\n Dialog,\n} from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { dateRangePickerSlotRecipe } from \"./date-range-picker.recipe\";\nimport type { DateRangePickerProps } from \"./date-range-picker.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { DateInput, RangeCalendar, IconButton, Text } from \"@/components\";\nimport { DateRangePickerTimeInput } from \"./components/date-range-picker.time-input\";\nimport { DateRangePickerCustomContext } from \"./components/date-range-picker.custom-context\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"./date-range-picker.i18n\";\n\n/**\n * DateRangePicker\n * ============================================================\n * Combines a DateInput with a RangeCalendar popover for date range selection.\n * Users can either type a date range directly or select from the calendar.\n *\n * @supportsStyleProps\n */\nexport const DateRangePicker = (props: DateRangePickerProps) => {\n const intl = useIntl();\n\n // Forward hideTimeZone and hourCycle to child components (footer time inputs)\n const { granularity = \"day\", hideTimeZone, hourCycle } = props;\n const recipe = useSlotRecipe({ recipe: dateRangePickerSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n // Extract size and variant from recipe props to pass to DateInputs\n const { size = \"md\" } = recipeProps;\n\n // the size of the buttons overlaying the input\n const overlayButtonSize = size === \"md\" ? \"xs\" : \"2xs\";\n\n // When granularity is \"day\", use the prop value (defaults to true if not provided)\n // For other granularities (time-based), force to false so users can set both date and time\n const shouldCloseOnSelect =\n granularity === \"day\" ? props.shouldCloseOnSelect : false;\n\n return (\n <DateRangePickerRootSlot {...recipeProps} {...styleProps} asChild>\n <ReactAriaDateRangePicker\n {...otherProps}\n shouldCloseOnSelect={shouldCloseOnSelect}\n >\n <DateRangePickerCustomContext>\n <DateRangePickerGroupSlot asChild>\n <Group>\n <DateInput\n slot=\"start\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <Text\n as=\"span\"\n px=\"150\"\n color=\"neutral.11\"\n userSelect=\"none\"\n aria-hidden=\"true\"\n slot={null}\n >\n –\n </Text>\n <DateInput\n slot=\"end\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <DateRangePickerTriggerSlot>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"clear\"\n aria-label={intl.formatMessage(messages.clearSelection)}\n >\n <Close />\n </IconButton>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"calendarToggle\"\n aria-label={intl.formatMessage(messages.openCalendar)}\n >\n <CalendarMonth />\n </IconButton>\n </DateRangePickerTriggerSlot>\n </Group>\n </DateRangePickerGroupSlot>\n <DateRangePickerPopoverSlot asChild>\n <Popover placement=\"bottom end\">\n <Dialog>\n <DateRangePickerCalendarSlot>\n <RangeCalendar />\n </DateRangePickerCalendarSlot>\n <DateRangePickerTimeInput\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Dialog>\n </Popover>\n </DateRangePickerPopoverSlot>\n </DateRangePickerCustomContext>\n </ReactAriaDateRangePicker>\n </DateRangePickerRootSlot>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","DateRangePickerRootSlot","DateRangePickerGroupSlot","DateRangePickerTriggerSlot","DateRangePickerPopoverSlot","DateRangePickerCalendarSlot","messages","defineMessages","DateRangePickerTimeInput","hideTimeZone","hourCycle","intl","useIntl","dateRangePickerState","useContext","DateRangePickerStateContext","granularity","value","timeInputRef","useRef","previousValueRef","useEffect","timeoutId","container","activeElement","firstSegment","jsxs","Flex","jsx","Text","TimeInput","DateRangePickerCustomContext","children","buttonContext","useSlottedContext","ButtonContext","hasCompleteRangeDate","date","incompleteValue","startTimeValue","endTimeValue","isDateRangePickerDisabled","getDefaultTimeInputAriaLabel","type","messageKey","buttonSlots","event","timeInputSlots","currentValue","startDate","endDate","newStartDate","newEndDate","Provider","TimeFieldContext","DateRangePicker","props","recipe","useSlotRecipe","dateRangePickerSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","size","overlayButtonSize","shouldCloseOnSelect","ReactAriaDateRangePicker","Group","DateInput","IconButton","Close","CalendarMonth","Popover","Dialog","RangeCalendar"],"mappings":"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"}
1
+ {"version":3,"file":"date-range-picker-yzo8osGE.cjs.js","sources":["../../src/components/date-range-picker/date-range-picker.slots.tsx","../../src/components/date-range-picker/date-range-picker.i18n.ts","../../src/components/date-range-picker/components/date-range-picker.time-input.tsx","../../src/components/date-range-picker/components/date-range-picker.custom-context.tsx","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type { DateRangePickerRootSlotProps } from \"./date-range-picker.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dateRangePicker\",\n});\n\n/**\n * Root component that provides the styling context for the DateRangePicker component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const DateRangePickerRootSlot = withProvider<\n HTMLDivElement,\n DateRangePickerRootSlotProps\n>(\"div\", \"root\");\n\n/**\n * Slot component for the input group containing the DateInput and trigger button.\n */\nexport const DateRangePickerGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"group\");\n\n/**\n * Slot component for the trigger button that opens the calendar popover.\n */\nexport const DateRangePickerTriggerSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"trigger\");\n\n/**\n * Slot component for the popover container.\n */\nexport const DateRangePickerPopoverSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"popover\");\n\n/**\n * Slot component for the calendar container within the popover.\n */\nexport const DateRangePickerCalendarSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"calendar\");\n\n/**\n * Slot component for the calendar header.\n */\nexport const DateRangePickerCalendarHeaderSlot = withContext<\n HTMLElement,\n HTMLChakraProps<\"header\">\n>(\"header\", \"calendarHeader\");\n\n/**\n * Slot component for the calendar grid.\n */\nexport const DateRangePickerCalendarGridSlot = withContext<\n HTMLTableElement,\n HTMLChakraProps<\"table\">\n>(\"table\", \"calendarGrid\");\n\n/**\n * Slot component for individual calendar cells.\n */\nexport const DateRangePickerCalendarCellSlot = withContext<\n HTMLTableCellElement,\n HTMLChakraProps<\"td\">\n>(\"td\", \"calendarCell\");\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n clearSelection: {\n id: \"Nimbus.DateRangePicker.clearSelection\",\n description: \"aria-label for clear button in date range picker\",\n defaultMessage: \"Clear date range\",\n },\n openCalendar: {\n id: \"Nimbus.DateRangePicker.openCalendar\",\n description: \"aria-label for calendar toggle button in date range picker\",\n defaultMessage: \"Open calendar\",\n },\n clearInput: {\n id: \"Nimbus.DateRangePicker.clearInput\",\n description: \"aria-label for clear input button in date range picker\",\n defaultMessage: \"Clear input value\",\n },\n startTime: {\n id: \"Nimbus.DateRangePicker.startTime\",\n description: \"aria-label for start time input (default)\",\n defaultMessage: \"Start time\",\n },\n startTimeHour: {\n id: \"Nimbus.DateRangePicker.startTimeHour\",\n description: \"aria-label for start time input (hour granularity)\",\n defaultMessage: \"Start time (hour)\",\n },\n startTimeHourMinute: {\n id: \"Nimbus.DateRangePicker.startTimeHourMinute\",\n description: \"aria-label for start time input (minute granularity)\",\n defaultMessage: \"Start time (hour and minute)\",\n },\n startTimeHourMinuteSecond: {\n id: \"Nimbus.DateRangePicker.startTimeHourMinuteSecond\",\n description: \"aria-label for start time input (second granularity)\",\n defaultMessage: \"Start time (hour, minute, and second)\",\n },\n endTime: {\n id: \"Nimbus.DateRangePicker.endTime\",\n description: \"aria-label for end time input (default)\",\n defaultMessage: \"End time\",\n },\n endTimeHour: {\n id: \"Nimbus.DateRangePicker.endTimeHour\",\n description: \"aria-label for end time input (hour granularity)\",\n defaultMessage: \"End time (hour)\",\n },\n endTimeHourMinute: {\n id: \"Nimbus.DateRangePicker.endTimeHourMinute\",\n description: \"aria-label for end time input (minute granularity)\",\n defaultMessage: \"End time (hour and minute)\",\n },\n endTimeHourMinuteSecond: {\n id: \"Nimbus.DateRangePicker.endTimeHourMinuteSecond\",\n description: \"aria-label for end time input (second granularity)\",\n defaultMessage: \"End time (hour, minute, and second)\",\n },\n startTimeLabel: {\n id: \"Nimbus.DateRangePicker.startTimeLabel\",\n description: \"visible label for start time input field\",\n defaultMessage: \"Start time\",\n },\n endTimeLabel: {\n id: \"Nimbus.DateRangePicker.endTimeLabel\",\n description: \"visible label for end time input field\",\n defaultMessage: \"End time\",\n },\n});\n","import { Flex, Text, TimeInput } from \"@/components\";\nimport { useContext, useRef, useEffect } from \"react\";\nimport { DateRangePickerStateContext } from \"react-aria-components\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../date-range-picker.i18n\";\nimport type { DateRangePickerTimeInputProps } from \"../date-range-picker.types\";\n\nexport const DateRangePickerTimeInput = ({\n hideTimeZone,\n hourCycle,\n}: DateRangePickerTimeInputProps) => {\n const intl = useIntl();\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n const { granularity, value } = dateRangePickerState!;\n const timeInputRef = useRef<HTMLDivElement>(null);\n const previousValueRef = useRef(value);\n\n // do not show up to the party if you're not invited\n if (granularity === \"day\") {\n return null;\n }\n\n // Focus the time input when date range changes (user selects dates from calendar)\n useEffect(() => {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n // Check if date range changed by comparing start and end dates\n const hasValueChanged =\n (value?.start &&\n previousValueRef.current?.start?.compare(value.start) !== 0) ||\n (value?.end && previousValueRef.current?.end?.compare(value.end) !== 0);\n\n if (hasValueChanged) {\n // Only auto-focus if no time input segment currently has focus\n // This prevents stealing focus during user interaction with time segments\n const container = timeInputRef.current;\n const activeElement = document.activeElement;\n const hasTimeSegmentFocus =\n container?.contains(activeElement) &&\n activeElement?.getAttribute(\"role\") === \"spinbutton\";\n\n if (!hasTimeSegmentFocus) {\n // Small delay to ensure the DOM is ready\n timeoutId = setTimeout(() => {\n // Find the first focusable segment within the time input container\n if (container) {\n const firstSegment = container.querySelector(\n '[role=\"spinbutton\"]'\n ) as HTMLElement;\n\n if (firstSegment) {\n firstSegment.focus();\n }\n }\n }, 50);\n }\n }\n\n previousValueRef.current = value;\n\n // Cleanup timeout on effect re-run or unmount to prevent memory leaks\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [value]);\n\n return (\n <Flex\n ref={timeInputRef}\n borderTop=\"solid-25\"\n borderColor=\"neutral.3\"\n py=\"300\"\n px=\"400\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"200\"\n >\n {/* Start DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {intl.formatMessage(messages.startTimeLabel)}\n </Text>\n <TimeInput\n slot=\"startTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n\n {/* End DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {intl.formatMessage(messages.endTimeLabel)}\n </Text>\n <TimeInput\n slot=\"endTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n </Flex>\n );\n};\n","import { useContext, type ReactNode } from \"react\";\nimport {\n Provider,\n ButtonContext,\n DateRangePickerStateContext,\n TimeFieldContext,\n useSlottedContext,\n} from \"react-aria-components\";\nimport type { PressEvent, TimeValue } from \"react-aria\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../date-range-picker.i18n\";\n\nexport const DateRangePickerCustomContext = ({\n children,\n}: {\n children: ReactNode;\n}) => {\n const intl = useIntl();\n const buttonContext = useSlottedContext(ButtonContext) || {};\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n\n // Check if all 6 segments (start: day, month, year; end: day, month, year) have values\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const hasCompleteRangeDate = (date: any) =>\n date?.day && date?.month && date?.year;\n\n const incompleteValue =\n !dateRangePickerState?.value ||\n !hasCompleteRangeDate(dateRangePickerState.value.start) ||\n !hasCompleteRangeDate(dateRangePickerState.value.end);\n\n const { granularity } = dateRangePickerState!;\n\n // Extract time values from start and end dates separately\n const startTimeValue =\n dateRangePickerState?.value?.start &&\n \"hour\" in dateRangePickerState.value.start\n ? dateRangePickerState.value.start\n : null;\n const endTimeValue =\n dateRangePickerState?.value?.end && \"hour\" in dateRangePickerState.value.end\n ? dateRangePickerState.value.end\n : null;\n\n // Try to get disabled state from the button context\n const isDateRangePickerDisabled = buttonContext?.isDisabled;\n\n // Generate default aria-label based on granularity if not provided\n const getDefaultTimeInputAriaLabel = (type: \"start\" | \"end\") => {\n const messageKey = type === \"start\" ? \"start\" : \"end\";\n switch (granularity) {\n case \"hour\":\n return intl.formatMessage(\n messages[`${messageKey}TimeHour` as keyof typeof messages]\n );\n case \"minute\":\n return intl.formatMessage(\n messages[`${messageKey}TimeHourMinute` as keyof typeof messages]\n );\n case \"second\":\n return intl.formatMessage(\n messages[`${messageKey}TimeHourMinuteSecond` as keyof typeof messages]\n );\n default:\n return intl.formatMessage(\n messages[`${messageKey}Time` as keyof typeof messages]\n );\n }\n };\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n /** toggles the calendar popover */\n calendarToggle: {\n ...buttonContext,\n onPress: (event: PressEvent) => {\n // Ensure any active input (e.g., date picker segment) loses focus\n // because blurring the input will close the popover if it's open (or was just opened)\n const activeElement = document?.activeElement as HTMLElement | null;\n\n if (activeElement) {\n activeElement.blur();\n }\n\n buttonContext.onPress?.(event);\n },\n },\n /** Clear button that displays when there's a value in each segment - hidden from both visual and screen readers when there's no value */\n clear: {\n // Clear both start and end values\n onPress: () => dateRangePickerState?.setValue(null),\n \"aria-label\": intl.formatMessage(messages.clearInput),\n isDisabled: isDateRangePickerDisabled,\n // Hide the button when there's no value\n style: incompleteValue ? { display: \"none\" } : undefined,\n \"aria-hidden\": incompleteValue ? true : undefined,\n },\n };\n\n /**\n * TimeInput slots\n * ================================\n */\n\n // Separate time input slots for start and end times\n const timeInputSlots = {\n startTimeInput: {\n value: startTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.start) {\n // Update the start date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newStartDate = startDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: newStartDate,\n end: endDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"start\"),\n },\n endTimeInput: {\n value: endTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.end) {\n // Update the end date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newEndDate = endDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: startDate,\n end: newEndDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"end\"),\n },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n slots: buttonSlots,\n },\n ],\n [TimeFieldContext, { slots: timeInputSlots }],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n DateRangePickerRootSlot,\n DateRangePickerGroupSlot,\n DateRangePickerTriggerSlot,\n DateRangePickerPopoverSlot,\n DateRangePickerCalendarSlot,\n} from \"./date-range-picker.slots\";\n\nimport { CalendarMonth, Close } from \"@commercetools/nimbus-icons\";\n\nimport {\n DateRangePicker as ReactAriaDateRangePicker,\n Group,\n Popover,\n Dialog,\n} from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { dateRangePickerSlotRecipe } from \"./date-range-picker.recipe\";\nimport type { DateRangePickerProps } from \"./date-range-picker.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { DateInput, RangeCalendar, IconButton, Text } from \"@/components\";\nimport { DateRangePickerTimeInput } from \"./components/date-range-picker.time-input\";\nimport { DateRangePickerCustomContext } from \"./components/date-range-picker.custom-context\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"./date-range-picker.i18n\";\n\n/**\n * DateRangePicker\n * ============================================================\n * Combines a DateInput with a RangeCalendar popover for date range selection.\n * Users can either type a date range directly or select from the calendar.\n *\n * @supportsStyleProps\n */\nexport const DateRangePicker = (props: DateRangePickerProps) => {\n const intl = useIntl();\n\n // Forward hideTimeZone and hourCycle to child components (footer time inputs)\n const { granularity = \"day\", hideTimeZone, hourCycle } = props;\n const recipe = useSlotRecipe({ recipe: dateRangePickerSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n // Extract size and variant from recipe props to pass to DateInputs\n const { size = \"md\" } = recipeProps;\n\n // the size of the buttons overlaying the input\n const overlayButtonSize = size === \"md\" ? \"xs\" : \"2xs\";\n\n // When granularity is \"day\", use the prop value (defaults to true if not provided)\n // For other granularities (time-based), force to false so users can set both date and time\n const shouldCloseOnSelect =\n granularity === \"day\" ? props.shouldCloseOnSelect : false;\n\n return (\n <DateRangePickerRootSlot {...recipeProps} {...styleProps} asChild>\n <ReactAriaDateRangePicker\n {...otherProps}\n shouldCloseOnSelect={shouldCloseOnSelect}\n >\n <DateRangePickerCustomContext>\n <DateRangePickerGroupSlot asChild>\n <Group>\n <DateInput\n slot=\"start\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <Text\n as=\"span\"\n px=\"150\"\n color=\"neutral.11\"\n userSelect=\"none\"\n aria-hidden=\"true\"\n slot={null}\n >\n –\n </Text>\n <DateInput\n slot=\"end\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <DateRangePickerTriggerSlot>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"clear\"\n aria-label={intl.formatMessage(messages.clearSelection)}\n >\n <Close />\n </IconButton>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"calendarToggle\"\n aria-label={intl.formatMessage(messages.openCalendar)}\n >\n <CalendarMonth />\n </IconButton>\n </DateRangePickerTriggerSlot>\n </Group>\n </DateRangePickerGroupSlot>\n <DateRangePickerPopoverSlot asChild>\n <Popover placement=\"bottom end\">\n <Dialog>\n <DateRangePickerCalendarSlot>\n <RangeCalendar />\n </DateRangePickerCalendarSlot>\n <DateRangePickerTimeInput\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Dialog>\n </Popover>\n </DateRangePickerPopoverSlot>\n </DateRangePickerCustomContext>\n </ReactAriaDateRangePicker>\n </DateRangePickerRootSlot>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","DateRangePickerRootSlot","DateRangePickerGroupSlot","DateRangePickerTriggerSlot","DateRangePickerPopoverSlot","DateRangePickerCalendarSlot","messages","defineMessages","DateRangePickerTimeInput","hideTimeZone","hourCycle","intl","useIntl","dateRangePickerState","useContext","DateRangePickerStateContext","granularity","value","timeInputRef","useRef","previousValueRef","useEffect","timeoutId","container","activeElement","firstSegment","jsxs","Flex","jsx","Text","TimeInput","DateRangePickerCustomContext","children","buttonContext","useSlottedContext","ButtonContext","hasCompleteRangeDate","date","incompleteValue","startTimeValue","endTimeValue","isDateRangePickerDisabled","getDefaultTimeInputAriaLabel","type","messageKey","buttonSlots","event","timeInputSlots","currentValue","startDate","endDate","newStartDate","newEndDate","Provider","TimeFieldContext","DateRangePicker","props","recipe","useSlotRecipe","dateRangePickerSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","size","overlayButtonSize","shouldCloseOnSelect","ReactAriaDateRangePicker","Group","DateInput","IconButton","Close","CalendarMonth","Popover","Dialog","RangeCalendar"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("react/jsx-runtime"),g=require("react"),D=require("./Dialog-flHBRP1h.cjs.js"),p=require("@chakra-ui/react/styled-system"),N=require("@chakra-ui/react"),w=require("./Button-DLCecw8f.cjs.js"),h=require("./extract-style-props-DGdckd6P.cjs.js"),x=require("./Modal-mFYEMNT-.cjs.js"),O=require("./heading-DWweWKGQ.cjs.js"),B=require("@commercetools/nimbus-icons"),y=require("react-intl"),I=require("./icon-button-BPzrehNJ.cjs.js"),{withProvider:M,withContext:l}=N.createSlotRecipeContext({key:"dialog"}),H=M("div","root"),F=l("button","trigger"),k=l("div","modalOverlay"),E=l("div","modal"),V=l("div","content"),z=l("header","header"),A=l("div","body"),K=l("footer","footer"),L=l("h2","title"),G=l("div","closeTrigger"),C=g.createContext(void 0),b=()=>{const e=g.useContext(C);if(!e)throw new Error("useDialogContext must be used within Dialog.Root");return e},J=({children:e,value:t})=>o.jsx(C,{value:t,children:e}),m=e=>{const t=p.useSlotRecipe({key:"dialog"}),[s]=t.splitVariantProps(e),{children:r,isOpen:i,onOpenChange:a,defaultOpen:u=!1}=e,c=o.jsx(H,{...s,children:r}),f=g.Children.toArray(r).some(n=>{if(g.isValidElement(n)&&typeof n.type=="function"){const d=n.type?.displayName;return d==="DialogTrigger"||d==="Dialog.Trigger"}return!1});return o.jsx(J,{value:e,children:f?o.jsx(D.$de32f1b87079253c$export$2e1e1122cf0cba88,{isOpen:i,onOpenChange:a,defaultOpen:u,children:c}):c})};m.displayName="Dialog.Root";const j=({ref:e,children:t,asChild:s,...r})=>{if(s)return o.jsx(p.chakra.button,{ref:e,asChild:!0,...r,children:t});const[i,a]=h.extractStyleProps(r);return o.jsx(F,{...i,asChild:!0,children:o.jsx(w.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{ref:e,...a,children:t})})};j.displayName="Dialog.Trigger";const T=e=>{const{ref:t,children:s,...r}=e,{defaultOpen:i,isDismissable:a,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:c,isOpen:f,onOpenChange:n}=b(),d={defaultOpen:i,isDismissable:a,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:c,isOpen:f,onOpenChange:n},[q]=h.extractStyleProps(r);return o.jsx(k,{asChild:!0,children:o.jsx(x.$f3f84453ead64de5$export$8948f78d83984c69,{...d,children:o.jsx(E,{asChild:!0,children:o.jsx(x.$f3f84453ead64de5$export$2b77a92f1a5ad772,{children:o.jsx(V,{asChild:!0,...q,children:o.jsx(D.$de32f1b87079253c$export$3ddf2d174ce01153,{ref:t,children:s})})})})})})};T.displayName="Dialog.Content";const P=e=>{const{ref:t,children:s,...r}=e;return o.jsx(z,{ref:t,...r,children:s})};P.displayName="Dialog.Header";const S=e=>{const{ref:t,children:s,...r}=e,{scrollBehavior:i}=b(),a={tabIndex:i==="inside"?0:void 0};return o.jsx(A,{ref:t,...a,...r,children:s})};S.displayName="Dialog.Body";const $=e=>{const{ref:t,children:s,...r}=e;return o.jsx(K,{ref:t,...r,children:s})};$.displayName="Dialog.Footer";const v=e=>{const{ref:t,children:s,...r}=e;return o.jsx(L,{asChild:!0,...r,children:o.jsx(O.Heading,{ref:t,slot:"title",as:"h2",textStyle:"lg",children:s})})};v.displayName="Dialog.Title";const Q=y.defineMessages({closeTrigger:{id:"Nimbus.Dialog.closeTrigger",description:"aria-label for the default close trigger button",defaultMessage:"Close dialog"}}),R=e=>{const{ref:t,"aria-label":s,...r}=e,i=y.useIntl();return o.jsx(G,{children:o.jsx(I.IconButton,{ref:t,slot:"close",size:"xs",variant:"ghost","aria-label":s||i.formatMessage(Q.closeTrigger),...r,children:o.jsx(B.Close,{})})})};R.displayName="Dialog.CloseTrigger";const U={Root:m,Trigger:j,Content:T,Header:P,Body:S,Footer:$,Title:v,CloseTrigger:R};exports.Dialog=U;
2
- //# sourceMappingURL=dialog-CS8h46ov.cjs.js.map
1
+ "use strict";const o=require("react/jsx-runtime"),g=require("react"),D=require("./Dialog-flHBRP1h.cjs.js"),p=require("@chakra-ui/react/styled-system"),N=require("@chakra-ui/react"),w=require("./Button-DLCecw8f.cjs.js"),h=require("./extract-style-props-DL4zPQSN.cjs.js"),x=require("./Modal-mFYEMNT-.cjs.js"),O=require("./heading-DWweWKGQ.cjs.js"),B=require("@commercetools/nimbus-icons"),y=require("react-intl"),I=require("./icon-button-ClTyaPhB.cjs.js"),{withProvider:M,withContext:l}=N.createSlotRecipeContext({key:"dialog"}),H=M("div","root"),F=l("button","trigger"),k=l("div","modalOverlay"),E=l("div","modal"),V=l("div","content"),z=l("header","header"),A=l("div","body"),K=l("footer","footer"),L=l("h2","title"),G=l("div","closeTrigger"),C=g.createContext(void 0),b=()=>{const e=g.useContext(C);if(!e)throw new Error("useDialogContext must be used within Dialog.Root");return e},J=({children:e,value:t})=>o.jsx(C,{value:t,children:e}),m=e=>{const t=p.useSlotRecipe({key:"dialog"}),[s]=t.splitVariantProps(e),{children:r,isOpen:i,onOpenChange:a,defaultOpen:u=!1}=e,c=o.jsx(H,{...s,children:r}),f=g.Children.toArray(r).some(n=>{if(g.isValidElement(n)&&typeof n.type=="function"){const d=n.type?.displayName;return d==="DialogTrigger"||d==="Dialog.Trigger"}return!1});return o.jsx(J,{value:e,children:f?o.jsx(D.$de32f1b87079253c$export$2e1e1122cf0cba88,{isOpen:i,onOpenChange:a,defaultOpen:u,children:c}):c})};m.displayName="Dialog.Root";const j=({ref:e,children:t,asChild:s,...r})=>{if(s)return o.jsx(p.chakra.button,{ref:e,asChild:!0,...r,children:t});const[i,a]=h.extractStyleProps(r);return o.jsx(F,{...i,asChild:!0,children:o.jsx(w.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{ref:e,...a,children:t})})};j.displayName="Dialog.Trigger";const T=e=>{const{ref:t,children:s,...r}=e,{defaultOpen:i,isDismissable:a,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:c,isOpen:f,onOpenChange:n}=b(),d={defaultOpen:i,isDismissable:a,isKeyboardDismissDisabled:u,shouldCloseOnInteractOutside:c,isOpen:f,onOpenChange:n},[q]=h.extractStyleProps(r);return o.jsx(k,{asChild:!0,children:o.jsx(x.$f3f84453ead64de5$export$8948f78d83984c69,{...d,children:o.jsx(E,{asChild:!0,children:o.jsx(x.$f3f84453ead64de5$export$2b77a92f1a5ad772,{children:o.jsx(V,{asChild:!0,...q,children:o.jsx(D.$de32f1b87079253c$export$3ddf2d174ce01153,{ref:t,children:s})})})})})})};T.displayName="Dialog.Content";const P=e=>{const{ref:t,children:s,...r}=e;return o.jsx(z,{ref:t,...r,children:s})};P.displayName="Dialog.Header";const S=e=>{const{ref:t,children:s,...r}=e,{scrollBehavior:i}=b(),a={tabIndex:i==="inside"?0:void 0};return o.jsx(A,{ref:t,...a,...r,children:s})};S.displayName="Dialog.Body";const $=e=>{const{ref:t,children:s,...r}=e;return o.jsx(K,{ref:t,...r,children:s})};$.displayName="Dialog.Footer";const v=e=>{const{ref:t,children:s,...r}=e;return o.jsx(L,{asChild:!0,...r,children:o.jsx(O.Heading,{ref:t,slot:"title",as:"h2",textStyle:"lg",children:s})})};v.displayName="Dialog.Title";const Q=y.defineMessages({closeTrigger:{id:"Nimbus.Dialog.closeTrigger",description:"aria-label for the default close trigger button",defaultMessage:"Close dialog"}}),R=e=>{const{ref:t,"aria-label":s,...r}=e,i=y.useIntl();return o.jsx(G,{children:o.jsx(I.IconButton,{ref:t,slot:"close",size:"xs",variant:"ghost","aria-label":s||i.formatMessage(Q.closeTrigger),...r,children:o.jsx(B.Close,{})})})};R.displayName="Dialog.CloseTrigger";const U={Root:m,Trigger:j,Content:T,Header:P,Body:S,Footer:$,Title:v,CloseTrigger:R};exports.Dialog=U;
2
+ //# sourceMappingURL=dialog-DNl_apyv.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-CS8h46ov.cjs.js","sources":["../../src/components/dialog/dialog.slots.tsx","../../src/components/dialog/components/dialog.context.tsx","../../src/components/dialog/components/dialog.root.tsx","../../src/components/dialog/components/dialog.trigger.tsx","../../src/components/dialog/components/dialog.content.tsx","../../src/components/dialog/components/dialog.header.tsx","../../src/components/dialog/components/dialog.body.tsx","../../src/components/dialog/components/dialog.footer.tsx","../../src/components/dialog/components/dialog.title.tsx","../../src/components/dialog/dialog.i18n.ts","../../src/components/dialog/components/dialog.close-trigger.tsx","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n DialogBodySlotProps,\n DialogCloseTriggerSlotProps,\n DialogContentSlotProps,\n DialogFooterSlotProps,\n DialogHeaderSlotProps,\n DialogModalOverlaySlotProps,\n DialogModalSlotProps,\n DialogRootProps,\n DialogTitleSlotProps,\n DialogTriggerSlotProps,\n} from \"./dialog.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dialog\",\n});\n\n// Root slot - provides recipe context + config to all child components\nexport const DialogRootSlot = withProvider<HTMLDivElement, DialogRootProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the dialog\nexport const DialogTriggerSlot = withContext<\n HTMLButtonElement,\n DialogTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the dialog\nexport const DialogModalOverlaySlot = withContext<\n HTMLDivElement,\n DialogModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the dialog content\n\nexport const DialogModalSlot = withContext<\n HTMLDivElement,\n DialogModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main dialog container\nexport const DialogContentSlot = withContext<\n HTMLDivElement,\n DialogContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - dialog header section\nexport const DialogHeaderSlot = withContext<HTMLElement, DialogHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - dialog body content\nexport const DialogBodySlot = withContext<HTMLDivElement, DialogBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - dialog footer section with actions\nexport const DialogFooterSlot = withContext<HTMLElement, DialogFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible dialog title\nexport const DialogTitleSlot = withContext<\n HTMLHeadingElement,\n DialogTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport const DialogCloseTriggerSlot = withContext<\n HTMLDivElement,\n DialogCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DialogRootProps } from \"../dialog.types\";\n\n/**\n * Context value containing dialog configuration passed from Root to child components\n */\nexport type DialogContextValue = DialogRootProps;\n\nexport const DialogContext = createContext<DialogContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access dialog configuration from DialogContext\n * @returns Dialog configuration from context\n * @throws Error if used outside of Dialog.Root\n */\nexport const useDialogRootContext = (): DialogContextValue => {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error(\"useDialogContext must be used within Dialog.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes dialog configuration down to child components\n */\nexport const DialogProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DialogContextValue;\n}) => {\n return <DialogContext value={value}>{children}</DialogContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DialogRootSlot } from \"../dialog.slots\";\nimport type { DialogRootProps } from \"../dialog.types\";\nimport { DialogProvider } from \"./dialog.context\";\n\n/**\n * Dialog.Root - The root component that provides context and state management\n *\n * @supportsStyleProps\n */\nexport const DialogRoot = (props: DialogRootProps) => {\n const recipe = useSlotRecipe({ key: \"dialog\" });\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 = <DialogRootSlot {...recipeProps}>{children}</DialogRootSlot>;\n\n // Check if any direct child is a Dialog.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDialogTrigger = 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 === \"DialogTrigger\" || displayName === \"Dialog.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Dialog subcomponents\n return (\n <DialogProvider value={props}>\n {hasDialogTrigger ? (\n // When there's a Dialog.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 Dialog.Trigger, skip using RaDialogTrigger to avoid console.warning's\n content\n )}\n </DialogProvider>\n );\n};\n\nDialogRoot.displayName = \"Dialog.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DialogTriggerSlot } from \"../dialog.slots\";\nimport type { DialogTriggerProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Dialog.Trigger - The button or element that opens the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DialogTriggerProps) => {\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 DialogTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DialogTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DialogTriggerSlot>\n );\n};\n\nDialogTrigger.displayName = \"Dialog.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DialogModalOverlaySlot,\n DialogModalSlot,\n DialogContentSlot,\n} from \"../dialog.slots\";\nimport type { DialogContentProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Content - The main dialog content container\n *\n * @supportsStyleProps\n */\nexport const DialogContent = (props: DialogContentProps) => {\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 } = useDialogRootContext();\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 <DialogModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DialogModalSlot asChild>\n <RaModal>\n <DialogContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DialogContentSlot>\n </RaModal>\n </DialogModalSlot>\n </RaModalOverlay>\n </DialogModalOverlaySlot>\n );\n};\n\nDialogContent.displayName = \"Dialog.Content\";\n","import { DialogHeaderSlot } from \"../dialog.slots\";\nimport type { DialogHeaderProps } from \"../dialog.types\";\n\n/**\n * Dialog.Header - The header section of the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogHeader = (props: DialogHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogHeaderSlot>\n );\n};\n\nDialogHeader.displayName = \"Dialog.Header\";\n","import { DialogBodySlot } from \"../dialog.slots\";\nimport type { DialogBodyProps } from \"../dialog.types\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Body - The main body content section\n *\n * @supportsStyleProps\n */\nexport const DialogBody = (props: DialogBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n const { scrollBehavior } = useDialogRootContext();\n\n const defaultProps = {\n /**\n * if scrollBehavior is set to \"inside\", set tabIndex to 0 to allow the body to\n * receive focus, effectively enabling scrolling via keyboard\n * arrow keys.\n */\n tabIndex: scrollBehavior === \"inside\" ? 0 : undefined,\n };\n\n return (\n <DialogBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DialogBodySlot>\n );\n};\n\nDialogBody.displayName = \"Dialog.Body\";\n","import { DialogFooterSlot } from \"../dialog.slots\";\nimport type { DialogFooterProps } from \"../dialog.types\";\n\n/**\n * Dialog.Footer - The footer section with action buttons\n *\n * @supportsStyleProps\n */\nexport const DialogFooter = (props: DialogFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogFooterSlot>\n );\n};\n\nDialogFooter.displayName = \"Dialog.Footer\";\n","import { DialogTitleSlot } from \"../dialog.slots\";\nimport type { DialogTitleProps } from \"../dialog.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Dialog.Title - The accessible title element\n *\n * @supportsStyleProps\n */\nexport const DialogTitle = (props: DialogTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DialogTitleSlot>\n );\n};\n\nDialogTitle.displayName = \"Dialog.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Dialog.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close dialog\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DialogCloseTriggerSlot } from \"../dialog.slots\";\nimport type { DialogCloseTriggerProps } from \"../dialog.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../dialog.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Dialog.CloseTrigger - A button that closes the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogCloseTrigger = (props: DialogCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DialogCloseTriggerSlot>\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 </DialogCloseTriggerSlot>\n );\n};\n\nDialogCloseTrigger.displayName = \"Dialog.CloseTrigger\";\n","import { DialogRoot } from \"./components/dialog.root\";\nimport { DialogTrigger } from \"./components/dialog.trigger\";\nimport { DialogContent } from \"./components/dialog.content\";\nimport { DialogHeader } from \"./components/dialog.header\";\nimport { DialogBody } from \"./components/dialog.body\";\nimport { DialogFooter } from \"./components/dialog.footer\";\nimport { DialogTitle } from \"./components/dialog.title\";\nimport { DialogCloseTrigger } from \"./components/dialog.close-trigger\";\n\n/**\n * Dialog\n * ============================================================\n * A foundational dialog component for overlays that require user attention.\n * Built with React Aria Components 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 * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger>×</Dialog.CloseTrigger>\n * </Dialog.Header>\n * <Dialog.Body>\n * Dialog content goes here\n * </Dialog.Body>\n * <Dialog.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n *\n * @see https://nimbus-documentation.vercel.app/components/feedback/dialog\n */\nexport const Dialog = {\n /**\n * # Dialog.Root\n *\n * The root component that provides context and state management for the dialog.\n * Uses React Aria's DialogTrigger for accessibility and keyboard interaction.\n *\n * This component must wrap all dialog parts (Trigger, Content, etc.) and provides\n * the dialog open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Dialog content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Root: DialogRoot,\n /**\n * # Dialog.Trigger\n *\n * The trigger element that opens the dialog when activated.\n * Uses React Aria's Button for accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>...</Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Trigger: DialogTrigger,\n /**\n * # Dialog.Content\n *\n * The main dialog content container that wraps React Aria's Modal and Dialog.\n * Handles portalling, backdrop, positioning, and content styling.\n *\n * This component creates the dialog overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * <Dialog.Footer>Actions</Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Content: DialogContent,\n /**\n * # Dialog.Header\n *\n * The header section of the dialog content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger />\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Header: DialogHeader,\n /**\n * # Dialog.Body\n *\n * The main body content section of the dialog.\n * Contains the primary dialog content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>\n * <p>This is the main content of the dialog.</p>\n * </Dialog.Body>\n * <Dialog.Footer>...</Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Body: DialogBody,\n /**\n * # Dialog.Footer\n *\n * The footer section of the dialog, typically containing action buttons.\n * Provides consistent spacing and alignment for dialog actions.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * <Dialog.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Footer: DialogFooter,\n /**\n * # Dialog.Title\n *\n * The accessible title element for the dialog.\n * Uses React Aria's Heading for proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Confirm Action</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Title: DialogTitle,\n /**\n * # Dialog.CloseTrigger\n *\n * A button that closes the dialog when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior through React Aria's\n * context, so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * <Dialog.CloseTrigger aria-label=\"Close dialog\" />\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n CloseTrigger: DialogCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DialogRoot as _DialogRoot,\n DialogTrigger as _DialogTrigger,\n DialogContent as _DialogContent,\n DialogHeader as _DialogHeader,\n DialogBody as _DialogBody,\n DialogFooter as _DialogFooter,\n DialogTitle as _DialogTitle,\n DialogCloseTrigger as _DialogCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","DialogRootSlot","DialogTriggerSlot","DialogModalOverlaySlot","DialogModalSlot","DialogContentSlot","DialogHeaderSlot","DialogBodySlot","DialogFooterSlot","DialogTitleSlot","DialogCloseTriggerSlot","DialogContext","createContext","useDialogRootContext","context","useContext","DialogProvider","children","value","jsx","DialogRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDialogTrigger","React","child","displayName","RaDialogTrigger","DialogTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DialogContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DialogHeader","DialogBody","scrollBehavior","defaultProps","DialogFooter","DialogTitle","Heading","messages","defineMessages","DialogCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Dialog"],"mappings":"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"}
1
+ {"version":3,"file":"dialog-DNl_apyv.cjs.js","sources":["../../src/components/dialog/dialog.slots.tsx","../../src/components/dialog/components/dialog.context.tsx","../../src/components/dialog/components/dialog.root.tsx","../../src/components/dialog/components/dialog.trigger.tsx","../../src/components/dialog/components/dialog.content.tsx","../../src/components/dialog/components/dialog.header.tsx","../../src/components/dialog/components/dialog.body.tsx","../../src/components/dialog/components/dialog.footer.tsx","../../src/components/dialog/components/dialog.title.tsx","../../src/components/dialog/dialog.i18n.ts","../../src/components/dialog/components/dialog.close-trigger.tsx","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n DialogBodySlotProps,\n DialogCloseTriggerSlotProps,\n DialogContentSlotProps,\n DialogFooterSlotProps,\n DialogHeaderSlotProps,\n DialogModalOverlaySlotProps,\n DialogModalSlotProps,\n DialogRootProps,\n DialogTitleSlotProps,\n DialogTriggerSlotProps,\n} from \"./dialog.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dialog\",\n});\n\n// Root slot - provides recipe context + config to all child components\nexport const DialogRootSlot = withProvider<HTMLDivElement, DialogRootProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the dialog\nexport const DialogTriggerSlot = withContext<\n HTMLButtonElement,\n DialogTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the dialog\nexport const DialogModalOverlaySlot = withContext<\n HTMLDivElement,\n DialogModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the dialog content\n\nexport const DialogModalSlot = withContext<\n HTMLDivElement,\n DialogModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main dialog container\nexport const DialogContentSlot = withContext<\n HTMLDivElement,\n DialogContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - dialog header section\nexport const DialogHeaderSlot = withContext<HTMLElement, DialogHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - dialog body content\nexport const DialogBodySlot = withContext<HTMLDivElement, DialogBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - dialog footer section with actions\nexport const DialogFooterSlot = withContext<HTMLElement, DialogFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible dialog title\nexport const DialogTitleSlot = withContext<\n HTMLHeadingElement,\n DialogTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport const DialogCloseTriggerSlot = withContext<\n HTMLDivElement,\n DialogCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DialogRootProps } from \"../dialog.types\";\n\n/**\n * Context value containing dialog configuration passed from Root to child components\n */\nexport type DialogContextValue = DialogRootProps;\n\nexport const DialogContext = createContext<DialogContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access dialog configuration from DialogContext\n * @returns Dialog configuration from context\n * @throws Error if used outside of Dialog.Root\n */\nexport const useDialogRootContext = (): DialogContextValue => {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error(\"useDialogContext must be used within Dialog.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes dialog configuration down to child components\n */\nexport const DialogProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DialogContextValue;\n}) => {\n return <DialogContext value={value}>{children}</DialogContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DialogRootSlot } from \"../dialog.slots\";\nimport type { DialogRootProps } from \"../dialog.types\";\nimport { DialogProvider } from \"./dialog.context\";\n\n/**\n * Dialog.Root - The root component that provides context and state management\n *\n * @supportsStyleProps\n */\nexport const DialogRoot = (props: DialogRootProps) => {\n const recipe = useSlotRecipe({ key: \"dialog\" });\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 = <DialogRootSlot {...recipeProps}>{children}</DialogRootSlot>;\n\n // Check if any direct child is a Dialog.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDialogTrigger = 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 === \"DialogTrigger\" || displayName === \"Dialog.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Dialog subcomponents\n return (\n <DialogProvider value={props}>\n {hasDialogTrigger ? (\n // When there's a Dialog.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 Dialog.Trigger, skip using RaDialogTrigger to avoid console.warning's\n content\n )}\n </DialogProvider>\n );\n};\n\nDialogRoot.displayName = \"Dialog.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DialogTriggerSlot } from \"../dialog.slots\";\nimport type { DialogTriggerProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Dialog.Trigger - The button or element that opens the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DialogTriggerProps) => {\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 DialogTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DialogTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DialogTriggerSlot>\n );\n};\n\nDialogTrigger.displayName = \"Dialog.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DialogModalOverlaySlot,\n DialogModalSlot,\n DialogContentSlot,\n} from \"../dialog.slots\";\nimport type { DialogContentProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Content - The main dialog content container\n *\n * @supportsStyleProps\n */\nexport const DialogContent = (props: DialogContentProps) => {\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 } = useDialogRootContext();\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 <DialogModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DialogModalSlot asChild>\n <RaModal>\n <DialogContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DialogContentSlot>\n </RaModal>\n </DialogModalSlot>\n </RaModalOverlay>\n </DialogModalOverlaySlot>\n );\n};\n\nDialogContent.displayName = \"Dialog.Content\";\n","import { DialogHeaderSlot } from \"../dialog.slots\";\nimport type { DialogHeaderProps } from \"../dialog.types\";\n\n/**\n * Dialog.Header - The header section of the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogHeader = (props: DialogHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogHeaderSlot>\n );\n};\n\nDialogHeader.displayName = \"Dialog.Header\";\n","import { DialogBodySlot } from \"../dialog.slots\";\nimport type { DialogBodyProps } from \"../dialog.types\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Body - The main body content section\n *\n * @supportsStyleProps\n */\nexport const DialogBody = (props: DialogBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n const { scrollBehavior } = useDialogRootContext();\n\n const defaultProps = {\n /**\n * if scrollBehavior is set to \"inside\", set tabIndex to 0 to allow the body to\n * receive focus, effectively enabling scrolling via keyboard\n * arrow keys.\n */\n tabIndex: scrollBehavior === \"inside\" ? 0 : undefined,\n };\n\n return (\n <DialogBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DialogBodySlot>\n );\n};\n\nDialogBody.displayName = \"Dialog.Body\";\n","import { DialogFooterSlot } from \"../dialog.slots\";\nimport type { DialogFooterProps } from \"../dialog.types\";\n\n/**\n * Dialog.Footer - The footer section with action buttons\n *\n * @supportsStyleProps\n */\nexport const DialogFooter = (props: DialogFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogFooterSlot>\n );\n};\n\nDialogFooter.displayName = \"Dialog.Footer\";\n","import { DialogTitleSlot } from \"../dialog.slots\";\nimport type { DialogTitleProps } from \"../dialog.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Dialog.Title - The accessible title element\n *\n * @supportsStyleProps\n */\nexport const DialogTitle = (props: DialogTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DialogTitleSlot>\n );\n};\n\nDialogTitle.displayName = \"Dialog.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Dialog.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close dialog\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DialogCloseTriggerSlot } from \"../dialog.slots\";\nimport type { DialogCloseTriggerProps } from \"../dialog.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../dialog.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Dialog.CloseTrigger - A button that closes the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogCloseTrigger = (props: DialogCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DialogCloseTriggerSlot>\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 </DialogCloseTriggerSlot>\n );\n};\n\nDialogCloseTrigger.displayName = \"Dialog.CloseTrigger\";\n","import { DialogRoot } from \"./components/dialog.root\";\nimport { DialogTrigger } from \"./components/dialog.trigger\";\nimport { DialogContent } from \"./components/dialog.content\";\nimport { DialogHeader } from \"./components/dialog.header\";\nimport { DialogBody } from \"./components/dialog.body\";\nimport { DialogFooter } from \"./components/dialog.footer\";\nimport { DialogTitle } from \"./components/dialog.title\";\nimport { DialogCloseTrigger } from \"./components/dialog.close-trigger\";\n\n/**\n * Dialog\n * ============================================================\n * A foundational dialog component for overlays that require user attention.\n * Built with React Aria Components 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 * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger>×</Dialog.CloseTrigger>\n * </Dialog.Header>\n * <Dialog.Body>\n * Dialog content goes here\n * </Dialog.Body>\n * <Dialog.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n *\n * @see https://nimbus-documentation.vercel.app/components/feedback/dialog\n */\nexport const Dialog = {\n /**\n * # Dialog.Root\n *\n * The root component that provides context and state management for the dialog.\n * Uses React Aria's DialogTrigger for accessibility and keyboard interaction.\n *\n * This component must wrap all dialog parts (Trigger, Content, etc.) and provides\n * the dialog open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Dialog content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Root: DialogRoot,\n /**\n * # Dialog.Trigger\n *\n * The trigger element that opens the dialog when activated.\n * Uses React Aria's Button for accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>...</Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Trigger: DialogTrigger,\n /**\n * # Dialog.Content\n *\n * The main dialog content container that wraps React Aria's Modal and Dialog.\n * Handles portalling, backdrop, positioning, and content styling.\n *\n * This component creates the dialog overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * <Dialog.Footer>Actions</Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Content: DialogContent,\n /**\n * # Dialog.Header\n *\n * The header section of the dialog content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger />\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Header: DialogHeader,\n /**\n * # Dialog.Body\n *\n * The main body content section of the dialog.\n * Contains the primary dialog content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>\n * <p>This is the main content of the dialog.</p>\n * </Dialog.Body>\n * <Dialog.Footer>...</Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Body: DialogBody,\n /**\n * # Dialog.Footer\n *\n * The footer section of the dialog, typically containing action buttons.\n * Provides consistent spacing and alignment for dialog actions.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * <Dialog.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Footer: DialogFooter,\n /**\n * # Dialog.Title\n *\n * The accessible title element for the dialog.\n * Uses React Aria's Heading for proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Confirm Action</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Title: DialogTitle,\n /**\n * # Dialog.CloseTrigger\n *\n * A button that closes the dialog when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior through React Aria's\n * context, so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * <Dialog.CloseTrigger aria-label=\"Close dialog\" />\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n CloseTrigger: DialogCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DialogRoot as _DialogRoot,\n DialogTrigger as _DialogTrigger,\n DialogContent as _DialogContent,\n DialogHeader as _DialogHeader,\n DialogBody as _DialogBody,\n DialogFooter as _DialogFooter,\n DialogTitle as _DialogTitle,\n DialogCloseTrigger as _DialogCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","DialogRootSlot","DialogTriggerSlot","DialogModalOverlaySlot","DialogModalSlot","DialogContentSlot","DialogHeaderSlot","DialogBodySlot","DialogFooterSlot","DialogTitleSlot","DialogCloseTriggerSlot","DialogContext","createContext","useDialogRootContext","context","useContext","DialogProvider","children","value","jsx","DialogRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDialogTrigger","React","child","displayName","RaDialogTrigger","DialogTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DialogContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DialogHeader","DialogBody","scrollBehavior","defaultProps","DialogFooter","DialogTitle","Heading","messages","defineMessages","DialogCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Dialog"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import p, { useContext as S, createContext as R } from "react";
3
- import { k as N, h as w } from "./Dialog-DcnmO0xr.es.js";
3
+ import { k as N, h as w } from "./Dialog-BYVU-i0Y.es.js";
4
4
  import { useSlotRecipe as O, chakra as B } from "@chakra-ui/react/styled-system";
5
5
  import { createSlotRecipeContext as H } from "@chakra-ui/react";
6
- import { a as I } from "./Button-BjcDZ5eb.es.js";
7
- import { e as m } from "./extract-style-props-CIoUvqFb.es.js";
8
- import { $ as M, a as k } from "./Modal-3QPNDzpi.es.js";
9
- import { H as F } from "./heading-nfjoR4vL.es.js";
6
+ import { a as I } from "./Button-CmpJG0ec.es.js";
7
+ import { e as m } from "./extract-style-props-CJjpdqym.es.js";
8
+ import { $ as M, a as k } from "./Modal-2TttSPy4.es.js";
9
+ import { H as F } from "./heading-CwsT9zp_.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-hZxuTfRy.es.js";
12
+ import { I as j } from "./icon-button-Cnas4bnJ.es.js";
13
13
  const { withProvider: z, withContext: s } = /* @__PURE__ */ H({
14
14
  key: "dialog"
15
15
  }), A = /* @__PURE__ */ z(
@@ -302,4 +302,4 @@ const fe = {
302
302
  export {
303
303
  fe as D
304
304
  };
305
- //# sourceMappingURL=dialog-DUZOjwNj.es.js.map
305
+ //# sourceMappingURL=dialog-cV8_ifAL.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-DUZOjwNj.es.js","sources":["../../src/components/dialog/dialog.slots.tsx","../../src/components/dialog/components/dialog.context.tsx","../../src/components/dialog/components/dialog.root.tsx","../../src/components/dialog/components/dialog.trigger.tsx","../../src/components/dialog/components/dialog.content.tsx","../../src/components/dialog/components/dialog.header.tsx","../../src/components/dialog/components/dialog.body.tsx","../../src/components/dialog/components/dialog.footer.tsx","../../src/components/dialog/components/dialog.title.tsx","../../src/components/dialog/dialog.i18n.ts","../../src/components/dialog/components/dialog.close-trigger.tsx","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n DialogBodySlotProps,\n DialogCloseTriggerSlotProps,\n DialogContentSlotProps,\n DialogFooterSlotProps,\n DialogHeaderSlotProps,\n DialogModalOverlaySlotProps,\n DialogModalSlotProps,\n DialogRootProps,\n DialogTitleSlotProps,\n DialogTriggerSlotProps,\n} from \"./dialog.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dialog\",\n});\n\n// Root slot - provides recipe context + config to all child components\nexport const DialogRootSlot = withProvider<HTMLDivElement, DialogRootProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the dialog\nexport const DialogTriggerSlot = withContext<\n HTMLButtonElement,\n DialogTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the dialog\nexport const DialogModalOverlaySlot = withContext<\n HTMLDivElement,\n DialogModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the dialog content\n\nexport const DialogModalSlot = withContext<\n HTMLDivElement,\n DialogModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main dialog container\nexport const DialogContentSlot = withContext<\n HTMLDivElement,\n DialogContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - dialog header section\nexport const DialogHeaderSlot = withContext<HTMLElement, DialogHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - dialog body content\nexport const DialogBodySlot = withContext<HTMLDivElement, DialogBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - dialog footer section with actions\nexport const DialogFooterSlot = withContext<HTMLElement, DialogFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible dialog title\nexport const DialogTitleSlot = withContext<\n HTMLHeadingElement,\n DialogTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport const DialogCloseTriggerSlot = withContext<\n HTMLDivElement,\n DialogCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DialogRootProps } from \"../dialog.types\";\n\n/**\n * Context value containing dialog configuration passed from Root to child components\n */\nexport type DialogContextValue = DialogRootProps;\n\nexport const DialogContext = createContext<DialogContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access dialog configuration from DialogContext\n * @returns Dialog configuration from context\n * @throws Error if used outside of Dialog.Root\n */\nexport const useDialogRootContext = (): DialogContextValue => {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error(\"useDialogContext must be used within Dialog.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes dialog configuration down to child components\n */\nexport const DialogProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DialogContextValue;\n}) => {\n return <DialogContext value={value}>{children}</DialogContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DialogRootSlot } from \"../dialog.slots\";\nimport type { DialogRootProps } from \"../dialog.types\";\nimport { DialogProvider } from \"./dialog.context\";\n\n/**\n * Dialog.Root - The root component that provides context and state management\n *\n * @supportsStyleProps\n */\nexport const DialogRoot = (props: DialogRootProps) => {\n const recipe = useSlotRecipe({ key: \"dialog\" });\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 = <DialogRootSlot {...recipeProps}>{children}</DialogRootSlot>;\n\n // Check if any direct child is a Dialog.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDialogTrigger = 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 === \"DialogTrigger\" || displayName === \"Dialog.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Dialog subcomponents\n return (\n <DialogProvider value={props}>\n {hasDialogTrigger ? (\n // When there's a Dialog.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 Dialog.Trigger, skip using RaDialogTrigger to avoid console.warning's\n content\n )}\n </DialogProvider>\n );\n};\n\nDialogRoot.displayName = \"Dialog.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DialogTriggerSlot } from \"../dialog.slots\";\nimport type { DialogTriggerProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Dialog.Trigger - The button or element that opens the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DialogTriggerProps) => {\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 DialogTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DialogTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DialogTriggerSlot>\n );\n};\n\nDialogTrigger.displayName = \"Dialog.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DialogModalOverlaySlot,\n DialogModalSlot,\n DialogContentSlot,\n} from \"../dialog.slots\";\nimport type { DialogContentProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Content - The main dialog content container\n *\n * @supportsStyleProps\n */\nexport const DialogContent = (props: DialogContentProps) => {\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 } = useDialogRootContext();\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 <DialogModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DialogModalSlot asChild>\n <RaModal>\n <DialogContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DialogContentSlot>\n </RaModal>\n </DialogModalSlot>\n </RaModalOverlay>\n </DialogModalOverlaySlot>\n );\n};\n\nDialogContent.displayName = \"Dialog.Content\";\n","import { DialogHeaderSlot } from \"../dialog.slots\";\nimport type { DialogHeaderProps } from \"../dialog.types\";\n\n/**\n * Dialog.Header - The header section of the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogHeader = (props: DialogHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogHeaderSlot>\n );\n};\n\nDialogHeader.displayName = \"Dialog.Header\";\n","import { DialogBodySlot } from \"../dialog.slots\";\nimport type { DialogBodyProps } from \"../dialog.types\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Body - The main body content section\n *\n * @supportsStyleProps\n */\nexport const DialogBody = (props: DialogBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n const { scrollBehavior } = useDialogRootContext();\n\n const defaultProps = {\n /**\n * if scrollBehavior is set to \"inside\", set tabIndex to 0 to allow the body to\n * receive focus, effectively enabling scrolling via keyboard\n * arrow keys.\n */\n tabIndex: scrollBehavior === \"inside\" ? 0 : undefined,\n };\n\n return (\n <DialogBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DialogBodySlot>\n );\n};\n\nDialogBody.displayName = \"Dialog.Body\";\n","import { DialogFooterSlot } from \"../dialog.slots\";\nimport type { DialogFooterProps } from \"../dialog.types\";\n\n/**\n * Dialog.Footer - The footer section with action buttons\n *\n * @supportsStyleProps\n */\nexport const DialogFooter = (props: DialogFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogFooterSlot>\n );\n};\n\nDialogFooter.displayName = \"Dialog.Footer\";\n","import { DialogTitleSlot } from \"../dialog.slots\";\nimport type { DialogTitleProps } from \"../dialog.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Dialog.Title - The accessible title element\n *\n * @supportsStyleProps\n */\nexport const DialogTitle = (props: DialogTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DialogTitleSlot>\n );\n};\n\nDialogTitle.displayName = \"Dialog.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Dialog.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close dialog\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DialogCloseTriggerSlot } from \"../dialog.slots\";\nimport type { DialogCloseTriggerProps } from \"../dialog.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../dialog.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Dialog.CloseTrigger - A button that closes the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogCloseTrigger = (props: DialogCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DialogCloseTriggerSlot>\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 </DialogCloseTriggerSlot>\n );\n};\n\nDialogCloseTrigger.displayName = \"Dialog.CloseTrigger\";\n","import { DialogRoot } from \"./components/dialog.root\";\nimport { DialogTrigger } from \"./components/dialog.trigger\";\nimport { DialogContent } from \"./components/dialog.content\";\nimport { DialogHeader } from \"./components/dialog.header\";\nimport { DialogBody } from \"./components/dialog.body\";\nimport { DialogFooter } from \"./components/dialog.footer\";\nimport { DialogTitle } from \"./components/dialog.title\";\nimport { DialogCloseTrigger } from \"./components/dialog.close-trigger\";\n\n/**\n * Dialog\n * ============================================================\n * A foundational dialog component for overlays that require user attention.\n * Built with React Aria Components 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 * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger>×</Dialog.CloseTrigger>\n * </Dialog.Header>\n * <Dialog.Body>\n * Dialog content goes here\n * </Dialog.Body>\n * <Dialog.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n *\n * @see https://nimbus-documentation.vercel.app/components/feedback/dialog\n */\nexport const Dialog = {\n /**\n * # Dialog.Root\n *\n * The root component that provides context and state management for the dialog.\n * Uses React Aria's DialogTrigger for accessibility and keyboard interaction.\n *\n * This component must wrap all dialog parts (Trigger, Content, etc.) and provides\n * the dialog open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Dialog content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Root: DialogRoot,\n /**\n * # Dialog.Trigger\n *\n * The trigger element that opens the dialog when activated.\n * Uses React Aria's Button for accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>...</Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Trigger: DialogTrigger,\n /**\n * # Dialog.Content\n *\n * The main dialog content container that wraps React Aria's Modal and Dialog.\n * Handles portalling, backdrop, positioning, and content styling.\n *\n * This component creates the dialog overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * <Dialog.Footer>Actions</Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Content: DialogContent,\n /**\n * # Dialog.Header\n *\n * The header section of the dialog content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger />\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Header: DialogHeader,\n /**\n * # Dialog.Body\n *\n * The main body content section of the dialog.\n * Contains the primary dialog content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>\n * <p>This is the main content of the dialog.</p>\n * </Dialog.Body>\n * <Dialog.Footer>...</Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Body: DialogBody,\n /**\n * # Dialog.Footer\n *\n * The footer section of the dialog, typically containing action buttons.\n * Provides consistent spacing and alignment for dialog actions.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * <Dialog.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Footer: DialogFooter,\n /**\n * # Dialog.Title\n *\n * The accessible title element for the dialog.\n * Uses React Aria's Heading for proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Confirm Action</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Title: DialogTitle,\n /**\n * # Dialog.CloseTrigger\n *\n * A button that closes the dialog when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior through React Aria's\n * context, so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * <Dialog.CloseTrigger aria-label=\"Close dialog\" />\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n CloseTrigger: DialogCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DialogRoot as _DialogRoot,\n DialogTrigger as _DialogTrigger,\n DialogContent as _DialogContent,\n DialogHeader as _DialogHeader,\n DialogBody as _DialogBody,\n DialogFooter as _DialogFooter,\n DialogTitle as _DialogTitle,\n DialogCloseTrigger as _DialogCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","DialogRootSlot","DialogTriggerSlot","DialogModalOverlaySlot","DialogModalSlot","DialogContentSlot","DialogHeaderSlot","DialogBodySlot","DialogFooterSlot","DialogTitleSlot","DialogCloseTriggerSlot","DialogContext","createContext","useDialogRootContext","context","useContext","DialogProvider","children","value","jsx","DialogRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDialogTrigger","React","child","displayName","RaDialogTrigger","DialogTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DialogContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DialogHeader","DialogBody","scrollBehavior","DialogFooter","DialogTitle","Heading","messages","defineMessages","DialogCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Dialog"],"mappings":";;;;;;;;;;;;AAcA,MAAM,EAAE,cAAAA,GAAc,aAAAC,EAAA,IAAgB,gBAAAC,EAAwB;AAAA,EAC5D,KAAK;AACP,CAAC,GAGYC,IAAiB,gBAAAH;AAAA,EAC5B;AAAA,EACA;AACF,GAGaI,IAAoB,gBAAAH,EAG/B,UAAU,SAAS,GAGRI,IAAyB,gBAAAJ,EAGpC,OAAO,cAAc,GAIVK,IAAkB,gBAAAL,EAG7B,OAAO,OAAO,GAGHM,IAAoB,gBAAAN,EAG/B,OAAO,SAAS,GAGLO,IAAmB,gBAAAP;AAAA,EAC9B;AAAA,EACA;AACF,GAGaQ,IAAiB,gBAAAR;AAAA,EAC5B;AAAA,EACA;AACF,GAGaS,IAAmB,gBAAAT;AAAA,EAC9B;AAAA,EACA;AACF,GAGaU,IAAkB,gBAAAV,EAG7B,MAAM,OAAO,GAGFW,IAAyB,gBAAAX,EAGpC,OAAO,cAAc,GCrEVY,IAAgB,gBAAAC;AAAA,EAC3B;AACF,GAOaC,IAAuB,MAA0B;AAC5D,QAAMC,IAAUC,EAAWJ,CAAa;AACxC,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,kDAAkD;AAEpE,SAAOA;AACT,GAKaE,IAAiB,CAAC;AAAA,EAC7B,UAAAC;AAAA,EACA,OAAAC;AACF,MAIS,gBAAAC,EAACR,GAAA,EAAc,OAAAO,GAAe,UAAAD,EAAA,CAAS,GCvBnCG,IAAa,CAACC,MAA2B;AACpD,QAAMC,IAASC,EAAc,EAAE,KAAK,UAAU,GAExC,CAACC,CAAW,IAAIF,EAAO,kBAAkBD,CAAK,GAE9C,EAAE,UAAAJ,GAAU,QAAAQ,GAAQ,cAAAC,GAAc,aAAAC,IAAc,OAAUN,GAE1DO,IAAU,gBAAAT,EAAClB,GAAA,EAAgB,GAAGuB,GAAc,UAAAP,GAAS,GAIrDY,IAAmBC,EAAM,SAAS,QAAQb,CAAQ,EAAE,KAAK,CAACc,MAAU;AACxE,QAAID,EAAM,eAAeC,CAAK,KAAK,OAAOA,EAAM,QAAS,YAAY;AACnE,YAAMC,IACJD,EAAM,MACL;AACH,aACEC,MAAgB,mBAAmBA,MAAgB;AAAA,IAEvD;AACA,WAAO;AAAA,EACT,CAAC;AAGD,SACE,gBAAAb,EAACH,GAAA,EAAe,OAAOK,GACpB,UAAAQ;AAAA;AAAA,IAEC,gBAAAV;AAAA,MAACc;AAAAA,MAAA;AAAA,QACC,QAAAR;AAAA,QACA,cAAAC;AAAA,QACA,aAAAC;AAAA,QAEC,UAAAC;AAAA,MAAA;AAAA,IAAA;AAAA;AAAA;AAAA,IAIHA;AAAA,KAEJ;AAEJ;AAEAR,EAAW,cAAc;AC5ClB,MAAMc,IAAgB,CAAC;AAAA,EAC5B,KAAKC;AAAA,EACL,UAAAlB;AAAA,EACA,SAAAmB;AAAA,EACA,GAAGf;AACL,MAA0B;AAExB,MAAIe;AACF,WACE,gBAAAjB,EAACkB,EAAO,QAAP,EAAc,KAAKF,GAAc,SAAO,IAAE,GAAGd,GAC3C,UAAAJ,EAAA,CACH;AAIJ,QAAM,CAACqB,GAAYC,CAAS,IAAIC,EAAkBnB,CAAK;AAIvD,SACE,gBAAAF,EAACjB,GAAA,EAAmB,GAAGoC,GAAY,SAAO,IACxC,UAAA,gBAAAnB,EAACsB,GAAA,EAAS,KAAKN,GAAe,GAAGI,GAC9B,UAAAtB,GACH,GACF;AAEJ;AAEAiB,EAAc,cAAc;ACpBrB,MAAMQ,IAAgB,CAACrB,MAA8B;AAC1D,QAAM,EAAE,KAAKc,GAAc,UAAAlB,GAAU,GAAGsB,MAAclB,GAGhD;AAAA,IACJ,aAAAM;AAAA,IACA,eAAAgB;AAAA,IACA,2BAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,QAAApB;AAAA,IACA,cAAAC;AAAA,EAAA,IACEb,EAAA,GAEEiC,IAAa;AAAA,IACjB,aAAAnB;AAAA,IACA,eAAAgB;AAAA,IACA,2BAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,QAAApB;AAAA,IACA,cAAAC;AAAA,EAAA,GAGI,CAACY,CAAU,IAAIE,EAAkBD,CAAS;AAEhD,SACE,gBAAApB,EAAChB,GAAA,EAAuB,SAAO,IAC7B,UAAA,gBAAAgB,EAAC4B,GAAA,EAAgB,GAAGD,GAClB,UAAA,gBAAA3B,EAACf,GAAA,EAAgB,SAAO,IACtB,UAAA,gBAAAe,EAAC6B,GAAA,EACC,UAAA,gBAAA7B,EAACd,GAAA,EAAkB,SAAO,IAAE,GAAGiC,GAC7B,UAAA,gBAAAnB,EAAC8B,GAAA,EAAS,KAAKd,GAAe,UAAAlB,GAAS,EAAA,CACzC,EAAA,CACF,EAAA,CACF,GACF,GACF;AAEJ;AAEAyB,EAAc,cAAc;AClDrB,MAAMQ,IAAe,CAAC7B,MAA6B;AACxD,QAAM,EAAE,KAAKc,GAAc,UAAAlB,GAAU,GAAGsB,MAAclB;AAEtD,2BACGf,GAAA,EAAiB,KAAK6B,GAAe,GAAGI,GACtC,UAAAtB,GACH;AAEJ;AAEAiC,EAAa,cAAc;ACTpB,MAAMC,IAAa,CAAC9B,MAA2B;AACpD,QAAM,EAAE,KAAKc,GAAc,UAAAlB,GAAU,GAAGsB,MAAclB,GAChD,EAAE,gBAAA+B,EAAA,IAAmBvC,EAAA;AAW3B,SACE,gBAAAM,EAACZ,KAAe,KAAK4B,GAAe,GAVjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnB,UAAUiB,MAAmB,WAAW,IAAI;AAAA,EAAA,GAIU,GAAGb,GACtD,UAAAtB,GACH;AAEJ;AAEAkC,EAAW,cAAc;ACrBlB,MAAME,IAAe,CAAChC,MAA6B;AACxD,QAAM,EAAE,KAAKc,GAAc,UAAAlB,GAAU,GAAGsB,MAAclB;AAEtD,2BACGb,GAAA,EAAiB,KAAK2B,GAAe,GAAGI,GACtC,UAAAtB,GACH;AAEJ;AAEAoC,EAAa,cAAc;ACTpB,MAAMC,IAAc,CAACjC,MAA4B;AACtD,QAAM,EAAE,KAAKc,GAAc,UAAAlB,GAAU,GAAGsB,MAAclB;AAEtD,2BACGZ,GAAA,EAAgB,SAAO,IAAE,GAAG8B,GAC3B,UAAA,gBAAApB,EAACoC,GAAA,EAAQ,KAAKpB,GAAc,MAAK,SAAQ,IAAG,MAAK,WAAU,MACxD,UAAAlB,GACH,GACF;AAEJ;AAEAqC,EAAY,cAAc;ACnBnB,MAAME,IAAW,gBAAAC,EAAe;AAAA,EACrC,cAAc;AAAA,IACZ,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,gBAAgB;AAAA,EAAA;AAEpB,CAAC,GCIYC,IAAqB,CAACrC,MAAmC;AACpE,QAAM,EAAE,KAAKc,GAAc,cAAcwB,GAAW,GAAGpB,MAAclB,GAC/DuC,IAAOC,EAAA;AAEb,2BACGnD,GAAA,EACC,UAAA,gBAAAS;AAAA,IAAC2C;AAAA,IAAA;AAAA,MACC,KAAK3B;AAAA,MACL,MAAK;AAAA,MACL,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,cAAYwB,KAAaC,EAAK,cAAcJ,EAAS,YAAY;AAAA,MAChE,GAAGjB;AAAA,MAEJ,4BAACwB,GAAA,CAAA,CAAM;AAAA,IAAA;AAAA,EAAA,GAEX;AAEJ;AAEAL,EAAmB,cAAc;ACa1B,MAAMM,KAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBpB,MAAM5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeN,SAASc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBT,SAASQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBT,QAAQQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBR,MAAMC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBN,QAAQE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBR,OAAOC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBP,cAAcI;AAChB;"}
1
+ {"version":3,"file":"dialog-cV8_ifAL.es.js","sources":["../../src/components/dialog/dialog.slots.tsx","../../src/components/dialog/components/dialog.context.tsx","../../src/components/dialog/components/dialog.root.tsx","../../src/components/dialog/components/dialog.trigger.tsx","../../src/components/dialog/components/dialog.content.tsx","../../src/components/dialog/components/dialog.header.tsx","../../src/components/dialog/components/dialog.body.tsx","../../src/components/dialog/components/dialog.footer.tsx","../../src/components/dialog/components/dialog.title.tsx","../../src/components/dialog/dialog.i18n.ts","../../src/components/dialog/components/dialog.close-trigger.tsx","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n DialogBodySlotProps,\n DialogCloseTriggerSlotProps,\n DialogContentSlotProps,\n DialogFooterSlotProps,\n DialogHeaderSlotProps,\n DialogModalOverlaySlotProps,\n DialogModalSlotProps,\n DialogRootProps,\n DialogTitleSlotProps,\n DialogTriggerSlotProps,\n} from \"./dialog.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dialog\",\n});\n\n// Root slot - provides recipe context + config to all child components\nexport const DialogRootSlot = withProvider<HTMLDivElement, DialogRootProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the dialog\nexport const DialogTriggerSlot = withContext<\n HTMLButtonElement,\n DialogTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the dialog\nexport const DialogModalOverlaySlot = withContext<\n HTMLDivElement,\n DialogModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the dialog content\n\nexport const DialogModalSlot = withContext<\n HTMLDivElement,\n DialogModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main dialog container\nexport const DialogContentSlot = withContext<\n HTMLDivElement,\n DialogContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - dialog header section\nexport const DialogHeaderSlot = withContext<HTMLElement, DialogHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - dialog body content\nexport const DialogBodySlot = withContext<HTMLDivElement, DialogBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - dialog footer section with actions\nexport const DialogFooterSlot = withContext<HTMLElement, DialogFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible dialog title\nexport const DialogTitleSlot = withContext<\n HTMLHeadingElement,\n DialogTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport const DialogCloseTriggerSlot = withContext<\n HTMLDivElement,\n DialogCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DialogRootProps } from \"../dialog.types\";\n\n/**\n * Context value containing dialog configuration passed from Root to child components\n */\nexport type DialogContextValue = DialogRootProps;\n\nexport const DialogContext = createContext<DialogContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access dialog configuration from DialogContext\n * @returns Dialog configuration from context\n * @throws Error if used outside of Dialog.Root\n */\nexport const useDialogRootContext = (): DialogContextValue => {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error(\"useDialogContext must be used within Dialog.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes dialog configuration down to child components\n */\nexport const DialogProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DialogContextValue;\n}) => {\n return <DialogContext value={value}>{children}</DialogContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DialogRootSlot } from \"../dialog.slots\";\nimport type { DialogRootProps } from \"../dialog.types\";\nimport { DialogProvider } from \"./dialog.context\";\n\n/**\n * Dialog.Root - The root component that provides context and state management\n *\n * @supportsStyleProps\n */\nexport const DialogRoot = (props: DialogRootProps) => {\n const recipe = useSlotRecipe({ key: \"dialog\" });\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 = <DialogRootSlot {...recipeProps}>{children}</DialogRootSlot>;\n\n // Check if any direct child is a Dialog.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDialogTrigger = 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 === \"DialogTrigger\" || displayName === \"Dialog.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Dialog subcomponents\n return (\n <DialogProvider value={props}>\n {hasDialogTrigger ? (\n // When there's a Dialog.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 Dialog.Trigger, skip using RaDialogTrigger to avoid console.warning's\n content\n )}\n </DialogProvider>\n );\n};\n\nDialogRoot.displayName = \"Dialog.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DialogTriggerSlot } from \"../dialog.slots\";\nimport type { DialogTriggerProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\n/**\n * Dialog.Trigger - The button or element that opens the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DialogTriggerProps) => {\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 DialogTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DialogTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DialogTriggerSlot>\n );\n};\n\nDialogTrigger.displayName = \"Dialog.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DialogModalOverlaySlot,\n DialogModalSlot,\n DialogContentSlot,\n} from \"../dialog.slots\";\nimport type { DialogContentProps } from \"../dialog.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Content - The main dialog content container\n *\n * @supportsStyleProps\n */\nexport const DialogContent = (props: DialogContentProps) => {\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 } = useDialogRootContext();\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 <DialogModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DialogModalSlot asChild>\n <RaModal>\n <DialogContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DialogContentSlot>\n </RaModal>\n </DialogModalSlot>\n </RaModalOverlay>\n </DialogModalOverlaySlot>\n );\n};\n\nDialogContent.displayName = \"Dialog.Content\";\n","import { DialogHeaderSlot } from \"../dialog.slots\";\nimport type { DialogHeaderProps } from \"../dialog.types\";\n\n/**\n * Dialog.Header - The header section of the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogHeader = (props: DialogHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogHeaderSlot>\n );\n};\n\nDialogHeader.displayName = \"Dialog.Header\";\n","import { DialogBodySlot } from \"../dialog.slots\";\nimport type { DialogBodyProps } from \"../dialog.types\";\nimport { useDialogRootContext } from \"./dialog.context\";\n\n/**\n * Dialog.Body - The main body content section\n *\n * @supportsStyleProps\n */\nexport const DialogBody = (props: DialogBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n const { scrollBehavior } = useDialogRootContext();\n\n const defaultProps = {\n /**\n * if scrollBehavior is set to \"inside\", set tabIndex to 0 to allow the body to\n * receive focus, effectively enabling scrolling via keyboard\n * arrow keys.\n */\n tabIndex: scrollBehavior === \"inside\" ? 0 : undefined,\n };\n\n return (\n <DialogBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DialogBodySlot>\n );\n};\n\nDialogBody.displayName = \"Dialog.Body\";\n","import { DialogFooterSlot } from \"../dialog.slots\";\nimport type { DialogFooterProps } from \"../dialog.types\";\n\n/**\n * Dialog.Footer - The footer section with action buttons\n *\n * @supportsStyleProps\n */\nexport const DialogFooter = (props: DialogFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DialogFooterSlot>\n );\n};\n\nDialogFooter.displayName = \"Dialog.Footer\";\n","import { DialogTitleSlot } from \"../dialog.slots\";\nimport type { DialogTitleProps } from \"../dialog.types\";\nimport { Heading } from \"@/components\";\n\n/**\n * Dialog.Title - The accessible title element\n *\n * @supportsStyleProps\n */\nexport const DialogTitle = (props: DialogTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DialogTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DialogTitleSlot>\n );\n};\n\nDialogTitle.displayName = \"Dialog.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Dialog.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close dialog\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DialogCloseTriggerSlot } from \"../dialog.slots\";\nimport type { DialogCloseTriggerProps } from \"../dialog.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../dialog.i18n\";\nimport { useIntl } from \"react-intl\";\n\n/**\n * Dialog.CloseTrigger - A button that closes the dialog\n *\n * @supportsStyleProps\n */\nexport const DialogCloseTrigger = (props: DialogCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DialogCloseTriggerSlot>\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 </DialogCloseTriggerSlot>\n );\n};\n\nDialogCloseTrigger.displayName = \"Dialog.CloseTrigger\";\n","import { DialogRoot } from \"./components/dialog.root\";\nimport { DialogTrigger } from \"./components/dialog.trigger\";\nimport { DialogContent } from \"./components/dialog.content\";\nimport { DialogHeader } from \"./components/dialog.header\";\nimport { DialogBody } from \"./components/dialog.body\";\nimport { DialogFooter } from \"./components/dialog.footer\";\nimport { DialogTitle } from \"./components/dialog.title\";\nimport { DialogCloseTrigger } from \"./components/dialog.close-trigger\";\n\n/**\n * Dialog\n * ============================================================\n * A foundational dialog component for overlays that require user attention.\n * Built with React Aria Components 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 * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger>×</Dialog.CloseTrigger>\n * </Dialog.Header>\n * <Dialog.Body>\n * Dialog content goes here\n * </Dialog.Body>\n * <Dialog.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n *\n * @see https://nimbus-documentation.vercel.app/components/feedback/dialog\n */\nexport const Dialog = {\n /**\n * # Dialog.Root\n *\n * The root component that provides context and state management for the dialog.\n * Uses React Aria's DialogTrigger for accessibility and keyboard interaction.\n *\n * This component must wrap all dialog parts (Trigger, Content, etc.) and provides\n * the dialog open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Dialog content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Root: DialogRoot,\n /**\n * # Dialog.Trigger\n *\n * The trigger element that opens the dialog when activated.\n * Uses React Aria's Button for accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>...</Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Trigger: DialogTrigger,\n /**\n * # Dialog.Content\n *\n * The main dialog content container that wraps React Aria's Modal and Dialog.\n * Handles portalling, backdrop, positioning, and content styling.\n *\n * This component creates the dialog overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content size=\"md\" placement=\"center\">\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * <Dialog.Footer>Actions</Dialog.Footer>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n Content: DialogContent,\n /**\n * # Dialog.Header\n *\n * The header section of the dialog content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Dialog Title</Dialog.Title>\n * <Dialog.CloseTrigger />\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Header: DialogHeader,\n /**\n * # Dialog.Body\n *\n * The main body content section of the dialog.\n * Contains the primary dialog content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>\n * <p>This is the main content of the dialog.</p>\n * </Dialog.Body>\n * <Dialog.Footer>...</Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Body: DialogBody,\n /**\n * # Dialog.Footer\n *\n * The footer section of the dialog, typically containing action buttons.\n * Provides consistent spacing and alignment for dialog actions.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>...</Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * <Dialog.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Dialog.Footer>\n * </Dialog.Content>\n * ```\n */\n Footer: DialogFooter,\n /**\n * # Dialog.Title\n *\n * The accessible title element for the dialog.\n * Uses React Aria's Heading for proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Confirm Action</Dialog.Title>\n * </Dialog.Header>\n * <Dialog.Body>...</Dialog.Body>\n * </Dialog.Content>\n * ```\n */\n Title: DialogTitle,\n /**\n * # Dialog.CloseTrigger\n *\n * A button that closes the dialog when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior through React Aria's\n * context, so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Dialog.Root>\n * <Dialog.Trigger>Open Dialog</Dialog.Trigger>\n * <Dialog.Content>\n * <Dialog.Header>\n * <Dialog.Title>Title</Dialog.Title>\n * <Dialog.CloseTrigger aria-label=\"Close dialog\" />\n * </Dialog.Header>\n * <Dialog.Body>Content</Dialog.Body>\n * </Dialog.Content>\n * </Dialog.Root>\n * ```\n */\n CloseTrigger: DialogCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DialogRoot as _DialogRoot,\n DialogTrigger as _DialogTrigger,\n DialogContent as _DialogContent,\n DialogHeader as _DialogHeader,\n DialogBody as _DialogBody,\n DialogFooter as _DialogFooter,\n DialogTitle as _DialogTitle,\n DialogCloseTrigger as _DialogCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","DialogRootSlot","DialogTriggerSlot","DialogModalOverlaySlot","DialogModalSlot","DialogContentSlot","DialogHeaderSlot","DialogBodySlot","DialogFooterSlot","DialogTitleSlot","DialogCloseTriggerSlot","DialogContext","createContext","useDialogRootContext","context","useContext","DialogProvider","children","value","jsx","DialogRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDialogTrigger","React","child","displayName","RaDialogTrigger","DialogTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DialogContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DialogHeader","DialogBody","scrollBehavior","DialogFooter","DialogTitle","Heading","messages","defineMessages","DialogCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Dialog"],"mappings":"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"}