@commercetools/nimbus 0.0.0-canary-20251013071647 → 0.0.0-canary-20251013204307

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 (640) hide show
  1. package/dist/accordion.d.ts +16 -49
  2. package/dist/alert.d.ts +22 -60
  3. package/dist/avatar.d.ts +19 -33
  4. package/dist/badge.d.ts +9 -61
  5. package/dist/box.d.ts +2 -2
  6. package/dist/button.d.ts +12 -9
  7. package/dist/calendar.d.ts +21 -9
  8. package/dist/card.d.ts +21 -83
  9. package/dist/checkbox.d.ts +14 -43
  10. package/dist/chunks/{Button-DbDspzBf.es.js → Button-Dx3xzN8n.es.js} +2 -2
  11. package/dist/chunks/{Button-DbDspzBf.es.js.map → Button-Dx3xzN8n.es.js.map} +1 -1
  12. package/dist/chunks/{DateField-BnqI8eDK.es.js → DateField-DZwn3cIj.es.js} +7 -7
  13. package/dist/chunks/{DateField-BnqI8eDK.es.js.map → DateField-DZwn3cIj.es.js.map} +1 -1
  14. package/dist/chunks/{DatePicker-Df88_VwG.es.js → DatePicker-B2Nf_0Sq.es.js} +7 -7
  15. package/dist/chunks/{DatePicker-Df88_VwG.es.js.map → DatePicker-B2Nf_0Sq.es.js.map} +1 -1
  16. package/dist/chunks/{Dialog-FtshtbuD.es.js → Dialog-Qpq4hk89.es.js} +16 -16
  17. package/dist/chunks/{Dialog-FtshtbuD.es.js.map → Dialog-Qpq4hk89.es.js.map} +1 -1
  18. package/dist/chunks/{DragAndDrop-cFujcZeA.es.js → DragAndDrop-BXEtfOEa.es.js} +2 -2
  19. package/dist/chunks/{DragAndDrop-cFujcZeA.es.js.map → DragAndDrop-BXEtfOEa.es.js.map} +1 -1
  20. package/dist/chunks/{Header-_Z7cZ9Ql.es.js → Header-DFcQWjkP.es.js} +3 -3
  21. package/dist/chunks/{Header-_Z7cZ9Ql.es.js.map → Header-DFcQWjkP.es.js.map} +1 -1
  22. package/dist/chunks/{Heading-D_yp5JbO.es.js → Heading-DFiVmZUR.es.js} +60 -60
  23. package/dist/chunks/{Heading-D_yp5JbO.es.js.map → Heading-DFiVmZUR.es.js.map} +1 -1
  24. package/dist/chunks/{ListBox-CA_ARARw.es.js → ListBox-_1Uk-5-7.es.js} +7 -7
  25. package/dist/chunks/{ListBox-CA_ARARw.es.js.map → ListBox-_1Uk-5-7.es.js.map} +1 -1
  26. package/dist/chunks/{ListKeyboardDelegate-XLAitX9C.es.js → ListKeyboardDelegate-ByRdSpOe.es.js} +3 -3
  27. package/dist/chunks/{ListKeyboardDelegate-XLAitX9C.es.js.map → ListKeyboardDelegate-ByRdSpOe.es.js.map} +1 -1
  28. package/dist/chunks/{Modal-CVRxKbK2.es.js → Modal-DZrVgGsJ.es.js} +4 -4
  29. package/dist/chunks/{Modal-CVRxKbK2.es.js.map → Modal-DZrVgGsJ.es.js.map} +1 -1
  30. package/dist/chunks/{SelectionManager-C9i8k50b.es.js → SelectionManager-DMLLo5N3.es.js} +4 -4
  31. package/dist/chunks/{SelectionManager-C9i8k50b.es.js.map → SelectionManager-DMLLo5N3.es.js.map} +1 -1
  32. package/dist/chunks/{ToggleButton-C5u-GV4F.es.js → ToggleButton-881iW8P_.es.js} +2 -2
  33. package/dist/chunks/{ToggleButton-C5u-GV4F.es.js.map → ToggleButton-881iW8P_.es.js.map} +1 -1
  34. package/dist/chunks/accordion-B2FLWAh5.cjs.js +2 -0
  35. package/dist/chunks/accordion-B2FLWAh5.cjs.js.map +1 -0
  36. package/dist/chunks/{accordion-C4MjwWsC.es.js → accordion-CKDnNkVv.es.js} +16 -15
  37. package/dist/chunks/accordion-CKDnNkVv.es.js.map +1 -0
  38. package/dist/chunks/alert-D-1RFln1.cjs.js +2 -0
  39. package/dist/chunks/alert-D-1RFln1.cjs.js.map +1 -0
  40. package/dist/chunks/alert-u6zzGKKj.es.js +138 -0
  41. package/dist/chunks/alert-u6zzGKKj.es.js.map +1 -0
  42. package/dist/chunks/{avatar-Bu12OMzz.es.js → avatar-BfEMp9g8.es.js} +2 -2
  43. package/dist/chunks/avatar-BfEMp9g8.es.js.map +1 -0
  44. package/dist/chunks/avatar-_o-uSXYy.cjs.js +2 -0
  45. package/dist/chunks/avatar-_o-uSXYy.cjs.js.map +1 -0
  46. package/dist/chunks/badge-JEfh4EDj.es.js +15 -0
  47. package/dist/chunks/badge-JEfh4EDj.es.js.map +1 -0
  48. package/dist/chunks/badge-mMpNb3Qj.cjs.js +2 -0
  49. package/dist/chunks/badge-mMpNb3Qj.cjs.js.map +1 -0
  50. package/dist/chunks/badge.recipe-Cu6u9yqC.cjs.js +2 -0
  51. package/dist/chunks/badge.recipe-Cu6u9yqC.cjs.js.map +1 -0
  52. package/dist/chunks/{badge-qLydLdTu.es.js → badge.recipe-DsV4A_UD.es.js} +5 -14
  53. package/dist/chunks/badge.recipe-DsV4A_UD.es.js.map +1 -0
  54. package/dist/chunks/box-CWni3A32.cjs.js.map +1 -1
  55. package/dist/chunks/box-DuBoAZvq.es.js.map +1 -1
  56. package/dist/chunks/button-B5OOW-2z.cjs.js +2 -0
  57. package/dist/chunks/button-B5OOW-2z.cjs.js.map +1 -0
  58. package/dist/chunks/button-IZUJaJku.es.js +62 -0
  59. package/dist/chunks/button-IZUJaJku.es.js.map +1 -0
  60. package/dist/chunks/calendar-V0KeNCQ3.cjs.js +2 -0
  61. package/dist/chunks/calendar-V0KeNCQ3.cjs.js.map +1 -0
  62. package/dist/chunks/{calendar-C33Q6JGN.es.js → calendar-lD6G93R9.es.js} +19 -18
  63. package/dist/chunks/calendar-lD6G93R9.es.js.map +1 -0
  64. package/dist/chunks/card-BB_1xrND.es.js +78 -0
  65. package/dist/chunks/card-BB_1xrND.es.js.map +1 -0
  66. package/dist/chunks/card-BPEsGx1J.cjs.js +2 -0
  67. package/dist/chunks/card-BPEsGx1J.cjs.js.map +1 -0
  68. package/dist/chunks/{checkbox-BKBd4kHr.es.js → checkbox-DII0AOBy.es.js} +46 -45
  69. package/dist/chunks/{checkbox-BKBd4kHr.es.js.map → checkbox-DII0AOBy.es.js.map} +1 -1
  70. package/dist/chunks/checkbox-Dod-yTj4.cjs.js +2 -0
  71. package/dist/chunks/{checkbox-Bh5DxcKC.cjs.js.map → checkbox-Dod-yTj4.cjs.js.map} +1 -1
  72. package/dist/chunks/collapsible-motion-C7M_CLNI.cjs.js +2 -0
  73. package/dist/chunks/collapsible-motion-C7M_CLNI.cjs.js.map +1 -0
  74. package/dist/chunks/{collapsible-motion-BSsz8na-.es.js → collapsible-motion-CSrKjF8X.es.js} +15 -15
  75. package/dist/chunks/collapsible-motion-CSrKjF8X.es.js.map +1 -0
  76. package/dist/chunks/{combobox-BghQKCQt.cjs.js → combobox-B5UxZWSX.cjs.js} +2 -2
  77. package/dist/chunks/{combobox-BghQKCQt.cjs.js.map → combobox-B5UxZWSX.cjs.js.map} +1 -1
  78. package/dist/chunks/{combobox-D4M76aw1.es.js → combobox-CxEeal66.es.js} +323 -323
  79. package/dist/chunks/{combobox-D4M76aw1.es.js.map → combobox-CxEeal66.es.js.map} +1 -1
  80. package/dist/chunks/{data-table-0hNRYKT3.es.js → data-table-BGCmY93Q.es.js} +704 -720
  81. package/dist/chunks/data-table-BGCmY93Q.es.js.map +1 -0
  82. package/dist/chunks/data-table-C51WU0Cc.cjs.js +2 -0
  83. package/dist/chunks/data-table-C51WU0Cc.cjs.js.map +1 -0
  84. package/dist/chunks/date-input-Cap8-3zj.es.js +21 -0
  85. package/dist/chunks/date-input-Cap8-3zj.es.js.map +1 -0
  86. package/dist/chunks/date-input-DvOM0DLT.cjs.js +2 -0
  87. package/dist/chunks/date-input-DvOM0DLT.cjs.js.map +1 -0
  88. package/dist/chunks/date-picker-CZAoPNsT.cjs.js +2 -0
  89. package/dist/chunks/date-picker-CZAoPNsT.cjs.js.map +1 -0
  90. package/dist/chunks/{date-picker-CT6jwApn.es.js → date-picker-ChZ8H-MT.es.js} +25 -24
  91. package/dist/chunks/date-picker-ChZ8H-MT.es.js.map +1 -0
  92. package/dist/chunks/{date-range-picker-BICRnCsn.es.js → date-range-picker-DGWMdcAN.es.js} +62 -61
  93. package/dist/chunks/date-range-picker-DGWMdcAN.es.js.map +1 -0
  94. package/dist/chunks/date-range-picker-iENzosfN.cjs.js +2 -0
  95. package/dist/chunks/date-range-picker-iENzosfN.cjs.js.map +1 -0
  96. package/dist/chunks/{dialog-4Rx0vFFN.es.js → dialog-BwtIcIvd.es.js} +2 -2
  97. package/dist/chunks/{dialog-4Rx0vFFN.es.js.map → dialog-BwtIcIvd.es.js.map} +1 -1
  98. package/dist/chunks/{dialog-CDyF_zvK.cjs.js → dialog-CKwC3dk3.cjs.js} +2 -2
  99. package/dist/chunks/{dialog-CDyF_zvK.cjs.js.map → dialog-CKwC3dk3.cjs.js.map} +1 -1
  100. package/dist/chunks/dialog.title-CP_ZeiK4.es.js +152 -0
  101. package/dist/chunks/dialog.title-CP_ZeiK4.es.js.map +1 -0
  102. package/dist/chunks/dialog.title-DOPP47Zy.cjs.js +2 -0
  103. package/dist/chunks/{dialog.title-5mHI--iF.es.js.map → dialog.title-DOPP47Zy.cjs.js.map} +1 -1
  104. package/dist/chunks/draggable-list-Dv372xXb.es.js +4211 -0
  105. package/dist/chunks/draggable-list-Dv372xXb.es.js.map +1 -0
  106. package/dist/chunks/draggable-list-MGvr5-A-.cjs.js +3 -0
  107. package/dist/chunks/draggable-list-MGvr5-A-.cjs.js.map +1 -0
  108. package/dist/chunks/{drawer-wpiy6Y4h.es.js → drawer-BJ4qvGnj.es.js} +7 -7
  109. package/dist/chunks/{drawer-wpiy6Y4h.es.js.map → drawer-BJ4qvGnj.es.js.map} +1 -1
  110. package/dist/chunks/{drawer-DzYXHVbg.cjs.js → drawer-DzW9wBMk.cjs.js} +2 -2
  111. package/dist/chunks/{drawer-DzYXHVbg.cjs.js.map → drawer-DzW9wBMk.cjs.js.map} +1 -1
  112. package/dist/chunks/{extractStyleProps-CNXOLneR.es.js → extractStyleProps-DYXEhLtq.es.js} +2 -2
  113. package/dist/chunks/{extractStyleProps-CNXOLneR.es.js.map → extractStyleProps-DYXEhLtq.es.js.map} +1 -1
  114. package/dist/chunks/{extractStyleProps-G58aSXl8.cjs.js → extractStyleProps-Dk3fpLyQ.cjs.js} +2 -2
  115. package/dist/chunks/{extractStyleProps-G58aSXl8.cjs.js.map → extractStyleProps-Dk3fpLyQ.cjs.js.map} +1 -1
  116. package/dist/chunks/{field-errors-n9EuKYPI.es.js → field-errors-CHxHaB5C.es.js} +27 -40
  117. package/dist/chunks/field-errors-CHxHaB5C.es.js.map +1 -0
  118. package/dist/chunks/field-errors-D2re_C_c.cjs.js +2 -0
  119. package/dist/chunks/field-errors-D2re_C_c.cjs.js.map +1 -0
  120. package/dist/chunks/form-field-BYlpCXdY.es.js +231 -0
  121. package/dist/chunks/form-field-BYlpCXdY.es.js.map +1 -0
  122. package/dist/chunks/form-field-CIGQxVVS.cjs.js +2 -0
  123. package/dist/chunks/form-field-CIGQxVVS.cjs.js.map +1 -0
  124. package/dist/chunks/{getScrollParent-3egW3tgP.es.js → getScrollParent-BS4bncfK.es.js} +2 -2
  125. package/dist/chunks/{getScrollParent-3egW3tgP.es.js.map → getScrollParent-BS4bncfK.es.js.map} +1 -1
  126. package/dist/chunks/grid-Chuw1xje.cjs.js.map +1 -1
  127. package/dist/chunks/grid-De8qjf98.es.js.map +1 -1
  128. package/dist/chunks/group-BqUFlw5R.cjs.js +2 -0
  129. package/dist/chunks/group-BqUFlw5R.cjs.js.map +1 -0
  130. package/dist/chunks/group-CWADf2vF.es.js +13 -0
  131. package/dist/chunks/group-CWADf2vF.es.js.map +1 -0
  132. package/dist/chunks/heading-BTacGwo9.cjs.js.map +1 -1
  133. package/dist/chunks/heading-BtazVUd5.es.js.map +1 -1
  134. package/dist/chunks/icon-D39U--jA.cjs.js +2 -0
  135. package/dist/chunks/icon-D39U--jA.cjs.js.map +1 -0
  136. package/dist/chunks/icon-V6yr3oou.es.js +13 -0
  137. package/dist/chunks/icon-V6yr3oou.es.js.map +1 -0
  138. package/dist/chunks/{icon-button-D4w1XTVg.es.js → icon-button-DQS2apw-.es.js} +2 -2
  139. package/dist/chunks/{icon-button-D4w1XTVg.es.js.map → icon-button-DQS2apw-.es.js.map} +1 -1
  140. package/dist/chunks/{icon-button-CkjZc6Br.cjs.js → icon-button-vWPrT-bR.cjs.js} +2 -2
  141. package/dist/chunks/{icon-button-CkjZc6Br.cjs.js.map → icon-button-vWPrT-bR.cjs.js.map} +1 -1
  142. package/dist/chunks/{icon-toggle-button-CqILSznm.es.js → icon-toggle-button-Bi-9Obfx.es.js} +2 -2
  143. package/dist/chunks/{icon-toggle-button-CqILSznm.es.js.map → icon-toggle-button-Bi-9Obfx.es.js.map} +1 -1
  144. package/dist/chunks/{icon-toggle-button-Bsj4XLsI.cjs.js → icon-toggle-button-eLrsWehe.cjs.js} +2 -2
  145. package/dist/chunks/{icon-toggle-button-Bsj4XLsI.cjs.js.map → icon-toggle-button-eLrsWehe.cjs.js.map} +1 -1
  146. package/dist/chunks/image-CGOYoc2s.cjs.js.map +1 -1
  147. package/dist/chunks/image-DRigLU80.es.js.map +1 -1
  148. package/dist/chunks/index-CRFg4Mhx.cjs.js +34 -0
  149. package/dist/chunks/index-CRFg4Mhx.cjs.js.map +1 -0
  150. package/dist/chunks/{index-DthLdwMN.es.js → index-CtB71yr7.es.js} +3913 -2860
  151. package/dist/chunks/index-CtB71yr7.es.js.map +1 -0
  152. package/dist/chunks/{inline-svg-DTleUhZq.es.js → inline-svg-CbSC6O5X.es.js} +2 -2
  153. package/dist/chunks/inline-svg-CbSC6O5X.es.js.map +1 -0
  154. package/dist/chunks/inline-svg-Yb2OyzRw.cjs.js +2 -0
  155. package/dist/chunks/inline-svg-Yb2OyzRw.cjs.js.map +1 -0
  156. package/dist/chunks/kbd-BaeV_DL-.cjs.js +2 -0
  157. package/dist/chunks/kbd-BaeV_DL-.cjs.js.map +1 -0
  158. package/dist/chunks/kbd-CH9rYghB.es.js +15 -0
  159. package/dist/chunks/kbd-CH9rYghB.es.js.map +1 -0
  160. package/dist/chunks/link-BEhlSTUU.es.js +48 -0
  161. package/dist/chunks/link-BEhlSTUU.es.js.map +1 -0
  162. package/dist/chunks/link-DpU4rPCp.cjs.js +2 -0
  163. package/dist/chunks/link-DpU4rPCp.cjs.js.map +1 -0
  164. package/dist/chunks/loading-spinner-BiVTAfmp.es.js +59 -0
  165. package/dist/chunks/loading-spinner-BiVTAfmp.es.js.map +1 -0
  166. package/dist/chunks/loading-spinner-DQM-6XnY.cjs.js +2 -0
  167. package/dist/chunks/loading-spinner-DQM-6XnY.cjs.js.map +1 -0
  168. package/dist/chunks/localized-field-C7Vribb2.cjs.js +2 -0
  169. package/dist/chunks/localized-field-C7Vribb2.cjs.js.map +1 -0
  170. package/dist/chunks/{localized-field-COJ9aoma.es.js → localized-field-D4R1lSbz.es.js} +68 -69
  171. package/dist/chunks/{localized-field-DCgNEoJc.cjs.js.map → localized-field-D4R1lSbz.es.js.map} +1 -1
  172. package/dist/chunks/make-element-focusable-C4jhHHl0.es.js.map +1 -1
  173. package/dist/chunks/make-element-focusable-oedzOY_M.cjs.js.map +1 -1
  174. package/dist/chunks/menu-BkPvV5Ey.es.js +150 -0
  175. package/dist/chunks/menu-BkPvV5Ey.es.js.map +1 -0
  176. package/dist/chunks/menu-DIepV2KZ.cjs.js +2 -0
  177. package/dist/chunks/menu-DIepV2KZ.cjs.js.map +1 -0
  178. package/dist/chunks/money-input-Cu_J86Eu.cjs.js +2 -0
  179. package/dist/chunks/money-input-Cu_J86Eu.cjs.js.map +1 -0
  180. package/dist/chunks/{money-input-DvR9Nnz5.es.js → money-input-jPYw0Jyg.es.js} +123 -247
  181. package/dist/chunks/money-input-jPYw0Jyg.es.js.map +1 -0
  182. package/dist/chunks/multiline-text-input-B9TBDieZ.cjs.js +2 -0
  183. package/dist/chunks/multiline-text-input-B9TBDieZ.cjs.js.map +1 -0
  184. package/dist/chunks/multiline-text-input-CilSJJaO.es.js +64 -0
  185. package/dist/chunks/multiline-text-input-CilSJJaO.es.js.map +1 -0
  186. package/dist/chunks/{nimbus-provider-YB6qmSSk.es.js → nimbus-provider-BHNFDQ0f.es.js} +6 -6
  187. package/dist/chunks/{nimbus-provider-YB6qmSSk.es.js.map → nimbus-provider-BHNFDQ0f.es.js.map} +1 -1
  188. package/dist/chunks/{nimbus-provider-ChOIcVt6.cjs.js → nimbus-provider-WX_qUCxo.cjs.js} +2 -2
  189. package/dist/chunks/{nimbus-provider-ChOIcVt6.cjs.js.map → nimbus-provider-WX_qUCxo.cjs.js.map} +1 -1
  190. package/dist/chunks/{number-input-Cq95vVse.es.js → number-input-CktMxOdZ.es.js} +139 -139
  191. package/dist/chunks/{number-input-Cq95vVse.es.js.map → number-input-CktMxOdZ.es.js.map} +1 -1
  192. package/dist/chunks/{number-input-DA_yy5BZ.cjs.js → number-input-wMW-o4di.cjs.js} +2 -2
  193. package/dist/chunks/{number-input-DA_yy5BZ.cjs.js.map → number-input-wMW-o4di.cjs.js.map} +1 -1
  194. package/dist/chunks/{openLink-BMfblNBC.es.js → openLink-CY66vjvW.es.js} +7 -7
  195. package/dist/chunks/{openLink-BMfblNBC.es.js.map → openLink-CY66vjvW.es.js.map} +1 -1
  196. package/dist/chunks/{pagination-EVJ_rBrc.cjs.js → pagination-BWdg8s6g.cjs.js} +2 -2
  197. package/dist/chunks/pagination-BWdg8s6g.cjs.js.map +1 -0
  198. package/dist/chunks/{pagination-2Zl9bHfw.es.js → pagination-Bcq69Nv3.es.js} +4 -4
  199. package/dist/chunks/pagination-Bcq69Nv3.es.js.map +1 -0
  200. package/dist/chunks/{password-input-DMbxYno4.cjs.js → password-input-6SMjhXSO.cjs.js} +2 -2
  201. package/dist/chunks/{password-input-DMbxYno4.cjs.js.map → password-input-6SMjhXSO.cjs.js.map} +1 -1
  202. package/dist/chunks/{password-input-De29PFv6.es.js → password-input-Bf_SPzLj.es.js} +4 -4
  203. package/dist/chunks/{password-input-De29PFv6.es.js.map → password-input-Bf_SPzLj.es.js.map} +1 -1
  204. package/dist/chunks/popover-CfEq5G5-.cjs.js +2 -0
  205. package/dist/chunks/popover-CfEq5G5-.cjs.js.map +1 -0
  206. package/dist/chunks/popover-DF0ppmkw.es.js +16 -0
  207. package/dist/chunks/popover-DF0ppmkw.es.js.map +1 -0
  208. package/dist/chunks/{progress-bar-BBy8IR_W.cjs.js → progress-bar-Bhp7W6Eo.cjs.js} +2 -2
  209. package/dist/chunks/progress-bar-Bhp7W6Eo.cjs.js.map +1 -0
  210. package/dist/chunks/{progress-bar-1XrmZIIp.es.js → progress-bar-DwuOjOcH.es.js} +6 -6
  211. package/dist/chunks/progress-bar-DwuOjOcH.es.js.map +1 -0
  212. package/dist/chunks/{radio-input-8sawPicQ.es.js → radio-input-4jw6HUjC.es.js} +70 -69
  213. package/dist/chunks/{radio-input-8sawPicQ.es.js.map → radio-input-4jw6HUjC.es.js.map} +1 -1
  214. package/dist/chunks/radio-input-Dp05SXja.cjs.js +2 -0
  215. package/dist/chunks/{radio-input-DK5681L5.cjs.js.map → radio-input-Dp05SXja.cjs.js.map} +1 -1
  216. package/dist/chunks/{range-calendar-C0InkSSo.es.js → range-calendar-DBpl6y5i.es.js} +19 -18
  217. package/dist/chunks/range-calendar-DBpl6y5i.es.js.map +1 -0
  218. package/dist/chunks/range-calendar-_dZfAsdG.cjs.js +2 -0
  219. package/dist/chunks/range-calendar-_dZfAsdG.cjs.js.map +1 -0
  220. package/dist/chunks/{rich-text-input-CUAI0VeV.es.js → rich-text-input-D7DcSuhr.es.js} +458 -584
  221. package/dist/chunks/rich-text-input-D7DcSuhr.es.js.map +1 -0
  222. package/dist/chunks/{rich-text-input-BygekdK5.cjs.js → rich-text-input-Da5WFZ3l.cjs.js} +13 -13
  223. package/dist/chunks/rich-text-input-Da5WFZ3l.cjs.js.map +1 -0
  224. package/dist/chunks/{scrollIntoView-1q6VTK8J.es.js → scrollIntoView-DTfS0nWq.es.js} +4 -4
  225. package/dist/chunks/{scrollIntoView-1q6VTK8J.es.js.map → scrollIntoView-DTfS0nWq.es.js.map} +1 -1
  226. package/dist/chunks/{search-input-r6P-vAgp.cjs.js → search-input-BefkmgPy.cjs.js} +2 -2
  227. package/dist/chunks/{search-input-r6P-vAgp.cjs.js.map → search-input-BefkmgPy.cjs.js.map} +1 -1
  228. package/dist/chunks/{search-input-DkFkEdiE.es.js → search-input-DJy2NHYW.es.js} +17 -17
  229. package/dist/chunks/{search-input-DkFkEdiE.es.js.map → search-input-DJy2NHYW.es.js.map} +1 -1
  230. package/dist/chunks/{select-D5QaNAMe.es.js → select-BmMhTBo-.es.js} +101 -101
  231. package/dist/chunks/{select-D5QaNAMe.es.js.map → select-BmMhTBo-.es.js.map} +1 -1
  232. package/dist/chunks/select-DMsU6bk9.cjs.js +2 -0
  233. package/dist/chunks/{select-97-5UUPX.cjs.js.map → select-DMsU6bk9.cjs.js.map} +1 -1
  234. package/dist/chunks/separator-B0qxXI4c.es.js +26 -0
  235. package/dist/chunks/separator-B0qxXI4c.es.js.map +1 -0
  236. package/dist/chunks/separator-CvRn_J0r.cjs.js +2 -0
  237. package/dist/chunks/separator-CvRn_J0r.cjs.js.map +1 -0
  238. package/dist/chunks/simple-grid-Cd2MJxSX.cjs.js.map +1 -1
  239. package/dist/chunks/simple-grid-DU5v66TG.es.js.map +1 -1
  240. package/dist/chunks/split-button-BO52sL7h.cjs.js +2 -0
  241. package/dist/chunks/split-button-BO52sL7h.cjs.js.map +1 -0
  242. package/dist/chunks/{split-button-Bczcosj2.es.js → split-button-yfUsgbxF.es.js} +27 -28
  243. package/dist/chunks/split-button-yfUsgbxF.es.js.map +1 -0
  244. package/dist/chunks/stack-CIN13EDn.cjs.js.map +1 -1
  245. package/dist/chunks/stack-CoNreM7B.es.js.map +1 -1
  246. package/dist/chunks/{switch-CwJ5OFLP.cjs.js → switch-CdLhBEPq.cjs.js} +2 -2
  247. package/dist/chunks/switch-CdLhBEPq.cjs.js.map +1 -0
  248. package/dist/chunks/{switch-D_NMKG3Q.es.js → switch-Df_0twKu.es.js} +8 -8
  249. package/dist/chunks/switch-Df_0twKu.es.js.map +1 -0
  250. package/dist/chunks/{tabs-UlU9sGFI.es.js → tabs-BCLrKRoZ.es.js} +86 -87
  251. package/dist/chunks/{tabs-UlU9sGFI.es.js.map → tabs-BCLrKRoZ.es.js.map} +1 -1
  252. package/dist/chunks/tabs-CJ0OAUSR.cjs.js +2 -0
  253. package/dist/chunks/{tabs-Cklmbi45.cjs.js.map → tabs-CJ0OAUSR.cjs.js.map} +1 -1
  254. package/dist/chunks/tag-group-B-eOhltn.es.js +560 -0
  255. package/dist/chunks/tag-group-B-eOhltn.es.js.map +1 -0
  256. package/dist/chunks/tag-group-Btt0egzG.cjs.js +2 -0
  257. package/dist/chunks/tag-group-Btt0egzG.cjs.js.map +1 -0
  258. package/dist/chunks/text-BgiP8ZB6.es.js.map +1 -1
  259. package/dist/chunks/text-CCW9kDT_.cjs.js.map +1 -1
  260. package/dist/chunks/{text-input-DWJ-CPVR.es.js → text-input-CSAODlCw.es.js} +7 -7
  261. package/dist/chunks/text-input-CSAODlCw.es.js.map +1 -0
  262. package/dist/chunks/{text-input-DHyVy0pg.cjs.js → text-input-DZdkCbdd.cjs.js} +2 -2
  263. package/dist/chunks/text-input-DZdkCbdd.cjs.js.map +1 -0
  264. package/dist/chunks/time-input--a_qv-Jk.es.js +21 -0
  265. package/dist/chunks/time-input--a_qv-Jk.es.js.map +1 -0
  266. package/dist/chunks/time-input-zXykDANk.cjs.js +2 -0
  267. package/dist/chunks/time-input-zXykDANk.cjs.js.map +1 -0
  268. package/dist/chunks/toggle-button-DxMZsem4.cjs.js +2 -0
  269. package/dist/chunks/toggle-button-DxMZsem4.cjs.js.map +1 -0
  270. package/dist/chunks/toggle-button-awb1jBf8.es.js +30 -0
  271. package/dist/chunks/toggle-button-awb1jBf8.es.js.map +1 -0
  272. package/dist/chunks/toggle-button-group-CE2Urvj8.cjs.js +2 -0
  273. package/dist/chunks/toggle-button-group-CE2Urvj8.cjs.js.map +1 -0
  274. package/dist/chunks/toggle-button-group-Ce7ezOED.es.js +29 -0
  275. package/dist/chunks/toggle-button-group-Ce7ezOED.es.js.map +1 -0
  276. package/dist/chunks/{button.recipe-NdTb5f8M.es.js → toggle-button-group.recipe-CbCnJQP3.es.js} +55 -2
  277. package/dist/chunks/toggle-button-group.recipe-CbCnJQP3.es.js.map +1 -0
  278. package/dist/chunks/{button.recipe-Cqkj3VMo.cjs.js → toggle-button-group.recipe-DgySRvOW.cjs.js} +2 -2
  279. package/dist/chunks/toggle-button-group.recipe-DgySRvOW.cjs.js.map +1 -0
  280. package/dist/chunks/toolbar-BDatiEYj.es.js +59 -0
  281. package/dist/chunks/toolbar-BDatiEYj.es.js.map +1 -0
  282. package/dist/chunks/{toolbar-0yDwxKuL.cjs.js → toolbar-DV0l5MqA.cjs.js} +2 -2
  283. package/dist/chunks/toolbar-DV0l5MqA.cjs.js.map +1 -0
  284. package/dist/chunks/tooltip-BPTOkK7W.cjs.js +2 -0
  285. package/dist/chunks/{tooltip-CH2ASPPO.cjs.js.map → tooltip-BPTOkK7W.cjs.js.map} +1 -1
  286. package/dist/chunks/{tooltip-CgzrzHZy.es.js → tooltip-CHm25f4m.es.js} +48 -47
  287. package/dist/chunks/{tooltip-CgzrzHZy.es.js.map → tooltip-CHm25f4m.es.js.map} +1 -1
  288. package/dist/chunks/{useButton-DcYDH2A4.es.js → useButton-_sJ3_8ha.es.js} +2 -2
  289. package/dist/chunks/{useButton-DcYDH2A4.es.js.map → useButton-_sJ3_8ha.es.js.map} +1 -1
  290. package/dist/chunks/{useDateFormatter-DjIrGyx5.es.js → useDateFormatter-C4zVAL_K.es.js} +2 -2
  291. package/dist/chunks/{useDateFormatter-DjIrGyx5.es.js.map → useDateFormatter-C4zVAL_K.es.js.map} +1 -1
  292. package/dist/chunks/useGridListItem--iMluO7K.es.js +251 -0
  293. package/dist/chunks/useGridListItem--iMluO7K.es.js.map +1 -0
  294. package/dist/chunks/useGridListItem-6gZ8SfZH.cjs.js +2 -0
  295. package/dist/chunks/useGridListItem-6gZ8SfZH.cjs.js.map +1 -0
  296. package/dist/chunks/useGridSelectionCheckbox-UA-rsjJv.cjs.js +2 -0
  297. package/dist/chunks/useGridSelectionCheckbox-UA-rsjJv.cjs.js.map +1 -0
  298. package/dist/chunks/useGridSelectionCheckbox-yspK-vJA.es.js +23 -0
  299. package/dist/chunks/useGridSelectionCheckbox-yspK-vJA.es.js.map +1 -0
  300. package/dist/chunks/{useHighlightSelectionDescription-CvLHkqhe.es.js → useHighlightSelectionDescription-qks4kKs2.es.js} +5 -5
  301. package/dist/chunks/{useHighlightSelectionDescription-CvLHkqhe.es.js.map → useHighlightSelectionDescription-qks4kKs2.es.js.map} +1 -1
  302. package/dist/chunks/{useListState-wotFHS2D.es.js → useListState-Cf8n791-.es.js} +2 -2
  303. package/dist/chunks/{useListState-wotFHS2D.es.js.map → useListState-Cf8n791-.es.js.map} +1 -1
  304. package/dist/chunks/{usePress-yQeeY9mB.es.js → usePress-Dc6amhnJ.es.js} +2 -2
  305. package/dist/chunks/{usePress-yQeeY9mB.es.js.map → usePress-Dc6amhnJ.es.js.map} +1 -1
  306. package/dist/chunks/{useSingleSelectListState-CYr_aJQU.es.js → useSingleSelectListState-DLY6K_dU.es.js} +2 -2
  307. package/dist/chunks/{useSingleSelectListState-CYr_aJQU.es.js.map → useSingleSelectListState-DLY6K_dU.es.js.map} +1 -1
  308. package/dist/chunks/{useToggle-BeuILZxb.es.js → useToggle-CKEhqMIa.es.js} +2 -2
  309. package/dist/chunks/{useToggle-BeuILZxb.es.js.map → useToggle-CKEhqMIa.es.js.map} +1 -1
  310. package/dist/chunks/visually-hidden-CVUszTlg.es.js.map +1 -1
  311. package/dist/chunks/visually-hidden-tTYCAVoQ.cjs.js.map +1 -1
  312. package/dist/collapsible-motion.d.ts +13 -31
  313. package/dist/combobox.d.ts +36 -135
  314. package/dist/components/accordion.cjs +1 -1
  315. package/dist/components/accordion.es.js +1 -1
  316. package/dist/components/alert.cjs +1 -1
  317. package/dist/components/alert.es.js +1 -1
  318. package/dist/components/avatar.cjs +1 -1
  319. package/dist/components/avatar.es.js +1 -1
  320. package/dist/components/badge.cjs +1 -1
  321. package/dist/components/badge.es.js +1 -1
  322. package/dist/components/button.cjs +1 -1
  323. package/dist/components/button.es.js +1 -1
  324. package/dist/components/calendar.cjs +1 -1
  325. package/dist/components/calendar.es.js +1 -1
  326. package/dist/components/card.cjs +1 -1
  327. package/dist/components/card.es.js +1 -1
  328. package/dist/components/checkbox.cjs +1 -1
  329. package/dist/components/checkbox.es.js +1 -1
  330. package/dist/components/collapsible-motion.cjs +1 -1
  331. package/dist/components/collapsible-motion.es.js +1 -1
  332. package/dist/components/combobox.cjs +1 -1
  333. package/dist/components/combobox.es.js +1 -1
  334. package/dist/components/components.cjs +1 -1
  335. package/dist/components/components.es.js +1 -1
  336. package/dist/components/data-table.cjs +1 -1
  337. package/dist/components/data-table.es.js +1 -1
  338. package/dist/components/date-input.cjs +1 -1
  339. package/dist/components/date-input.es.js +1 -1
  340. package/dist/components/date-picker.cjs +1 -1
  341. package/dist/components/date-picker.es.js +1 -1
  342. package/dist/components/date-range-picker.cjs +1 -1
  343. package/dist/components/date-range-picker.es.js +1 -1
  344. package/dist/components/dialog.cjs +1 -1
  345. package/dist/components/dialog.es.js +1 -1
  346. package/dist/components/draggable-list.cjs +2 -0
  347. package/dist/components/draggable-list.cjs.map +1 -0
  348. package/dist/components/draggable-list.es.js +8 -0
  349. package/dist/components/draggable-list.es.js.map +1 -0
  350. package/dist/components/drawer.cjs +1 -1
  351. package/dist/components/drawer.es.js +1 -1
  352. package/dist/components/field-errors.cjs +1 -1
  353. package/dist/components/field-errors.es.js +1 -1
  354. package/dist/components/form-field.cjs +1 -1
  355. package/dist/components/form-field.es.js +1 -1
  356. package/dist/components/group.cjs +1 -1
  357. package/dist/components/group.es.js +1 -1
  358. package/dist/components/icon-button.cjs +1 -1
  359. package/dist/components/icon-button.es.js +1 -1
  360. package/dist/components/icon-toggle-button.cjs +1 -1
  361. package/dist/components/icon-toggle-button.es.js +1 -1
  362. package/dist/components/icon.cjs +1 -1
  363. package/dist/components/icon.es.js +1 -1
  364. package/dist/components/inline-svg.cjs +1 -1
  365. package/dist/components/inline-svg.es.js +1 -1
  366. package/dist/components/kbd.cjs +1 -1
  367. package/dist/components/kbd.es.js +1 -1
  368. package/dist/components/link.cjs +1 -1
  369. package/dist/components/link.es.js +1 -1
  370. package/dist/components/loading-spinner.cjs +1 -1
  371. package/dist/components/loading-spinner.es.js +1 -1
  372. package/dist/components/localized-field.cjs +1 -1
  373. package/dist/components/localized-field.es.js +1 -1
  374. package/dist/components/money-input.cjs +1 -1
  375. package/dist/components/money-input.es.js +1 -1
  376. package/dist/components/multiline-text-input.cjs +1 -1
  377. package/dist/components/multiline-text-input.es.js +1 -1
  378. package/dist/components/nimbus-provider.cjs +1 -1
  379. package/dist/components/nimbus-provider.es.js +1 -1
  380. package/dist/components/number-input.cjs +1 -1
  381. package/dist/components/number-input.es.js +1 -1
  382. package/dist/components/pagination.cjs +1 -1
  383. package/dist/components/pagination.es.js +1 -1
  384. package/dist/components/password-input.cjs +1 -1
  385. package/dist/components/password-input.es.js +1 -1
  386. package/dist/components/popover.cjs +1 -1
  387. package/dist/components/popover.es.js +1 -1
  388. package/dist/components/progress-bar.cjs +1 -1
  389. package/dist/components/progress-bar.es.js +1 -1
  390. package/dist/components/radio-input.cjs +1 -1
  391. package/dist/components/radio-input.es.js +1 -1
  392. package/dist/components/range-calendar.cjs +1 -1
  393. package/dist/components/range-calendar.es.js +1 -1
  394. package/dist/components/rich-text-input.cjs +1 -1
  395. package/dist/components/rich-text-input.es.js +1 -1
  396. package/dist/components/scoped-search-input.cjs +1 -1
  397. package/dist/components/scoped-search-input.cjs.map +1 -1
  398. package/dist/components/scoped-search-input.es.js +66 -64
  399. package/dist/components/scoped-search-input.es.js.map +1 -1
  400. package/dist/components/search-input.cjs +1 -1
  401. package/dist/components/search-input.es.js +1 -1
  402. package/dist/components/select.cjs +1 -1
  403. package/dist/components/select.es.js +1 -1
  404. package/dist/components/separator.cjs +1 -1
  405. package/dist/components/separator.es.js +1 -1
  406. package/dist/components/split-button.cjs +1 -1
  407. package/dist/components/split-button.es.js +1 -1
  408. package/dist/components/switch.cjs +1 -1
  409. package/dist/components/switch.es.js +1 -1
  410. package/dist/components/tabs.cjs +1 -1
  411. package/dist/components/tabs.es.js +1 -1
  412. package/dist/components/tag-group.cjs +1 -1
  413. package/dist/components/tag-group.es.js +1 -1
  414. package/dist/components/text-input.cjs +1 -1
  415. package/dist/components/text-input.es.js +1 -1
  416. package/dist/components/time-input.cjs +1 -1
  417. package/dist/components/time-input.es.js +1 -1
  418. package/dist/components/toggle-button-group.cjs +1 -1
  419. package/dist/components/toggle-button-group.es.js +1 -1
  420. package/dist/components/toggle-button.cjs +1 -1
  421. package/dist/components/toggle-button.es.js +1 -1
  422. package/dist/components/toolbar.cjs +1 -1
  423. package/dist/components/toolbar.es.js +1 -1
  424. package/dist/components/tooltip.cjs +1 -1
  425. package/dist/components/tooltip.es.js +1 -1
  426. package/dist/components/utils.cjs.map +1 -1
  427. package/dist/components/utils.es.js.map +1 -1
  428. package/dist/components.d.ts +37 -83
  429. package/dist/data-table.d.ts +28 -64
  430. package/dist/date-input.d.ts +14 -83
  431. package/dist/date-picker.d.ts +35 -99
  432. package/dist/date-range-picker.d.ts +12 -48
  433. package/dist/dialog.d.ts +50 -90
  434. package/dist/draggable-list.d.ts +307 -0
  435. package/dist/drawer.d.ts +15 -11
  436. package/dist/field-errors.d.ts +4 -13
  437. package/dist/form-field.d.ts +27 -76
  438. package/dist/grid.d.ts +2 -2
  439. package/dist/group.d.ts +2 -4
  440. package/dist/heading.d.ts +15 -2
  441. package/dist/icon-button.d.ts +14 -11
  442. package/dist/icon-toggle-button.d.ts +12 -108
  443. package/dist/icon.d.ts +9 -48
  444. package/dist/image.d.ts +1 -2
  445. package/dist/index.cjs +1 -1
  446. package/dist/index.cjs.map +1 -1
  447. package/dist/index.d.ts +37 -83
  448. package/dist/index.es.js +196 -191
  449. package/dist/index.es.js.map +1 -1
  450. package/dist/inline-svg.d.ts +11 -50
  451. package/dist/kbd.d.ts +2 -2
  452. package/dist/link.d.ts +10 -39
  453. package/dist/loading-spinner.d.ts +9 -46
  454. package/dist/localized-field.d.ts +32 -31
  455. package/dist/money-input.d.ts +16 -100
  456. package/dist/multiline-text-input.d.ts +13 -73
  457. package/dist/nimbus-provider.d.ts +8 -10
  458. package/dist/number-input.d.ts +8 -121
  459. package/dist/pagination.d.ts +2 -2
  460. package/dist/password-input.d.ts +12 -65
  461. package/dist/popover.d.ts +5 -14
  462. package/dist/progress-bar.d.ts +29 -111
  463. package/dist/radio-input.d.ts +11 -35
  464. package/dist/range-calendar.d.ts +21 -9
  465. package/dist/rich-text-input.d.ts +9 -6
  466. package/dist/scoped-search-input.d.ts +14 -19
  467. package/dist/search-input.d.ts +13 -51
  468. package/dist/select.d.ts +20 -86
  469. package/dist/separator.d.ts +10 -34
  470. package/dist/simple-grid.d.ts +2 -2
  471. package/dist/split-button.d.ts +25 -11
  472. package/dist/stack.d.ts +2 -2
  473. package/dist/switch.d.ts +4 -41
  474. package/dist/tabs.d.ts +32 -126
  475. package/dist/tag-group.d.ts +15 -42
  476. package/dist/text-input.d.ts +15 -61
  477. package/dist/text.d.ts +2 -2
  478. package/dist/time-input.d.ts +17 -83
  479. package/dist/toggle-button-group.d.ts +14 -60
  480. package/dist/toggle-button.d.ts +10 -106
  481. package/dist/toolbar.d.ts +10 -60
  482. package/dist/tooltip.d.ts +12 -24
  483. package/dist/utils.d.ts +2 -2
  484. package/dist/visually-hidden.d.ts +2 -2
  485. package/package.json +5 -5
  486. package/dist/chunks/accordion-C4MjwWsC.es.js.map +0 -1
  487. package/dist/chunks/accordion-CxA_B4rs.cjs.js +0 -2
  488. package/dist/chunks/accordion-CxA_B4rs.cjs.js.map +0 -1
  489. package/dist/chunks/alert-CA04iXvr.cjs.js +0 -2
  490. package/dist/chunks/alert-CA04iXvr.cjs.js.map +0 -1
  491. package/dist/chunks/alert-C_eKOpkm.es.js +0 -193
  492. package/dist/chunks/alert-C_eKOpkm.es.js.map +0 -1
  493. package/dist/chunks/avatar-Bu12OMzz.es.js.map +0 -1
  494. package/dist/chunks/avatar-C2KIWewd.cjs.js +0 -2
  495. package/dist/chunks/avatar-C2KIWewd.cjs.js.map +0 -1
  496. package/dist/chunks/badge-CCrBksXu.cjs.js +0 -2
  497. package/dist/chunks/badge-CCrBksXu.cjs.js.map +0 -1
  498. package/dist/chunks/badge-qLydLdTu.es.js.map +0 -1
  499. package/dist/chunks/button-Be0U44e7.es.js +0 -59
  500. package/dist/chunks/button-Be0U44e7.es.js.map +0 -1
  501. package/dist/chunks/button-DTE97NpD.cjs.js +0 -2
  502. package/dist/chunks/button-DTE97NpD.cjs.js.map +0 -1
  503. package/dist/chunks/button.recipe-Cqkj3VMo.cjs.js.map +0 -1
  504. package/dist/chunks/button.recipe-NdTb5f8M.es.js.map +0 -1
  505. package/dist/chunks/calendar-C33Q6JGN.es.js.map +0 -1
  506. package/dist/chunks/calendar-GA5ACIqm.cjs.js +0 -2
  507. package/dist/chunks/calendar-GA5ACIqm.cjs.js.map +0 -1
  508. package/dist/chunks/card-DFMzI97y.es.js +0 -138
  509. package/dist/chunks/card-DFMzI97y.es.js.map +0 -1
  510. package/dist/chunks/card-DREQgc6S.cjs.js +0 -2
  511. package/dist/chunks/card-DREQgc6S.cjs.js.map +0 -1
  512. package/dist/chunks/checkbox-Bh5DxcKC.cjs.js +0 -2
  513. package/dist/chunks/collapsible-motion-BSsz8na-.es.js.map +0 -1
  514. package/dist/chunks/collapsible-motion-hU9KTv8o.cjs.js +0 -2
  515. package/dist/chunks/collapsible-motion-hU9KTv8o.cjs.js.map +0 -1
  516. package/dist/chunks/data-table-0hNRYKT3.es.js.map +0 -1
  517. package/dist/chunks/data-table-EMCF19pW.cjs.js +0 -2
  518. package/dist/chunks/data-table-EMCF19pW.cjs.js.map +0 -1
  519. package/dist/chunks/date-input-CUWc63rA.cjs.js +0 -2
  520. package/dist/chunks/date-input-CUWc63rA.cjs.js.map +0 -1
  521. package/dist/chunks/date-input-Dab_Fdrq.es.js +0 -20
  522. package/dist/chunks/date-input-Dab_Fdrq.es.js.map +0 -1
  523. package/dist/chunks/date-picker-C6A6CiIu.cjs.js +0 -2
  524. package/dist/chunks/date-picker-C6A6CiIu.cjs.js.map +0 -1
  525. package/dist/chunks/date-picker-CT6jwApn.es.js.map +0 -1
  526. package/dist/chunks/date-range-picker-BICRnCsn.es.js.map +0 -1
  527. package/dist/chunks/date-range-picker-vER5F2HJ.cjs.js +0 -2
  528. package/dist/chunks/date-range-picker-vER5F2HJ.cjs.js.map +0 -1
  529. package/dist/chunks/dialog.title-5mHI--iF.es.js +0 -152
  530. package/dist/chunks/dialog.title-CtQfDha4.cjs.js +0 -2
  531. package/dist/chunks/dialog.title-CtQfDha4.cjs.js.map +0 -1
  532. package/dist/chunks/field-errors-Dzmxsyfu.cjs.js +0 -2
  533. package/dist/chunks/field-errors-Dzmxsyfu.cjs.js.map +0 -1
  534. package/dist/chunks/field-errors-n9EuKYPI.es.js.map +0 -1
  535. package/dist/chunks/form-field-2NMmaZgp.cjs.js +0 -11
  536. package/dist/chunks/form-field-2NMmaZgp.cjs.js.map +0 -1
  537. package/dist/chunks/form-field-BrU_qJq3.es.js +0 -341
  538. package/dist/chunks/form-field-BrU_qJq3.es.js.map +0 -1
  539. package/dist/chunks/group-F6OwMVlM.es.js +0 -14
  540. package/dist/chunks/group-F6OwMVlM.es.js.map +0 -1
  541. package/dist/chunks/group-NazPMAWg.cjs.js +0 -2
  542. package/dist/chunks/group-NazPMAWg.cjs.js.map +0 -1
  543. package/dist/chunks/group.recipe-BQafmscW.es.js +0 -13
  544. package/dist/chunks/group.recipe-BQafmscW.es.js.map +0 -1
  545. package/dist/chunks/group.recipe-BffrkcjL.cjs.js +0 -2
  546. package/dist/chunks/group.recipe-BffrkcjL.cjs.js.map +0 -1
  547. package/dist/chunks/icon-BHx0r3NL.cjs.js +0 -2
  548. package/dist/chunks/icon-BHx0r3NL.cjs.js.map +0 -1
  549. package/dist/chunks/icon-DHu0zrOb.es.js +0 -14
  550. package/dist/chunks/icon-DHu0zrOb.es.js.map +0 -1
  551. package/dist/chunks/index-Bx9ez6gh.cjs.js +0 -15
  552. package/dist/chunks/index-Bx9ez6gh.cjs.js.map +0 -1
  553. package/dist/chunks/index-DthLdwMN.es.js.map +0 -1
  554. package/dist/chunks/inline-svg-DTleUhZq.es.js.map +0 -1
  555. package/dist/chunks/inline-svg-DbvmiSw9.cjs.js +0 -2
  556. package/dist/chunks/inline-svg-DbvmiSw9.cjs.js.map +0 -1
  557. package/dist/chunks/kbd-B--GEgRt.es.js +0 -17
  558. package/dist/chunks/kbd-B--GEgRt.es.js.map +0 -1
  559. package/dist/chunks/kbd-DFeaXiKY.cjs.js +0 -2
  560. package/dist/chunks/kbd-DFeaXiKY.cjs.js.map +0 -1
  561. package/dist/chunks/kbd.recipe-DXiyvrAP.es.js +0 -26
  562. package/dist/chunks/kbd.recipe-DXiyvrAP.es.js.map +0 -1
  563. package/dist/chunks/kbd.recipe-DjQgeTG_.cjs.js +0 -2
  564. package/dist/chunks/kbd.recipe-DjQgeTG_.cjs.js.map +0 -1
  565. package/dist/chunks/link-DK2EgZNs.es.js +0 -50
  566. package/dist/chunks/link-DK2EgZNs.es.js.map +0 -1
  567. package/dist/chunks/link-iN1bhsXS.cjs.js +0 -2
  568. package/dist/chunks/link-iN1bhsXS.cjs.js.map +0 -1
  569. package/dist/chunks/link.recipe-Co4-fl4U.cjs.js +0 -2
  570. package/dist/chunks/link.recipe-Co4-fl4U.cjs.js.map +0 -1
  571. package/dist/chunks/link.recipe-pXiGIJtI.es.js +0 -51
  572. package/dist/chunks/link.recipe-pXiGIJtI.es.js.map +0 -1
  573. package/dist/chunks/loading-spinner-Bh75bpAx.es.js +0 -118
  574. package/dist/chunks/loading-spinner-Bh75bpAx.es.js.map +0 -1
  575. package/dist/chunks/loading-spinner-DDhqsR0J.cjs.js +0 -2
  576. package/dist/chunks/loading-spinner-DDhqsR0J.cjs.js.map +0 -1
  577. package/dist/chunks/localized-field-COJ9aoma.es.js.map +0 -1
  578. package/dist/chunks/localized-field-DCgNEoJc.cjs.js +0 -2
  579. package/dist/chunks/menu-BvZy65zm.es.js +0 -150
  580. package/dist/chunks/menu-BvZy65zm.es.js.map +0 -1
  581. package/dist/chunks/menu-CW4QVk-m.cjs.js +0 -2
  582. package/dist/chunks/menu-CW4QVk-m.cjs.js.map +0 -1
  583. package/dist/chunks/money-input-CwrbJsn1.cjs.js +0 -2
  584. package/dist/chunks/money-input-CwrbJsn1.cjs.js.map +0 -1
  585. package/dist/chunks/money-input-DvR9Nnz5.es.js.map +0 -1
  586. package/dist/chunks/multiline-text-input-4kwHZ5HO.cjs.js +0 -12
  587. package/dist/chunks/multiline-text-input-4kwHZ5HO.cjs.js.map +0 -1
  588. package/dist/chunks/multiline-text-input-BrE5zqv5.es.js +0 -195
  589. package/dist/chunks/multiline-text-input-BrE5zqv5.es.js.map +0 -1
  590. package/dist/chunks/pagination-2Zl9bHfw.es.js.map +0 -1
  591. package/dist/chunks/pagination-EVJ_rBrc.cjs.js.map +0 -1
  592. package/dist/chunks/popover-BJPogaez.cjs.js +0 -2
  593. package/dist/chunks/popover-BJPogaez.cjs.js.map +0 -1
  594. package/dist/chunks/popover-yeZXM_2G.es.js +0 -27
  595. package/dist/chunks/popover-yeZXM_2G.es.js.map +0 -1
  596. package/dist/chunks/progress-bar-1XrmZIIp.es.js.map +0 -1
  597. package/dist/chunks/progress-bar-BBy8IR_W.cjs.js.map +0 -1
  598. package/dist/chunks/radio-input-DK5681L5.cjs.js +0 -2
  599. package/dist/chunks/range-calendar-C0InkSSo.es.js.map +0 -1
  600. package/dist/chunks/range-calendar-CrHUTeyY.cjs.js +0 -2
  601. package/dist/chunks/range-calendar-CrHUTeyY.cjs.js.map +0 -1
  602. package/dist/chunks/rich-text-input-BygekdK5.cjs.js.map +0 -1
  603. package/dist/chunks/rich-text-input-CUAI0VeV.es.js.map +0 -1
  604. package/dist/chunks/select-97-5UUPX.cjs.js +0 -2
  605. package/dist/chunks/separator-BBuhLJdN.cjs.js +0 -2
  606. package/dist/chunks/separator-BBuhLJdN.cjs.js.map +0 -1
  607. package/dist/chunks/separator-D7elp8bN.es.js +0 -52
  608. package/dist/chunks/separator-D7elp8bN.es.js.map +0 -1
  609. package/dist/chunks/split-button-Bczcosj2.es.js.map +0 -1
  610. package/dist/chunks/split-button-EHp7Svv4.cjs.js +0 -2
  611. package/dist/chunks/split-button-EHp7Svv4.cjs.js.map +0 -1
  612. package/dist/chunks/switch-CwJ5OFLP.cjs.js.map +0 -1
  613. package/dist/chunks/switch-D_NMKG3Q.es.js.map +0 -1
  614. package/dist/chunks/tabs-Cklmbi45.cjs.js +0 -2
  615. package/dist/chunks/tag-group-Cgs8C7Xc.cjs.js +0 -2
  616. package/dist/chunks/tag-group-Cgs8C7Xc.cjs.js.map +0 -1
  617. package/dist/chunks/tag-group-uIKmx4eU.es.js +0 -796
  618. package/dist/chunks/tag-group-uIKmx4eU.es.js.map +0 -1
  619. package/dist/chunks/text-input-DHyVy0pg.cjs.js.map +0 -1
  620. package/dist/chunks/text-input-DWJ-CPVR.es.js.map +0 -1
  621. package/dist/chunks/time-input-CwfMLg_y.es.js +0 -179
  622. package/dist/chunks/time-input-CwfMLg_y.es.js.map +0 -1
  623. package/dist/chunks/time-input-UNOO6gaq.cjs.js +0 -2
  624. package/dist/chunks/time-input-UNOO6gaq.cjs.js.map +0 -1
  625. package/dist/chunks/toggle-button-BHOVooIy.cjs.js +0 -2
  626. package/dist/chunks/toggle-button-BHOVooIy.cjs.js.map +0 -1
  627. package/dist/chunks/toggle-button-CdJftdD2.es.js +0 -29
  628. package/dist/chunks/toggle-button-CdJftdD2.es.js.map +0 -1
  629. package/dist/chunks/toggle-button-group-D2eN4VNE.es.js +0 -81
  630. package/dist/chunks/toggle-button-group-D2eN4VNE.es.js.map +0 -1
  631. package/dist/chunks/toggle-button-group-RAL2Cws6.cjs.js +0 -2
  632. package/dist/chunks/toggle-button-group-RAL2Cws6.cjs.js.map +0 -1
  633. package/dist/chunks/toolbar-0yDwxKuL.cjs.js.map +0 -1
  634. package/dist/chunks/toolbar-DXDZ5G0Q.es.js +0 -59
  635. package/dist/chunks/toolbar-DXDZ5G0Q.es.js.map +0 -1
  636. package/dist/chunks/tooltip-CH2ASPPO.cjs.js +0 -2
  637. package/dist/chunks/tooltip.recipe-Cqi_tgR5.es.js +0 -24
  638. package/dist/chunks/tooltip.recipe-Cqi_tgR5.es.js.map +0 -1
  639. package/dist/chunks/tooltip.recipe-dx7DAJbZ.cjs.js +0 -2
  640. package/dist/chunks/tooltip.recipe-dx7DAJbZ.cjs.js.map +0 -1
@@ -1,15 +1,15 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import w, { useContext as R, createContext as S } from "react";
3
- import { k as v, h as N } from "./Dialog-FtshtbuD.es.js";
3
+ import { k as v, h as N } from "./Dialog-Qpq4hk89.es.js";
4
4
  import { createSlotRecipeContext as O, useSlotRecipe as H, chakra as B } from "@chakra-ui/react/styled-system";
5
- import { n as m } from "./index-DthLdwMN.es.js";
6
- import { a as I } from "./Button-DbDspzBf.es.js";
7
- import { e as g } from "./extractStyleProps-CNXOLneR.es.js";
8
- import { $ as M, a as F } from "./Modal-CVRxKbK2.es.js";
5
+ import { l as m } from "./index-CtB71yr7.es.js";
6
+ import { a as I } from "./Button-Dx3xzN8n.es.js";
7
+ import { e as g } from "./extractStyleProps-DYXEhLtq.es.js";
8
+ import { $ as M, a as F } from "./Modal-DZrVgGsJ.es.js";
9
9
  import { H as k } from "./heading-BtazVUd5.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-D4w1XTVg.es.js";
12
+ import { I as j } from "./icon-button-DQS2apw-.es.js";
13
13
  const { withProvider: z, withContext: s } = /* @__PURE__ */ O({
14
14
  recipe: m
15
15
  }), A = /* @__PURE__ */ z(
@@ -301,4 +301,4 @@ const we = {
301
301
  export {
302
302
  we as D
303
303
  };
304
- //# sourceMappingURL=drawer-wpiy6Y4h.es.js.map
304
+ //# sourceMappingURL=drawer-BJ4qvGnj.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-wpiy6Y4h.es.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"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"}
1
+ {"version":3,"file":"drawer-BJ4qvGnj.es.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),u=require("react"),x=require("./Dialog-XGXh4NXU.cjs.js"),g=require("@chakra-ui/react/styled-system"),D=require("./index-Bx9ez6gh.cjs.js"),q=require("./Button-CFZnLKVR.cjs.js"),h=require("./extractStyleProps-G58aSXl8.cjs.js"),p=require("./Modal-CVOcKPNx.cjs.js"),N=require("./heading-BTacGwo9.cjs.js"),O=require("@commercetools/nimbus-icons"),y=require("react-intl"),B=require("./icon-button-CkjZc6Br.cjs.js"),{withProvider:I,withContext:a}=g.createSlotRecipeContext({recipe:D.drawerSlotRecipe}),M=I("div","root"),H=a("button","trigger"),F=a("div","modalOverlay"),E=a("div","modal"),V=a("div","content"),k=a("header","header"),z=a("div","body"),A=a("footer","footer"),K=a("h2","title"),L=a("div","closeTrigger"),C=u.createContext(void 0),G=()=>{const e=u.useContext(C);if(!e)throw new Error("useDrawerContext must be used within Drawer.Root");return e},J=({children:e,value:t})=>r.jsx(C,{value:t,children:e}),m=e=>{const t=g.useSlotRecipe({recipe:D.drawerSlotRecipe}),[s]=t.splitVariantProps(e),{children:o,isOpen:n,onOpenChange:i,defaultOpen:f=!1}=e,l=r.jsx(M,{...s,children:o}),w=u.Children.toArray(o).some(c=>{if(u.isValidElement(c)&&typeof c.type=="function"){const d=c.type?.displayName;return d==="DrawerTrigger"||d==="Drawer.Trigger"}return!1});return r.jsx(J,{value:e,children:w?r.jsx(x.$de32f1b87079253c$export$2e1e1122cf0cba88,{isOpen:n,onOpenChange:i,defaultOpen:f,children:l}):l})};m.displayName="Drawer.Root";const b=({ref:e,children:t,asChild:s,...o})=>{if(s)return r.jsx(g.chakra.button,{ref:e,asChild:!0,...o,children:t});const[n,i]=h.extractStyleProps(o);return r.jsx(H,{...n,asChild:!0,children:r.jsx(q.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{ref:e,...i,children:t})})};b.displayName="Drawer.Trigger";const j=e=>{const{ref:t,children:s,...o}=e,{defaultOpen:n,isDismissable:i,isKeyboardDismissDisabled:f,shouldCloseOnInteractOutside:l,isOpen:w,onOpenChange:c}=G(),d={defaultOpen:n,isDismissable:i,isKeyboardDismissDisabled:f,shouldCloseOnInteractOutside:l,isOpen:w,onOpenChange:c},[v]=h.extractStyleProps(o);return r.jsx(F,{asChild:!0,children:r.jsx(p.$f3f84453ead64de5$export$8948f78d83984c69,{...d,children:r.jsx(E,{asChild:!0,children:r.jsx(p.$f3f84453ead64de5$export$2b77a92f1a5ad772,{children:r.jsx(V,{asChild:!0,...v,children:r.jsx(x.$de32f1b87079253c$export$3ddf2d174ce01153,{ref:t,children:s})})})})})})};j.displayName="Drawer.Content";const S=e=>{const{ref:t,children:s,...o}=e;return r.jsx(k,{ref:t,...o,children:s})};S.displayName="Drawer.Header";const T=e=>{const{ref:t,children:s,...o}=e,n={tabIndex:0};return r.jsx(z,{ref:t,...n,...o,children:s})};T.displayName="Drawer.Body";const P=e=>{const{ref:t,children:s,...o}=e;return r.jsx(A,{ref:t,...o,children:s})};P.displayName="Drawer.Footer";const R=e=>{const{ref:t,children:s,...o}=e;return r.jsx(K,{asChild:!0,...o,children:r.jsx(N.Heading,{ref:t,slot:"title",as:"h2",textStyle:"lg",children:s})})};R.displayName="Drawer.Title";const Q=y.defineMessages({closeTrigger:{id:"Nimbus.Drawer.closeTrigger",description:"aria-label for the default close trigger button",defaultMessage:"Close drawer"}}),$=e=>{const{ref:t,"aria-label":s,...o}=e,n=y.useIntl();return r.jsx(L,{children:r.jsx(B.IconButton,{ref:t,slot:"close",size:"xs",variant:"ghost","aria-label":s||n.formatMessage(Q.closeTrigger),...o,children:r.jsx(O.Close,{})})})};$.displayName="Drawer.CloseTrigger";const U={Root:m,Trigger:b,Content:j,Header:S,Body:T,Footer:P,Title:R,CloseTrigger:$};exports.Drawer=U;
2
- //# sourceMappingURL=drawer-DzYXHVbg.cjs.js.map
1
+ "use strict";const r=require("react/jsx-runtime"),u=require("react"),x=require("./Dialog-XGXh4NXU.cjs.js"),g=require("@chakra-ui/react/styled-system"),D=require("./index-CRFg4Mhx.cjs.js"),q=require("./Button-CFZnLKVR.cjs.js"),h=require("./extractStyleProps-Dk3fpLyQ.cjs.js"),p=require("./Modal-CVOcKPNx.cjs.js"),N=require("./heading-BTacGwo9.cjs.js"),O=require("@commercetools/nimbus-icons"),y=require("react-intl"),B=require("./icon-button-vWPrT-bR.cjs.js"),{withProvider:I,withContext:a}=g.createSlotRecipeContext({recipe:D.drawerSlotRecipe}),M=I("div","root"),H=a("button","trigger"),F=a("div","modalOverlay"),E=a("div","modal"),V=a("div","content"),k=a("header","header"),z=a("div","body"),A=a("footer","footer"),K=a("h2","title"),L=a("div","closeTrigger"),C=u.createContext(void 0),G=()=>{const e=u.useContext(C);if(!e)throw new Error("useDrawerContext must be used within Drawer.Root");return e},J=({children:e,value:t})=>r.jsx(C,{value:t,children:e}),m=e=>{const t=g.useSlotRecipe({recipe:D.drawerSlotRecipe}),[s]=t.splitVariantProps(e),{children:o,isOpen:n,onOpenChange:i,defaultOpen:f=!1}=e,l=r.jsx(M,{...s,children:o}),w=u.Children.toArray(o).some(c=>{if(u.isValidElement(c)&&typeof c.type=="function"){const d=c.type?.displayName;return d==="DrawerTrigger"||d==="Drawer.Trigger"}return!1});return r.jsx(J,{value:e,children:w?r.jsx(x.$de32f1b87079253c$export$2e1e1122cf0cba88,{isOpen:n,onOpenChange:i,defaultOpen:f,children:l}):l})};m.displayName="Drawer.Root";const b=({ref:e,children:t,asChild:s,...o})=>{if(s)return r.jsx(g.chakra.button,{ref:e,asChild:!0,...o,children:t});const[n,i]=h.extractStyleProps(o);return r.jsx(H,{...n,asChild:!0,children:r.jsx(q.$d2b4bc8c273e7be6$export$353f5b6fc5456de1,{ref:e,...i,children:t})})};b.displayName="Drawer.Trigger";const j=e=>{const{ref:t,children:s,...o}=e,{defaultOpen:n,isDismissable:i,isKeyboardDismissDisabled:f,shouldCloseOnInteractOutside:l,isOpen:w,onOpenChange:c}=G(),d={defaultOpen:n,isDismissable:i,isKeyboardDismissDisabled:f,shouldCloseOnInteractOutside:l,isOpen:w,onOpenChange:c},[v]=h.extractStyleProps(o);return r.jsx(F,{asChild:!0,children:r.jsx(p.$f3f84453ead64de5$export$8948f78d83984c69,{...d,children:r.jsx(E,{asChild:!0,children:r.jsx(p.$f3f84453ead64de5$export$2b77a92f1a5ad772,{children:r.jsx(V,{asChild:!0,...v,children:r.jsx(x.$de32f1b87079253c$export$3ddf2d174ce01153,{ref:t,children:s})})})})})})};j.displayName="Drawer.Content";const S=e=>{const{ref:t,children:s,...o}=e;return r.jsx(k,{ref:t,...o,children:s})};S.displayName="Drawer.Header";const T=e=>{const{ref:t,children:s,...o}=e,n={tabIndex:0};return r.jsx(z,{ref:t,...n,...o,children:s})};T.displayName="Drawer.Body";const P=e=>{const{ref:t,children:s,...o}=e;return r.jsx(A,{ref:t,...o,children:s})};P.displayName="Drawer.Footer";const R=e=>{const{ref:t,children:s,...o}=e;return r.jsx(K,{asChild:!0,...o,children:r.jsx(N.Heading,{ref:t,slot:"title",as:"h2",textStyle:"lg",children:s})})};R.displayName="Drawer.Title";const Q=y.defineMessages({closeTrigger:{id:"Nimbus.Drawer.closeTrigger",description:"aria-label for the default close trigger button",defaultMessage:"Close drawer"}}),$=e=>{const{ref:t,"aria-label":s,...o}=e,n=y.useIntl();return r.jsx(L,{children:r.jsx(B.IconButton,{ref:t,slot:"close",size:"xs",variant:"ghost","aria-label":s||n.formatMessage(Q.closeTrigger),...o,children:r.jsx(O.Close,{})})})};$.displayName="Drawer.CloseTrigger";const U={Root:m,Trigger:b,Content:j,Header:S,Body:T,Footer:P,Title:R,CloseTrigger:$};exports.Drawer=U;
2
+ //# sourceMappingURL=drawer-DzW9wBMk.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-DzYXHVbg.cjs.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","defaultProps","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"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"}
1
+ {"version":3,"file":"drawer-DzW9wBMk.cjs.js","sources":["../../src/components/drawer/drawer.slots.tsx","../../src/components/drawer/components/drawer.context.tsx","../../src/components/drawer/components/drawer.root.tsx","../../src/components/drawer/components/drawer.trigger.tsx","../../src/components/drawer/components/drawer.content.tsx","../../src/components/drawer/components/drawer.header.tsx","../../src/components/drawer/components/drawer.body.tsx","../../src/components/drawer/components/drawer.footer.tsx","../../src/components/drawer/components/drawer.title.tsx","../../src/components/drawer/drawer.i18n.ts","../../src/components/drawer/components/drawer.close-trigger.tsx","../../src/components/drawer/drawer.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { drawerSlotRecipe } from \"./drawer.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: drawerSlotRecipe,\n});\n\n// Root slot - provides recipe context + config to all child components\nexport type DrawerRootSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerRootSlot = withProvider<HTMLDivElement, DrawerRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger slot - button that opens the drawer\nexport type DrawerTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const DrawerTriggerSlot = withContext<\n HTMLButtonElement,\n DrawerTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Backdrop slot - overlay displayed behind the drawer\nexport type DrawerModalOverlaySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalOverlaySlot = withContext<\n HTMLDivElement,\n DrawerModalOverlaySlotProps\n>(\"div\", \"modalOverlay\");\n\n// modal slot - positions the drawer content\nexport type DrawerModalSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerModalSlot = withContext<\n HTMLDivElement,\n DrawerModalSlotProps\n>(\"div\", \"modal\");\n\n// Content slot - main drawer container\nexport type DrawerContentSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerContentSlot = withContext<\n HTMLDivElement,\n DrawerContentSlotProps\n>(\"div\", \"content\");\n\n// Header slot - drawer header section\nexport type DrawerHeaderSlotProps = HTMLChakraProps<\"header\">;\nexport const DrawerHeaderSlot = withContext<HTMLElement, DrawerHeaderSlotProps>(\n \"header\",\n \"header\"\n);\n\n// Body slot - drawer body content\nexport type DrawerBodySlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerBodySlot = withContext<HTMLDivElement, DrawerBodySlotProps>(\n \"div\",\n \"body\"\n);\n\n// Footer slot - drawer footer section with actions\nexport type DrawerFooterSlotProps = HTMLChakraProps<\"footer\">;\nexport const DrawerFooterSlot = withContext<HTMLElement, DrawerFooterSlotProps>(\n \"footer\",\n \"footer\"\n);\n\n// Title slot - accessible drawer title\nexport type DrawerTitleSlotProps = HTMLChakraProps<\"h2\">;\nexport const DrawerTitleSlot = withContext<\n HTMLHeadingElement,\n DrawerTitleSlotProps\n>(\"h2\", \"title\");\n\n// Close trigger slot - div container for positioning close button\nexport type DrawerCloseTriggerSlotProps = HTMLChakraProps<\"div\">;\nexport const DrawerCloseTriggerSlot = withContext<\n HTMLDivElement,\n DrawerCloseTriggerSlotProps\n>(\"div\", \"closeTrigger\");\n","import { createContext, useContext } from \"react\";\nimport type { DrawerRootProps } from \"../drawer.types\";\n\n/**\n * Context value containing drawer configuration passed from Root to child components\n */\nexport type DrawerContextValue = DrawerRootProps;\n\nexport const DrawerContext = createContext<DrawerContextValue | undefined>(\n undefined\n);\n\n/**\n * Hook to access drawer configuration from DrawerContext\n * @returns Drawer configuration from context\n * @throws Error if used outside of Drawer.Root\n */\nexport const useDrawerRootContext = (): DrawerContextValue => {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"useDrawerContext must be used within Drawer.Root\");\n }\n return context;\n};\n\n/**\n * Provider component that passes drawer configuration down to child components\n */\nexport const DrawerProvider = ({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: DrawerContextValue;\n}) => {\n return <DrawerContext value={value}>{children}</DrawerContext>;\n};\n","import React from \"react\";\nimport { DialogTrigger as RaDialogTrigger } from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { DrawerRootSlot } from \"../drawer.slots\";\nimport type { DrawerRootProps } from \"../drawer.types\";\nimport { DrawerProvider } from \"./drawer.context\";\nimport { drawerSlotRecipe } from \"../drawer.recipe\";\n\nexport const DrawerRoot = (props: DrawerRootProps) => {\n const recipe = useSlotRecipe({ recipe: drawerSlotRecipe });\n // Extract recipe props\n const [recipeProps] = recipe.splitVariantProps(props);\n // Extract props that are usable on RaDialogTrigger\n const { children, isOpen, onOpenChange, defaultOpen = false } = props;\n\n const content = <DrawerRootSlot {...recipeProps}>{children}</DrawerRootSlot>;\n\n // Check if any child is a Drawer.Trigger component\n // React Aria's DialogTrigger needs a pressable child, so we only use it when there's a trigger\n const hasDrawerTrigger = React.Children.toArray(children).some((child) => {\n if (React.isValidElement(child) && typeof child.type === \"function\") {\n const displayName = (\n child.type as React.ComponentType & { displayName?: string }\n )?.displayName;\n return (\n displayName === \"DrawerTrigger\" || displayName === \"Drawer.Trigger\"\n );\n }\n return false;\n });\n\n // Share all props (config + variant props) with the Drawer subcomponents\n return (\n <DrawerProvider value={props}>\n {hasDrawerTrigger ? (\n // When there's a Drawer.Trigger, use DialogTrigger for React Aria integration\n <RaDialogTrigger\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n defaultOpen={defaultOpen}\n >\n {content}\n </RaDialogTrigger>\n ) : (\n // When no Drawer.Trigger, skip DialogTrigger to avoid the warning\n content\n )}\n </DrawerProvider>\n );\n};\n\nDrawerRoot.displayName = \"Drawer.Root\";\n","import { Button as RaButton } from \"react-aria-components\";\nimport { DrawerTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerTriggerProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { chakra } from \"@chakra-ui/react/styled-system\";\n\nexport const DrawerTrigger = ({\n ref: forwardedRef,\n children,\n asChild,\n ...props\n}: DrawerTriggerProps) => {\n // If asChild is true, wrap children directly in RaButton with asChild\n if (asChild) {\n return (\n <chakra.button ref={forwardedRef} asChild {...props}>\n {children}\n </chakra.button>\n );\n }\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n // Otherwise, wrap with both DrawerTriggerSlot and RaButton\n // Only pass React Aria compatible props to avoid type conflicts\n return (\n <DrawerTriggerSlot {...styleProps} asChild>\n <RaButton ref={forwardedRef} {...restProps}>\n {children}\n </RaButton>\n </DrawerTriggerSlot>\n );\n};\n\nDrawerTrigger.displayName = \"Drawer.Trigger\";\n","import {\n Modal as RaModal,\n ModalOverlay as RaModalOverlay,\n Dialog as RaDialog,\n} from \"react-aria-components\";\nimport {\n DrawerModalOverlaySlot,\n DrawerModalSlot,\n DrawerContentSlot,\n} from \"../drawer.slots\";\nimport type { DrawerContentProps } from \"../drawer.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { useDrawerRootContext } from \"./drawer.context\";\n\nexport const DrawerContent = (props: DrawerContentProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n // Get recipe configuration from context instead of props\n const {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n } = useDrawerRootContext();\n\n const modalProps = {\n defaultOpen,\n isDismissable,\n isKeyboardDismissDisabled,\n shouldCloseOnInteractOutside,\n isOpen,\n onOpenChange,\n };\n\n const [styleProps] = extractStyleProps(restProps);\n\n return (\n <DrawerModalOverlaySlot asChild>\n <RaModalOverlay {...modalProps}>\n <DrawerModalSlot asChild>\n <RaModal>\n <DrawerContentSlot asChild {...styleProps}>\n <RaDialog ref={forwardedRef}>{children}</RaDialog>\n </DrawerContentSlot>\n </RaModal>\n </DrawerModalSlot>\n </RaModalOverlay>\n </DrawerModalOverlaySlot>\n );\n};\n\nDrawerContent.displayName = \"Drawer.Content\";\n","import { DrawerHeaderSlot } from \"../drawer.slots\";\nimport type { DrawerHeaderProps } from \"../drawer.types\";\n\nexport const DrawerHeader = (props: DrawerHeaderProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerHeaderSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerHeaderSlot>\n );\n};\n\nDrawerHeader.displayName = \"Drawer.Header\";\n","import { DrawerBodySlot } from \"../drawer.slots\";\nimport type { DrawerBodyProps } from \"../drawer.types\";\n\nexport const DrawerBody = (props: DrawerBodyProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n const defaultProps = {\n /**\n * Set tabIndex to 0 to allow the body to receive focus,\n * effectively enabling scrolling via keyboard arrow keys.\n */\n tabIndex: 0,\n };\n\n return (\n <DrawerBodySlot ref={forwardedRef} {...defaultProps} {...restProps}>\n {children}\n </DrawerBodySlot>\n );\n};\n\nDrawerBody.displayName = \"Drawer.Body\";\n","import { DrawerFooterSlot } from \"../drawer.slots\";\nimport type { DrawerFooterProps } from \"../drawer.types\";\n\nexport const DrawerFooter = (props: DrawerFooterProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerFooterSlot ref={forwardedRef} {...restProps}>\n {children}\n </DrawerFooterSlot>\n );\n};\n\nDrawerFooter.displayName = \"Drawer.Footer\";\n","import { DrawerTitleSlot } from \"../drawer.slots\";\nimport type { DrawerTitleProps } from \"../drawer.types\";\nimport { Heading } from \"@/components\";\n\nexport const DrawerTitle = (props: DrawerTitleProps) => {\n const { ref: forwardedRef, children, ...restProps } = props;\n\n return (\n <DrawerTitleSlot asChild {...restProps}>\n <Heading ref={forwardedRef} slot=\"title\" as=\"h2\" textStyle=\"lg\">\n {children}\n </Heading>\n </DrawerTitleSlot>\n );\n};\n\nDrawerTitle.displayName = \"Drawer.Title\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n closeTrigger: {\n id: \"Nimbus.Drawer.closeTrigger\",\n description: \"aria-label for the default close trigger button\",\n defaultMessage: \"Close drawer\",\n },\n});\n","import { Close } from \"@commercetools/nimbus-icons\";\nimport { DrawerCloseTriggerSlot } from \"../drawer.slots\";\nimport type { DrawerCloseTriggerProps } from \"../drawer.types\";\nimport { IconButton } from \"@/components\";\nimport { messages } from \"../drawer.i18n\";\nimport { useIntl } from \"react-intl\";\n\nexport const DrawerCloseTrigger = (props: DrawerCloseTriggerProps) => {\n const { ref: forwardedRef, \"aria-label\": ariaLabel, ...restProps } = props;\n const intl = useIntl();\n\n return (\n <DrawerCloseTriggerSlot>\n <IconButton\n ref={forwardedRef}\n slot=\"close\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={ariaLabel || intl.formatMessage(messages.closeTrigger)}\n {...restProps}\n >\n <Close />\n </IconButton>\n </DrawerCloseTriggerSlot>\n );\n};\n\nDrawerCloseTrigger.displayName = \"Drawer.CloseTrigger\";\n","import { DrawerRoot } from \"./components/drawer.root\";\nimport { DrawerTrigger } from \"./components/drawer.trigger\";\nimport { DrawerContent } from \"./components/drawer.content\";\nimport { DrawerHeader } from \"./components/drawer.header\";\nimport { DrawerBody } from \"./components/drawer.body\";\nimport { DrawerFooter } from \"./components/drawer.footer\";\nimport { DrawerTitle } from \"./components/drawer.title\";\nimport { DrawerCloseTrigger } from \"./components/drawer.close-trigger\";\n\n/**\n * Drawer\n * ============================================================\n * A foundational drawer component for overlays that require user attention.\n * Built for accessibility and WCAG 2.1 AA compliance.\n *\n * Features:\n * - Controlled and uncontrolled modes\n * - Customizable placement, size, and animations\n * - Focus management and keyboard navigation\n * - Click-outside and Escape key dismissal\n * - Portal rendering support\n * - Backdrop overlay with animations\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger>×</Drawer.CloseTrigger>\n * </Drawer.Header>\n * <Drawer.Body>\n * Drawer content goes here\n * </Drawer.Body>\n * <Drawer.Footer>\n * <button>Cancel</button>\n * <button>Save</button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n * @see https://nimbus-documentation.vercel.app/components/feedback/drawer\n */\nexport const Drawer = {\n /**\n * # Drawer.Root\n *\n * The root component that provides context and state management for the drawer.\n * Handles accessibility and keyboard interaction.\n *\n * This component must wrap all drawer parts (Trigger, Content, etc.) and provides\n * the drawer open/close state and variant styling context.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Drawer content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Root: DrawerRoot,\n /**\n * # Drawer.Trigger\n *\n * The trigger element that opens the drawer when activated.\n * Provides accessibility and keyboard support.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>...</Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Trigger: DrawerTrigger,\n /**\n * # Drawer.Content\n *\n * The main drawer content container that handles portalling, backdrop,\n * positioning, and content styling.\n *\n * This component creates the drawer overlay, positions the content, and provides\n * accessibility features like focus management and keyboard dismissal.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content size=\"md\" placement=\"center\">\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * <Drawer.Footer>Actions</Drawer.Footer>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n Content: DrawerContent,\n /**\n * # Drawer.Header\n *\n * The header section of the drawer content.\n * Typically contains the title and close button.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Drawer Title</Drawer.Title>\n * <Drawer.CloseTrigger />\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Header: DrawerHeader,\n /**\n * # Drawer.Body\n *\n * The main body content section of the drawer.\n * Contains the primary drawer content and handles overflow/scrolling.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Body>\n * <Drawer.Footer>...</Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Body: DrawerBody,\n /**\n * # Drawer.Footer\n *\n * The footer section of the drawer, typically containing action buttons.\n * Provides consistent spacing and alignment for drawer actions.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>...</Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * <Drawer.Footer>\n * <Button variant=\"outline\">Cancel</Button>\n * <Button>Confirm</Button>\n * </Drawer.Footer>\n * </Drawer.Content>\n * ```\n */\n Footer: DrawerFooter,\n /**\n * # Drawer.Title\n *\n * The accessible title element for the drawer.\n * Provides proper accessibility and screen reader support.\n *\n * @example\n * ```tsx\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Confirm Action</Drawer.Title>\n * </Drawer.Header>\n * <Drawer.Body>...</Drawer.Body>\n * </Drawer.Content>\n * ```\n */\n Title: DrawerTitle,\n /**\n * # Drawer.CloseTrigger\n *\n * A button that closes the drawer when activated.\n * Displays an IconButton with a close (X) icon by default.\n *\n * The component automatically handles the close behavior,\n * so no additional onPress handler is needed.\n *\n * @example\n * ```tsx\n * <Drawer.Root>\n * <Drawer.Trigger>Open Drawer</Drawer.Trigger>\n * <Drawer.Content>\n * <Drawer.Header>\n * <Drawer.Title>Title</Drawer.Title>\n * <Drawer.CloseTrigger aria-label=\"Close drawer\" />\n * </Drawer.Header>\n * <Drawer.Body>Content</Drawer.Body>\n * </Drawer.Content>\n * </Drawer.Root>\n * ```\n */\n CloseTrigger: DrawerCloseTrigger,\n};\n\n// Internal exports for react-docgen\nexport {\n DrawerRoot as _DrawerRoot,\n DrawerTrigger as _DrawerTrigger,\n DrawerContent as _DrawerContent,\n DrawerHeader as _DrawerHeader,\n DrawerBody as _DrawerBody,\n DrawerFooter as _DrawerFooter,\n DrawerTitle as _DrawerTitle,\n DrawerCloseTrigger as _DrawerCloseTrigger,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","drawerSlotRecipe","DrawerRootSlot","DrawerTriggerSlot","DrawerModalOverlaySlot","DrawerModalSlot","DrawerContentSlot","DrawerHeaderSlot","DrawerBodySlot","DrawerFooterSlot","DrawerTitleSlot","DrawerCloseTriggerSlot","DrawerContext","createContext","useDrawerRootContext","context","useContext","DrawerProvider","children","value","jsx","DrawerRoot","props","recipe","useSlotRecipe","recipeProps","isOpen","onOpenChange","defaultOpen","content","hasDrawerTrigger","React","child","displayName","RaDialogTrigger","DrawerTrigger","forwardedRef","asChild","chakra","styleProps","restProps","extractStyleProps","RaButton","DrawerContent","isDismissable","isKeyboardDismissDisabled","shouldCloseOnInteractOutside","modalProps","RaModalOverlay","RaModal","RaDialog","DrawerHeader","DrawerBody","defaultProps","DrawerFooter","DrawerTitle","Heading","messages","defineMessages","DrawerCloseTrigger","ariaLabel","intl","useIntl","IconButton","Close","Drawer"],"mappings":"2cAMM,CAAE,aAAAA,EAAc,YAAAC,CAAA,EAAgBC,0BAAwB,CAC5D,OAAQC,EAAAA,gBACV,CAAC,EAIYC,EAAiBJ,EAC5B,MACA,MACF,EAIaK,EAAoBJ,EAG/B,SAAU,SAAS,EAIRK,EAAyBL,EAGpC,MAAO,cAAc,EAIVM,EAAkBN,EAG7B,MAAO,OAAO,EAIHO,EAAoBP,EAG/B,MAAO,SAAS,EAILQ,EAAmBR,EAC9B,SACA,QACF,EAIaS,EAAiBT,EAC5B,MACA,MACF,EAIaU,EAAmBV,EAC9B,SACA,QACF,EAIaW,EAAkBX,EAG7B,KAAM,OAAO,EAIFY,EAAyBZ,EAGpC,MAAO,cAAc,ECtEVa,EAAgBC,EAAAA,cAC3B,MACF,EAOaC,EAAuB,IAA0B,CAC5D,MAAMC,EAAUC,EAAAA,WAAWJ,CAAa,EACxC,GAAI,CAACG,EACH,MAAM,IAAI,MAAM,kDAAkD,EAEpE,OAAOA,CACT,EAKaE,EAAiB,CAAC,CAC7B,SAAAC,EACA,MAAAC,CACF,IAISC,EAAAA,IAACR,EAAA,CAAc,MAAAO,EAAe,SAAAD,CAAA,CAAS,EC3BnCG,EAAcC,GAA2B,CACpD,MAAMC,EAASC,EAAAA,cAAc,CAAE,OAAQvB,EAAAA,iBAAkB,EAEnD,CAACwB,CAAW,EAAIF,EAAO,kBAAkBD,CAAK,EAE9C,CAAE,SAAAJ,EAAU,OAAAQ,EAAQ,aAAAC,EAAc,YAAAC,EAAc,IAAUN,EAE1DO,EAAUT,EAAAA,IAAClB,EAAA,CAAgB,GAAGuB,EAAc,SAAAP,EAAS,EAIrDY,EAAmBC,EAAM,SAAS,QAAQb,CAAQ,EAAE,KAAMc,GAAU,CACxE,GAAID,EAAM,eAAeC,CAAK,GAAK,OAAOA,EAAM,MAAS,WAAY,CACnE,MAAMC,EACJD,EAAM,MACL,YACH,OACEC,IAAgB,iBAAmBA,IAAgB,gBAEvD,CACA,MAAO,EACT,CAAC,EAGD,OACEb,EAAAA,IAACH,EAAA,CAAe,MAAOK,EACpB,SAAAQ,EAECV,EAAAA,IAACc,EAAAA,0CAAA,CACC,OAAAR,EACA,aAAAC,EACA,YAAAC,EAEC,SAAAC,CAAA,CAAA,EAIHA,EAEJ,CAEJ,EAEAR,EAAW,YAAc,cC7ClB,MAAMc,EAAgB,CAAC,CAC5B,IAAKC,EACL,SAAAlB,EACA,QAAAmB,EACA,GAAGf,CACL,IAA0B,CAExB,GAAIe,EACF,OACEjB,MAACkB,EAAAA,OAAO,OAAP,CAAc,IAAKF,EAAc,QAAO,GAAE,GAAGd,EAC3C,SAAAJ,CAAA,CACH,EAIJ,KAAM,CAACqB,EAAYC,CAAS,EAAIC,EAAAA,kBAAkBnB,CAAK,EAIvD,OACEF,EAAAA,IAACjB,EAAA,CAAmB,GAAGoC,EAAY,QAAO,GACxC,SAAAnB,EAAAA,IAACsB,EAAAA,0CAAA,CAAS,IAAKN,EAAe,GAAGI,EAC9B,SAAAtB,EACH,EACF,CAEJ,EAEAiB,EAAc,YAAc,iBCpBrB,MAAMQ,EAAiBrB,GAA8B,CAC1D,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAGhD,CACJ,YAAAM,EACA,cAAAgB,EACA,0BAAAC,EACA,6BAAAC,EACA,OAAApB,EACA,aAAAC,CAAA,EACEb,EAAA,EAEEiC,EAAa,CACjB,YAAAnB,EACA,cAAAgB,EACA,0BAAAC,EACA,6BAAAC,EACA,OAAApB,EACA,aAAAC,CAAA,EAGI,CAACY,CAAU,EAAIE,EAAAA,kBAAkBD,CAAS,EAEhD,OACEpB,EAAAA,IAAChB,EAAA,CAAuB,QAAO,GAC7B,SAAAgB,EAAAA,IAAC4B,4CAAA,CAAgB,GAAGD,EAClB,SAAA3B,EAAAA,IAACf,EAAA,CAAgB,QAAO,GACtB,SAAAe,EAAAA,IAAC6B,EAAAA,0CAAA,CACC,SAAA7B,EAAAA,IAACd,EAAA,CAAkB,QAAO,GAAE,GAAGiC,EAC7B,SAAAnB,MAAC8B,EAAAA,0CAAA,CAAS,IAAKd,EAAe,SAAAlB,EAAS,CAAA,CACzC,CAAA,CACF,CAAA,CACF,EACF,EACF,CAEJ,EAEAyB,EAAc,YAAc,iBClDrB,MAAMQ,EAAgB7B,GAA6B,CACxD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEtD,aACGf,EAAA,CAAiB,IAAK6B,EAAe,GAAGI,EACtC,SAAAtB,EACH,CAEJ,EAEAiC,EAAa,YAAc,gBCVpB,MAAMC,EAAc9B,GAA2B,CACpD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEhD+B,EAAe,CAKnB,SAAU,CAAA,EAGZ,OACEjC,EAAAA,IAACZ,GAAe,IAAK4B,EAAe,GAAGiB,EAAe,GAAGb,EACtD,SAAAtB,EACH,CAEJ,EAEAkC,EAAW,YAAc,cClBlB,MAAME,EAAgBhC,GAA6B,CACxD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEtD,aACGb,EAAA,CAAiB,IAAK2B,EAAe,GAAGI,EACtC,SAAAtB,EACH,CAEJ,EAEAoC,EAAa,YAAc,gBCTpB,MAAMC,EAAejC,GAA4B,CACtD,KAAM,CAAE,IAAKc,EAAc,SAAAlB,EAAU,GAAGsB,GAAclB,EAEtD,aACGZ,EAAA,CAAgB,QAAO,GAAE,GAAG8B,EAC3B,SAAApB,EAAAA,IAACoC,UAAA,CAAQ,IAAKpB,EAAc,KAAK,QAAQ,GAAG,KAAK,UAAU,KACxD,SAAAlB,EACH,EACF,CAEJ,EAEAqC,EAAY,YAAc,eCdnB,MAAME,EAAWC,EAAAA,eAAe,CACrC,aAAc,CACZ,GAAI,6BACJ,YAAa,kDACb,eAAgB,cAAA,CAEpB,CAAC,ECDYC,EAAsBrC,GAAmC,CACpE,KAAM,CAAE,IAAKc,EAAc,aAAcwB,EAAW,GAAGpB,GAAclB,EAC/DuC,EAAOC,EAAAA,QAAA,EAEb,aACGnD,EAAA,CACC,SAAAS,EAAAA,IAAC2C,EAAAA,WAAA,CACC,IAAK3B,EACL,KAAK,QACL,KAAK,KACL,QAAQ,QACR,aAAYwB,GAAaC,EAAK,cAAcJ,EAAS,YAAY,EAChE,GAAGjB,EAEJ,eAACwB,EAAAA,MAAA,CAAA,CAAM,CAAA,CAAA,EAEX,CAEJ,EAEAL,EAAmB,YAAc,sBCiB1B,MAAMM,EAAS,CAuBpB,KAAM5C,EAeN,QAASc,EAwBT,QAASQ,EAkBT,OAAQQ,EAkBR,KAAMC,EAmBN,OAAQE,EAiBR,MAAOC,EAwBP,aAAcI,CAChB"}
@@ -1,4 +1,4 @@
1
- import { s } from "./index-DthLdwMN.es.js";
1
+ import { s } from "./index-CtB71yr7.es.js";
2
2
  function a(e) {
3
3
  const r = {}, o = { ...e };
4
4
  return Object.keys(e).forEach((t) => {
@@ -8,4 +8,4 @@ function a(e) {
8
8
  export {
9
9
  a as e
10
10
  };
11
- //# sourceMappingURL=extractStyleProps-CNXOLneR.es.js.map
11
+ //# sourceMappingURL=extractStyleProps-DYXEhLtq.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractStyleProps-CNXOLneR.es.js","sources":["../../src/utils/extractStyleProps.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":";AAOO,SAASA,EACdC,GAC4C;AAC5C,QAAMC,IAAsC,CAAA,GACtCC,IAAa,EAAE,GAAGF,EAAA;AAGxB,gBAAO,KAAKA,CAAK,EAAE,QAAQ,CAACG,MAAQ;AAClC,IACE,OAAO,UAAU,eAAe,KAAKH,GAAOG,CAAG,KAC/CC,EAAO,gBAAgBD,CAAG,MAE1BF,EAAWE,CAAG,IAAIH,EAAMG,CAAc,GACtC,OAAOD,EAAWC,CAAG;AAAA,EAEzB,CAAC,GAEM,CAACF,GAAYC,CAA6B;AACnD;"}
1
+ {"version":3,"file":"extractStyleProps-DYXEhLtq.es.js","sources":["../../src/utils/extractStyleProps.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":";AAOO,SAASA,EACdC,GAC4C;AAC5C,QAAMC,IAAsC,CAAA,GACtCC,IAAa,EAAE,GAAGF,EAAA;AAGxB,gBAAO,KAAKA,CAAK,EAAE,QAAQ,CAACG,MAAQ;AAClC,IACE,OAAO,UAAU,eAAe,KAAKH,GAAOG,CAAG,KAC/CC,EAAO,gBAAgBD,CAAG,MAE1BF,EAAWE,CAAG,IAAIH,EAAMG,CAAc,GACtC,OAAOD,EAAWC,CAAG;AAAA,EAEzB,CAAC,GAEM,CAACF,GAAYC,CAA6B;AACnD;"}
@@ -1,2 +1,2 @@
1
- "use strict";const c=require("./index-Bx9ez6gh.cjs.js");function o(e){const r={},s={...e};return Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)&&c.system.isValidProperty(t)&&(r[t]=e[t],delete s[t])}),[r,s]}exports.extractStyleProps=o;
2
- //# sourceMappingURL=extractStyleProps-G58aSXl8.cjs.js.map
1
+ "use strict";const c=require("./index-CRFg4Mhx.cjs.js");function o(e){const r={},s={...e};return Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)&&c.system.isValidProperty(t)&&(r[t]=e[t],delete s[t])}),[r,s]}exports.extractStyleProps=o;
2
+ //# sourceMappingURL=extractStyleProps-Dk3fpLyQ.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractStyleProps-G58aSXl8.cjs.js","sources":["../../src/utils/extractStyleProps.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":"wDAOO,SAASA,EACdC,EAC4C,CAC5C,MAAMC,EAAsC,CAAA,EACtCC,EAAa,CAAE,GAAGF,CAAA,EAGxB,cAAO,KAAKA,CAAK,EAAE,QAASG,GAAQ,CAEhC,OAAO,UAAU,eAAe,KAAKH,EAAOG,CAAG,GAC/CC,EAAAA,OAAO,gBAAgBD,CAAG,IAE1BF,EAAWE,CAAG,EAAIH,EAAMG,CAAc,EACtC,OAAOD,EAAWC,CAAG,EAEzB,CAAC,EAEM,CAACF,EAAYC,CAA6B,CACnD"}
1
+ {"version":3,"file":"extractStyleProps-Dk3fpLyQ.cjs.js","sources":["../../src/utils/extractStyleProps.ts"],"sourcesContent":["import { system } from \"@/theme\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n system.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n"],"names":["extractStyleProps","props","styleProps","otherProps","key","system"],"mappings":"wDAOO,SAASA,EACdC,EAC4C,CAC5C,MAAMC,EAAsC,CAAA,EACtCC,EAAa,CAAE,GAAGF,CAAA,EAGxB,cAAO,KAAKA,CAAK,EAAE,QAASG,GAAQ,CAEhC,OAAO,UAAU,eAAe,KAAKH,EAAOG,CAAG,GAC/CC,EAAAA,OAAO,gBAAgBD,CAAG,IAE1BF,EAAWE,CAAG,EAAIH,EAAMG,CAAc,EACtC,OAAOD,EAAWC,CAAG,EAEzB,CAAC,EAEM,CAACF,EAAYC,CAA6B,CACnD"}
@@ -1,22 +1,9 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { defineMessages as T, FormattedMessage as a } from "react-intl";
3
- import { createSlotRecipeContext as h } from "@chakra-ui/react/styled-system";
4
- import { defineSlotRecipe as O } from "@chakra-ui/react";
5
- const I = /* @__PURE__ */ O({
6
- className: "nimbus-field-errors",
7
- slots: ["root", "message"],
8
- base: {
9
- root: {
10
- display: "block",
11
- colorPalette: "critical"
12
- },
13
- message: {
14
- color: "colorPalette.11"
15
- }
16
- }
17
- }), { withProvider: A, withContext: R } = /* @__PURE__ */ h({
18
- recipe: I
19
- }), V = /* @__PURE__ */ A("div", "root"), n = /* @__PURE__ */ R("div", "message"), l = /* @__PURE__ */ T({
3
+ import { createSlotRecipeContext as h } from "@chakra-ui/react";
4
+ const { withProvider: O, withContext: I } = /* @__PURE__ */ h({
5
+ key: "fieldErrors"
6
+ }), A = /* @__PURE__ */ O("div", "root"), u = /* @__PURE__ */ I("div", "message"), l = /* @__PURE__ */ T({
20
7
  // Basic validation
21
8
  missingRequiredField: {
22
9
  id: "Nimbus.FieldErrors.missingRequiredField",
@@ -118,9 +105,9 @@ const I = /* @__PURE__ */ O({
118
105
  INVALID_FROM_SERVER: "invalidFromServer",
119
106
  NOT_FOUND: "notFound",
120
107
  BLOCKED: "blocked"
121
- }, _ = (o) => typeof o == "object", f = (o, r) => {
108
+ }, R = (t) => typeof t == "object", N = (t, r) => {
122
109
  if (!r) return null;
123
- switch (o) {
110
+ switch (t) {
124
111
  case e.MISSING:
125
112
  return r.missing || null;
126
113
  case e.INVALID:
@@ -154,8 +141,8 @@ const I = /* @__PURE__ */ O({
154
141
  default:
155
142
  return null;
156
143
  }
157
- }, N = (o) => {
158
- switch (o) {
144
+ }, f = (t) => {
145
+ switch (t) {
159
146
  // Basic validation
160
147
  case e.MISSING:
161
148
  return /* @__PURE__ */ i(a, { ...l.missingRequiredField });
@@ -194,8 +181,8 @@ const I = /* @__PURE__ */ O({
194
181
  default:
195
182
  return null;
196
183
  }
197
- }, s = ({
198
- id: o,
184
+ }, o = ({
185
+ id: t,
199
186
  errors: r,
200
187
  isVisible: g = !0,
201
188
  // Default to true for backwards compatibility, but will be auto-handled in future
@@ -204,28 +191,28 @@ const I = /* @__PURE__ */ O({
204
191
  customMessages: p,
205
192
  ...M
206
193
  }) => {
207
- if (!g || !r || !_(r)) return null;
208
- const u = Object.entries(r).filter(([, t]) => t);
209
- return u.length === 0 ? null : /* @__PURE__ */ i(V, { id: o, role: "alert", ...M, children: u.map(([t, d]) => {
210
- const m = F?.(t, d);
194
+ if (!g || !r || !R(r)) return null;
195
+ const s = Object.entries(r).filter(([, n]) => n);
196
+ return s.length === 0 ? null : /* @__PURE__ */ i(A, { id: t, role: "alert", ...M, children: s.map(([n, d]) => {
197
+ const m = F?.(n, d);
211
198
  if (m)
212
- return /* @__PURE__ */ i(n, { children: m }, t);
213
- const c = b?.(t, d);
199
+ return /* @__PURE__ */ i(u, { children: m }, n);
200
+ const c = b?.(n, d);
214
201
  if (c)
215
- return /* @__PURE__ */ i(n, { children: c }, t);
216
- const v = f(t, p);
202
+ return /* @__PURE__ */ i(u, { children: c }, n);
203
+ const v = N(n, p);
217
204
  if (v)
218
- return /* @__PURE__ */ i(n, { children: v }, t);
219
- const E = N(t);
220
- return E ? /* @__PURE__ */ i(n, { children: E }, t) : null;
205
+ return /* @__PURE__ */ i(u, { children: v }, n);
206
+ const E = f(n);
207
+ return E ? /* @__PURE__ */ i(u, { children: E }, n) : null;
221
208
  }) });
222
209
  };
223
- s.displayName = "FieldErrors";
224
- s.errorTypes = e;
225
- s.getBuiltInMessage = N;
226
- s.getCustomMessage = f;
210
+ o.displayName = "FieldErrors";
211
+ o.errorTypes = e;
212
+ o.getBuiltInMessage = f;
213
+ o.getCustomMessage = N;
227
214
  export {
228
- s as F,
215
+ o as F,
229
216
  e as a
230
217
  };
231
- //# sourceMappingURL=field-errors-n9EuKYPI.es.js.map
218
+ //# sourceMappingURL=field-errors-CHxHaB5C.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-errors-CHxHaB5C.es.js","sources":["../../src/components/field-errors/field-errors.slots.tsx","../../src/components/field-errors/field-errors.i18n.ts","../../src/components/field-errors/field-errors.types.ts","../../src/components/field-errors/field-errors.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n FieldErrorsMessageProps,\n FieldErrorsRootProps,\n} from \"./field-errors.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"fieldErrors\",\n});\n\nexport const FieldErrorsRoot = withProvider<\n HTMLDivElement,\n FieldErrorsRootProps\n>(\"div\", \"root\");\n\nexport const FieldErrorsMessage = withContext<\n HTMLDivElement,\n FieldErrorsMessageProps\n>(\"div\", \"message\");\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n // Basic validation\n missingRequiredField: {\n id: \"Nimbus.FieldErrors.missingRequiredField\",\n description: \"Error message for missing required value\",\n defaultMessage: \"This field is required. Provide a value.\",\n },\n invalidValue: {\n id: \"Nimbus.FieldErrors.invalidValue\",\n description: \"Error message for invalid value or format\",\n defaultMessage: \"The provided value is invalid.\",\n },\n emptyValue: {\n id: \"Nimbus.FieldErrors.emptyValue\",\n description: \"Error message for empty value when content is required\",\n defaultMessage: \"This field cannot be empty.\",\n },\n\n // Length validation\n valueTooShort: {\n id: \"Nimbus.FieldErrors.valueTooShort\",\n description: \"Error message for minimum length validation\",\n defaultMessage: \"This value is too short.\",\n },\n valueTooLong: {\n id: \"Nimbus.FieldErrors.valueTooLong\",\n description: \"Error message for maximum length validation\",\n defaultMessage: \"This value is too long.\",\n },\n\n // Format validation\n invalidFormat: {\n id: \"Nimbus.FieldErrors.invalidFormat\",\n description: \"Error message for format validation\",\n defaultMessage: \"Please enter a valid format.\",\n },\n duplicateValue: {\n id: \"Nimbus.FieldErrors.duplicateValue\",\n description: \"Error message for duplicate value validation\",\n defaultMessage: \"This value is already in use. It must be unique.\",\n },\n\n // Numeric validation\n invalidNegativeNumber: {\n id: \"Nimbus.FieldErrors.invalidNegativeNumber\",\n description: \"Error message when negative number is used\",\n defaultMessage: \"Negative number is not supported.\",\n },\n invalidFractionalNumber: {\n id: \"Nimbus.FieldErrors.invalidFractionalNumber\",\n description: \"Error message when fractional number is used\",\n defaultMessage: \"A whole number is required.\",\n },\n valueBelowMinimum: {\n id: \"Nimbus.FieldErrors.valueBelowMinimum\",\n description: \"Error message for values below minimum threshold\",\n defaultMessage: \"Value must be greater than or equal to the minimum.\",\n },\n valueAboveMaximum: {\n id: \"Nimbus.FieldErrors.valueAboveMaximum\",\n description: \"Error message for values above maximum threshold\",\n defaultMessage: \"Value must be less than or equal to the maximum.\",\n },\n valueOutOfRange: {\n id: \"Nimbus.FieldErrors.valueOutOfRange\",\n description: \"Error message for values outside acceptable range\",\n defaultMessage: \"Value must be within the acceptable range.\",\n },\n\n // Server/async validation\n invalidFromServer: {\n id: \"Nimbus.FieldErrors.invalidFromServer\",\n description: \"Error message for server-side validation errors\",\n defaultMessage: \"Server validation failed. Please check your input.\",\n },\n resourceNotFound: {\n id: \"Nimbus.FieldErrors.resourceNotFound\",\n description: \"Error message when a resource is not found\",\n defaultMessage: \"The requested resource was not found.\",\n },\n valueBlocked: {\n id: \"Nimbus.FieldErrors.valueBlocked\",\n description: \"Error message for blocked or restricted values\",\n defaultMessage: \"This value is not allowed.\",\n },\n});\n","import type { ReactNode } from \"react\";\nimport type { HTMLChakraProps } from \"@chakra-ui/react\";\n\nexport type FieldErrorsMessageProps = HTMLChakraProps<\"div\">;\n\n/**\n * Error object type - compatible with UI-Kit FieldErrors\n * Only entries with truthy values will be rendered as errors\n */\nexport type TFieldErrors = Record<string, boolean>;\n\n/**\n * Function to render custom error messages\n */\nexport type TErrorRenderer = (key: string, error?: boolean) => ReactNode;\n\nexport type FieldErrorsRootProps = HTMLChakraProps<\"div\"> & {\n id?: string;\n role?: string;\n children?: ReactNode;\n};\n\n/**\n * Props for FieldErrors component\n */\nexport type FieldErrorsProps = FieldErrorsRootProps & {\n /**\n * ID of the error field for accessibility\n */\n id?: string;\n\n /**\n * Error object - only truthy values will be rendered\n * Compatible with UI-Kit FieldErrors format\n */\n errors?: TFieldErrors;\n\n /**\n * Whether error messages should be visible\n * @deprecated This prop will be automatically handled by the component\n */\n isVisible?: boolean;\n\n /**\n * Custom error renderer function\n * Return null to fall back to renderDefaultError or built-in errors\n */\n renderError?: TErrorRenderer;\n\n /**\n * Default error renderer function for errors not handled by renderError\n * Return null to fall back to built-in error handling\n */\n renderDefaultError?: TErrorRenderer;\n\n /**\n * Custom error messages to override built-in ones\n */\n customMessages?: {\n // Basic validation\n missing?: ReactNode;\n invalid?: ReactNode;\n empty?: ReactNode;\n\n // Length validation\n min?: ReactNode;\n max?: ReactNode;\n\n // Format validation\n format?: ReactNode;\n duplicate?: ReactNode;\n\n // Numeric validation\n negative?: ReactNode;\n fractions?: ReactNode;\n belowMin?: ReactNode;\n aboveMax?: ReactNode;\n outOfRange?: ReactNode;\n\n // Server/async validation\n invalidFromServer?: ReactNode;\n notFound?: ReactNode;\n blocked?: ReactNode;\n };\n};\n\n/**\n * Built-in error types that FieldErrors can handle automatically\n */\nexport const FieldErrorTypes = {\n // Basic validation\n MISSING: \"missing\",\n INVALID: \"invalid\",\n EMPTY: \"empty\",\n\n // Length validation\n MIN_LENGTH: \"min\",\n MAX_LENGTH: \"max\",\n\n // Format validation\n FORMAT: \"format\",\n DUPLICATE: \"duplicate\",\n\n // Numeric validation\n NEGATIVE: \"negative\",\n FRACTIONS: \"fractions\",\n BELOW_MIN: \"belowMin\",\n ABOVE_MAX: \"aboveMax\",\n OUT_OF_RANGE: \"outOfRange\",\n\n // Server/async validation\n INVALID_FROM_SERVER: \"invalidFromServer\",\n NOT_FOUND: \"notFound\",\n BLOCKED: \"blocked\",\n} as const;\n\nexport type TFieldErrorTypes =\n (typeof FieldErrorTypes)[keyof typeof FieldErrorTypes];\n","import { FormattedMessage } from \"react-intl\";\nimport { FieldErrorsRoot, FieldErrorsMessage } from \"./field-errors.slots\";\nimport { messages } from \"./field-errors.i18n\";\nimport type { FieldErrorsProps } from \"./field-errors.types\";\nimport { FieldErrorTypes } from \"./field-errors.types\";\n\nconst isObject = (obj: unknown): boolean => typeof obj === \"object\";\n\n/**\n * Get custom message for a given error key\n */\nconst getCustomMessage = (\n key: string,\n customMessages?: FieldErrorsProps[\"customMessages\"]\n): React.ReactNode => {\n if (!customMessages) return null;\n\n // Map error keys to custom messages\n switch (key) {\n case FieldErrorTypes.MISSING:\n return customMessages.missing || null;\n case FieldErrorTypes.INVALID:\n return customMessages.invalid || null;\n case FieldErrorTypes.EMPTY:\n return customMessages.empty || null;\n case FieldErrorTypes.MIN_LENGTH:\n return customMessages.min || null;\n case FieldErrorTypes.MAX_LENGTH:\n return customMessages.max || null;\n case FieldErrorTypes.FORMAT:\n return customMessages.format || null;\n case FieldErrorTypes.DUPLICATE:\n return customMessages.duplicate || null;\n case FieldErrorTypes.NEGATIVE:\n return customMessages.negative || null;\n case FieldErrorTypes.FRACTIONS:\n return customMessages.fractions || null;\n case FieldErrorTypes.BELOW_MIN:\n return customMessages.belowMin || null;\n case FieldErrorTypes.ABOVE_MAX:\n return customMessages.aboveMax || null;\n case FieldErrorTypes.OUT_OF_RANGE:\n return customMessages.outOfRange || null;\n case FieldErrorTypes.INVALID_FROM_SERVER:\n return customMessages.invalidFromServer || null;\n case FieldErrorTypes.NOT_FOUND:\n return customMessages.notFound || null;\n case FieldErrorTypes.BLOCKED:\n return customMessages.blocked || null;\n default:\n return null;\n }\n};\n\n/**\n * Get built-in localized message for a given error key\n */\nconst getBuiltInMessage = (key: string): React.ReactNode => {\n switch (key) {\n // Basic validation\n case FieldErrorTypes.MISSING:\n return <FormattedMessage {...messages.missingRequiredField} />;\n case FieldErrorTypes.INVALID:\n return <FormattedMessage {...messages.invalidValue} />;\n case FieldErrorTypes.EMPTY:\n return <FormattedMessage {...messages.emptyValue} />;\n\n // Length validation\n case FieldErrorTypes.MIN_LENGTH:\n return <FormattedMessage {...messages.valueTooShort} />;\n case FieldErrorTypes.MAX_LENGTH:\n return <FormattedMessage {...messages.valueTooLong} />;\n\n // Format validation\n case FieldErrorTypes.FORMAT:\n return <FormattedMessage {...messages.invalidFormat} />;\n case FieldErrorTypes.DUPLICATE:\n return <FormattedMessage {...messages.duplicateValue} />;\n\n // Numeric validation\n case FieldErrorTypes.NEGATIVE:\n return <FormattedMessage {...messages.invalidNegativeNumber} />;\n case FieldErrorTypes.FRACTIONS:\n return <FormattedMessage {...messages.invalidFractionalNumber} />;\n case FieldErrorTypes.BELOW_MIN:\n return <FormattedMessage {...messages.valueBelowMinimum} />;\n case FieldErrorTypes.ABOVE_MAX:\n return <FormattedMessage {...messages.valueAboveMaximum} />;\n case FieldErrorTypes.OUT_OF_RANGE:\n return <FormattedMessage {...messages.valueOutOfRange} />;\n\n // Server/async validation\n case FieldErrorTypes.INVALID_FROM_SERVER:\n return <FormattedMessage {...messages.invalidFromServer} />;\n case FieldErrorTypes.NOT_FOUND:\n return <FormattedMessage {...messages.resourceNotFound} />;\n case FieldErrorTypes.BLOCKED:\n return <FormattedMessage {...messages.valueBlocked} />;\n\n default:\n return null;\n }\n};\n\n/**\n * # FieldErrors\n *\n * Renders error messages based on error object configuration.\n * Provides backwards compatibility with UI-Kit FieldErrors while integrating\n * with Nimbus design system patterns.\n *\n * Supports custom error renderers and localized built-in error messages\n * for common validation scenarios like missing required fields.\n */\nexport const FieldErrors = ({\n id,\n errors,\n isVisible = true, // Default to true for backwards compatibility, but will be auto-handled in future\n renderError,\n renderDefaultError,\n customMessages,\n ...props\n}: FieldErrorsProps) => {\n // Don't render if not visible or no errors\n if (!isVisible) return null;\n if (!errors || !isObject(errors)) return null;\n\n // Filter to only show truthy errors\n const activeErrors = Object.entries(errors).filter(([, error]) => error);\n\n // Don't render if no active errors\n if (activeErrors.length === 0) return null;\n\n return (\n <FieldErrorsRoot id={id} role=\"alert\" {...props}>\n {activeErrors.map(([key, error]) => {\n // Try custom error renderer first\n const customErrorElement = renderError?.(key, error);\n if (customErrorElement) {\n return (\n <FieldErrorsMessage key={key}>\n {customErrorElement}\n </FieldErrorsMessage>\n );\n }\n\n // Try default error renderer second\n const defaultErrorElement = renderDefaultError?.(key, error);\n if (defaultErrorElement) {\n return (\n <FieldErrorsMessage key={key}>\n {defaultErrorElement}\n </FieldErrorsMessage>\n );\n }\n\n // Try custom messages for built-in error types first\n const customMessage = getCustomMessage(key, customMessages);\n if (customMessage) {\n return (\n <FieldErrorsMessage key={key}>{customMessage}</FieldErrorsMessage>\n );\n }\n\n // Fall back to built-in localized messages\n const builtInMessage = getBuiltInMessage(key);\n if (builtInMessage) {\n return (\n <FieldErrorsMessage key={key}>{builtInMessage}</FieldErrorsMessage>\n );\n }\n\n // If no renderer handles it, render nothing\n return null;\n })}\n </FieldErrorsRoot>\n );\n};\n\n// Static properties for backwards compatibility with UI-Kit\nFieldErrors.displayName = \"FieldErrors\";\nFieldErrors.errorTypes = FieldErrorTypes;\n// Static properties for string conversion, mostly for testing\nFieldErrors.getBuiltInMessage = getBuiltInMessage;\nFieldErrors.getCustomMessage = getCustomMessage;\n"],"names":["withProvider","withContext","createSlotRecipeContext","FieldErrorsRoot","FieldErrorsMessage","messages","defineMessages","FieldErrorTypes","isObject","obj","getCustomMessage","key","customMessages","getBuiltInMessage","jsx","FormattedMessage","FieldErrors","id","errors","isVisible","renderError","renderDefaultError","props","activeErrors","error","customErrorElement","defaultErrorElement","customMessage","builtInMessage"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const i=require("react/jsx-runtime"),a=require("react-intl"),p=require("@chakra-ui/react"),{withProvider:h,withContext:O}=p.createSlotRecipeContext({key:"fieldErrors"}),I=h("div","root"),u=O("div","message"),s=a.defineMessages({missingRequiredField:{id:"Nimbus.FieldErrors.missingRequiredField",description:"Error message for missing required value",defaultMessage:"This field is required. Provide a value."},invalidValue:{id:"Nimbus.FieldErrors.invalidValue",description:"Error message for invalid value or format",defaultMessage:"The provided value is invalid."},emptyValue:{id:"Nimbus.FieldErrors.emptyValue",description:"Error message for empty value when content is required",defaultMessage:"This field cannot be empty."},valueTooShort:{id:"Nimbus.FieldErrors.valueTooShort",description:"Error message for minimum length validation",defaultMessage:"This value is too short."},valueTooLong:{id:"Nimbus.FieldErrors.valueTooLong",description:"Error message for maximum length validation",defaultMessage:"This value is too long."},invalidFormat:{id:"Nimbus.FieldErrors.invalidFormat",description:"Error message for format validation",defaultMessage:"Please enter a valid format."},duplicateValue:{id:"Nimbus.FieldErrors.duplicateValue",description:"Error message for duplicate value validation",defaultMessage:"This value is already in use. It must be unique."},invalidNegativeNumber:{id:"Nimbus.FieldErrors.invalidNegativeNumber",description:"Error message when negative number is used",defaultMessage:"Negative number is not supported."},invalidFractionalNumber:{id:"Nimbus.FieldErrors.invalidFractionalNumber",description:"Error message when fractional number is used",defaultMessage:"A whole number is required."},valueBelowMinimum:{id:"Nimbus.FieldErrors.valueBelowMinimum",description:"Error message for values below minimum threshold",defaultMessage:"Value must be greater than or equal to the minimum."},valueAboveMaximum:{id:"Nimbus.FieldErrors.valueAboveMaximum",description:"Error message for values above maximum threshold",defaultMessage:"Value must be less than or equal to the maximum."},valueOutOfRange:{id:"Nimbus.FieldErrors.valueOutOfRange",description:"Error message for values outside acceptable range",defaultMessage:"Value must be within the acceptable range."},invalidFromServer:{id:"Nimbus.FieldErrors.invalidFromServer",description:"Error message for server-side validation errors",defaultMessage:"Server validation failed. Please check your input."},resourceNotFound:{id:"Nimbus.FieldErrors.resourceNotFound",description:"Error message when a resource is not found",defaultMessage:"The requested resource was not found."},valueBlocked:{id:"Nimbus.FieldErrors.valueBlocked",description:"Error message for blocked or restricted values",defaultMessage:"This value is not allowed."}}),e={MISSING:"missing",INVALID:"invalid",EMPTY:"empty",MIN_LENGTH:"min",MAX_LENGTH:"max",FORMAT:"format",DUPLICATE:"duplicate",NEGATIVE:"negative",FRACTIONS:"fractions",BELOW_MIN:"belowMin",ABOVE_MAX:"aboveMax",OUT_OF_RANGE:"outOfRange",INVALID_FROM_SERVER:"invalidFromServer",NOT_FOUND:"notFound",BLOCKED:"blocked"},A=l=>typeof l=="object",g=(l,r)=>{if(!r)return null;switch(l){case e.MISSING:return r.missing||null;case e.INVALID:return r.invalid||null;case e.EMPTY:return r.empty||null;case e.MIN_LENGTH:return r.min||null;case e.MAX_LENGTH:return r.max||null;case e.FORMAT:return r.format||null;case e.DUPLICATE:return r.duplicate||null;case e.NEGATIVE:return r.negative||null;case e.FRACTIONS:return r.fractions||null;case e.BELOW_MIN:return r.belowMin||null;case e.ABOVE_MAX:return r.aboveMax||null;case e.OUT_OF_RANGE:return r.outOfRange||null;case e.INVALID_FROM_SERVER:return r.invalidFromServer||null;case e.NOT_FOUND:return r.notFound||null;case e.BLOCKED:return r.blocked||null;default:return null}},F=l=>{switch(l){case e.MISSING:return i.jsx(a.FormattedMessage,{...s.missingRequiredField});case e.INVALID:return i.jsx(a.FormattedMessage,{...s.invalidValue});case e.EMPTY:return i.jsx(a.FormattedMessage,{...s.emptyValue});case e.MIN_LENGTH:return i.jsx(a.FormattedMessage,{...s.valueTooShort});case e.MAX_LENGTH:return i.jsx(a.FormattedMessage,{...s.valueTooLong});case e.FORMAT:return i.jsx(a.FormattedMessage,{...s.invalidFormat});case e.DUPLICATE:return i.jsx(a.FormattedMessage,{...s.duplicateValue});case e.NEGATIVE:return i.jsx(a.FormattedMessage,{...s.invalidNegativeNumber});case e.FRACTIONS:return i.jsx(a.FormattedMessage,{...s.invalidFractionalNumber});case e.BELOW_MIN:return i.jsx(a.FormattedMessage,{...s.valueBelowMinimum});case e.ABOVE_MAX:return i.jsx(a.FormattedMessage,{...s.valueAboveMaximum});case e.OUT_OF_RANGE:return i.jsx(a.FormattedMessage,{...s.valueOutOfRange});case e.INVALID_FROM_SERVER:return i.jsx(a.FormattedMessage,{...s.invalidFromServer});case e.NOT_FOUND:return i.jsx(a.FormattedMessage,{...s.resourceNotFound});case e.BLOCKED:return i.jsx(a.FormattedMessage,{...s.valueBlocked});default:return null}},n=({id:l,errors:r,isVisible:N=!0,renderError:f,renderDefaultError:M,customMessages:b,...T})=>{if(!N||!r||!A(r))return null;const o=Object.entries(r).filter(([,t])=>t);return o.length===0?null:i.jsx(I,{id:l,role:"alert",...T,children:o.map(([t,d])=>{const m=f?.(t,d);if(m)return i.jsx(u,{children:m},t);const c=M?.(t,d);if(c)return i.jsx(u,{children:c},t);const v=g(t,b);if(v)return i.jsx(u,{children:v},t);const E=F(t);return E?i.jsx(u,{children:E},t):null})})};n.displayName="FieldErrors";n.errorTypes=e;n.getBuiltInMessage=F;n.getCustomMessage=g;exports.FieldErrorTypes=e;exports.FieldErrors=n;
2
+ //# sourceMappingURL=field-errors-D2re_C_c.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-errors-D2re_C_c.cjs.js","sources":["../../src/components/field-errors/field-errors.slots.tsx","../../src/components/field-errors/field-errors.i18n.ts","../../src/components/field-errors/field-errors.types.ts","../../src/components/field-errors/field-errors.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n FieldErrorsMessageProps,\n FieldErrorsRootProps,\n} from \"./field-errors.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"fieldErrors\",\n});\n\nexport const FieldErrorsRoot = withProvider<\n HTMLDivElement,\n FieldErrorsRootProps\n>(\"div\", \"root\");\n\nexport const FieldErrorsMessage = withContext<\n HTMLDivElement,\n FieldErrorsMessageProps\n>(\"div\", \"message\");\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n // Basic validation\n missingRequiredField: {\n id: \"Nimbus.FieldErrors.missingRequiredField\",\n description: \"Error message for missing required value\",\n defaultMessage: \"This field is required. Provide a value.\",\n },\n invalidValue: {\n id: \"Nimbus.FieldErrors.invalidValue\",\n description: \"Error message for invalid value or format\",\n defaultMessage: \"The provided value is invalid.\",\n },\n emptyValue: {\n id: \"Nimbus.FieldErrors.emptyValue\",\n description: \"Error message for empty value when content is required\",\n defaultMessage: \"This field cannot be empty.\",\n },\n\n // Length validation\n valueTooShort: {\n id: \"Nimbus.FieldErrors.valueTooShort\",\n description: \"Error message for minimum length validation\",\n defaultMessage: \"This value is too short.\",\n },\n valueTooLong: {\n id: \"Nimbus.FieldErrors.valueTooLong\",\n description: \"Error message for maximum length validation\",\n defaultMessage: \"This value is too long.\",\n },\n\n // Format validation\n invalidFormat: {\n id: \"Nimbus.FieldErrors.invalidFormat\",\n description: \"Error message for format validation\",\n defaultMessage: \"Please enter a valid format.\",\n },\n duplicateValue: {\n id: \"Nimbus.FieldErrors.duplicateValue\",\n description: \"Error message for duplicate value validation\",\n defaultMessage: \"This value is already in use. It must be unique.\",\n },\n\n // Numeric validation\n invalidNegativeNumber: {\n id: \"Nimbus.FieldErrors.invalidNegativeNumber\",\n description: \"Error message when negative number is used\",\n defaultMessage: \"Negative number is not supported.\",\n },\n invalidFractionalNumber: {\n id: \"Nimbus.FieldErrors.invalidFractionalNumber\",\n description: \"Error message when fractional number is used\",\n defaultMessage: \"A whole number is required.\",\n },\n valueBelowMinimum: {\n id: \"Nimbus.FieldErrors.valueBelowMinimum\",\n description: \"Error message for values below minimum threshold\",\n defaultMessage: \"Value must be greater than or equal to the minimum.\",\n },\n valueAboveMaximum: {\n id: \"Nimbus.FieldErrors.valueAboveMaximum\",\n description: \"Error message for values above maximum threshold\",\n defaultMessage: \"Value must be less than or equal to the maximum.\",\n },\n valueOutOfRange: {\n id: \"Nimbus.FieldErrors.valueOutOfRange\",\n description: \"Error message for values outside acceptable range\",\n defaultMessage: \"Value must be within the acceptable range.\",\n },\n\n // Server/async validation\n invalidFromServer: {\n id: \"Nimbus.FieldErrors.invalidFromServer\",\n description: \"Error message for server-side validation errors\",\n defaultMessage: \"Server validation failed. Please check your input.\",\n },\n resourceNotFound: {\n id: \"Nimbus.FieldErrors.resourceNotFound\",\n description: \"Error message when a resource is not found\",\n defaultMessage: \"The requested resource was not found.\",\n },\n valueBlocked: {\n id: \"Nimbus.FieldErrors.valueBlocked\",\n description: \"Error message for blocked or restricted values\",\n defaultMessage: \"This value is not allowed.\",\n },\n});\n","import type { ReactNode } from \"react\";\nimport type { HTMLChakraProps } from \"@chakra-ui/react\";\n\nexport type FieldErrorsMessageProps = HTMLChakraProps<\"div\">;\n\n/**\n * Error object type - compatible with UI-Kit FieldErrors\n * Only entries with truthy values will be rendered as errors\n */\nexport type TFieldErrors = Record<string, boolean>;\n\n/**\n * Function to render custom error messages\n */\nexport type TErrorRenderer = (key: string, error?: boolean) => ReactNode;\n\nexport type FieldErrorsRootProps = HTMLChakraProps<\"div\"> & {\n id?: string;\n role?: string;\n children?: ReactNode;\n};\n\n/**\n * Props for FieldErrors component\n */\nexport type FieldErrorsProps = FieldErrorsRootProps & {\n /**\n * ID of the error field for accessibility\n */\n id?: string;\n\n /**\n * Error object - only truthy values will be rendered\n * Compatible with UI-Kit FieldErrors format\n */\n errors?: TFieldErrors;\n\n /**\n * Whether error messages should be visible\n * @deprecated This prop will be automatically handled by the component\n */\n isVisible?: boolean;\n\n /**\n * Custom error renderer function\n * Return null to fall back to renderDefaultError or built-in errors\n */\n renderError?: TErrorRenderer;\n\n /**\n * Default error renderer function for errors not handled by renderError\n * Return null to fall back to built-in error handling\n */\n renderDefaultError?: TErrorRenderer;\n\n /**\n * Custom error messages to override built-in ones\n */\n customMessages?: {\n // Basic validation\n missing?: ReactNode;\n invalid?: ReactNode;\n empty?: ReactNode;\n\n // Length validation\n min?: ReactNode;\n max?: ReactNode;\n\n // Format validation\n format?: ReactNode;\n duplicate?: ReactNode;\n\n // Numeric validation\n negative?: ReactNode;\n fractions?: ReactNode;\n belowMin?: ReactNode;\n aboveMax?: ReactNode;\n outOfRange?: ReactNode;\n\n // Server/async validation\n invalidFromServer?: ReactNode;\n notFound?: ReactNode;\n blocked?: ReactNode;\n };\n};\n\n/**\n * Built-in error types that FieldErrors can handle automatically\n */\nexport const FieldErrorTypes = {\n // Basic validation\n MISSING: \"missing\",\n INVALID: \"invalid\",\n EMPTY: \"empty\",\n\n // Length validation\n MIN_LENGTH: \"min\",\n MAX_LENGTH: \"max\",\n\n // Format validation\n FORMAT: \"format\",\n DUPLICATE: \"duplicate\",\n\n // Numeric validation\n NEGATIVE: \"negative\",\n FRACTIONS: \"fractions\",\n BELOW_MIN: \"belowMin\",\n ABOVE_MAX: \"aboveMax\",\n OUT_OF_RANGE: \"outOfRange\",\n\n // Server/async validation\n INVALID_FROM_SERVER: \"invalidFromServer\",\n NOT_FOUND: \"notFound\",\n BLOCKED: \"blocked\",\n} as const;\n\nexport type TFieldErrorTypes =\n (typeof FieldErrorTypes)[keyof typeof FieldErrorTypes];\n","import { FormattedMessage } from \"react-intl\";\nimport { FieldErrorsRoot, FieldErrorsMessage } from \"./field-errors.slots\";\nimport { messages } from \"./field-errors.i18n\";\nimport type { FieldErrorsProps } from \"./field-errors.types\";\nimport { FieldErrorTypes } from \"./field-errors.types\";\n\nconst isObject = (obj: unknown): boolean => typeof obj === \"object\";\n\n/**\n * Get custom message for a given error key\n */\nconst getCustomMessage = (\n key: string,\n customMessages?: FieldErrorsProps[\"customMessages\"]\n): React.ReactNode => {\n if (!customMessages) return null;\n\n // Map error keys to custom messages\n switch (key) {\n case FieldErrorTypes.MISSING:\n return customMessages.missing || null;\n case FieldErrorTypes.INVALID:\n return customMessages.invalid || null;\n case FieldErrorTypes.EMPTY:\n return customMessages.empty || null;\n case FieldErrorTypes.MIN_LENGTH:\n return customMessages.min || null;\n case FieldErrorTypes.MAX_LENGTH:\n return customMessages.max || null;\n case FieldErrorTypes.FORMAT:\n return customMessages.format || null;\n case FieldErrorTypes.DUPLICATE:\n return customMessages.duplicate || null;\n case FieldErrorTypes.NEGATIVE:\n return customMessages.negative || null;\n case FieldErrorTypes.FRACTIONS:\n return customMessages.fractions || null;\n case FieldErrorTypes.BELOW_MIN:\n return customMessages.belowMin || null;\n case FieldErrorTypes.ABOVE_MAX:\n return customMessages.aboveMax || null;\n case FieldErrorTypes.OUT_OF_RANGE:\n return customMessages.outOfRange || null;\n case FieldErrorTypes.INVALID_FROM_SERVER:\n return customMessages.invalidFromServer || null;\n case FieldErrorTypes.NOT_FOUND:\n return customMessages.notFound || null;\n case FieldErrorTypes.BLOCKED:\n return customMessages.blocked || null;\n default:\n return null;\n }\n};\n\n/**\n * Get built-in localized message for a given error key\n */\nconst getBuiltInMessage = (key: string): React.ReactNode => {\n switch (key) {\n // Basic validation\n case FieldErrorTypes.MISSING:\n return <FormattedMessage {...messages.missingRequiredField} />;\n case FieldErrorTypes.INVALID:\n return <FormattedMessage {...messages.invalidValue} />;\n case FieldErrorTypes.EMPTY:\n return <FormattedMessage {...messages.emptyValue} />;\n\n // Length validation\n case FieldErrorTypes.MIN_LENGTH:\n return <FormattedMessage {...messages.valueTooShort} />;\n case FieldErrorTypes.MAX_LENGTH:\n return <FormattedMessage {...messages.valueTooLong} />;\n\n // Format validation\n case FieldErrorTypes.FORMAT:\n return <FormattedMessage {...messages.invalidFormat} />;\n case FieldErrorTypes.DUPLICATE:\n return <FormattedMessage {...messages.duplicateValue} />;\n\n // Numeric validation\n case FieldErrorTypes.NEGATIVE:\n return <FormattedMessage {...messages.invalidNegativeNumber} />;\n case FieldErrorTypes.FRACTIONS:\n return <FormattedMessage {...messages.invalidFractionalNumber} />;\n case FieldErrorTypes.BELOW_MIN:\n return <FormattedMessage {...messages.valueBelowMinimum} />;\n case FieldErrorTypes.ABOVE_MAX:\n return <FormattedMessage {...messages.valueAboveMaximum} />;\n case FieldErrorTypes.OUT_OF_RANGE:\n return <FormattedMessage {...messages.valueOutOfRange} />;\n\n // Server/async validation\n case FieldErrorTypes.INVALID_FROM_SERVER:\n return <FormattedMessage {...messages.invalidFromServer} />;\n case FieldErrorTypes.NOT_FOUND:\n return <FormattedMessage {...messages.resourceNotFound} />;\n case FieldErrorTypes.BLOCKED:\n return <FormattedMessage {...messages.valueBlocked} />;\n\n default:\n return null;\n }\n};\n\n/**\n * # FieldErrors\n *\n * Renders error messages based on error object configuration.\n * Provides backwards compatibility with UI-Kit FieldErrors while integrating\n * with Nimbus design system patterns.\n *\n * Supports custom error renderers and localized built-in error messages\n * for common validation scenarios like missing required fields.\n */\nexport const FieldErrors = ({\n id,\n errors,\n isVisible = true, // Default to true for backwards compatibility, but will be auto-handled in future\n renderError,\n renderDefaultError,\n customMessages,\n ...props\n}: FieldErrorsProps) => {\n // Don't render if not visible or no errors\n if (!isVisible) return null;\n if (!errors || !isObject(errors)) return null;\n\n // Filter to only show truthy errors\n const activeErrors = Object.entries(errors).filter(([, error]) => error);\n\n // Don't render if no active errors\n if (activeErrors.length === 0) return null;\n\n return (\n <FieldErrorsRoot id={id} role=\"alert\" {...props}>\n {activeErrors.map(([key, error]) => {\n // Try custom error renderer first\n const customErrorElement = renderError?.(key, error);\n if (customErrorElement) {\n return (\n <FieldErrorsMessage key={key}>\n {customErrorElement}\n </FieldErrorsMessage>\n );\n }\n\n // Try default error renderer second\n const defaultErrorElement = renderDefaultError?.(key, error);\n if (defaultErrorElement) {\n return (\n <FieldErrorsMessage key={key}>\n {defaultErrorElement}\n </FieldErrorsMessage>\n );\n }\n\n // Try custom messages for built-in error types first\n const customMessage = getCustomMessage(key, customMessages);\n if (customMessage) {\n return (\n <FieldErrorsMessage key={key}>{customMessage}</FieldErrorsMessage>\n );\n }\n\n // Fall back to built-in localized messages\n const builtInMessage = getBuiltInMessage(key);\n if (builtInMessage) {\n return (\n <FieldErrorsMessage key={key}>{builtInMessage}</FieldErrorsMessage>\n );\n }\n\n // If no renderer handles it, render nothing\n return null;\n })}\n </FieldErrorsRoot>\n );\n};\n\n// Static properties for backwards compatibility with UI-Kit\nFieldErrors.displayName = \"FieldErrors\";\nFieldErrors.errorTypes = FieldErrorTypes;\n// Static properties for string conversion, mostly for testing\nFieldErrors.getBuiltInMessage = getBuiltInMessage;\nFieldErrors.getCustomMessage = getCustomMessage;\n"],"names":["withProvider","withContext","createSlotRecipeContext","FieldErrorsRoot","FieldErrorsMessage","messages","defineMessages","FieldErrorTypes","isObject","obj","getCustomMessage","key","customMessages","getBuiltInMessage","jsx","FormattedMessage","FieldErrors","id","errors","isVisible","renderError","renderDefaultError","props","activeErrors","error","customErrorElement","defaultErrorElement","customMessage","builtInMessage"],"mappings":"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"}