@commercetools/nimbus 0.0.0-canary-20251027194157 → 0.0.0-canary-20251028144530

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 (407) hide show
  1. package/dist/chunks/{Button-CqCJF7Kz.es.js → Button-SjGHt140.es.js} +2 -2
  2. package/dist/chunks/{Button-CqCJF7Kz.es.js.map → Button-SjGHt140.es.js.map} +1 -1
  3. package/dist/chunks/{CollectionBuilder-CoZRYV8T.es.js → CollectionBuilder-BhYUxJYI.es.js} +6 -6
  4. package/dist/chunks/{CollectionBuilder-CoZRYV8T.es.js.map → CollectionBuilder-BhYUxJYI.es.js.map} +1 -1
  5. package/dist/chunks/{DateField-ChNVEFNs.es.js → DateField-DMjgxual.es.js} +5 -5
  6. package/dist/chunks/{DateField-ChNVEFNs.es.js.map → DateField-DMjgxual.es.js.map} +1 -1
  7. package/dist/chunks/{DatePicker-uW8Z5fWm.es.js → DatePicker-Cvad8nra.es.js} +7 -7
  8. package/dist/chunks/{DatePicker-uW8Z5fWm.es.js.map → DatePicker-Cvad8nra.es.js.map} +1 -1
  9. package/dist/chunks/{DatePicker-Codg0QnC.cjs.js → DatePicker-DGLrUdLu.cjs.js} +2 -2
  10. package/dist/chunks/{DatePicker-Codg0QnC.cjs.js.map → DatePicker-DGLrUdLu.cjs.js.map} +1 -1
  11. package/dist/chunks/{Dialog-DyQtQIZJ.es.js → Dialog-BUtdEtlF.es.js} +11 -11
  12. package/dist/chunks/{Dialog-DyQtQIZJ.es.js.map → Dialog-BUtdEtlF.es.js.map} +1 -1
  13. package/dist/chunks/{Dialog-DINBl88u.cjs.js → Dialog-Ye_7tQZU.cjs.js} +2 -2
  14. package/dist/chunks/{Dialog-DINBl88u.cjs.js.map → Dialog-Ye_7tQZU.cjs.js.map} +1 -1
  15. package/dist/chunks/Header-Bvl-gjeR.cjs.js +2 -0
  16. package/dist/chunks/Header-Bvl-gjeR.cjs.js.map +1 -0
  17. package/dist/chunks/Header-CpF5ynyj.es.js +213 -0
  18. package/dist/chunks/Header-CpF5ynyj.es.js.map +1 -0
  19. package/dist/chunks/{Heading-C5BLc9Ds.es.js → Heading-DXod1zoy.es.js} +7 -7
  20. package/dist/chunks/{Heading-C5BLc9Ds.es.js.map → Heading-DXod1zoy.es.js.map} +1 -1
  21. package/dist/chunks/ListBox-CdtzuZzA.es.js +561 -0
  22. package/dist/chunks/ListBox-CdtzuZzA.es.js.map +1 -0
  23. package/dist/chunks/ListBox-Dcnj8pHo.cjs.js +2 -0
  24. package/dist/chunks/ListBox-Dcnj8pHo.cjs.js.map +1 -0
  25. package/dist/chunks/{Modal-DDTTtqGV.es.js → Modal-BgIeZMyG.es.js} +4 -4
  26. package/dist/chunks/{Modal-DDTTtqGV.es.js.map → Modal-BgIeZMyG.es.js.map} +1 -1
  27. package/dist/chunks/{Modal-C9uSJ3BN.cjs.js → Modal-DjOIA2BE.cjs.js} +2 -2
  28. package/dist/chunks/{Modal-C9uSJ3BN.cjs.js.map → Modal-DjOIA2BE.cjs.js.map} +1 -1
  29. package/dist/chunks/{RSPContexts-DV4cFLUV.es.js → RSPContexts-DLgb84PF.es.js} +3 -3
  30. package/dist/chunks/{RSPContexts-DV4cFLUV.es.js.map → RSPContexts-DLgb84PF.es.js.map} +1 -1
  31. package/dist/chunks/{SelectionManager-Bo1rTzWU.es.js → SelectionManager-S9Amkvfg.es.js} +9 -9
  32. package/dist/chunks/{SelectionManager-Bo1rTzWU.es.js.map → SelectionManager-S9Amkvfg.es.js.map} +1 -1
  33. package/dist/chunks/{Separator-OdAUxccH.es.js → Separator-kuF-Wo1o.es.js} +2 -2
  34. package/dist/chunks/{Separator-OdAUxccH.es.js.map → Separator-kuF-Wo1o.es.js.map} +1 -1
  35. package/dist/chunks/{ToggleButton-BlpcYfFt.es.js → ToggleButton-BIiBT_jL.es.js} +2 -2
  36. package/dist/chunks/{ToggleButton-BlpcYfFt.es.js.map → ToggleButton-BIiBT_jL.es.js.map} +1 -1
  37. package/dist/chunks/{accordion-B9pzlIJn.cjs.js → accordion-BqNWELBY.cjs.js} +2 -2
  38. package/dist/chunks/{accordion-B9pzlIJn.cjs.js.map → accordion-BqNWELBY.cjs.js.map} +1 -1
  39. package/dist/chunks/{accordion-BazoFx8H.es.js → accordion-ilrNSEj0.es.js} +3 -3
  40. package/dist/chunks/{accordion-BazoFx8H.es.js.map → accordion-ilrNSEj0.es.js.map} +1 -1
  41. package/dist/chunks/{alert-BYw_3VgA.cjs.js → alert-BVC4J_cp.cjs.js} +2 -2
  42. package/dist/chunks/{alert-BYw_3VgA.cjs.js.map → alert-BVC4J_cp.cjs.js.map} +1 -1
  43. package/dist/chunks/{alert-DafE92Ep.es.js → alert-Dmucg4lE.es.js} +2 -2
  44. package/dist/chunks/{alert-DafE92Ep.es.js.map → alert-Dmucg4lE.es.js.map} +1 -1
  45. package/dist/chunks/{button-rMTplznF.es.js → button-BYK9-Rwz.es.js} +4 -4
  46. package/dist/chunks/{button-rMTplznF.es.js.map → button-BYK9-Rwz.es.js.map} +1 -1
  47. package/dist/chunks/{button-DEenpJMD.cjs.js → button-Cj_eyghC.cjs.js} +2 -2
  48. package/dist/chunks/{button-DEenpJMD.cjs.js.map → button-Cj_eyghC.cjs.js.map} +1 -1
  49. package/dist/chunks/{calendar-Kd_2ZJIo.cjs.js → calendar-BL54SDy8.cjs.js} +2 -2
  50. package/dist/chunks/{calendar-Kd_2ZJIo.cjs.js.map → calendar-BL54SDy8.cjs.js.map} +1 -1
  51. package/dist/chunks/{calendar-B_6JEmid.es.js → calendar-DT6_tMD-.es.js} +7 -7
  52. package/dist/chunks/{calendar-B_6JEmid.es.js.map → calendar-DT6_tMD-.es.js.map} +1 -1
  53. package/dist/chunks/{checkbox-CBESN7DZ.cjs.js → checkbox-BDfVoBuz.cjs.js} +2 -2
  54. package/dist/chunks/{checkbox-CBESN7DZ.cjs.js.map → checkbox-BDfVoBuz.cjs.js.map} +1 -1
  55. package/dist/chunks/{checkbox-BAfhgr2Q.es.js → checkbox-CJKCPfWz.es.js} +5 -5
  56. package/dist/chunks/{checkbox-BAfhgr2Q.es.js.map → checkbox-CJKCPfWz.es.js.map} +1 -1
  57. package/dist/chunks/{collapsible-motion-BAHapRD_.es.js → collapsible-motion-Dc7ZucfX.es.js} +3 -3
  58. package/dist/chunks/{collapsible-motion-BAHapRD_.es.js.map → collapsible-motion-Dc7ZucfX.es.js.map} +1 -1
  59. package/dist/chunks/{collapsible-motion-D0FWLqB-.cjs.js → collapsible-motion-Dya8mTU-.cjs.js} +2 -2
  60. package/dist/chunks/{collapsible-motion-D0FWLqB-.cjs.js.map → collapsible-motion-Dya8mTU-.cjs.js.map} +1 -1
  61. package/dist/chunks/combobox-DEmq10im.cjs.js +2 -0
  62. package/dist/chunks/{combobox-CJEs8K1H.cjs.js.map → combobox-DEmq10im.cjs.js.map} +1 -1
  63. package/dist/chunks/{combobox-Dcaw-Scl.es.js → combobox-W96Q_8E9.es.js} +68 -69
  64. package/dist/chunks/{combobox-Dcaw-Scl.es.js.map → combobox-W96Q_8E9.es.js.map} +1 -1
  65. package/dist/chunks/data-table-C0o2YmP-.es.js +4176 -0
  66. package/dist/chunks/data-table-C0o2YmP-.es.js.map +1 -0
  67. package/dist/chunks/data-table-QsvOmVpq.cjs.js +2 -0
  68. package/dist/chunks/data-table-QsvOmVpq.cjs.js.map +1 -0
  69. package/dist/chunks/{date-input-CbJeRnmd.cjs.js → date-input-eUqjf2SB.cjs.js} +2 -2
  70. package/dist/chunks/{date-input-CbJeRnmd.cjs.js.map → date-input-eUqjf2SB.cjs.js.map} +1 -1
  71. package/dist/chunks/{date-input-Edn9vWV1.es.js → date-input-rDtJKsDi.es.js} +4 -4
  72. package/dist/chunks/{date-input-Edn9vWV1.es.js.map → date-input-rDtJKsDi.es.js.map} +1 -1
  73. package/dist/chunks/{date-picker-Bedy6752.cjs.js → date-picker-C8QkSpxY.cjs.js} +2 -2
  74. package/dist/chunks/{date-picker-Bedy6752.cjs.js.map → date-picker-C8QkSpxY.cjs.js.map} +1 -1
  75. package/dist/chunks/{date-picker-DvI-NGBn.es.js → date-picker-CdMuNpv1.es.js} +11 -11
  76. package/dist/chunks/{date-picker-DvI-NGBn.es.js.map → date-picker-CdMuNpv1.es.js.map} +1 -1
  77. package/dist/chunks/{date-range-picker-BoYoffUD.es.js → date-range-picker-CkgPLacd.es.js} +11 -11
  78. package/dist/chunks/{date-range-picker-BoYoffUD.es.js.map → date-range-picker-CkgPLacd.es.js.map} +1 -1
  79. package/dist/chunks/{date-range-picker-odYIm4fD.cjs.js → date-range-picker-VBn7qOOc.cjs.js} +2 -2
  80. package/dist/chunks/{date-range-picker-odYIm4fD.cjs.js.map → date-range-picker-VBn7qOOc.cjs.js.map} +1 -1
  81. package/dist/chunks/{date-range-picker.field-DTWGHjdx.cjs.js → date-range-picker.field-CmPn5erM.cjs.js} +2 -2
  82. package/dist/chunks/{date-range-picker.field-DTWGHjdx.cjs.js.map → date-range-picker.field-CmPn5erM.cjs.js.map} +1 -1
  83. package/dist/chunks/{date-range-picker.field-CzsXm49P.es.js → date-range-picker.field-DvXce6WS.es.js} +3 -3
  84. package/dist/chunks/{date-range-picker.field-CzsXm49P.es.js.map → date-range-picker.field-DvXce6WS.es.js.map} +1 -1
  85. package/dist/chunks/{dialog-CMGeFzws.cjs.js → dialog-BoNKL-1x.cjs.js} +2 -2
  86. package/dist/chunks/{dialog-CMGeFzws.cjs.js.map → dialog-BoNKL-1x.cjs.js.map} +1 -1
  87. package/dist/chunks/{dialog-DuiXnZGx.es.js → dialog-CRw9DGjr.es.js} +2 -2
  88. package/dist/chunks/{dialog-DuiXnZGx.es.js.map → dialog-CRw9DGjr.es.js.map} +1 -1
  89. package/dist/chunks/{dialog.close-trigger-BNvTsWOn.es.js → dialog.close-trigger-CoQbSso6.es.js} +7 -7
  90. package/dist/chunks/{dialog.close-trigger-BNvTsWOn.es.js.map → dialog.close-trigger-CoQbSso6.es.js.map} +1 -1
  91. package/dist/chunks/{dialog.close-trigger-Crx_OdhW.cjs.js → dialog.close-trigger-Dod_8RNP.cjs.js} +2 -2
  92. package/dist/chunks/{dialog.close-trigger-Crx_OdhW.cjs.js.map → dialog.close-trigger-Dod_8RNP.cjs.js.map} +1 -1
  93. package/dist/chunks/{draggable-list-BB8IGQJ6.es.js → draggable-list-BpEm-5VK.es.js} +332 -318
  94. package/dist/chunks/draggable-list-BpEm-5VK.es.js.map +1 -0
  95. package/dist/chunks/{draggable-list-DR2KKaO_.cjs.js → draggable-list-CQ3bJuDZ.cjs.js} +3 -3
  96. package/dist/chunks/draggable-list-CQ3bJuDZ.cjs.js.map +1 -0
  97. package/dist/chunks/{drawer-DUVlTd1F.cjs.js → drawer-Cm0Oi80c.cjs.js} +2 -2
  98. package/dist/chunks/{drawer-DUVlTd1F.cjs.js.map → drawer-Cm0Oi80c.cjs.js.map} +1 -1
  99. package/dist/chunks/{drawer-hKr6SpSe.es.js → drawer-CqM2ImTR.es.js} +8 -8
  100. package/dist/chunks/{drawer-hKr6SpSe.es.js.map → drawer-CqM2ImTR.es.js.map} +1 -1
  101. package/dist/chunks/{extract-style-props-Cw0ebuoO.es.js → extract-style-props-2276ZL5_.es.js} +2 -2
  102. package/dist/chunks/{extract-style-props-Cw0ebuoO.es.js.map → extract-style-props-2276ZL5_.es.js.map} +1 -1
  103. package/dist/chunks/{extract-style-props-CBaCGha4.cjs.js → extract-style-props-CVeaQf1Q.cjs.js} +2 -2
  104. package/dist/chunks/{extract-style-props-CBaCGha4.cjs.js.map → extract-style-props-CVeaQf1Q.cjs.js.map} +1 -1
  105. package/dist/chunks/{form-field-Dn5VxoQ2.cjs.js → form-field-COgsGNq8.cjs.js} +2 -2
  106. package/dist/chunks/{form-field-Dn5VxoQ2.cjs.js.map → form-field-COgsGNq8.cjs.js.map} +1 -1
  107. package/dist/chunks/{form-field-DBi9CFok.es.js → form-field-LjiGmS5D.es.js} +3 -3
  108. package/dist/chunks/{form-field-DBi9CFok.es.js.map → form-field-LjiGmS5D.es.js.map} +1 -1
  109. package/dist/chunks/{getScrollParent-BsNSsJla.es.js → getScrollParent-g7luwBTz.es.js} +2 -2
  110. package/dist/chunks/{getScrollParent-BsNSsJla.es.js.map → getScrollParent-g7luwBTz.es.js.map} +1 -1
  111. package/dist/chunks/{heading-Ck9HCM5P.es.js → heading-BfaL2s7d.es.js} +2 -2
  112. package/dist/chunks/{heading-Ck9HCM5P.es.js.map → heading-BfaL2s7d.es.js.map} +1 -1
  113. package/dist/chunks/{icon-button-Bvr0zLGt.es.js → icon-button-CKpO4Zvy.es.js} +2 -2
  114. package/dist/chunks/{icon-button-Bvr0zLGt.es.js.map → icon-button-CKpO4Zvy.es.js.map} +1 -1
  115. package/dist/chunks/{icon-button-DJZJwO7E.cjs.js → icon-button-Dpm72ZM3.cjs.js} +2 -2
  116. package/dist/chunks/{icon-button-DJZJwO7E.cjs.js.map → icon-button-Dpm72ZM3.cjs.js.map} +1 -1
  117. package/dist/chunks/{icon-toggle-button-CUmglgfA.cjs.js → icon-toggle-button-H8bRL_oR.cjs.js} +2 -2
  118. package/dist/chunks/{icon-toggle-button-CUmglgfA.cjs.js.map → icon-toggle-button-H8bRL_oR.cjs.js.map} +1 -1
  119. package/dist/chunks/{icon-toggle-button-BlY5NEmP.es.js → icon-toggle-button-kGtDXkhR.es.js} +2 -2
  120. package/dist/chunks/{icon-toggle-button-BlY5NEmP.es.js.map → icon-toggle-button-kGtDXkhR.es.js.map} +1 -1
  121. package/dist/chunks/{index-CFfbr5i_.cjs.js → index-D6Ew5ZKz.cjs.js} +2 -2
  122. package/dist/chunks/index-D6Ew5ZKz.cjs.js.map +1 -0
  123. package/dist/chunks/{index-BGkAxVw_.es.js → index-pVzMA0Um.es.js} +9 -8
  124. package/dist/chunks/index-pVzMA0Um.es.js.map +1 -0
  125. package/dist/chunks/{link-CU-7XY0h.es.js → link-CPnL46cY.es.js} +3 -3
  126. package/dist/chunks/{link-CU-7XY0h.es.js.map → link-CPnL46cY.es.js.map} +1 -1
  127. package/dist/chunks/{localized-field-Cfr2yWfg.cjs.js → localized-field-CJWQo0v3.cjs.js} +2 -2
  128. package/dist/chunks/{localized-field-Cfr2yWfg.cjs.js.map → localized-field-CJWQo0v3.cjs.js.map} +1 -1
  129. package/dist/chunks/{localized-field-CmbkpZ4q.es.js → localized-field-DMdo6UAF.es.js} +11 -11
  130. package/dist/chunks/{localized-field-CmbkpZ4q.es.js.map → localized-field-DMdo6UAF.es.js.map} +1 -1
  131. package/dist/chunks/{menu-DG4V0LSQ.es.js → menu-B2ieY7_x.es.js} +6 -6
  132. package/dist/chunks/{menu-DG4V0LSQ.es.js.map → menu-B2ieY7_x.es.js.map} +1 -1
  133. package/dist/chunks/{menu-KGSl9Em7.cjs.js → menu-Dbas4peS.cjs.js} +2 -2
  134. package/dist/chunks/{menu-KGSl9Em7.cjs.js.map → menu-Dbas4peS.cjs.js.map} +1 -1
  135. package/dist/chunks/{money-input-Dci2k5rg.es.js → money-input-9zGv--NB.es.js} +5 -5
  136. package/dist/chunks/{money-input-Dci2k5rg.es.js.map → money-input-9zGv--NB.es.js.map} +1 -1
  137. package/dist/chunks/{money-input-CGMeW-uD.cjs.js → money-input-CCi55rzS.cjs.js} +2 -2
  138. package/dist/chunks/{money-input-CGMeW-uD.cjs.js.map → money-input-CCi55rzS.cjs.js.map} +1 -1
  139. package/dist/chunks/{multiline-text-input-IMPfRfkg.cjs.js → multiline-text-input-DfRYgHd0.cjs.js} +2 -2
  140. package/dist/chunks/{multiline-text-input-IMPfRfkg.cjs.js.map → multiline-text-input-DfRYgHd0.cjs.js.map} +1 -1
  141. package/dist/chunks/{multiline-text-input-DvnSJca6.es.js → multiline-text-input-DkNjJitJ.es.js} +3 -3
  142. package/dist/chunks/{multiline-text-input-DvnSJca6.es.js.map → multiline-text-input-DkNjJitJ.es.js.map} +1 -1
  143. package/dist/chunks/{nimbus-provider-DyYGXHWz.cjs.js → nimbus-provider-D-eC1r_o.cjs.js} +2 -2
  144. package/dist/chunks/{nimbus-provider-DyYGXHWz.cjs.js.map → nimbus-provider-D-eC1r_o.cjs.js.map} +1 -1
  145. package/dist/chunks/{nimbus-provider-CymDVsXZ.es.js → nimbus-provider-Jk7GPBIO.es.js} +9 -9
  146. package/dist/chunks/{nimbus-provider-CymDVsXZ.es.js.map → nimbus-provider-Jk7GPBIO.es.js.map} +1 -1
  147. package/dist/chunks/{number-input-CoVt943T.es.js → number-input-BNhAEH40.es.js} +4 -4
  148. package/dist/chunks/{number-input-CoVt943T.es.js.map → number-input-BNhAEH40.es.js.map} +1 -1
  149. package/dist/chunks/{number-input-D5uge6-t.cjs.js → number-input-BoKK83TD.cjs.js} +2 -2
  150. package/dist/chunks/{number-input-D5uge6-t.cjs.js.map → number-input-BoKK83TD.cjs.js.map} +1 -1
  151. package/dist/chunks/{openLink-D7--QlSJ.es.js → openLink-BNz58j4a.es.js} +7 -7
  152. package/dist/chunks/{openLink-D7--QlSJ.es.js.map → openLink-BNz58j4a.es.js.map} +1 -1
  153. package/dist/chunks/{pagination-C4_2Ov7h.es.js → pagination-Bu8aiNt7.es.js} +4 -4
  154. package/dist/chunks/{pagination-C4_2Ov7h.es.js.map → pagination-Bu8aiNt7.es.js.map} +1 -1
  155. package/dist/chunks/{pagination-Dbf6i8je.cjs.js → pagination-C4k5hXOQ.cjs.js} +2 -2
  156. package/dist/chunks/{pagination-Dbf6i8je.cjs.js.map → pagination-C4k5hXOQ.cjs.js.map} +1 -1
  157. package/dist/chunks/{password-input-D-WKBfJ_.es.js → password-input-BdB9kh4U.es.js} +3 -3
  158. package/dist/chunks/{password-input-D-WKBfJ_.es.js.map → password-input-BdB9kh4U.es.js.map} +1 -1
  159. package/dist/chunks/{password-input-DApa74CT.cjs.js → password-input-D_ODC7ip.cjs.js} +2 -2
  160. package/dist/chunks/{password-input-DApa74CT.cjs.js.map → password-input-D_ODC7ip.cjs.js.map} +1 -1
  161. package/dist/chunks/{popover-B5j28gJx.es.js → popover-CaE5pDl9.es.js} +2 -2
  162. package/dist/chunks/{popover-B5j28gJx.es.js.map → popover-CaE5pDl9.es.js.map} +1 -1
  163. package/dist/chunks/{popover-D0TkE271.cjs.js → popover-DY7ASSCU.cjs.js} +2 -2
  164. package/dist/chunks/{popover-D0TkE271.cjs.js.map → popover-DY7ASSCU.cjs.js.map} +1 -1
  165. package/dist/chunks/{progress-bar-DrK5bppD.es.js → progress-bar-CQnGy5PM.es.js} +2 -2
  166. package/dist/chunks/{progress-bar-DrK5bppD.es.js.map → progress-bar-CQnGy5PM.es.js.map} +1 -1
  167. package/dist/chunks/{progress-bar-CJqyWOZe.cjs.js → progress-bar-CWyotAqI.cjs.js} +2 -2
  168. package/dist/chunks/{progress-bar-CJqyWOZe.cjs.js.map → progress-bar-CWyotAqI.cjs.js.map} +1 -1
  169. package/dist/chunks/{radio-input-BL1YItkC.es.js → radio-input-D4YXlpKz.es.js} +4 -4
  170. package/dist/chunks/{radio-input-BL1YItkC.es.js.map → radio-input-D4YXlpKz.es.js.map} +1 -1
  171. package/dist/chunks/{radio-input-1myCCuNN.cjs.js → radio-input-DJ6k3jMD.cjs.js} +2 -2
  172. package/dist/chunks/{radio-input-1myCCuNN.cjs.js.map → radio-input-DJ6k3jMD.cjs.js.map} +1 -1
  173. package/dist/chunks/{range-calendar-M5itlXS-.cjs.js → range-calendar-Cp2cmyqz.cjs.js} +2 -2
  174. package/dist/chunks/{range-calendar-M5itlXS-.cjs.js.map → range-calendar-Cp2cmyqz.cjs.js.map} +1 -1
  175. package/dist/chunks/{range-calendar-C_2BhVos.es.js → range-calendar-DvTiSgL_.es.js} +7 -7
  176. package/dist/chunks/{range-calendar-C_2BhVos.es.js.map → range-calendar-DvTiSgL_.es.js.map} +1 -1
  177. package/dist/chunks/{rich-text-input-BH9R2Ndd.es.js → rich-text-input-BCzPUqty.es.js} +9 -9
  178. package/dist/chunks/{rich-text-input-BH9R2Ndd.es.js.map → rich-text-input-BCzPUqty.es.js.map} +1 -1
  179. package/dist/chunks/{rich-text-input-rd0Z_BZN.cjs.js → rich-text-input-DvVo_Eg2.cjs.js} +2 -2
  180. package/dist/chunks/{rich-text-input-rd0Z_BZN.cjs.js.map → rich-text-input-DvVo_Eg2.cjs.js.map} +1 -1
  181. package/dist/chunks/{scoped-search-input-DNmFeyN7.cjs.js → scoped-search-input-BT8q8wWG.cjs.js} +2 -2
  182. package/dist/chunks/{scoped-search-input-DNmFeyN7.cjs.js.map → scoped-search-input-BT8q8wWG.cjs.js.map} +1 -1
  183. package/dist/chunks/{scoped-search-input-DZYDPxMi.es.js → scoped-search-input-DRTNuQbE.es.js} +5 -5
  184. package/dist/chunks/{scoped-search-input-DZYDPxMi.es.js.map → scoped-search-input-DRTNuQbE.es.js.map} +1 -1
  185. package/dist/chunks/{scrollIntoView-DniANfOx.es.js → scrollIntoView-CRn_Y0bq.es.js} +4 -4
  186. package/dist/chunks/{scrollIntoView-DniANfOx.es.js.map → scrollIntoView-CRn_Y0bq.es.js.map} +1 -1
  187. package/dist/chunks/{search-input-CbKf6uv-.es.js → search-input-9M9ZUejR.es.js} +6 -6
  188. package/dist/chunks/{search-input-CbKf6uv-.es.js.map → search-input-9M9ZUejR.es.js.map} +1 -1
  189. package/dist/chunks/{search-input-Cuqj5Ozc.cjs.js → search-input-Bd0ztwi6.cjs.js} +2 -2
  190. package/dist/chunks/{search-input-Cuqj5Ozc.cjs.js.map → search-input-Bd0ztwi6.cjs.js.map} +1 -1
  191. package/dist/chunks/select-5S6KoqpX.cjs.js +2 -0
  192. package/dist/chunks/{select-CWaI47Kc.cjs.js.map → select-5S6KoqpX.cjs.js.map} +1 -1
  193. package/dist/chunks/{select-C2lIA5hg.es.js → select-CU9scStC.es.js} +66 -67
  194. package/dist/chunks/{select-C2lIA5hg.es.js.map → select-CU9scStC.es.js.map} +1 -1
  195. package/dist/chunks/{separator-DVnpuMAc.es.js → separator-BwUlkA4z.es.js} +4 -4
  196. package/dist/chunks/{separator-DVnpuMAc.es.js.map → separator-BwUlkA4z.es.js.map} +1 -1
  197. package/dist/chunks/{separator-D75V0Oga.cjs.js → separator-DUW3AXC1.cjs.js} +2 -2
  198. package/dist/chunks/{separator-D75V0Oga.cjs.js.map → separator-DUW3AXC1.cjs.js.map} +1 -1
  199. package/dist/chunks/{split-button-C1PFrcU6.es.js → split-button-BF2i1oac.es.js} +4 -4
  200. package/dist/chunks/{split-button-C1PFrcU6.es.js.map → split-button-BF2i1oac.es.js.map} +1 -1
  201. package/dist/chunks/{split-button-DhxZShYM.cjs.js → split-button-D1SBEue5.cjs.js} +2 -2
  202. package/dist/chunks/{split-button-DhxZShYM.cjs.js.map → split-button-D1SBEue5.cjs.js.map} +1 -1
  203. package/dist/chunks/{switch-2AsRNDVU.cjs.js → switch-Bj0TETJy.cjs.js} +2 -2
  204. package/dist/chunks/{switch-2AsRNDVU.cjs.js.map → switch-Bj0TETJy.cjs.js.map} +1 -1
  205. package/dist/chunks/{switch-DVQRB0wu.es.js → switch-DIyA-F5Y.es.js} +4 -4
  206. package/dist/chunks/{switch-DVQRB0wu.es.js.map → switch-DIyA-F5Y.es.js.map} +1 -1
  207. package/dist/chunks/{tabs-SeVATsGV.es.js → tabs-DkXwV7Rn.es.js} +35 -35
  208. package/dist/chunks/{tabs-SeVATsGV.es.js.map → tabs-DkXwV7Rn.es.js.map} +1 -1
  209. package/dist/chunks/tabs-DnLTEynV.cjs.js +2 -0
  210. package/dist/chunks/{tabs-BlcjUZnC.cjs.js.map → tabs-DnLTEynV.cjs.js.map} +1 -1
  211. package/dist/chunks/{tag-group-DrCKPNqX.es.js → tag-group-Ap0yJZi5.es.js} +12 -12
  212. package/dist/chunks/{tag-group-DrCKPNqX.es.js.map → tag-group-Ap0yJZi5.es.js.map} +1 -1
  213. package/dist/chunks/tag-group-Bsc70Ngj.cjs.js +2 -0
  214. package/dist/chunks/{tag-group-DexGJ8Hf.cjs.js.map → tag-group-Bsc70Ngj.cjs.js.map} +1 -1
  215. package/dist/chunks/{text-input-Bm7-FMPR.cjs.js → text-input-BQDIyzj5.cjs.js} +2 -2
  216. package/dist/chunks/{text-input-Bm7-FMPR.cjs.js.map → text-input-BQDIyzj5.cjs.js.map} +1 -1
  217. package/dist/chunks/{text-input-CSkQFwGX.es.js → text-input-De_9rKQ7.es.js} +3 -3
  218. package/dist/chunks/{text-input-CSkQFwGX.es.js.map → text-input-De_9rKQ7.es.js.map} +1 -1
  219. package/dist/chunks/{time-input-ClOP5fJr.es.js → time-input-BsU8mjpn.es.js} +4 -4
  220. package/dist/chunks/{time-input-ClOP5fJr.es.js.map → time-input-BsU8mjpn.es.js.map} +1 -1
  221. package/dist/chunks/{time-input-BHyImNO3.cjs.js → time-input-Dp2k90B5.cjs.js} +2 -2
  222. package/dist/chunks/{time-input-BHyImNO3.cjs.js.map → time-input-Dp2k90B5.cjs.js.map} +1 -1
  223. package/dist/chunks/{toggle-button-Rczis1rR.es.js → toggle-button-CmSEInGZ.es.js} +4 -4
  224. package/dist/chunks/{toggle-button-Rczis1rR.es.js.map → toggle-button-CmSEInGZ.es.js.map} +1 -1
  225. package/dist/chunks/{toggle-button-enJHTjsJ.cjs.js → toggle-button-bW_T3P8c.cjs.js} +2 -2
  226. package/dist/chunks/{toggle-button-enJHTjsJ.cjs.js.map → toggle-button-bW_T3P8c.cjs.js.map} +1 -1
  227. package/dist/chunks/{toggle-button-group-TrFHgAeL.es.js → toggle-button-group-CjWoTw03.es.js} +2 -2
  228. package/dist/chunks/{toggle-button-group-TrFHgAeL.es.js.map → toggle-button-group-CjWoTw03.es.js.map} +1 -1
  229. package/dist/chunks/{toolbar-CNqSGtQi.cjs.js → toolbar-BVtlNDgf.cjs.js} +2 -2
  230. package/dist/chunks/{toolbar-CNqSGtQi.cjs.js.map → toolbar-BVtlNDgf.cjs.js.map} +1 -1
  231. package/dist/chunks/{toolbar-CsuzuQNn.es.js → toolbar-ckQGv75h.es.js} +3 -3
  232. package/dist/chunks/{toolbar-CsuzuQNn.es.js.map → toolbar-ckQGv75h.es.js.map} +1 -1
  233. package/dist/chunks/{useButton-DEV993k7.es.js → useButton-C6AOJI9V.es.js} +2 -2
  234. package/dist/chunks/{useButton-DEV993k7.es.js.map → useButton-C6AOJI9V.es.js.map} +1 -1
  235. package/dist/chunks/{useDateFormatter-YLMdKUmg.es.js → useDateFormatter-eE8d1TkO.es.js} +2 -2
  236. package/dist/chunks/{useDateFormatter-YLMdKUmg.es.js.map → useDateFormatter-eE8d1TkO.es.js.map} +1 -1
  237. package/dist/chunks/useGridListItem-BETI-KGO.cjs.js +2 -0
  238. package/dist/chunks/useGridListItem-BETI-KGO.cjs.js.map +1 -0
  239. package/dist/chunks/{useHighlightSelectionDescription-DH3XBG7f.es.js → useGridListItem-WBYPB9KF.es.js} +406 -163
  240. package/dist/chunks/useGridListItem-WBYPB9KF.es.js.map +1 -0
  241. package/dist/chunks/useListState-BFNT8oUW.es.js +139 -0
  242. package/dist/chunks/useListState-BFNT8oUW.es.js.map +1 -0
  243. package/dist/chunks/useListState-QQtJHpsQ.cjs.js +2 -0
  244. package/dist/chunks/useListState-QQtJHpsQ.cjs.js.map +1 -0
  245. package/dist/chunks/{usePress-D9qOoxbA.es.js → usePress-HeLch-fy.es.js} +2 -2
  246. package/dist/chunks/{usePress-D9qOoxbA.es.js.map → usePress-HeLch-fy.es.js.map} +1 -1
  247. package/dist/chunks/{useSingleSelectListState-BawVWofI.cjs.js → useSingleSelectListState-CsD7W9nK.cjs.js} +2 -2
  248. package/dist/chunks/{useSingleSelectListState-BawVWofI.cjs.js.map → useSingleSelectListState-CsD7W9nK.cjs.js.map} +1 -1
  249. package/dist/chunks/{useSingleSelectListState-Bjn8R8w0.es.js → useSingleSelectListState-DcU-tU_H.es.js} +2 -2
  250. package/dist/chunks/{useSingleSelectListState-Bjn8R8w0.es.js.map → useSingleSelectListState-DcU-tU_H.es.js.map} +1 -1
  251. package/dist/chunks/{useToggle-Cc5uCpc9.es.js → useToggle-XQtoJnll.es.js} +2 -2
  252. package/dist/chunks/{useToggle-Cc5uCpc9.es.js.map → useToggle-XQtoJnll.es.js.map} +1 -1
  253. package/dist/components/accordion.cjs +1 -1
  254. package/dist/components/accordion.es.js +1 -1
  255. package/dist/components/alert.cjs +1 -1
  256. package/dist/components/alert.es.js +1 -1
  257. package/dist/components/button.cjs +1 -1
  258. package/dist/components/button.es.js +1 -1
  259. package/dist/components/calendar.cjs +1 -1
  260. package/dist/components/calendar.es.js +1 -1
  261. package/dist/components/checkbox.cjs +1 -1
  262. package/dist/components/checkbox.es.js +1 -1
  263. package/dist/components/collapsible-motion.cjs +1 -1
  264. package/dist/components/collapsible-motion.es.js +1 -1
  265. package/dist/components/combobox.cjs +1 -1
  266. package/dist/components/combobox.es.js +1 -1
  267. package/dist/components/components.cjs +1 -1
  268. package/dist/components/components.es.js +1 -1
  269. package/dist/components/data-table/components/data-table.layout-settings-panel.d.ts +4 -0
  270. package/dist/components/data-table/components/data-table.manager.d.ts +9 -0
  271. package/dist/components/data-table/components/data-table.visible-columns-panel.d.ts +7 -0
  272. package/dist/components/data-table/constants.d.ts +4 -0
  273. package/dist/components/data-table/data-table.d.ts +24 -1
  274. package/dist/components/data-table/data-table.i18n.d.ts +120 -0
  275. package/dist/components/data-table/data-table.slots.d.ts +2 -2
  276. package/dist/components/data-table/data-table.types.d.ts +20 -7
  277. package/dist/components/data-table/index.d.ts +1 -0
  278. package/dist/components/data-table/test-data.d.ts +4 -1
  279. package/dist/components/data-table.cjs +1 -1
  280. package/dist/components/data-table.es.js +10 -8
  281. package/dist/components/date-input.cjs +1 -1
  282. package/dist/components/date-input.es.js +1 -1
  283. package/dist/components/date-picker.cjs +1 -1
  284. package/dist/components/date-picker.es.js +1 -1
  285. package/dist/components/date-range-picker-field.cjs +1 -1
  286. package/dist/components/date-range-picker-field.es.js +1 -1
  287. package/dist/components/date-range-picker.cjs +1 -1
  288. package/dist/components/date-range-picker.es.js +1 -1
  289. package/dist/components/dialog.cjs +1 -1
  290. package/dist/components/dialog.es.js +1 -1
  291. package/dist/components/draggable-list.cjs +1 -1
  292. package/dist/components/draggable-list.es.js +1 -1
  293. package/dist/components/drawer.cjs +1 -1
  294. package/dist/components/drawer.es.js +1 -1
  295. package/dist/components/fields.cjs +1 -1
  296. package/dist/components/fields.es.js +1 -1
  297. package/dist/components/form-field.cjs +1 -1
  298. package/dist/components/form-field.es.js +1 -1
  299. package/dist/components/heading.es.js +1 -1
  300. package/dist/components/icon-button.cjs +1 -1
  301. package/dist/components/icon-button.es.js +1 -1
  302. package/dist/components/icon-toggle-button.cjs +1 -1
  303. package/dist/components/icon-toggle-button.es.js +1 -1
  304. package/dist/components/link.es.js +1 -1
  305. package/dist/components/localized-field.cjs +1 -1
  306. package/dist/components/localized-field.es.js +1 -1
  307. package/dist/components/money-input.cjs +1 -1
  308. package/dist/components/money-input.es.js +1 -1
  309. package/dist/components/multiline-text-input.cjs +1 -1
  310. package/dist/components/multiline-text-input.es.js +1 -1
  311. package/dist/components/nimbus-provider.cjs +1 -1
  312. package/dist/components/nimbus-provider.es.js +1 -1
  313. package/dist/components/number-input.cjs +1 -1
  314. package/dist/components/number-input.es.js +1 -1
  315. package/dist/components/pagination.cjs +1 -1
  316. package/dist/components/pagination.es.js +1 -1
  317. package/dist/components/password-input.cjs +1 -1
  318. package/dist/components/password-input.es.js +1 -1
  319. package/dist/components/patterns.cjs +1 -1
  320. package/dist/components/patterns.es.js +1 -1
  321. package/dist/components/popover.cjs +1 -1
  322. package/dist/components/popover.es.js +1 -1
  323. package/dist/components/progress-bar.cjs +1 -1
  324. package/dist/components/progress-bar.es.js +1 -1
  325. package/dist/components/radio-input.cjs +1 -1
  326. package/dist/components/radio-input.es.js +1 -1
  327. package/dist/components/range-calendar.cjs +1 -1
  328. package/dist/components/range-calendar.es.js +1 -1
  329. package/dist/components/rich-text-input.cjs +1 -1
  330. package/dist/components/rich-text-input.es.js +1 -1
  331. package/dist/components/scoped-search-input.cjs +1 -1
  332. package/dist/components/scoped-search-input.es.js +1 -1
  333. package/dist/components/search-input.cjs +1 -1
  334. package/dist/components/search-input.es.js +1 -1
  335. package/dist/components/select.cjs +1 -1
  336. package/dist/components/select.es.js +1 -1
  337. package/dist/components/separator.cjs +1 -1
  338. package/dist/components/separator.es.js +1 -1
  339. package/dist/components/split-button.cjs +1 -1
  340. package/dist/components/split-button.es.js +1 -1
  341. package/dist/components/switch.cjs +1 -1
  342. package/dist/components/switch.es.js +1 -1
  343. package/dist/components/tabs.cjs +1 -1
  344. package/dist/components/tabs.es.js +1 -1
  345. package/dist/components/tag-group.cjs +1 -1
  346. package/dist/components/tag-group.es.js +1 -1
  347. package/dist/components/text-input.cjs +1 -1
  348. package/dist/components/text-input.es.js +1 -1
  349. package/dist/components/time-input.cjs +1 -1
  350. package/dist/components/time-input.es.js +1 -1
  351. package/dist/components/toggle-button-group.es.js +1 -1
  352. package/dist/components/toggle-button.cjs +1 -1
  353. package/dist/components/toggle-button.es.js +1 -1
  354. package/dist/components/toolbar.cjs +1 -1
  355. package/dist/components/toolbar.es.js +1 -1
  356. package/dist/index.cjs +1 -1
  357. package/dist/index.cjs.map +1 -1
  358. package/dist/index.es.js +136 -134
  359. package/dist/index.es.js.map +1 -1
  360. package/package.json +5 -5
  361. package/dist/chunks/DragAndDrop-35iVlv_E.cjs.js +0 -2
  362. package/dist/chunks/DragAndDrop-35iVlv_E.cjs.js.map +0 -1
  363. package/dist/chunks/DragAndDrop-Cu_xjzZg.es.js +0 -76
  364. package/dist/chunks/DragAndDrop-Cu_xjzZg.es.js.map +0 -1
  365. package/dist/chunks/Header-BE5dOA7y.es.js +0 -59
  366. package/dist/chunks/Header-BE5dOA7y.es.js.map +0 -1
  367. package/dist/chunks/Header-Ba1_guwA.cjs.js +0 -2
  368. package/dist/chunks/Header-Ba1_guwA.cjs.js.map +0 -1
  369. package/dist/chunks/ListBox-DkXFmzHf.cjs.js +0 -2
  370. package/dist/chunks/ListBox-DkXFmzHf.cjs.js.map +0 -1
  371. package/dist/chunks/ListBox-DxgCeXuN.es.js +0 -493
  372. package/dist/chunks/ListBox-DxgCeXuN.es.js.map +0 -1
  373. package/dist/chunks/ListKeyboardDelegate-BEarLHjT.cjs.js +0 -2
  374. package/dist/chunks/ListKeyboardDelegate-BEarLHjT.cjs.js.map +0 -1
  375. package/dist/chunks/ListKeyboardDelegate-ekIDdehS.es.js +0 -159
  376. package/dist/chunks/ListKeyboardDelegate-ekIDdehS.es.js.map +0 -1
  377. package/dist/chunks/combobox-CJEs8K1H.cjs.js +0 -2
  378. package/dist/chunks/data-table-DdnSEpEq.cjs.js +0 -2
  379. package/dist/chunks/data-table-DdnSEpEq.cjs.js.map +0 -1
  380. package/dist/chunks/data-table-zaE0wk1G.es.js +0 -3638
  381. package/dist/chunks/data-table-zaE0wk1G.es.js.map +0 -1
  382. package/dist/chunks/draggable-list-BB8IGQJ6.es.js.map +0 -1
  383. package/dist/chunks/draggable-list-DR2KKaO_.cjs.js.map +0 -1
  384. package/dist/chunks/index-BGkAxVw_.es.js.map +0 -1
  385. package/dist/chunks/index-CFfbr5i_.cjs.js.map +0 -1
  386. package/dist/chunks/inertValue-B7loUihk.es.js +0 -9
  387. package/dist/chunks/inertValue-B7loUihk.es.js.map +0 -1
  388. package/dist/chunks/inertValue-BWmZ1afe.cjs.js +0 -2
  389. package/dist/chunks/inertValue-BWmZ1afe.cjs.js.map +0 -1
  390. package/dist/chunks/select-CWaI47Kc.cjs.js +0 -2
  391. package/dist/chunks/tabs-BlcjUZnC.cjs.js +0 -2
  392. package/dist/chunks/tag-group-DexGJ8Hf.cjs.js +0 -2
  393. package/dist/chunks/useGridListItem-DSRAVcC0.es.js +0 -251
  394. package/dist/chunks/useGridListItem-DSRAVcC0.es.js.map +0 -1
  395. package/dist/chunks/useGridListItem-Dt8Kui_9.cjs.js +0 -2
  396. package/dist/chunks/useGridListItem-Dt8Kui_9.cjs.js.map +0 -1
  397. package/dist/chunks/useGridSelectionCheckbox-CB9AkcJ-.cjs.js +0 -2
  398. package/dist/chunks/useGridSelectionCheckbox-CB9AkcJ-.cjs.js.map +0 -1
  399. package/dist/chunks/useGridSelectionCheckbox-qNlOk_Zu.es.js +0 -23
  400. package/dist/chunks/useGridSelectionCheckbox-qNlOk_Zu.es.js.map +0 -1
  401. package/dist/chunks/useHighlightSelectionDescription-C37fwYgQ.cjs.js +0 -2
  402. package/dist/chunks/useHighlightSelectionDescription-C37fwYgQ.cjs.js.map +0 -1
  403. package/dist/chunks/useHighlightSelectionDescription-DH3XBG7f.es.js.map +0 -1
  404. package/dist/chunks/useListState-HM8Jsi0C.cjs.js +0 -2
  405. package/dist/chunks/useListState-HM8Jsi0C.cjs.js.map +0 -1
  406. package/dist/chunks/useListState-QNqJ2RZ-.es.js +0 -134
  407. package/dist/chunks/useListState-QNqJ2RZ-.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"openLink-D7--QlSJ.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+utils@3.31.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@react-aria/utils/dist/openLink.mjs"],"sourcesContent":["import {focusWithoutScrolling as $7215afc6de606d6b$export$de79e2c695e052f3} from \"./focusWithoutScrolling.mjs\";\nimport {isMac as $c87311424ea30a05$export$9ac100e40613ea10, isWebKit as $c87311424ea30a05$export$78551043582a6a98, isFirefox as $c87311424ea30a05$export$b7d78993b74f766d, isIPad as $c87311424ea30a05$export$7bef049ce92e4224} from \"./platform.mjs\";\nimport $g3jFn$react, {createContext as $g3jFn$createContext, useMemo as $g3jFn$useMemo, useContext as $g3jFn$useContext} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $ea8dcbcb9ea1b556$var$RouterContext = /*#__PURE__*/ (0, $g3jFn$createContext)({\n isNative: true,\n open: $ea8dcbcb9ea1b556$var$openSyntheticLink,\n useHref: (href)=>href\n});\nfunction $ea8dcbcb9ea1b556$export$323e4fc2fa4753fb(props) {\n let { children: children, navigate: navigate, useHref: useHref } = props;\n let ctx = (0, $g3jFn$useMemo)(()=>({\n isNative: false,\n open: (target, modifiers, href, routerOptions)=>{\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>{\n if ($ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers)) navigate(href, routerOptions);\n else $ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers);\n });\n },\n useHref: useHref || ((href)=>href)\n }), [\n navigate,\n useHref\n ]);\n return /*#__PURE__*/ (0, $g3jFn$react).createElement($ea8dcbcb9ea1b556$var$RouterContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $ea8dcbcb9ea1b556$export$9a302a45f65d0572() {\n return (0, $g3jFn$useContext)($ea8dcbcb9ea1b556$var$RouterContext);\n}\nfunction $ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n let target = link.getAttribute('target');\n return (!target || target === '_self') && link.origin === location.origin && !link.hasAttribute('download') && !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey;\n}\nfunction $ea8dcbcb9ea1b556$export$95185d699e05d4d7(target, modifiers, setOpening = true) {\n var _window_event_type, _window_event;\n let { metaKey: metaKey, ctrlKey: ctrlKey, altKey: altKey, shiftKey: shiftKey } = modifiers;\n // Firefox does not recognize keyboard events as a user action by default, and the popup blocker\n // will prevent links with target=\"_blank\" from opening. However, it does allow the event if the\n // Command/Control key is held, which opens the link in a background tab. This seems like the best we can do.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=257870 and https://bugzilla.mozilla.org/show_bug.cgi?id=746640.\n if ((0, $c87311424ea30a05$export$b7d78993b74f766d)() && ((_window_event = window.event) === null || _window_event === void 0 ? void 0 : (_window_event_type = _window_event.type) === null || _window_event_type === void 0 ? void 0 : _window_event_type.startsWith('key')) && target.target === '_blank') {\n if ((0, $c87311424ea30a05$export$9ac100e40613ea10)()) metaKey = true;\n else ctrlKey = true;\n }\n // WebKit does not support firing click events with modifier keys, but does support keyboard events.\n // https://github.com/WebKit/WebKit/blob/c03d0ac6e6db178f90923a0a63080b5ca210d25f/Source/WebCore/html/HTMLAnchorElement.cpp#L184\n let event = (0, $c87311424ea30a05$export$78551043582a6a98)() && (0, $c87311424ea30a05$export$9ac100e40613ea10)() && !(0, $c87311424ea30a05$export$7bef049ce92e4224)() && process.env.NODE_ENV !== 'test' ? new KeyboardEvent('keydown', {\n keyIdentifier: 'Enter',\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey\n }) : new MouseEvent('click', {\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey,\n bubbles: true,\n cancelable: true\n });\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = setOpening;\n (0, $7215afc6de606d6b$export$de79e2c695e052f3)(target);\n target.dispatchEvent(event);\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\n}\n// https://github.com/parcel-bundler/parcel/issues/8724\n$ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\nfunction $ea8dcbcb9ea1b556$var$getSyntheticLink(target, open) {\n if (target instanceof HTMLAnchorElement) open(target);\n else if (target.hasAttribute('data-href')) {\n let link = document.createElement('a');\n link.href = target.getAttribute('data-href');\n if (target.hasAttribute('data-target')) link.target = target.getAttribute('data-target');\n if (target.hasAttribute('data-rel')) link.rel = target.getAttribute('data-rel');\n if (target.hasAttribute('data-download')) link.download = target.getAttribute('data-download');\n if (target.hasAttribute('data-ping')) link.ping = target.getAttribute('data-ping');\n if (target.hasAttribute('data-referrer-policy')) link.referrerPolicy = target.getAttribute('data-referrer-policy');\n target.appendChild(link);\n open(link);\n target.removeChild(link);\n }\n}\nfunction $ea8dcbcb9ea1b556$var$openSyntheticLink(target, modifiers) {\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>$ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers));\n}\nfunction $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n var _props_href;\n const href = router.useHref((_props_href = props.href) !== null && _props_href !== void 0 ? _props_href : '');\n return {\n 'data-href': props.href ? href : undefined,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$51437d503373d223(props) {\n return {\n 'data-href': props.href,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n var _props_href;\n const href = router.useHref((_props_href = props === null || props === void 0 ? void 0 : props.href) !== null && _props_href !== void 0 ? _props_href : '');\n return {\n href: (props === null || props === void 0 ? void 0 : props.href) ? href : undefined,\n target: props === null || props === void 0 ? void 0 : props.target,\n rel: props === null || props === void 0 ? void 0 : props.rel,\n download: props === null || props === void 0 ? void 0 : props.download,\n ping: props === null || props === void 0 ? void 0 : props.ping,\n referrerPolicy: props === null || props === void 0 ? void 0 : props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f(e, router, href, routerOptions) {\n // If a custom router is provided, prevent default and forward if this link should client navigate.\n if (!router.isNative && e.currentTarget instanceof HTMLAnchorElement && e.currentTarget.href && // If props are applied to a router Link component, it may have already prevented default.\n !e.isDefaultPrevented() && $ea8dcbcb9ea1b556$export$efa8c9099e530235(e.currentTarget, e) && href) {\n e.preventDefault();\n router.open(e.currentTarget, e, href, routerOptions);\n }\n}\n\n\nexport {$ea8dcbcb9ea1b556$export$323e4fc2fa4753fb as RouterProvider, $ea8dcbcb9ea1b556$export$efa8c9099e530235 as shouldClientNavigate, $ea8dcbcb9ea1b556$export$95185d699e05d4d7 as openLink, $ea8dcbcb9ea1b556$export$9a302a45f65d0572 as useRouter, $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6 as useSyntheticLinkProps, $ea8dcbcb9ea1b556$export$51437d503373d223 as getSyntheticLinkProps, $ea8dcbcb9ea1b556$export$7e924b3091a3bd18 as useLinkProps, $ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f as handleLinkClick};\n//# sourceMappingURL=openLink.module.js.map\n"],"names":["$ea8dcbcb9ea1b556$var$RouterContext","$g3jFn$createContext","$ea8dcbcb9ea1b556$var$openSyntheticLink","href","$ea8dcbcb9ea1b556$export$323e4fc2fa4753fb","props","children","navigate","useHref","ctx","$g3jFn$useMemo","target","modifiers","routerOptions","$ea8dcbcb9ea1b556$var$getSyntheticLink","link","$ea8dcbcb9ea1b556$export$efa8c9099e530235","$ea8dcbcb9ea1b556$export$95185d699e05d4d7","$g3jFn$react","$ea8dcbcb9ea1b556$export$9a302a45f65d0572","$g3jFn$useContext","setOpening","_window_event_type","_window_event","metaKey","ctrlKey","altKey","shiftKey","$c87311424ea30a05$export$b7d78993b74f766d","$c87311424ea30a05$export$9ac100e40613ea10","event","$c87311424ea30a05$export$78551043582a6a98","$c87311424ea30a05$export$7bef049ce92e4224","$7215afc6de606d6b$export$de79e2c695e052f3","open","$ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6","router","_props_href","$ea8dcbcb9ea1b556$export$7e924b3091a3bd18","$ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"openLink-BNz58j4a.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+utils@3.31.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@react-aria/utils/dist/openLink.mjs"],"sourcesContent":["import {focusWithoutScrolling as $7215afc6de606d6b$export$de79e2c695e052f3} from \"./focusWithoutScrolling.mjs\";\nimport {isMac as $c87311424ea30a05$export$9ac100e40613ea10, isWebKit as $c87311424ea30a05$export$78551043582a6a98, isFirefox as $c87311424ea30a05$export$b7d78993b74f766d, isIPad as $c87311424ea30a05$export$7bef049ce92e4224} from \"./platform.mjs\";\nimport $g3jFn$react, {createContext as $g3jFn$createContext, useMemo as $g3jFn$useMemo, useContext as $g3jFn$useContext} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $ea8dcbcb9ea1b556$var$RouterContext = /*#__PURE__*/ (0, $g3jFn$createContext)({\n isNative: true,\n open: $ea8dcbcb9ea1b556$var$openSyntheticLink,\n useHref: (href)=>href\n});\nfunction $ea8dcbcb9ea1b556$export$323e4fc2fa4753fb(props) {\n let { children: children, navigate: navigate, useHref: useHref } = props;\n let ctx = (0, $g3jFn$useMemo)(()=>({\n isNative: false,\n open: (target, modifiers, href, routerOptions)=>{\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>{\n if ($ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers)) navigate(href, routerOptions);\n else $ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers);\n });\n },\n useHref: useHref || ((href)=>href)\n }), [\n navigate,\n useHref\n ]);\n return /*#__PURE__*/ (0, $g3jFn$react).createElement($ea8dcbcb9ea1b556$var$RouterContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $ea8dcbcb9ea1b556$export$9a302a45f65d0572() {\n return (0, $g3jFn$useContext)($ea8dcbcb9ea1b556$var$RouterContext);\n}\nfunction $ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n let target = link.getAttribute('target');\n return (!target || target === '_self') && link.origin === location.origin && !link.hasAttribute('download') && !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey;\n}\nfunction $ea8dcbcb9ea1b556$export$95185d699e05d4d7(target, modifiers, setOpening = true) {\n var _window_event_type, _window_event;\n let { metaKey: metaKey, ctrlKey: ctrlKey, altKey: altKey, shiftKey: shiftKey } = modifiers;\n // Firefox does not recognize keyboard events as a user action by default, and the popup blocker\n // will prevent links with target=\"_blank\" from opening. However, it does allow the event if the\n // Command/Control key is held, which opens the link in a background tab. This seems like the best we can do.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=257870 and https://bugzilla.mozilla.org/show_bug.cgi?id=746640.\n if ((0, $c87311424ea30a05$export$b7d78993b74f766d)() && ((_window_event = window.event) === null || _window_event === void 0 ? void 0 : (_window_event_type = _window_event.type) === null || _window_event_type === void 0 ? void 0 : _window_event_type.startsWith('key')) && target.target === '_blank') {\n if ((0, $c87311424ea30a05$export$9ac100e40613ea10)()) metaKey = true;\n else ctrlKey = true;\n }\n // WebKit does not support firing click events with modifier keys, but does support keyboard events.\n // https://github.com/WebKit/WebKit/blob/c03d0ac6e6db178f90923a0a63080b5ca210d25f/Source/WebCore/html/HTMLAnchorElement.cpp#L184\n let event = (0, $c87311424ea30a05$export$78551043582a6a98)() && (0, $c87311424ea30a05$export$9ac100e40613ea10)() && !(0, $c87311424ea30a05$export$7bef049ce92e4224)() && process.env.NODE_ENV !== 'test' ? new KeyboardEvent('keydown', {\n keyIdentifier: 'Enter',\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey\n }) : new MouseEvent('click', {\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey,\n bubbles: true,\n cancelable: true\n });\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = setOpening;\n (0, $7215afc6de606d6b$export$de79e2c695e052f3)(target);\n target.dispatchEvent(event);\n $ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\n}\n// https://github.com/parcel-bundler/parcel/issues/8724\n$ea8dcbcb9ea1b556$export$95185d699e05d4d7.isOpening = false;\nfunction $ea8dcbcb9ea1b556$var$getSyntheticLink(target, open) {\n if (target instanceof HTMLAnchorElement) open(target);\n else if (target.hasAttribute('data-href')) {\n let link = document.createElement('a');\n link.href = target.getAttribute('data-href');\n if (target.hasAttribute('data-target')) link.target = target.getAttribute('data-target');\n if (target.hasAttribute('data-rel')) link.rel = target.getAttribute('data-rel');\n if (target.hasAttribute('data-download')) link.download = target.getAttribute('data-download');\n if (target.hasAttribute('data-ping')) link.ping = target.getAttribute('data-ping');\n if (target.hasAttribute('data-referrer-policy')) link.referrerPolicy = target.getAttribute('data-referrer-policy');\n target.appendChild(link);\n open(link);\n target.removeChild(link);\n }\n}\nfunction $ea8dcbcb9ea1b556$var$openSyntheticLink(target, modifiers) {\n $ea8dcbcb9ea1b556$var$getSyntheticLink(target, (link)=>$ea8dcbcb9ea1b556$export$95185d699e05d4d7(link, modifiers));\n}\nfunction $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n var _props_href;\n const href = router.useHref((_props_href = props.href) !== null && _props_href !== void 0 ? _props_href : '');\n return {\n 'data-href': props.href ? href : undefined,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$51437d503373d223(props) {\n return {\n 'data-href': props.href,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(props) {\n let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();\n var _props_href;\n const href = router.useHref((_props_href = props === null || props === void 0 ? void 0 : props.href) !== null && _props_href !== void 0 ? _props_href : '');\n return {\n href: (props === null || props === void 0 ? void 0 : props.href) ? href : undefined,\n target: props === null || props === void 0 ? void 0 : props.target,\n rel: props === null || props === void 0 ? void 0 : props.rel,\n download: props === null || props === void 0 ? void 0 : props.download,\n ping: props === null || props === void 0 ? void 0 : props.ping,\n referrerPolicy: props === null || props === void 0 ? void 0 : props.referrerPolicy\n };\n}\nfunction $ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f(e, router, href, routerOptions) {\n // If a custom router is provided, prevent default and forward if this link should client navigate.\n if (!router.isNative && e.currentTarget instanceof HTMLAnchorElement && e.currentTarget.href && // If props are applied to a router Link component, it may have already prevented default.\n !e.isDefaultPrevented() && $ea8dcbcb9ea1b556$export$efa8c9099e530235(e.currentTarget, e) && href) {\n e.preventDefault();\n router.open(e.currentTarget, e, href, routerOptions);\n }\n}\n\n\nexport {$ea8dcbcb9ea1b556$export$323e4fc2fa4753fb as RouterProvider, $ea8dcbcb9ea1b556$export$efa8c9099e530235 as shouldClientNavigate, $ea8dcbcb9ea1b556$export$95185d699e05d4d7 as openLink, $ea8dcbcb9ea1b556$export$9a302a45f65d0572 as useRouter, $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6 as useSyntheticLinkProps, $ea8dcbcb9ea1b556$export$51437d503373d223 as getSyntheticLinkProps, $ea8dcbcb9ea1b556$export$7e924b3091a3bd18 as useLinkProps, $ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f as handleLinkClick};\n//# sourceMappingURL=openLink.module.js.map\n"],"names":["$ea8dcbcb9ea1b556$var$RouterContext","$g3jFn$createContext","$ea8dcbcb9ea1b556$var$openSyntheticLink","href","$ea8dcbcb9ea1b556$export$323e4fc2fa4753fb","props","children","navigate","useHref","ctx","$g3jFn$useMemo","target","modifiers","routerOptions","$ea8dcbcb9ea1b556$var$getSyntheticLink","link","$ea8dcbcb9ea1b556$export$efa8c9099e530235","$ea8dcbcb9ea1b556$export$95185d699e05d4d7","$g3jFn$react","$ea8dcbcb9ea1b556$export$9a302a45f65d0572","$g3jFn$useContext","setOpening","_window_event_type","_window_event","metaKey","ctrlKey","altKey","shiftKey","$c87311424ea30a05$export$b7d78993b74f766d","$c87311424ea30a05$export$9ac100e40613ea10","event","$c87311424ea30a05$export$78551043582a6a98","$c87311424ea30a05$export$7bef049ce92e4224","$7215afc6de606d6b$export$de79e2c695e052f3","open","$ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6","router","_props_href","$ea8dcbcb9ea1b556$export$7e924b3091a3bd18","$ea8dcbcb9ea1b556$export$13aea1a3cb5e3f1f"],"mappings":"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","x_google_ignoreList":[0]}
@@ -4,10 +4,10 @@ import { defineMessages as L, useIntl as R } from "react-intl";
4
4
  import { ChevronLeft as V, ChevronRight as B } from "@commercetools/nimbus-icons";
5
5
  import { S as F } from "./stack-CoNreM7B.es.js";
6
6
  import { Flex as N } from "@chakra-ui/react/flex";
7
- import { S as I } from "./select-C2lIA5hg.es.js";
7
+ import { S as I } from "./select-CU9scStC.es.js";
8
8
  import { T as v } from "./text-BVYJmhjj.es.js";
9
- import { I as G } from "./icon-button-Bvr0zLGt.es.js";
10
- import { N as K } from "./number-input-CoVt943T.es.js";
9
+ import { I as G } from "./icon-button-CKpO4Zvy.es.js";
10
+ import { N as K } from "./number-input-BNhAEH40.es.js";
11
11
  function W({
12
12
  totalItems: o,
13
13
  currentPage: n,
@@ -207,4 +207,4 @@ $.displayName = "Pagination";
207
207
  export {
208
208
  $ as P
209
209
  };
210
- //# sourceMappingURL=pagination-C4_2Ov7h.es.js.map
210
+ //# sourceMappingURL=pagination-Bu8aiNt7.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-C4_2Ov7h.es.js","sources":["../../src/components/pagination/hooks/use-pagination.ts","../../src/components/pagination/pagination.i18n.ts","../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { useState, useCallback, useMemo } from \"react\";\n\nexport type PaginationState = {\n /** Total number of items across all pages */\n totalItems: number;\n /** Current active page (1-based) */\n currentPage: number;\n /** Number of items displayed per page */\n pageSize: number;\n /** Total number of pages available */\n totalPages: number;\n /** Index of the first item on current page (1-based) */\n startItem: number;\n /** Index of the last item on current page (1-based) */\n endItem: number;\n /** Whether there is a previous page available */\n hasPreviousPage: boolean;\n /** Whether there is a next page available */\n hasNextPage: boolean;\n};\n\nexport type UsePaginationProps = {\n /** Total number of items to paginate */\n totalItems: number;\n /** Initial current page (1-based), defaults to 1 */\n currentPage?: number;\n /** Initial number of items per page, defaults to 10 */\n pageSize?: number;\n /** Callback fired when the current page changes */\n onPageChange?: (page: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n};\n\nexport type UsePaginationReturn = PaginationState & {\n /** Navigate to a specific page number (1-based) */\n goToPage: (page: number) => void;\n /** Navigate to the previous page, if available */\n goToPreviousPage: () => void;\n /** Navigate to the next page, if available */\n goToNextPage: () => void;\n /** Change the number of items displayed per page */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * # usePagination\n *\n * Custom hook that provides pagination state management and navigation controls.\n *\n * Supports both controlled and uncontrolled modes:\n * - Controlled: Parent component manages currentPage state via props and callbacks\n * - Uncontrolled: Hook manages internal currentPage state automatically\n *\n * @param props - Configuration object for pagination behavior\n * @param props.totalItems - Total number of items to paginate\n * @param props.currentPage - Current page number (controlled mode). If undefined, uses uncontrolled mode\n * @param props.pageSize - Number of items per page (defaults to 20)\n * @param props.onPageChange - Callback fired when page changes\n * @param props.onPageSizeChange - Callback fired when page size changes\n *\n * @returns Object containing pagination state and navigation functions:\n * - totalItems: Total number of items\n * - currentPage: Current active page number (1-based)\n * - pageSize: Number of items per page\n * - totalPages: Total number of pages\n * - startItem: First item number on current page\n * - endItem: Last item number on current page\n * - hasPreviousPage: Whether previous page exists\n * - hasNextPage: Whether next page exists\n * - goToPage: Function to navigate to specific page\n * - goToPreviousPage: Function to navigate to previous page\n * - goToNextPage: Function to navigate to next page\n * - setPageSize: Function to change page size\n *\n */\nexport function usePagination({\n totalItems,\n currentPage: controlledCurrentPage,\n pageSize: controlledPageSize = 20,\n onPageChange,\n onPageSizeChange,\n}: UsePaginationProps): UsePaginationReturn {\n // Internal state for uncontrolled mode\n const [internalCurrentPage, setInternalCurrentPage] = useState(1);\n const [internalPageSize, setInternalPageSize] = useState(controlledPageSize);\n\n // Determine if controlled or uncontrolled\n const isControlled = controlledCurrentPage !== undefined;\n const currentPage = isControlled\n ? controlledCurrentPage\n : internalCurrentPage;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Calculate pagination values\n const totalPages = Math.max(1, Math.ceil(totalItems / pageSize));\n\n // Ensure currentPage is within valid bounds\n const validCurrentPage = Math.max(1, Math.min(currentPage, totalPages));\n\n const startItem = Math.min((validCurrentPage - 1) * pageSize + 1, totalItems);\n const endItem = Math.min(validCurrentPage * pageSize, totalItems);\n\n const hasPreviousPage = validCurrentPage > 1;\n const hasNextPage = validCurrentPage < totalPages;\n\n // Page navigation functions\n const goToPage = useCallback(\n (page: number) => {\n const newPage = Math.max(1, Math.min(page, totalPages));\n\n if (!isControlled) {\n setInternalCurrentPage(newPage);\n }\n\n onPageChange?.(newPage);\n },\n [totalPages, isControlled, onPageChange]\n );\n\n const goToPreviousPage = useCallback(() => {\n if (hasPreviousPage) {\n goToPage(validCurrentPage - 1);\n }\n }, [hasPreviousPage, validCurrentPage, goToPage]);\n\n const goToNextPage = useCallback(() => {\n if (hasNextPage) {\n goToPage(validCurrentPage + 1);\n }\n }, [hasNextPage, validCurrentPage, goToPage]);\n\n const setPageSize = useCallback(\n (newPageSize: number) => {\n const newTotalPages = Math.ceil(totalItems / newPageSize);\n const newPage = Math.min(validCurrentPage, newTotalPages);\n\n setInternalPageSize(newPageSize);\n\n if (!isControlled && newPage !== validCurrentPage) {\n setInternalCurrentPage(newPage);\n }\n\n onPageSizeChange?.(newPageSize);\n\n if (newPage !== validCurrentPage) {\n onPageChange?.(newPage);\n }\n },\n [totalItems, validCurrentPage, isControlled, onPageChange, onPageSizeChange]\n );\n\n return useMemo(\n () => ({\n totalItems,\n currentPage: validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n }),\n [\n totalItems,\n validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n ]\n );\n}\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n pagination: {\n id: \"Nimbus.Pagination.pagination\",\n description: \"aria-label for the pagination navigation element\",\n defaultMessage: \"Pagination\",\n },\n itemsPerPage: {\n id: \"Nimbus.Pagination.itemsPerPage\",\n description: \"aria-label for the items per page selector\",\n defaultMessage: \"Items per page\",\n },\n itemsPerPageText: {\n id: \"Nimbus.Pagination.itemsPerPageText\",\n description: \"text label displayed next to the page size selector\",\n defaultMessage: \"items per page\",\n },\n goToPreviousPage: {\n id: \"Nimbus.Pagination.goToPreviousPage\",\n description: \"aria-label for the previous page button\",\n defaultMessage: \"Go to previous page\",\n },\n currentPage: {\n id: \"Nimbus.Pagination.currentPage\",\n description: \"aria-label for the current page input field\",\n defaultMessage: \"Current page\",\n },\n page: {\n id: \"Nimbus.Pagination.page\",\n description: \"text label displayed before the page number\",\n defaultMessage: \"Page\",\n },\n ofTotalPages: {\n id: \"Nimbus.Pagination.ofTotalPages\",\n description: \"text showing total pages count after current page input\",\n defaultMessage: \"of {totalPages}\",\n },\n goToNextPage: {\n id: \"Nimbus.Pagination.goToNextPage\",\n description: \"aria-label for the next page button\",\n defaultMessage: \"Go to next page\",\n },\n});\n","import { useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { ChevronLeft, ChevronRight } from \"@commercetools/nimbus-icons\";\nimport {\n Flex,\n IconButton,\n NumberInput,\n Select,\n Stack,\n Text,\n} from \"@/components\";\nimport { usePagination } from \"./hooks/use-pagination\";\nimport type { PaginationProps } from \"./pagination.types\";\nimport { messages } from \"./pagination.i18n\";\n\n/**\n * # Pagination\n *\n * A component that allows users to navigate through pages and control page size.\n * Combines a page size selector and page navigator for comprehensive pagination control.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/pagination}\n */\nexport const Pagination = (props: PaginationProps) => {\n const intl = useIntl();\n const {\n totalItems,\n currentPage,\n pageSize,\n pageSizeOptions = [10, 20, 50, 100],\n onPageChange,\n onPageSizeChange,\n \"aria-label\": ariaLabel,\n enablePageInput = true,\n enablePageSizeSelector = true,\n } = props;\n\n const pagination = usePagination({\n totalItems,\n currentPage,\n pageSize,\n onPageChange,\n onPageSizeChange,\n });\n\n // Prepare page size options for select\n const pageSizeSelectOptions = useMemo(\n () =>\n pageSizeOptions.map((size) => ({\n id: size.toString(),\n name: `${size}`,\n })),\n [pageSizeOptions]\n );\n\n const handlePageSizeChange = (key: React.Key | null) => {\n if (key) {\n const newPageSize = parseInt(key.toString(), 10);\n pagination.setPageSize(newPageSize);\n }\n };\n\n return (\n <Stack gap=\"400\" direction={{ base: \"column\", sm: \"row\" }} align=\"center\">\n {/* Page Size Selector */}\n {enablePageSizeSelector && (\n <Flex align=\"center\" gap=\"200\">\n <Select.Root\n isClearable={false}\n selectedKey={pagination.pageSize.toString()}\n onSelectionChange={handlePageSizeChange}\n aria-label={intl.formatMessage(messages.itemsPerPage)}\n >\n <Select.Options>\n {pageSizeSelectOptions.map((option) => (\n <Select.Option key={option.id} id={option.id}>\n {option.name}\n </Select.Option>\n ))}\n </Select.Options>\n </Select.Root>\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.itemsPerPageText)}\n </Text>\n </Flex>\n )}\n <Flex flexGrow=\"1\" />\n {/* Page Navigator */}\n <Flex\n align=\"center\"\n gap=\"200\"\n role=\"navigation\"\n aria-label={ariaLabel ?? intl.formatMessage(messages.pagination)}\n >\n <IconButton\n onClick={pagination.goToPreviousPage}\n isDisabled={!pagination.hasPreviousPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToPreviousPage)}\n >\n <ChevronLeft />\n </IconButton>\n\n <Flex align=\"center\" gap=\"200\">\n <Text color=\"neutral.12\">{intl.formatMessage(messages.page)}</Text>\n {enablePageInput ? (\n <NumberInput\n value={pagination.currentPage}\n onChange={(value: number | undefined) =>\n pagination.goToPage(value || 1)\n }\n minValue={1}\n maxValue={pagination.totalPages}\n step={1}\n isDisabled={false}\n width=\"9ch\"\n aria-label={intl.formatMessage(messages.currentPage)}\n aria-current=\"page\"\n />\n ) : (\n <Text fontWeight=\"semibold\" color=\"neutral.12\" aria-current=\"page\">\n {pagination.currentPage}\n </Text>\n )}\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.ofTotalPages, {\n totalPages: intl.formatNumber(pagination.totalPages),\n })}\n </Text>\n </Flex>\n\n <IconButton\n onClick={pagination.goToNextPage}\n isDisabled={!pagination.hasNextPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToNextPage)}\n >\n <ChevronRight />\n </IconButton>\n </Flex>\n </Stack>\n );\n};\n\n// Manually assign a displayName for debugging purposes\nPagination.displayName = \"Pagination\";\n"],"names":["usePagination","totalItems","controlledCurrentPage","controlledPageSize","onPageChange","onPageSizeChange","internalCurrentPage","setInternalCurrentPage","useState","internalPageSize","setInternalPageSize","isControlled","currentPage","pageSize","totalPages","validCurrentPage","startItem","endItem","hasPreviousPage","hasNextPage","goToPage","useCallback","page","newPage","goToPreviousPage","goToNextPage","setPageSize","newPageSize","newTotalPages","useMemo","messages","defineMessages","Pagination","props","intl","useIntl","pageSizeOptions","ariaLabel","enablePageInput","enablePageSizeSelector","pagination","pageSizeSelectOptions","size","handlePageSizeChange","key","jsxs","Stack","Flex","jsx","Select","option","Text","IconButton","ChevronLeft","NumberInput","value","ChevronRight"],"mappings":"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"}
1
+ {"version":3,"file":"pagination-Bu8aiNt7.es.js","sources":["../../src/components/pagination/hooks/use-pagination.ts","../../src/components/pagination/pagination.i18n.ts","../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { useState, useCallback, useMemo } from \"react\";\n\nexport type PaginationState = {\n /** Total number of items across all pages */\n totalItems: number;\n /** Current active page (1-based) */\n currentPage: number;\n /** Number of items displayed per page */\n pageSize: number;\n /** Total number of pages available */\n totalPages: number;\n /** Index of the first item on current page (1-based) */\n startItem: number;\n /** Index of the last item on current page (1-based) */\n endItem: number;\n /** Whether there is a previous page available */\n hasPreviousPage: boolean;\n /** Whether there is a next page available */\n hasNextPage: boolean;\n};\n\nexport type UsePaginationProps = {\n /** Total number of items to paginate */\n totalItems: number;\n /** Initial current page (1-based), defaults to 1 */\n currentPage?: number;\n /** Initial number of items per page, defaults to 10 */\n pageSize?: number;\n /** Callback fired when the current page changes */\n onPageChange?: (page: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n};\n\nexport type UsePaginationReturn = PaginationState & {\n /** Navigate to a specific page number (1-based) */\n goToPage: (page: number) => void;\n /** Navigate to the previous page, if available */\n goToPreviousPage: () => void;\n /** Navigate to the next page, if available */\n goToNextPage: () => void;\n /** Change the number of items displayed per page */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * # usePagination\n *\n * Custom hook that provides pagination state management and navigation controls.\n *\n * Supports both controlled and uncontrolled modes:\n * - Controlled: Parent component manages currentPage state via props and callbacks\n * - Uncontrolled: Hook manages internal currentPage state automatically\n *\n * @param props - Configuration object for pagination behavior\n * @param props.totalItems - Total number of items to paginate\n * @param props.currentPage - Current page number (controlled mode). If undefined, uses uncontrolled mode\n * @param props.pageSize - Number of items per page (defaults to 20)\n * @param props.onPageChange - Callback fired when page changes\n * @param props.onPageSizeChange - Callback fired when page size changes\n *\n * @returns Object containing pagination state and navigation functions:\n * - totalItems: Total number of items\n * - currentPage: Current active page number (1-based)\n * - pageSize: Number of items per page\n * - totalPages: Total number of pages\n * - startItem: First item number on current page\n * - endItem: Last item number on current page\n * - hasPreviousPage: Whether previous page exists\n * - hasNextPage: Whether next page exists\n * - goToPage: Function to navigate to specific page\n * - goToPreviousPage: Function to navigate to previous page\n * - goToNextPage: Function to navigate to next page\n * - setPageSize: Function to change page size\n *\n */\nexport function usePagination({\n totalItems,\n currentPage: controlledCurrentPage,\n pageSize: controlledPageSize = 20,\n onPageChange,\n onPageSizeChange,\n}: UsePaginationProps): UsePaginationReturn {\n // Internal state for uncontrolled mode\n const [internalCurrentPage, setInternalCurrentPage] = useState(1);\n const [internalPageSize, setInternalPageSize] = useState(controlledPageSize);\n\n // Determine if controlled or uncontrolled\n const isControlled = controlledCurrentPage !== undefined;\n const currentPage = isControlled\n ? controlledCurrentPage\n : internalCurrentPage;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Calculate pagination values\n const totalPages = Math.max(1, Math.ceil(totalItems / pageSize));\n\n // Ensure currentPage is within valid bounds\n const validCurrentPage = Math.max(1, Math.min(currentPage, totalPages));\n\n const startItem = Math.min((validCurrentPage - 1) * pageSize + 1, totalItems);\n const endItem = Math.min(validCurrentPage * pageSize, totalItems);\n\n const hasPreviousPage = validCurrentPage > 1;\n const hasNextPage = validCurrentPage < totalPages;\n\n // Page navigation functions\n const goToPage = useCallback(\n (page: number) => {\n const newPage = Math.max(1, Math.min(page, totalPages));\n\n if (!isControlled) {\n setInternalCurrentPage(newPage);\n }\n\n onPageChange?.(newPage);\n },\n [totalPages, isControlled, onPageChange]\n );\n\n const goToPreviousPage = useCallback(() => {\n if (hasPreviousPage) {\n goToPage(validCurrentPage - 1);\n }\n }, [hasPreviousPage, validCurrentPage, goToPage]);\n\n const goToNextPage = useCallback(() => {\n if (hasNextPage) {\n goToPage(validCurrentPage + 1);\n }\n }, [hasNextPage, validCurrentPage, goToPage]);\n\n const setPageSize = useCallback(\n (newPageSize: number) => {\n const newTotalPages = Math.ceil(totalItems / newPageSize);\n const newPage = Math.min(validCurrentPage, newTotalPages);\n\n setInternalPageSize(newPageSize);\n\n if (!isControlled && newPage !== validCurrentPage) {\n setInternalCurrentPage(newPage);\n }\n\n onPageSizeChange?.(newPageSize);\n\n if (newPage !== validCurrentPage) {\n onPageChange?.(newPage);\n }\n },\n [totalItems, validCurrentPage, isControlled, onPageChange, onPageSizeChange]\n );\n\n return useMemo(\n () => ({\n totalItems,\n currentPage: validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n }),\n [\n totalItems,\n validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n ]\n );\n}\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n pagination: {\n id: \"Nimbus.Pagination.pagination\",\n description: \"aria-label for the pagination navigation element\",\n defaultMessage: \"Pagination\",\n },\n itemsPerPage: {\n id: \"Nimbus.Pagination.itemsPerPage\",\n description: \"aria-label for the items per page selector\",\n defaultMessage: \"Items per page\",\n },\n itemsPerPageText: {\n id: \"Nimbus.Pagination.itemsPerPageText\",\n description: \"text label displayed next to the page size selector\",\n defaultMessage: \"items per page\",\n },\n goToPreviousPage: {\n id: \"Nimbus.Pagination.goToPreviousPage\",\n description: \"aria-label for the previous page button\",\n defaultMessage: \"Go to previous page\",\n },\n currentPage: {\n id: \"Nimbus.Pagination.currentPage\",\n description: \"aria-label for the current page input field\",\n defaultMessage: \"Current page\",\n },\n page: {\n id: \"Nimbus.Pagination.page\",\n description: \"text label displayed before the page number\",\n defaultMessage: \"Page\",\n },\n ofTotalPages: {\n id: \"Nimbus.Pagination.ofTotalPages\",\n description: \"text showing total pages count after current page input\",\n defaultMessage: \"of {totalPages}\",\n },\n goToNextPage: {\n id: \"Nimbus.Pagination.goToNextPage\",\n description: \"aria-label for the next page button\",\n defaultMessage: \"Go to next page\",\n },\n});\n","import { useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { ChevronLeft, ChevronRight } from \"@commercetools/nimbus-icons\";\nimport {\n Flex,\n IconButton,\n NumberInput,\n Select,\n Stack,\n Text,\n} from \"@/components\";\nimport { usePagination } from \"./hooks/use-pagination\";\nimport type { PaginationProps } from \"./pagination.types\";\nimport { messages } from \"./pagination.i18n\";\n\n/**\n * # Pagination\n *\n * A component that allows users to navigate through pages and control page size.\n * Combines a page size selector and page navigator for comprehensive pagination control.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/pagination}\n */\nexport const Pagination = (props: PaginationProps) => {\n const intl = useIntl();\n const {\n totalItems,\n currentPage,\n pageSize,\n pageSizeOptions = [10, 20, 50, 100],\n onPageChange,\n onPageSizeChange,\n \"aria-label\": ariaLabel,\n enablePageInput = true,\n enablePageSizeSelector = true,\n } = props;\n\n const pagination = usePagination({\n totalItems,\n currentPage,\n pageSize,\n onPageChange,\n onPageSizeChange,\n });\n\n // Prepare page size options for select\n const pageSizeSelectOptions = useMemo(\n () =>\n pageSizeOptions.map((size) => ({\n id: size.toString(),\n name: `${size}`,\n })),\n [pageSizeOptions]\n );\n\n const handlePageSizeChange = (key: React.Key | null) => {\n if (key) {\n const newPageSize = parseInt(key.toString(), 10);\n pagination.setPageSize(newPageSize);\n }\n };\n\n return (\n <Stack gap=\"400\" direction={{ base: \"column\", sm: \"row\" }} align=\"center\">\n {/* Page Size Selector */}\n {enablePageSizeSelector && (\n <Flex align=\"center\" gap=\"200\">\n <Select.Root\n isClearable={false}\n selectedKey={pagination.pageSize.toString()}\n onSelectionChange={handlePageSizeChange}\n aria-label={intl.formatMessage(messages.itemsPerPage)}\n >\n <Select.Options>\n {pageSizeSelectOptions.map((option) => (\n <Select.Option key={option.id} id={option.id}>\n {option.name}\n </Select.Option>\n ))}\n </Select.Options>\n </Select.Root>\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.itemsPerPageText)}\n </Text>\n </Flex>\n )}\n <Flex flexGrow=\"1\" />\n {/* Page Navigator */}\n <Flex\n align=\"center\"\n gap=\"200\"\n role=\"navigation\"\n aria-label={ariaLabel ?? intl.formatMessage(messages.pagination)}\n >\n <IconButton\n onClick={pagination.goToPreviousPage}\n isDisabled={!pagination.hasPreviousPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToPreviousPage)}\n >\n <ChevronLeft />\n </IconButton>\n\n <Flex align=\"center\" gap=\"200\">\n <Text color=\"neutral.12\">{intl.formatMessage(messages.page)}</Text>\n {enablePageInput ? (\n <NumberInput\n value={pagination.currentPage}\n onChange={(value: number | undefined) =>\n pagination.goToPage(value || 1)\n }\n minValue={1}\n maxValue={pagination.totalPages}\n step={1}\n isDisabled={false}\n width=\"9ch\"\n aria-label={intl.formatMessage(messages.currentPage)}\n aria-current=\"page\"\n />\n ) : (\n <Text fontWeight=\"semibold\" color=\"neutral.12\" aria-current=\"page\">\n {pagination.currentPage}\n </Text>\n )}\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.ofTotalPages, {\n totalPages: intl.formatNumber(pagination.totalPages),\n })}\n </Text>\n </Flex>\n\n <IconButton\n onClick={pagination.goToNextPage}\n isDisabled={!pagination.hasNextPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToNextPage)}\n >\n <ChevronRight />\n </IconButton>\n </Flex>\n </Stack>\n );\n};\n\n// Manually assign a displayName for debugging purposes\nPagination.displayName = \"Pagination\";\n"],"names":["usePagination","totalItems","controlledCurrentPage","controlledPageSize","onPageChange","onPageSizeChange","internalCurrentPage","setInternalCurrentPage","useState","internalPageSize","setInternalPageSize","isControlled","currentPage","pageSize","totalPages","validCurrentPage","startItem","endItem","hasPreviousPage","hasNextPage","goToPage","useCallback","page","newPage","goToPreviousPage","goToNextPage","setPageSize","newPageSize","newTotalPages","useMemo","messages","defineMessages","Pagination","props","intl","useIntl","pageSizeOptions","ariaLabel","enablePageInput","enablePageSizeSelector","pagination","pageSizeSelectOptions","size","handlePageSizeChange","key","jsxs","Stack","Flex","jsx","Select","option","Text","IconButton","ChevronLeft","NumberInput","value","ChevronRight"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const a=require("react/jsx-runtime"),g=require("react"),F=require("react-intl"),w=require("@commercetools/nimbus-icons"),R=require("./stack-CIN13EDn.cjs.js"),T=require("@chakra-ui/react/flex"),q=require("./select-CWaI47Kc.cjs.js"),j=require("./text-BtRhIklG.cjs.js"),y=require("./icon-button-DJZJwO7E.cjs.js"),B=require("./number-input-D5uge6-t.cjs.js");function D({totalItems:s,currentPage:n,pageSize:p=20,onPageChange:c,onPageSizeChange:d}){const[m,x]=g.useState(1),[v,N]=g.useState(p),l=n!==void 0,C=l?n:m,e=p??v,o=Math.max(1,Math.ceil(s/e)),t=Math.max(1,Math.min(C,o)),i=Math.min((t-1)*e+1,s),h=Math.min(t*e,s),b=t>1,f=t<o,u=g.useCallback(P=>{const M=Math.max(1,Math.min(P,o));l||x(M),c?.(M)},[o,l,c]),z=g.useCallback(()=>{b&&u(t-1)},[b,t,u]),I=g.useCallback(()=>{f&&u(t+1)},[f,t,u]),k=g.useCallback(P=>{const M=Math.ceil(s/P),S=Math.min(t,M);N(P),!l&&S!==t&&x(S),d?.(P),S!==t&&c?.(S)},[s,t,l,c,d]);return g.useMemo(()=>({totalItems:s,currentPage:t,pageSize:e,totalPages:o,startItem:i,endItem:h,hasPreviousPage:b,hasNextPage:f,goToPage:u,goToPreviousPage:z,goToNextPage:I,setPageSize:k}),[s,t,e,o,i,h,b,f,u,z,I,k])}const r=F.defineMessages({pagination:{id:"Nimbus.Pagination.pagination",description:"aria-label for the pagination navigation element",defaultMessage:"Pagination"},itemsPerPage:{id:"Nimbus.Pagination.itemsPerPage",description:"aria-label for the items per page selector",defaultMessage:"Items per page"},itemsPerPageText:{id:"Nimbus.Pagination.itemsPerPageText",description:"text label displayed next to the page size selector",defaultMessage:"items per page"},goToPreviousPage:{id:"Nimbus.Pagination.goToPreviousPage",description:"aria-label for the previous page button",defaultMessage:"Go to previous page"},currentPage:{id:"Nimbus.Pagination.currentPage",description:"aria-label for the current page input field",defaultMessage:"Current page"},page:{id:"Nimbus.Pagination.page",description:"text label displayed before the page number",defaultMessage:"Page"},ofTotalPages:{id:"Nimbus.Pagination.ofTotalPages",description:"text showing total pages count after current page input",defaultMessage:"of {totalPages}"},goToNextPage:{id:"Nimbus.Pagination.goToNextPage",description:"aria-label for the next page button",defaultMessage:"Go to next page"}}),O=s=>{const n=F.useIntl(),{totalItems:p,currentPage:c,pageSize:d,pageSizeOptions:m=[10,20,50,100],onPageChange:x,onPageSizeChange:v,"aria-label":N,enablePageInput:l=!0,enablePageSizeSelector:C=!0}=s,e=D({totalItems:p,currentPage:c,pageSize:d,onPageChange:x,onPageSizeChange:v}),o=g.useMemo(()=>m.map(i=>({id:i.toString(),name:`${i}`})),[m]),t=i=>{if(i){const h=parseInt(i.toString(),10);e.setPageSize(h)}};return a.jsxs(R.Stack,{gap:"400",direction:{base:"column",sm:"row"},align:"center",children:[C&&a.jsxs(T.Flex,{align:"center",gap:"200",children:[a.jsx(q.Select.Root,{isClearable:!1,selectedKey:e.pageSize.toString(),onSelectionChange:t,"aria-label":n.formatMessage(r.itemsPerPage),children:a.jsx(q.Select.Options,{children:o.map(i=>a.jsx(q.Select.Option,{id:i.id,children:i.name},i.id))})}),a.jsx(j.Text,{color:"neutral.12",children:n.formatMessage(r.itemsPerPageText)})]}),a.jsx(T.Flex,{flexGrow:"1"}),a.jsxs(T.Flex,{align:"center",gap:"200",role:"navigation","aria-label":N??n.formatMessage(r.pagination),children:[a.jsx(y.IconButton,{onClick:e.goToPreviousPage,isDisabled:!e.hasPreviousPage,variant:"ghost",tone:"primary","aria-label":n.formatMessage(r.goToPreviousPage),children:a.jsx(w.ChevronLeft,{})}),a.jsxs(T.Flex,{align:"center",gap:"200",children:[a.jsx(j.Text,{color:"neutral.12",children:n.formatMessage(r.page)}),l?a.jsx(B.NumberInput,{value:e.currentPage,onChange:i=>e.goToPage(i||1),minValue:1,maxValue:e.totalPages,step:1,isDisabled:!1,width:"9ch","aria-label":n.formatMessage(r.currentPage),"aria-current":"page"}):a.jsx(j.Text,{fontWeight:"semibold",color:"neutral.12","aria-current":"page",children:e.currentPage}),a.jsx(j.Text,{color:"neutral.12",children:n.formatMessage(r.ofTotalPages,{totalPages:n.formatNumber(e.totalPages)})})]}),a.jsx(y.IconButton,{onClick:e.goToNextPage,isDisabled:!e.hasNextPage,variant:"ghost",tone:"primary","aria-label":n.formatMessage(r.goToNextPage),children:a.jsx(w.ChevronRight,{})})]})]})};O.displayName="Pagination";exports.Pagination=O;
2
- //# sourceMappingURL=pagination-Dbf6i8je.cjs.js.map
1
+ "use strict";const a=require("react/jsx-runtime"),g=require("react"),F=require("react-intl"),w=require("@commercetools/nimbus-icons"),R=require("./stack-CIN13EDn.cjs.js"),T=require("@chakra-ui/react/flex"),q=require("./select-5S6KoqpX.cjs.js"),j=require("./text-BtRhIklG.cjs.js"),y=require("./icon-button-Dpm72ZM3.cjs.js"),B=require("./number-input-BoKK83TD.cjs.js");function D({totalItems:s,currentPage:n,pageSize:p=20,onPageChange:c,onPageSizeChange:d}){const[m,x]=g.useState(1),[v,N]=g.useState(p),l=n!==void 0,C=l?n:m,e=p??v,o=Math.max(1,Math.ceil(s/e)),t=Math.max(1,Math.min(C,o)),i=Math.min((t-1)*e+1,s),h=Math.min(t*e,s),b=t>1,f=t<o,u=g.useCallback(P=>{const M=Math.max(1,Math.min(P,o));l||x(M),c?.(M)},[o,l,c]),z=g.useCallback(()=>{b&&u(t-1)},[b,t,u]),I=g.useCallback(()=>{f&&u(t+1)},[f,t,u]),k=g.useCallback(P=>{const M=Math.ceil(s/P),S=Math.min(t,M);N(P),!l&&S!==t&&x(S),d?.(P),S!==t&&c?.(S)},[s,t,l,c,d]);return g.useMemo(()=>({totalItems:s,currentPage:t,pageSize:e,totalPages:o,startItem:i,endItem:h,hasPreviousPage:b,hasNextPage:f,goToPage:u,goToPreviousPage:z,goToNextPage:I,setPageSize:k}),[s,t,e,o,i,h,b,f,u,z,I,k])}const r=F.defineMessages({pagination:{id:"Nimbus.Pagination.pagination",description:"aria-label for the pagination navigation element",defaultMessage:"Pagination"},itemsPerPage:{id:"Nimbus.Pagination.itemsPerPage",description:"aria-label for the items per page selector",defaultMessage:"Items per page"},itemsPerPageText:{id:"Nimbus.Pagination.itemsPerPageText",description:"text label displayed next to the page size selector",defaultMessage:"items per page"},goToPreviousPage:{id:"Nimbus.Pagination.goToPreviousPage",description:"aria-label for the previous page button",defaultMessage:"Go to previous page"},currentPage:{id:"Nimbus.Pagination.currentPage",description:"aria-label for the current page input field",defaultMessage:"Current page"},page:{id:"Nimbus.Pagination.page",description:"text label displayed before the page number",defaultMessage:"Page"},ofTotalPages:{id:"Nimbus.Pagination.ofTotalPages",description:"text showing total pages count after current page input",defaultMessage:"of {totalPages}"},goToNextPage:{id:"Nimbus.Pagination.goToNextPage",description:"aria-label for the next page button",defaultMessage:"Go to next page"}}),O=s=>{const n=F.useIntl(),{totalItems:p,currentPage:c,pageSize:d,pageSizeOptions:m=[10,20,50,100],onPageChange:x,onPageSizeChange:v,"aria-label":N,enablePageInput:l=!0,enablePageSizeSelector:C=!0}=s,e=D({totalItems:p,currentPage:c,pageSize:d,onPageChange:x,onPageSizeChange:v}),o=g.useMemo(()=>m.map(i=>({id:i.toString(),name:`${i}`})),[m]),t=i=>{if(i){const h=parseInt(i.toString(),10);e.setPageSize(h)}};return a.jsxs(R.Stack,{gap:"400",direction:{base:"column",sm:"row"},align:"center",children:[C&&a.jsxs(T.Flex,{align:"center",gap:"200",children:[a.jsx(q.Select.Root,{isClearable:!1,selectedKey:e.pageSize.toString(),onSelectionChange:t,"aria-label":n.formatMessage(r.itemsPerPage),children:a.jsx(q.Select.Options,{children:o.map(i=>a.jsx(q.Select.Option,{id:i.id,children:i.name},i.id))})}),a.jsx(j.Text,{color:"neutral.12",children:n.formatMessage(r.itemsPerPageText)})]}),a.jsx(T.Flex,{flexGrow:"1"}),a.jsxs(T.Flex,{align:"center",gap:"200",role:"navigation","aria-label":N??n.formatMessage(r.pagination),children:[a.jsx(y.IconButton,{onClick:e.goToPreviousPage,isDisabled:!e.hasPreviousPage,variant:"ghost",tone:"primary","aria-label":n.formatMessage(r.goToPreviousPage),children:a.jsx(w.ChevronLeft,{})}),a.jsxs(T.Flex,{align:"center",gap:"200",children:[a.jsx(j.Text,{color:"neutral.12",children:n.formatMessage(r.page)}),l?a.jsx(B.NumberInput,{value:e.currentPage,onChange:i=>e.goToPage(i||1),minValue:1,maxValue:e.totalPages,step:1,isDisabled:!1,width:"9ch","aria-label":n.formatMessage(r.currentPage),"aria-current":"page"}):a.jsx(j.Text,{fontWeight:"semibold",color:"neutral.12","aria-current":"page",children:e.currentPage}),a.jsx(j.Text,{color:"neutral.12",children:n.formatMessage(r.ofTotalPages,{totalPages:n.formatNumber(e.totalPages)})})]}),a.jsx(y.IconButton,{onClick:e.goToNextPage,isDisabled:!e.hasNextPage,variant:"ghost",tone:"primary","aria-label":n.formatMessage(r.goToNextPage),children:a.jsx(w.ChevronRight,{})})]})]})};O.displayName="Pagination";exports.Pagination=O;
2
+ //# sourceMappingURL=pagination-C4k5hXOQ.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-Dbf6i8je.cjs.js","sources":["../../src/components/pagination/hooks/use-pagination.ts","../../src/components/pagination/pagination.i18n.ts","../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { useState, useCallback, useMemo } from \"react\";\n\nexport type PaginationState = {\n /** Total number of items across all pages */\n totalItems: number;\n /** Current active page (1-based) */\n currentPage: number;\n /** Number of items displayed per page */\n pageSize: number;\n /** Total number of pages available */\n totalPages: number;\n /** Index of the first item on current page (1-based) */\n startItem: number;\n /** Index of the last item on current page (1-based) */\n endItem: number;\n /** Whether there is a previous page available */\n hasPreviousPage: boolean;\n /** Whether there is a next page available */\n hasNextPage: boolean;\n};\n\nexport type UsePaginationProps = {\n /** Total number of items to paginate */\n totalItems: number;\n /** Initial current page (1-based), defaults to 1 */\n currentPage?: number;\n /** Initial number of items per page, defaults to 10 */\n pageSize?: number;\n /** Callback fired when the current page changes */\n onPageChange?: (page: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n};\n\nexport type UsePaginationReturn = PaginationState & {\n /** Navigate to a specific page number (1-based) */\n goToPage: (page: number) => void;\n /** Navigate to the previous page, if available */\n goToPreviousPage: () => void;\n /** Navigate to the next page, if available */\n goToNextPage: () => void;\n /** Change the number of items displayed per page */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * # usePagination\n *\n * Custom hook that provides pagination state management and navigation controls.\n *\n * Supports both controlled and uncontrolled modes:\n * - Controlled: Parent component manages currentPage state via props and callbacks\n * - Uncontrolled: Hook manages internal currentPage state automatically\n *\n * @param props - Configuration object for pagination behavior\n * @param props.totalItems - Total number of items to paginate\n * @param props.currentPage - Current page number (controlled mode). If undefined, uses uncontrolled mode\n * @param props.pageSize - Number of items per page (defaults to 20)\n * @param props.onPageChange - Callback fired when page changes\n * @param props.onPageSizeChange - Callback fired when page size changes\n *\n * @returns Object containing pagination state and navigation functions:\n * - totalItems: Total number of items\n * - currentPage: Current active page number (1-based)\n * - pageSize: Number of items per page\n * - totalPages: Total number of pages\n * - startItem: First item number on current page\n * - endItem: Last item number on current page\n * - hasPreviousPage: Whether previous page exists\n * - hasNextPage: Whether next page exists\n * - goToPage: Function to navigate to specific page\n * - goToPreviousPage: Function to navigate to previous page\n * - goToNextPage: Function to navigate to next page\n * - setPageSize: Function to change page size\n *\n */\nexport function usePagination({\n totalItems,\n currentPage: controlledCurrentPage,\n pageSize: controlledPageSize = 20,\n onPageChange,\n onPageSizeChange,\n}: UsePaginationProps): UsePaginationReturn {\n // Internal state for uncontrolled mode\n const [internalCurrentPage, setInternalCurrentPage] = useState(1);\n const [internalPageSize, setInternalPageSize] = useState(controlledPageSize);\n\n // Determine if controlled or uncontrolled\n const isControlled = controlledCurrentPage !== undefined;\n const currentPage = isControlled\n ? controlledCurrentPage\n : internalCurrentPage;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Calculate pagination values\n const totalPages = Math.max(1, Math.ceil(totalItems / pageSize));\n\n // Ensure currentPage is within valid bounds\n const validCurrentPage = Math.max(1, Math.min(currentPage, totalPages));\n\n const startItem = Math.min((validCurrentPage - 1) * pageSize + 1, totalItems);\n const endItem = Math.min(validCurrentPage * pageSize, totalItems);\n\n const hasPreviousPage = validCurrentPage > 1;\n const hasNextPage = validCurrentPage < totalPages;\n\n // Page navigation functions\n const goToPage = useCallback(\n (page: number) => {\n const newPage = Math.max(1, Math.min(page, totalPages));\n\n if (!isControlled) {\n setInternalCurrentPage(newPage);\n }\n\n onPageChange?.(newPage);\n },\n [totalPages, isControlled, onPageChange]\n );\n\n const goToPreviousPage = useCallback(() => {\n if (hasPreviousPage) {\n goToPage(validCurrentPage - 1);\n }\n }, [hasPreviousPage, validCurrentPage, goToPage]);\n\n const goToNextPage = useCallback(() => {\n if (hasNextPage) {\n goToPage(validCurrentPage + 1);\n }\n }, [hasNextPage, validCurrentPage, goToPage]);\n\n const setPageSize = useCallback(\n (newPageSize: number) => {\n const newTotalPages = Math.ceil(totalItems / newPageSize);\n const newPage = Math.min(validCurrentPage, newTotalPages);\n\n setInternalPageSize(newPageSize);\n\n if (!isControlled && newPage !== validCurrentPage) {\n setInternalCurrentPage(newPage);\n }\n\n onPageSizeChange?.(newPageSize);\n\n if (newPage !== validCurrentPage) {\n onPageChange?.(newPage);\n }\n },\n [totalItems, validCurrentPage, isControlled, onPageChange, onPageSizeChange]\n );\n\n return useMemo(\n () => ({\n totalItems,\n currentPage: validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n }),\n [\n totalItems,\n validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n ]\n );\n}\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n pagination: {\n id: \"Nimbus.Pagination.pagination\",\n description: \"aria-label for the pagination navigation element\",\n defaultMessage: \"Pagination\",\n },\n itemsPerPage: {\n id: \"Nimbus.Pagination.itemsPerPage\",\n description: \"aria-label for the items per page selector\",\n defaultMessage: \"Items per page\",\n },\n itemsPerPageText: {\n id: \"Nimbus.Pagination.itemsPerPageText\",\n description: \"text label displayed next to the page size selector\",\n defaultMessage: \"items per page\",\n },\n goToPreviousPage: {\n id: \"Nimbus.Pagination.goToPreviousPage\",\n description: \"aria-label for the previous page button\",\n defaultMessage: \"Go to previous page\",\n },\n currentPage: {\n id: \"Nimbus.Pagination.currentPage\",\n description: \"aria-label for the current page input field\",\n defaultMessage: \"Current page\",\n },\n page: {\n id: \"Nimbus.Pagination.page\",\n description: \"text label displayed before the page number\",\n defaultMessage: \"Page\",\n },\n ofTotalPages: {\n id: \"Nimbus.Pagination.ofTotalPages\",\n description: \"text showing total pages count after current page input\",\n defaultMessage: \"of {totalPages}\",\n },\n goToNextPage: {\n id: \"Nimbus.Pagination.goToNextPage\",\n description: \"aria-label for the next page button\",\n defaultMessage: \"Go to next page\",\n },\n});\n","import { useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { ChevronLeft, ChevronRight } from \"@commercetools/nimbus-icons\";\nimport {\n Flex,\n IconButton,\n NumberInput,\n Select,\n Stack,\n Text,\n} from \"@/components\";\nimport { usePagination } from \"./hooks/use-pagination\";\nimport type { PaginationProps } from \"./pagination.types\";\nimport { messages } from \"./pagination.i18n\";\n\n/**\n * # Pagination\n *\n * A component that allows users to navigate through pages and control page size.\n * Combines a page size selector and page navigator for comprehensive pagination control.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/pagination}\n */\nexport const Pagination = (props: PaginationProps) => {\n const intl = useIntl();\n const {\n totalItems,\n currentPage,\n pageSize,\n pageSizeOptions = [10, 20, 50, 100],\n onPageChange,\n onPageSizeChange,\n \"aria-label\": ariaLabel,\n enablePageInput = true,\n enablePageSizeSelector = true,\n } = props;\n\n const pagination = usePagination({\n totalItems,\n currentPage,\n pageSize,\n onPageChange,\n onPageSizeChange,\n });\n\n // Prepare page size options for select\n const pageSizeSelectOptions = useMemo(\n () =>\n pageSizeOptions.map((size) => ({\n id: size.toString(),\n name: `${size}`,\n })),\n [pageSizeOptions]\n );\n\n const handlePageSizeChange = (key: React.Key | null) => {\n if (key) {\n const newPageSize = parseInt(key.toString(), 10);\n pagination.setPageSize(newPageSize);\n }\n };\n\n return (\n <Stack gap=\"400\" direction={{ base: \"column\", sm: \"row\" }} align=\"center\">\n {/* Page Size Selector */}\n {enablePageSizeSelector && (\n <Flex align=\"center\" gap=\"200\">\n <Select.Root\n isClearable={false}\n selectedKey={pagination.pageSize.toString()}\n onSelectionChange={handlePageSizeChange}\n aria-label={intl.formatMessage(messages.itemsPerPage)}\n >\n <Select.Options>\n {pageSizeSelectOptions.map((option) => (\n <Select.Option key={option.id} id={option.id}>\n {option.name}\n </Select.Option>\n ))}\n </Select.Options>\n </Select.Root>\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.itemsPerPageText)}\n </Text>\n </Flex>\n )}\n <Flex flexGrow=\"1\" />\n {/* Page Navigator */}\n <Flex\n align=\"center\"\n gap=\"200\"\n role=\"navigation\"\n aria-label={ariaLabel ?? intl.formatMessage(messages.pagination)}\n >\n <IconButton\n onClick={pagination.goToPreviousPage}\n isDisabled={!pagination.hasPreviousPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToPreviousPage)}\n >\n <ChevronLeft />\n </IconButton>\n\n <Flex align=\"center\" gap=\"200\">\n <Text color=\"neutral.12\">{intl.formatMessage(messages.page)}</Text>\n {enablePageInput ? (\n <NumberInput\n value={pagination.currentPage}\n onChange={(value: number | undefined) =>\n pagination.goToPage(value || 1)\n }\n minValue={1}\n maxValue={pagination.totalPages}\n step={1}\n isDisabled={false}\n width=\"9ch\"\n aria-label={intl.formatMessage(messages.currentPage)}\n aria-current=\"page\"\n />\n ) : (\n <Text fontWeight=\"semibold\" color=\"neutral.12\" aria-current=\"page\">\n {pagination.currentPage}\n </Text>\n )}\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.ofTotalPages, {\n totalPages: intl.formatNumber(pagination.totalPages),\n })}\n </Text>\n </Flex>\n\n <IconButton\n onClick={pagination.goToNextPage}\n isDisabled={!pagination.hasNextPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToNextPage)}\n >\n <ChevronRight />\n </IconButton>\n </Flex>\n </Stack>\n );\n};\n\n// Manually assign a displayName for debugging purposes\nPagination.displayName = \"Pagination\";\n"],"names":["usePagination","totalItems","controlledCurrentPage","controlledPageSize","onPageChange","onPageSizeChange","internalCurrentPage","setInternalCurrentPage","useState","internalPageSize","setInternalPageSize","isControlled","currentPage","pageSize","totalPages","validCurrentPage","startItem","endItem","hasPreviousPage","hasNextPage","goToPage","useCallback","page","newPage","goToPreviousPage","goToNextPage","setPageSize","newPageSize","newTotalPages","useMemo","messages","defineMessages","Pagination","props","intl","useIntl","pageSizeOptions","ariaLabel","enablePageInput","enablePageSizeSelector","pagination","pageSizeSelectOptions","size","handlePageSizeChange","key","jsxs","Stack","Flex","jsx","Select","option","Text","IconButton","ChevronLeft","NumberInput","value","ChevronRight"],"mappings":"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"}
1
+ {"version":3,"file":"pagination-C4k5hXOQ.cjs.js","sources":["../../src/components/pagination/hooks/use-pagination.ts","../../src/components/pagination/pagination.i18n.ts","../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { useState, useCallback, useMemo } from \"react\";\n\nexport type PaginationState = {\n /** Total number of items across all pages */\n totalItems: number;\n /** Current active page (1-based) */\n currentPage: number;\n /** Number of items displayed per page */\n pageSize: number;\n /** Total number of pages available */\n totalPages: number;\n /** Index of the first item on current page (1-based) */\n startItem: number;\n /** Index of the last item on current page (1-based) */\n endItem: number;\n /** Whether there is a previous page available */\n hasPreviousPage: boolean;\n /** Whether there is a next page available */\n hasNextPage: boolean;\n};\n\nexport type UsePaginationProps = {\n /** Total number of items to paginate */\n totalItems: number;\n /** Initial current page (1-based), defaults to 1 */\n currentPage?: number;\n /** Initial number of items per page, defaults to 10 */\n pageSize?: number;\n /** Callback fired when the current page changes */\n onPageChange?: (page: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n};\n\nexport type UsePaginationReturn = PaginationState & {\n /** Navigate to a specific page number (1-based) */\n goToPage: (page: number) => void;\n /** Navigate to the previous page, if available */\n goToPreviousPage: () => void;\n /** Navigate to the next page, if available */\n goToNextPage: () => void;\n /** Change the number of items displayed per page */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * # usePagination\n *\n * Custom hook that provides pagination state management and navigation controls.\n *\n * Supports both controlled and uncontrolled modes:\n * - Controlled: Parent component manages currentPage state via props and callbacks\n * - Uncontrolled: Hook manages internal currentPage state automatically\n *\n * @param props - Configuration object for pagination behavior\n * @param props.totalItems - Total number of items to paginate\n * @param props.currentPage - Current page number (controlled mode). If undefined, uses uncontrolled mode\n * @param props.pageSize - Number of items per page (defaults to 20)\n * @param props.onPageChange - Callback fired when page changes\n * @param props.onPageSizeChange - Callback fired when page size changes\n *\n * @returns Object containing pagination state and navigation functions:\n * - totalItems: Total number of items\n * - currentPage: Current active page number (1-based)\n * - pageSize: Number of items per page\n * - totalPages: Total number of pages\n * - startItem: First item number on current page\n * - endItem: Last item number on current page\n * - hasPreviousPage: Whether previous page exists\n * - hasNextPage: Whether next page exists\n * - goToPage: Function to navigate to specific page\n * - goToPreviousPage: Function to navigate to previous page\n * - goToNextPage: Function to navigate to next page\n * - setPageSize: Function to change page size\n *\n */\nexport function usePagination({\n totalItems,\n currentPage: controlledCurrentPage,\n pageSize: controlledPageSize = 20,\n onPageChange,\n onPageSizeChange,\n}: UsePaginationProps): UsePaginationReturn {\n // Internal state for uncontrolled mode\n const [internalCurrentPage, setInternalCurrentPage] = useState(1);\n const [internalPageSize, setInternalPageSize] = useState(controlledPageSize);\n\n // Determine if controlled or uncontrolled\n const isControlled = controlledCurrentPage !== undefined;\n const currentPage = isControlled\n ? controlledCurrentPage\n : internalCurrentPage;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Calculate pagination values\n const totalPages = Math.max(1, Math.ceil(totalItems / pageSize));\n\n // Ensure currentPage is within valid bounds\n const validCurrentPage = Math.max(1, Math.min(currentPage, totalPages));\n\n const startItem = Math.min((validCurrentPage - 1) * pageSize + 1, totalItems);\n const endItem = Math.min(validCurrentPage * pageSize, totalItems);\n\n const hasPreviousPage = validCurrentPage > 1;\n const hasNextPage = validCurrentPage < totalPages;\n\n // Page navigation functions\n const goToPage = useCallback(\n (page: number) => {\n const newPage = Math.max(1, Math.min(page, totalPages));\n\n if (!isControlled) {\n setInternalCurrentPage(newPage);\n }\n\n onPageChange?.(newPage);\n },\n [totalPages, isControlled, onPageChange]\n );\n\n const goToPreviousPage = useCallback(() => {\n if (hasPreviousPage) {\n goToPage(validCurrentPage - 1);\n }\n }, [hasPreviousPage, validCurrentPage, goToPage]);\n\n const goToNextPage = useCallback(() => {\n if (hasNextPage) {\n goToPage(validCurrentPage + 1);\n }\n }, [hasNextPage, validCurrentPage, goToPage]);\n\n const setPageSize = useCallback(\n (newPageSize: number) => {\n const newTotalPages = Math.ceil(totalItems / newPageSize);\n const newPage = Math.min(validCurrentPage, newTotalPages);\n\n setInternalPageSize(newPageSize);\n\n if (!isControlled && newPage !== validCurrentPage) {\n setInternalCurrentPage(newPage);\n }\n\n onPageSizeChange?.(newPageSize);\n\n if (newPage !== validCurrentPage) {\n onPageChange?.(newPage);\n }\n },\n [totalItems, validCurrentPage, isControlled, onPageChange, onPageSizeChange]\n );\n\n return useMemo(\n () => ({\n totalItems,\n currentPage: validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n }),\n [\n totalItems,\n validCurrentPage,\n pageSize,\n totalPages,\n startItem,\n endItem,\n hasPreviousPage,\n hasNextPage,\n goToPage,\n goToPreviousPage,\n goToNextPage,\n setPageSize,\n ]\n );\n}\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n pagination: {\n id: \"Nimbus.Pagination.pagination\",\n description: \"aria-label for the pagination navigation element\",\n defaultMessage: \"Pagination\",\n },\n itemsPerPage: {\n id: \"Nimbus.Pagination.itemsPerPage\",\n description: \"aria-label for the items per page selector\",\n defaultMessage: \"Items per page\",\n },\n itemsPerPageText: {\n id: \"Nimbus.Pagination.itemsPerPageText\",\n description: \"text label displayed next to the page size selector\",\n defaultMessage: \"items per page\",\n },\n goToPreviousPage: {\n id: \"Nimbus.Pagination.goToPreviousPage\",\n description: \"aria-label for the previous page button\",\n defaultMessage: \"Go to previous page\",\n },\n currentPage: {\n id: \"Nimbus.Pagination.currentPage\",\n description: \"aria-label for the current page input field\",\n defaultMessage: \"Current page\",\n },\n page: {\n id: \"Nimbus.Pagination.page\",\n description: \"text label displayed before the page number\",\n defaultMessage: \"Page\",\n },\n ofTotalPages: {\n id: \"Nimbus.Pagination.ofTotalPages\",\n description: \"text showing total pages count after current page input\",\n defaultMessage: \"of {totalPages}\",\n },\n goToNextPage: {\n id: \"Nimbus.Pagination.goToNextPage\",\n description: \"aria-label for the next page button\",\n defaultMessage: \"Go to next page\",\n },\n});\n","import { useMemo } from \"react\";\nimport { useIntl } from \"react-intl\";\nimport { ChevronLeft, ChevronRight } from \"@commercetools/nimbus-icons\";\nimport {\n Flex,\n IconButton,\n NumberInput,\n Select,\n Stack,\n Text,\n} from \"@/components\";\nimport { usePagination } from \"./hooks/use-pagination\";\nimport type { PaginationProps } from \"./pagination.types\";\nimport { messages } from \"./pagination.i18n\";\n\n/**\n * # Pagination\n *\n * A component that allows users to navigate through pages and control page size.\n * Combines a page size selector and page navigator for comprehensive pagination control.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/pagination}\n */\nexport const Pagination = (props: PaginationProps) => {\n const intl = useIntl();\n const {\n totalItems,\n currentPage,\n pageSize,\n pageSizeOptions = [10, 20, 50, 100],\n onPageChange,\n onPageSizeChange,\n \"aria-label\": ariaLabel,\n enablePageInput = true,\n enablePageSizeSelector = true,\n } = props;\n\n const pagination = usePagination({\n totalItems,\n currentPage,\n pageSize,\n onPageChange,\n onPageSizeChange,\n });\n\n // Prepare page size options for select\n const pageSizeSelectOptions = useMemo(\n () =>\n pageSizeOptions.map((size) => ({\n id: size.toString(),\n name: `${size}`,\n })),\n [pageSizeOptions]\n );\n\n const handlePageSizeChange = (key: React.Key | null) => {\n if (key) {\n const newPageSize = parseInt(key.toString(), 10);\n pagination.setPageSize(newPageSize);\n }\n };\n\n return (\n <Stack gap=\"400\" direction={{ base: \"column\", sm: \"row\" }} align=\"center\">\n {/* Page Size Selector */}\n {enablePageSizeSelector && (\n <Flex align=\"center\" gap=\"200\">\n <Select.Root\n isClearable={false}\n selectedKey={pagination.pageSize.toString()}\n onSelectionChange={handlePageSizeChange}\n aria-label={intl.formatMessage(messages.itemsPerPage)}\n >\n <Select.Options>\n {pageSizeSelectOptions.map((option) => (\n <Select.Option key={option.id} id={option.id}>\n {option.name}\n </Select.Option>\n ))}\n </Select.Options>\n </Select.Root>\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.itemsPerPageText)}\n </Text>\n </Flex>\n )}\n <Flex flexGrow=\"1\" />\n {/* Page Navigator */}\n <Flex\n align=\"center\"\n gap=\"200\"\n role=\"navigation\"\n aria-label={ariaLabel ?? intl.formatMessage(messages.pagination)}\n >\n <IconButton\n onClick={pagination.goToPreviousPage}\n isDisabled={!pagination.hasPreviousPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToPreviousPage)}\n >\n <ChevronLeft />\n </IconButton>\n\n <Flex align=\"center\" gap=\"200\">\n <Text color=\"neutral.12\">{intl.formatMessage(messages.page)}</Text>\n {enablePageInput ? (\n <NumberInput\n value={pagination.currentPage}\n onChange={(value: number | undefined) =>\n pagination.goToPage(value || 1)\n }\n minValue={1}\n maxValue={pagination.totalPages}\n step={1}\n isDisabled={false}\n width=\"9ch\"\n aria-label={intl.formatMessage(messages.currentPage)}\n aria-current=\"page\"\n />\n ) : (\n <Text fontWeight=\"semibold\" color=\"neutral.12\" aria-current=\"page\">\n {pagination.currentPage}\n </Text>\n )}\n <Text color=\"neutral.12\">\n {intl.formatMessage(messages.ofTotalPages, {\n totalPages: intl.formatNumber(pagination.totalPages),\n })}\n </Text>\n </Flex>\n\n <IconButton\n onClick={pagination.goToNextPage}\n isDisabled={!pagination.hasNextPage}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={intl.formatMessage(messages.goToNextPage)}\n >\n <ChevronRight />\n </IconButton>\n </Flex>\n </Stack>\n );\n};\n\n// Manually assign a displayName for debugging purposes\nPagination.displayName = \"Pagination\";\n"],"names":["usePagination","totalItems","controlledCurrentPage","controlledPageSize","onPageChange","onPageSizeChange","internalCurrentPage","setInternalCurrentPage","useState","internalPageSize","setInternalPageSize","isControlled","currentPage","pageSize","totalPages","validCurrentPage","startItem","endItem","hasPreviousPage","hasNextPage","goToPage","useCallback","page","newPage","goToPreviousPage","goToNextPage","setPageSize","newPageSize","newTotalPages","useMemo","messages","defineMessages","Pagination","props","intl","useIntl","pageSizeOptions","ariaLabel","enablePageInput","enablePageSizeSelector","pagination","pageSizeSelectOptions","size","handlePageSizeChange","key","jsxs","Stack","Flex","jsx","Select","option","Text","IconButton","ChevronLeft","NumberInput","value","ChevronRight"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as s, jsxs as p } from "react/jsx-runtime";
2
2
  import { useState as w } from "react";
3
- import { T as f } from "./text-input-CSkQFwGX.es.js";
3
+ import { T as f } from "./text-input-De_9rKQ7.es.js";
4
4
  import { VisibilityOff as h, Visibility as u } from "@commercetools/nimbus-icons";
5
5
  import { defineMessages as b, useIntl as c, FormattedMessage as g } from "react-intl";
6
6
  import { b as r } from "./tooltip-CDmtIjmS.es.js";
7
- import { I } from "./icon-button-Bvr0zLGt.es.js";
7
+ import { I } from "./icon-button-CKpO4Zvy.es.js";
8
8
  const t = /* @__PURE__ */ b({
9
9
  hide: {
10
10
  id: "Nimbus.PasswordInput.hide",
@@ -51,4 +51,4 @@ P.displayName = "PasswordInput";
51
51
  export {
52
52
  P
53
53
  };
54
- //# sourceMappingURL=password-input-D-WKBfJ_.es.js.map
54
+ //# sourceMappingURL=password-input-BdB9kh4U.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"password-input-D-WKBfJ_.es.js","sources":["../../src/components/password-input/password-input.i18n.ts","../../src/components/password-input/password-input.tsx"],"sourcesContent":["import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n hide: {\n id: \"Nimbus.PasswordInput.hide\",\n description: \"aria-label & tooltip for hide password button\",\n defaultMessage: \"Hide password\",\n },\n show: {\n id: \"Nimbus.PasswordInput.show\",\n description: \"aria-label & tooltip for show password button\",\n defaultMessage: \"Show password\",\n },\n});\n","import { useState } from \"react\";\nimport { IconButton, Tooltip } from \"@/components\";\nimport { TextInput } from \"@/components/text-input\";\nimport { Visibility, VisibilityOff } from \"@commercetools/nimbus-icons\";\nimport type { PasswordInputProps } from \"./password-input.types\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { messages } from \"./password-input.i18n\";\n\n/**\n * # PasswordInput\n *\n * A password input is a text field that hides entered characters for secure password entry.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/passwordinput}\n */\nexport const PasswordInput = (props: PasswordInputProps) => {\n const { ref, size = \"md\", isDisabled } = props;\n\n const intl = useIntl();\n const [showPassword, setShowPassword] = useState(false);\n\n const toggleVisibility = () => setShowPassword(!showPassword);\n\n return (\n <TextInput\n ref={ref}\n {...props}\n trailingElement={\n <Tooltip.Root>\n <IconButton\n size={size === \"md\" ? \"xs\" : \"2xs\"}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={\n showPassword\n ? intl.formatMessage(messages.hide)\n : intl.formatMessage(messages.show)\n }\n onPress={toggleVisibility}\n isDisabled={isDisabled}\n >\n {showPassword ? <VisibilityOff /> : <Visibility />}\n </IconButton>\n <Tooltip.Content>\n <FormattedMessage\n {...(showPassword ? messages.hide : messages.show)}\n />\n </Tooltip.Content>\n </Tooltip.Root>\n }\n type={showPassword ? \"text\" : \"password\"}\n />\n );\n};\n\nPasswordInput.displayName = \"PasswordInput\";\n"],"names":["messages","defineMessages","PasswordInput","props","ref","size","isDisabled","intl","useIntl","showPassword","setShowPassword","useState","toggleVisibility","jsx","TextInput","jsxs","Tooltip","IconButton","VisibilityOff","Visibility","FormattedMessage"],"mappings":";;;;;;;AAEO,MAAMA,IAAW,gBAAAC,EAAe;AAAA,EACrC,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,gBAAgB;AAAA,EAAA;AAAA,EAElB,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,gBAAgB;AAAA,EAAA;AAEpB,CAAC,GCEYC,IAAgB,CAACC,MAA8B;AAC1D,QAAM,EAAE,KAAAC,GAAK,MAAAC,IAAO,MAAM,YAAAC,MAAeH,GAEnCI,IAAOC,EAAA,GACP,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhDC,IAAmB,MAAMF,EAAgB,CAACD,CAAY;AAE5D,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAV;AAAA,MACC,GAAGD;AAAA,MACJ,iBACE,gBAAAY,EAACC,EAAQ,MAAR,EACC,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,MAAMZ,MAAS,OAAO,OAAO;AAAA,YAC7B,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,cACEI,IACIF,EAAK,cAAcP,EAAS,IAAI,IAChCO,EAAK,cAAcP,EAAS,IAAI;AAAA,YAEtC,SAASY;AAAA,YACT,YAAAN;AAAA,YAEC,UAAAG,IAAe,gBAAAI,EAACK,GAAA,CAAA,CAAc,sBAAMC,GAAA,CAAA,CAAW;AAAA,UAAA;AAAA,QAAA;AAAA,QAElD,gBAAAN,EAACG,EAAQ,SAAR,EACC,UAAA,gBAAAH;AAAA,UAACO;AAAA,UAAA;AAAA,YACE,GAAIX,IAAeT,EAAS,OAAOA,EAAS;AAAA,UAAA;AAAA,QAAA,EAC/C,CACF;AAAA,MAAA,GACF;AAAA,MAEF,MAAMS,IAAe,SAAS;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEAP,EAAc,cAAc;"}
1
+ {"version":3,"file":"password-input-BdB9kh4U.es.js","sources":["../../src/components/password-input/password-input.i18n.ts","../../src/components/password-input/password-input.tsx"],"sourcesContent":["import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n hide: {\n id: \"Nimbus.PasswordInput.hide\",\n description: \"aria-label & tooltip for hide password button\",\n defaultMessage: \"Hide password\",\n },\n show: {\n id: \"Nimbus.PasswordInput.show\",\n description: \"aria-label & tooltip for show password button\",\n defaultMessage: \"Show password\",\n },\n});\n","import { useState } from \"react\";\nimport { IconButton, Tooltip } from \"@/components\";\nimport { TextInput } from \"@/components/text-input\";\nimport { Visibility, VisibilityOff } from \"@commercetools/nimbus-icons\";\nimport type { PasswordInputProps } from \"./password-input.types\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { messages } from \"./password-input.i18n\";\n\n/**\n * # PasswordInput\n *\n * A password input is a text field that hides entered characters for secure password entry.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/passwordinput}\n */\nexport const PasswordInput = (props: PasswordInputProps) => {\n const { ref, size = \"md\", isDisabled } = props;\n\n const intl = useIntl();\n const [showPassword, setShowPassword] = useState(false);\n\n const toggleVisibility = () => setShowPassword(!showPassword);\n\n return (\n <TextInput\n ref={ref}\n {...props}\n trailingElement={\n <Tooltip.Root>\n <IconButton\n size={size === \"md\" ? \"xs\" : \"2xs\"}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={\n showPassword\n ? intl.formatMessage(messages.hide)\n : intl.formatMessage(messages.show)\n }\n onPress={toggleVisibility}\n isDisabled={isDisabled}\n >\n {showPassword ? <VisibilityOff /> : <Visibility />}\n </IconButton>\n <Tooltip.Content>\n <FormattedMessage\n {...(showPassword ? messages.hide : messages.show)}\n />\n </Tooltip.Content>\n </Tooltip.Root>\n }\n type={showPassword ? \"text\" : \"password\"}\n />\n );\n};\n\nPasswordInput.displayName = \"PasswordInput\";\n"],"names":["messages","defineMessages","PasswordInput","props","ref","size","isDisabled","intl","useIntl","showPassword","setShowPassword","useState","toggleVisibility","jsx","TextInput","jsxs","Tooltip","IconButton","VisibilityOff","Visibility","FormattedMessage"],"mappings":";;;;;;;AAEO,MAAMA,IAAW,gBAAAC,EAAe;AAAA,EACrC,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,gBAAgB;AAAA,EAAA;AAAA,EAElB,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,gBAAgB;AAAA,EAAA;AAEpB,CAAC,GCEYC,IAAgB,CAACC,MAA8B;AAC1D,QAAM,EAAE,KAAAC,GAAK,MAAAC,IAAO,MAAM,YAAAC,MAAeH,GAEnCI,IAAOC,EAAA,GACP,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhDC,IAAmB,MAAMF,EAAgB,CAACD,CAAY;AAE5D,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAV;AAAA,MACC,GAAGD;AAAA,MACJ,iBACE,gBAAAY,EAACC,EAAQ,MAAR,EACC,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,MAAMZ,MAAS,OAAO,OAAO;AAAA,YAC7B,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,cACEI,IACIF,EAAK,cAAcP,EAAS,IAAI,IAChCO,EAAK,cAAcP,EAAS,IAAI;AAAA,YAEtC,SAASY;AAAA,YACT,YAAAN;AAAA,YAEC,UAAAG,IAAe,gBAAAI,EAACK,GAAA,CAAA,CAAc,sBAAMC,GAAA,CAAA,CAAW;AAAA,UAAA;AAAA,QAAA;AAAA,QAElD,gBAAAN,EAACG,EAAQ,SAAR,EACC,UAAA,gBAAAH;AAAA,UAACO;AAAA,UAAA;AAAA,YACE,GAAIX,IAAeT,EAAS,OAAOA,EAAS;AAAA,UAAA;AAAA,QAAA,EAC/C,CACF;AAAA,MAAA,GACF;AAAA,MAEF,MAAMS,IAAe,SAAS;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEAP,EAAc,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("react/jsx-runtime"),h=require("react"),b=require("./text-input-Bm7-FMPR.cjs.js"),n=require("@commercetools/nimbus-icons"),o=require("react-intl"),a=require("./tooltip-Aar_qzmT.cjs.js"),m=require("./icon-button-DJZJwO7E.cjs.js"),e=o.defineMessages({hide:{id:"Nimbus.PasswordInput.hide",description:"aria-label & tooltip for hide password button",defaultMessage:"Hide password"},show:{id:"Nimbus.PasswordInput.show",description:"aria-label & tooltip for show password button",defaultMessage:"Show password"}}),d=i=>{const{ref:l,size:u="md",isDisabled:c}=i,r=o.useIntl(),[t,p]=h.useState(!1),w=()=>p(!t);return s.jsx(b.TextInput,{ref:l,...i,trailingElement:s.jsxs(a.Tooltip.Root,{children:[s.jsx(m.IconButton,{size:u==="md"?"xs":"2xs",variant:"ghost",tone:"primary","aria-label":t?r.formatMessage(e.hide):r.formatMessage(e.show),onPress:w,isDisabled:c,children:t?s.jsx(n.VisibilityOff,{}):s.jsx(n.Visibility,{})}),s.jsx(a.Tooltip.Content,{children:s.jsx(o.FormattedMessage,{...t?e.hide:e.show})})]}),type:t?"text":"password"})};d.displayName="PasswordInput";exports.PasswordInput=d;
2
- //# sourceMappingURL=password-input-DApa74CT.cjs.js.map
1
+ "use strict";const s=require("react/jsx-runtime"),h=require("react"),b=require("./text-input-BQDIyzj5.cjs.js"),n=require("@commercetools/nimbus-icons"),o=require("react-intl"),a=require("./tooltip-Aar_qzmT.cjs.js"),m=require("./icon-button-Dpm72ZM3.cjs.js"),e=o.defineMessages({hide:{id:"Nimbus.PasswordInput.hide",description:"aria-label & tooltip for hide password button",defaultMessage:"Hide password"},show:{id:"Nimbus.PasswordInput.show",description:"aria-label & tooltip for show password button",defaultMessage:"Show password"}}),d=i=>{const{ref:l,size:u="md",isDisabled:c}=i,r=o.useIntl(),[t,p]=h.useState(!1),w=()=>p(!t);return s.jsx(b.TextInput,{ref:l,...i,trailingElement:s.jsxs(a.Tooltip.Root,{children:[s.jsx(m.IconButton,{size:u==="md"?"xs":"2xs",variant:"ghost",tone:"primary","aria-label":t?r.formatMessage(e.hide):r.formatMessage(e.show),onPress:w,isDisabled:c,children:t?s.jsx(n.VisibilityOff,{}):s.jsx(n.Visibility,{})}),s.jsx(a.Tooltip.Content,{children:s.jsx(o.FormattedMessage,{...t?e.hide:e.show})})]}),type:t?"text":"password"})};d.displayName="PasswordInput";exports.PasswordInput=d;
2
+ //# sourceMappingURL=password-input-D_ODC7ip.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"password-input-DApa74CT.cjs.js","sources":["../../src/components/password-input/password-input.i18n.ts","../../src/components/password-input/password-input.tsx"],"sourcesContent":["import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n hide: {\n id: \"Nimbus.PasswordInput.hide\",\n description: \"aria-label & tooltip for hide password button\",\n defaultMessage: \"Hide password\",\n },\n show: {\n id: \"Nimbus.PasswordInput.show\",\n description: \"aria-label & tooltip for show password button\",\n defaultMessage: \"Show password\",\n },\n});\n","import { useState } from \"react\";\nimport { IconButton, Tooltip } from \"@/components\";\nimport { TextInput } from \"@/components/text-input\";\nimport { Visibility, VisibilityOff } from \"@commercetools/nimbus-icons\";\nimport type { PasswordInputProps } from \"./password-input.types\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { messages } from \"./password-input.i18n\";\n\n/**\n * # PasswordInput\n *\n * A password input is a text field that hides entered characters for secure password entry.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/passwordinput}\n */\nexport const PasswordInput = (props: PasswordInputProps) => {\n const { ref, size = \"md\", isDisabled } = props;\n\n const intl = useIntl();\n const [showPassword, setShowPassword] = useState(false);\n\n const toggleVisibility = () => setShowPassword(!showPassword);\n\n return (\n <TextInput\n ref={ref}\n {...props}\n trailingElement={\n <Tooltip.Root>\n <IconButton\n size={size === \"md\" ? \"xs\" : \"2xs\"}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={\n showPassword\n ? intl.formatMessage(messages.hide)\n : intl.formatMessage(messages.show)\n }\n onPress={toggleVisibility}\n isDisabled={isDisabled}\n >\n {showPassword ? <VisibilityOff /> : <Visibility />}\n </IconButton>\n <Tooltip.Content>\n <FormattedMessage\n {...(showPassword ? messages.hide : messages.show)}\n />\n </Tooltip.Content>\n </Tooltip.Root>\n }\n type={showPassword ? \"text\" : \"password\"}\n />\n );\n};\n\nPasswordInput.displayName = \"PasswordInput\";\n"],"names":["messages","defineMessages","PasswordInput","props","ref","size","isDisabled","intl","useIntl","showPassword","setShowPassword","useState","toggleVisibility","jsx","TextInput","jsxs","Tooltip","IconButton","VisibilityOff","Visibility","FormattedMessage"],"mappings":"kQAEaA,EAAWC,EAAAA,eAAe,CACrC,KAAM,CACJ,GAAI,4BACJ,YAAa,gDACb,eAAgB,eAAA,EAElB,KAAM,CACJ,GAAI,4BACJ,YAAa,gDACb,eAAgB,eAAA,CAEpB,CAAC,ECEYC,EAAiBC,GAA8B,CAC1D,KAAM,CAAE,IAAAC,EAAK,KAAAC,EAAO,KAAM,WAAAC,GAAeH,EAEnCI,EAAOC,EAAAA,QAAA,EACP,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAS,EAAK,EAEhDC,EAAmB,IAAMF,EAAgB,CAACD,CAAY,EAE5D,OACEI,EAAAA,IAACC,EAAAA,UAAA,CACC,IAAAV,EACC,GAAGD,EACJ,gBACEY,EAAAA,KAACC,EAAAA,QAAQ,KAAR,CACC,SAAA,CAAAH,EAAAA,IAACI,EAAAA,WAAA,CACC,KAAMZ,IAAS,KAAO,KAAO,MAC7B,QAAQ,QACR,KAAK,UACL,aACEI,EACIF,EAAK,cAAcP,EAAS,IAAI,EAChCO,EAAK,cAAcP,EAAS,IAAI,EAEtC,QAASY,EACT,WAAAN,EAEC,SAAAG,EAAeI,MAACK,EAAAA,cAAA,CAAA,CAAc,QAAMC,EAAAA,WAAA,CAAA,CAAW,CAAA,CAAA,EAElDN,EAAAA,IAACG,EAAAA,QAAQ,QAAR,CACC,SAAAH,EAAAA,IAACO,EAAAA,iBAAA,CACE,GAAIX,EAAeT,EAAS,KAAOA,EAAS,IAAA,CAAA,CAC/C,CACF,CAAA,EACF,EAEF,KAAMS,EAAe,OAAS,UAAA,CAAA,CAGpC,EAEAP,EAAc,YAAc"}
1
+ {"version":3,"file":"password-input-D_ODC7ip.cjs.js","sources":["../../src/components/password-input/password-input.i18n.ts","../../src/components/password-input/password-input.tsx"],"sourcesContent":["import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n hide: {\n id: \"Nimbus.PasswordInput.hide\",\n description: \"aria-label & tooltip for hide password button\",\n defaultMessage: \"Hide password\",\n },\n show: {\n id: \"Nimbus.PasswordInput.show\",\n description: \"aria-label & tooltip for show password button\",\n defaultMessage: \"Show password\",\n },\n});\n","import { useState } from \"react\";\nimport { IconButton, Tooltip } from \"@/components\";\nimport { TextInput } from \"@/components/text-input\";\nimport { Visibility, VisibilityOff } from \"@commercetools/nimbus-icons\";\nimport type { PasswordInputProps } from \"./password-input.types\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { messages } from \"./password-input.i18n\";\n\n/**\n * # PasswordInput\n *\n * A password input is a text field that hides entered characters for secure password entry.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/passwordinput}\n */\nexport const PasswordInput = (props: PasswordInputProps) => {\n const { ref, size = \"md\", isDisabled } = props;\n\n const intl = useIntl();\n const [showPassword, setShowPassword] = useState(false);\n\n const toggleVisibility = () => setShowPassword(!showPassword);\n\n return (\n <TextInput\n ref={ref}\n {...props}\n trailingElement={\n <Tooltip.Root>\n <IconButton\n size={size === \"md\" ? \"xs\" : \"2xs\"}\n variant=\"ghost\"\n tone=\"primary\"\n aria-label={\n showPassword\n ? intl.formatMessage(messages.hide)\n : intl.formatMessage(messages.show)\n }\n onPress={toggleVisibility}\n isDisabled={isDisabled}\n >\n {showPassword ? <VisibilityOff /> : <Visibility />}\n </IconButton>\n <Tooltip.Content>\n <FormattedMessage\n {...(showPassword ? messages.hide : messages.show)}\n />\n </Tooltip.Content>\n </Tooltip.Root>\n }\n type={showPassword ? \"text\" : \"password\"}\n />\n );\n};\n\nPasswordInput.displayName = \"PasswordInput\";\n"],"names":["messages","defineMessages","PasswordInput","props","ref","size","isDisabled","intl","useIntl","showPassword","setShowPassword","useState","toggleVisibility","jsx","TextInput","jsxs","Tooltip","IconButton","VisibilityOff","Visibility","FormattedMessage"],"mappings":"kQAEaA,EAAWC,EAAAA,eAAe,CACrC,KAAM,CACJ,GAAI,4BACJ,YAAa,gDACb,eAAgB,eAAA,EAElB,KAAM,CACJ,GAAI,4BACJ,YAAa,gDACb,eAAgB,eAAA,CAEpB,CAAC,ECEYC,EAAiBC,GAA8B,CAC1D,KAAM,CAAE,IAAAC,EAAK,KAAAC,EAAO,KAAM,WAAAC,GAAeH,EAEnCI,EAAOC,EAAAA,QAAA,EACP,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAS,EAAK,EAEhDC,EAAmB,IAAMF,EAAgB,CAACD,CAAY,EAE5D,OACEI,EAAAA,IAACC,EAAAA,UAAA,CACC,IAAAV,EACC,GAAGD,EACJ,gBACEY,EAAAA,KAACC,EAAAA,QAAQ,KAAR,CACC,SAAA,CAAAH,EAAAA,IAACI,EAAAA,WAAA,CACC,KAAMZ,IAAS,KAAO,KAAO,MAC7B,QAAQ,QACR,KAAK,UACL,aACEI,EACIF,EAAK,cAAcP,EAAS,IAAI,EAChCO,EAAK,cAAcP,EAAS,IAAI,EAEtC,QAASY,EACT,WAAAN,EAEC,SAAAG,EAAeI,MAACK,EAAAA,cAAA,CAAA,CAAc,QAAMC,EAAAA,WAAA,CAAA,CAAW,CAAA,CAAA,EAElDN,EAAAA,IAACG,EAAAA,QAAQ,QAAR,CACC,SAAAH,EAAAA,IAACO,EAAAA,iBAAA,CACE,GAAIX,EAAeT,EAAS,KAAOA,EAAS,IAAA,CAAA,CAC/C,CACF,CAAA,EACF,EAEF,KAAMS,EAAe,OAAS,UAAA,CAAA,CAGpC,EAEAP,EAAc,YAAc"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { createRecipeContext as p } from "@chakra-ui/react";
3
- import { $ as s } from "./Dialog-DyQtQIZJ.es.js";
3
+ import { $ as s } from "./Dialog-BUtdEtlF.es.js";
4
4
  const { withContext: n } = /* @__PURE__ */ p({
5
5
  key: "popover"
6
6
  }), c = /* @__PURE__ */ n(s), i = (o) => {
@@ -11,4 +11,4 @@ i.displayName = "Popover";
11
11
  export {
12
12
  i as P
13
13
  };
14
- //# sourceMappingURL=popover-B5j28gJx.es.js.map
14
+ //# sourceMappingURL=popover-CaE5pDl9.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover-B5j28gJx.es.js","sources":["../../src/components/popover/popover.slots.tsx","../../src/components/popover/popover.tsx"],"sourcesContent":["import { createRecipeContext } from \"@chakra-ui/react\";\nimport { Popover as RaPopover } from \"react-aria-components\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type { PopoverProps } from \"./popover.types\";\n\nconst { withContext } = createRecipeContext({\n key: \"popover\",\n});\n\nexport const PopoverRootSlot: SlotComponent<typeof RaPopover, PopoverProps> =\n withContext<typeof RaPopover, PopoverProps>(RaPopover);\n","import { PopoverRootSlot } from \"./popover.slots\";\nimport type { PopoverProps } from \"./popover.types\";\n\n/**\n * # Popover\n *\n * A component that displays floating content in relation to a trigger element.\n *\n * Note this component is only used internally.\n */\nexport const Popover = (props: PopoverProps) => {\n const { children, ...rest } = props;\n\n return <PopoverRootSlot {...rest}>{children}</PopoverRootSlot>;\n};\n\nPopover.displayName = \"Popover\";\n"],"names":["withContext","createRecipeContext","PopoverRootSlot","RaPopover","Popover","props","children","rest","jsx"],"mappings":";;;AAKA,MAAM,EAAE,aAAAA,EAAA,IAAgB,gBAAAC,EAAoB;AAAA,EAC1C,KAAK;AACP,CAAC,GAEYC,IACX,gBAAAF,EAA4CG,CAAS,GCA1CC,IAAU,CAACC,MAAwB;AAC9C,QAAM,EAAE,UAAAC,GAAU,GAAGC,EAAA,IAASF;AAE9B,SAAO,gBAAAG,EAACN,GAAA,EAAiB,GAAGK,GAAO,UAAAD,EAAA,CAAS;AAC9C;AAEAF,EAAQ,cAAc;"}
1
+ {"version":3,"file":"popover-CaE5pDl9.es.js","sources":["../../src/components/popover/popover.slots.tsx","../../src/components/popover/popover.tsx"],"sourcesContent":["import { createRecipeContext } from \"@chakra-ui/react\";\nimport { Popover as RaPopover } from \"react-aria-components\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type { PopoverProps } from \"./popover.types\";\n\nconst { withContext } = createRecipeContext({\n key: \"popover\",\n});\n\nexport const PopoverRootSlot: SlotComponent<typeof RaPopover, PopoverProps> =\n withContext<typeof RaPopover, PopoverProps>(RaPopover);\n","import { PopoverRootSlot } from \"./popover.slots\";\nimport type { PopoverProps } from \"./popover.types\";\n\n/**\n * # Popover\n *\n * A component that displays floating content in relation to a trigger element.\n *\n * Note this component is only used internally.\n */\nexport const Popover = (props: PopoverProps) => {\n const { children, ...rest } = props;\n\n return <PopoverRootSlot {...rest}>{children}</PopoverRootSlot>;\n};\n\nPopover.displayName = \"Popover\";\n"],"names":["withContext","createRecipeContext","PopoverRootSlot","RaPopover","Popover","props","children","rest","jsx"],"mappings":";;;AAKA,MAAM,EAAE,aAAAA,EAAA,IAAgB,gBAAAC,EAAoB;AAAA,EAC1C,KAAK;AACP,CAAC,GAEYC,IACX,gBAAAF,EAA4CG,CAAS,GCA1CC,IAAU,CAACC,MAAwB;AAC9C,QAAM,EAAE,UAAAC,GAAU,GAAGC,EAAA,IAASF;AAE9B,SAAO,gBAAAG,EAACN,GAAA,EAAiB,GAAGK,GAAO,UAAAD,EAAA,CAAS;AAC9C;AAEAF,EAAQ,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("react/jsx-runtime"),c=require("@chakra-ui/react"),n=require("./Dialog-DINBl88u.cjs.js"),{withContext:i}=c.createRecipeContext({key:"popover"}),p=i(n.$07b14b47974efb58$export$5b6b19405a83ff9d),e=o=>{const{children:t,...r}=o;return s.jsx(p,{...r,children:t})};e.displayName="Popover";exports.Popover=e;
2
- //# sourceMappingURL=popover-D0TkE271.cjs.js.map
1
+ "use strict";const s=require("react/jsx-runtime"),c=require("@chakra-ui/react"),n=require("./Dialog-Ye_7tQZU.cjs.js"),{withContext:i}=c.createRecipeContext({key:"popover"}),p=i(n.$07b14b47974efb58$export$5b6b19405a83ff9d),e=o=>{const{children:t,...r}=o;return s.jsx(p,{...r,children:t})};e.displayName="Popover";exports.Popover=e;
2
+ //# sourceMappingURL=popover-DY7ASSCU.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover-D0TkE271.cjs.js","sources":["../../src/components/popover/popover.slots.tsx","../../src/components/popover/popover.tsx"],"sourcesContent":["import { createRecipeContext } from \"@chakra-ui/react\";\nimport { Popover as RaPopover } from \"react-aria-components\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type { PopoverProps } from \"./popover.types\";\n\nconst { withContext } = createRecipeContext({\n key: \"popover\",\n});\n\nexport const PopoverRootSlot: SlotComponent<typeof RaPopover, PopoverProps> =\n withContext<typeof RaPopover, PopoverProps>(RaPopover);\n","import { PopoverRootSlot } from \"./popover.slots\";\nimport type { PopoverProps } from \"./popover.types\";\n\n/**\n * # Popover\n *\n * A component that displays floating content in relation to a trigger element.\n *\n * Note this component is only used internally.\n */\nexport const Popover = (props: PopoverProps) => {\n const { children, ...rest } = props;\n\n return <PopoverRootSlot {...rest}>{children}</PopoverRootSlot>;\n};\n\nPopover.displayName = \"Popover\";\n"],"names":["withContext","createRecipeContext","PopoverRootSlot","RaPopover","Popover","props","children","rest","jsx"],"mappings":"sHAKM,CAAE,YAAAA,CAAA,EAAgBC,sBAAoB,CAC1C,IAAK,SACP,CAAC,EAEYC,EACXF,EAA4CG,2CAAS,ECA1CC,EAAWC,GAAwB,CAC9C,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAASF,EAE9B,OAAOG,EAAAA,IAACN,EAAA,CAAiB,GAAGK,EAAO,SAAAD,CAAA,CAAS,CAC9C,EAEAF,EAAQ,YAAc"}
1
+ {"version":3,"file":"popover-DY7ASSCU.cjs.js","sources":["../../src/components/popover/popover.slots.tsx","../../src/components/popover/popover.tsx"],"sourcesContent":["import { createRecipeContext } from \"@chakra-ui/react\";\nimport { Popover as RaPopover } from \"react-aria-components\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type { PopoverProps } from \"./popover.types\";\n\nconst { withContext } = createRecipeContext({\n key: \"popover\",\n});\n\nexport const PopoverRootSlot: SlotComponent<typeof RaPopover, PopoverProps> =\n withContext<typeof RaPopover, PopoverProps>(RaPopover);\n","import { PopoverRootSlot } from \"./popover.slots\";\nimport type { PopoverProps } from \"./popover.types\";\n\n/**\n * # Popover\n *\n * A component that displays floating content in relation to a trigger element.\n *\n * Note this component is only used internally.\n */\nexport const Popover = (props: PopoverProps) => {\n const { children, ...rest } = props;\n\n return <PopoverRootSlot {...rest}>{children}</PopoverRootSlot>;\n};\n\nPopover.displayName = \"Popover\";\n"],"names":["withContext","createRecipeContext","PopoverRootSlot","RaPopover","Popover","props","children","rest","jsx"],"mappings":"sHAKM,CAAE,YAAAA,CAAA,EAAgBC,sBAAoB,CAC1C,IAAK,SACP,CAAC,EAEYC,EACXF,EAA4CG,2CAAS,ECA1CC,EAAWC,GAAwB,CAC9C,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAASF,EAE9B,OAAOG,EAAAA,IAACN,EAAA,CAAiB,GAAGK,EAAO,SAAAD,CAAA,CAAS,CAC9C,EAEAF,EAAQ,YAAc"}
@@ -4,7 +4,7 @@ import { a as m } from "./Label-CUlxhtnU.es.js";
4
4
  import { a as V } from "./ProgressBar-DZzovBW5.es.js";
5
5
  import { createSlotRecipeContext as F, mergeRefs as j } from "@chakra-ui/react";
6
6
  import { useSlotRecipe as H } from "@chakra-ui/react/styled-system";
7
- import { e as D } from "./extract-style-props-Cw0ebuoO.es.js";
7
+ import { e as D } from "./extract-style-props-2276ZL5_.es.js";
8
8
  import { $ as G } from "./useObjectRef-CaJ5pgjX.es.js";
9
9
  import { Flex as I } from "@chakra-ui/react/flex";
10
10
  import { B as L } from "./box-DuBoAZvq.es.js";
@@ -74,4 +74,4 @@ A.displayName = "ProgressBar";
74
74
  export {
75
75
  A as P
76
76
  };
77
- //# sourceMappingURL=progress-bar-DrK5bppD.es.js.map
77
+ //# sourceMappingURL=progress-bar-CQnGy5PM.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-DrK5bppD.es.js","sources":["../../src/components/progress-bar/progress-bar.slots.tsx","../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n ProgressBarRootSlotProps,\n ProgressBarTrackSlotProps,\n ProgressBarFillSlotProps,\n ProgressBarLabelSlotProps,\n ProgressBarValueSlotProps,\n} from \"./progress-bar.types.tsx\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"progressBar\",\n});\n\n// ProgressBar Root - Main container\nexport const ProgressBarRootSlot = withProvider<\n HTMLDivElement,\n ProgressBarRootSlotProps\n>(\"div\", \"root\");\n\n// ProgressBar Track - Background bar\nexport const ProgressBarTrackSlot = withContext<\n HTMLDivElement,\n ProgressBarTrackSlotProps\n>(\"div\", \"track\");\n\n// ProgressBar Fill - Progress indicator\nexport const ProgressBarFillSlot = withContext<\n HTMLDivElement,\n ProgressBarFillSlotProps\n>(\"div\", \"fill\");\n\n// ProgressBar Label - Label text\nexport const ProgressBarLabelSlot = withContext<\n HTMLSpanElement,\n ProgressBarLabelSlotProps\n>(\"span\", \"label\");\n\n// ProgressBar Value - Value text\nexport const ProgressBarValueSlot = withContext<\n HTMLSpanElement,\n ProgressBarValueSlotProps\n>(\"span\", \"value\");\n","import { useRef } from \"react\";\nimport {\n ProgressBar as RaProgressBar,\n Label as RaLabel,\n} from \"react-aria-components\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Flex, Box } from \"@/components\";\nimport {\n ProgressBarRootSlot,\n ProgressBarTrackSlot,\n ProgressBarFillSlot,\n ProgressBarLabelSlot,\n ProgressBarValueSlot,\n} from \"./progress-bar.slots\";\nimport type { ProgressBarProps } from \"./progress-bar.types\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * ProgressBar\n * ============================================================\n * Displays progress towards completion of a task or process\n *\n * Features:\n *\n * - Supports both determinate (with value) and indeterminate (loading) states\n * - Two visual variants: solid (gradient) and contrast (monochromatic)\n * - Three layouts: minimal, inline, and stacked\n * - Configurable value formatting with internationalization support\n * - Full accessibility support with ARIA attributes\n * - Allows forwarding refs to the underlying DOM element\n * - Accepts all native HTML div attributes\n * - Supports variants, sizes, etc. configured in the recipe\n * - Allows overriding styles by using style-props\n */\nexport const ProgressBar = (props: ProgressBarProps) => {\n const {\n ref: forwardedRef,\n value,\n minValue = 0,\n maxValue = 100,\n isDynamic = true,\n isIndeterminate,\n label,\n formatOptions = { style: \"percent\" },\n variant = \"solid\",\n layout = \"stacked\",\n colorPalette = \"primary\",\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: \"progressBar\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n variant,\n colorPalette,\n ...props,\n });\n const [styleProps] = extractStyleProps(remainingProps);\n\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n return (\n <ProgressBarRootSlot\n {...recipeProps}\n {...styleProps}\n {...recipeProps}\n isDynamic={isDynamic}\n isIndeterminate={isIndeterminate}\n asChild\n >\n <RaProgressBar\n ref={ref}\n value={value}\n minValue={minValue}\n maxValue={maxValue}\n isIndeterminate={isIndeterminate}\n formatOptions={formatOptions}\n {...rest}\n >\n {({ percentage, valueText }) => (\n <>\n {layout === \"stacked\" && (\n <Flex>\n {label && (\n <ProgressBarLabelSlot asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n <Box flexGrow=\"1\" />\n {label && value && (\n <ProgressBarValueSlot>{valueText}</ProgressBarValueSlot>\n )}\n </Flex>\n )}\n\n {layout === \"inline\" && label && (\n <ProgressBarLabelSlot lineHeight=\"1\" asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n\n <ProgressBarTrackSlot>\n <ProgressBarFillSlot\n style={{ width: isIndeterminate ? \"40%\" : `${percentage}%` }}\n data-indeterminate={isIndeterminate}\n data-complete={\n !isIndeterminate &&\n percentage !== undefined &&\n percentage >= 100\n }\n />\n </ProgressBarTrackSlot>\n\n {layout === \"inline\" && value && (\n <ProgressBarValueSlot lineHeight=\"1\">\n {valueText}\n </ProgressBarValueSlot>\n )}\n </>\n )}\n </RaProgressBar>\n </ProgressBarRootSlot>\n );\n};\n\nProgressBar.displayName = \"ProgressBar\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","ProgressBarRootSlot","ProgressBarTrackSlot","ProgressBarFillSlot","ProgressBarLabelSlot","ProgressBarValueSlot","ProgressBar","props","forwardedRef","value","minValue","maxValue","isDynamic","isIndeterminate","label","formatOptions","variant","layout","colorPalette","rest","recipe","useSlotRecipe","recipeProps","remainingProps","styleProps","extractStyleProps","localRef","useRef","ref","useObjectRef","mergeRefs","jsx","RaProgressBar","percentage","valueText","jsxs","Fragment","Flex","RaLabel","Box"],"mappings":";;;;;;;;;;AASA,MAAM,EAAE,cAAAA,GAAc,aAAAC,EAAA,IAAgB,gBAAAC,EAAwB;AAAA,EAC5D,KAAK;AACP,CAAC,GAGYC,IAAsB,gBAAAH,EAGjC,OAAO,MAAM,GAGFI,IAAuB,gBAAAH,EAGlC,OAAO,OAAO,GAGHI,IAAsB,gBAAAJ,EAGjC,OAAO,MAAM,GAGFK,IAAuB,gBAAAL,EAGlC,QAAQ,OAAO,GAGJM,IAAuB,gBAAAN,EAGlC,QAAQ,OAAO,GCLJO,IAAc,CAACC,MAA4B;AACtD,QAAM;AAAA,IACJ,KAAKC;AAAA,IACL,OAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,WAAAC,IAAY;AAAA,IACZ,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC,IAAgB,EAAE,OAAO,UAAA;AAAA,IACzB,SAAAC,IAAU;AAAA,IACV,QAAAC,IAAS;AAAA,IACT,cAAAC,IAAe;AAAA,IACf,GAAGC;AAAA,EAAA,IACDZ,GAEEa,IAASC,EAAc,EAAE,KAAK,eAAe,GAC7C,CAACC,GAAaC,CAAc,IAAIH,EAAO,kBAAkB;AAAA,IAC7D,SAAAJ;AAAA,IACA,cAAAE;AAAA,IACA,GAAGX;AAAA,EAAA,CACJ,GACK,CAACiB,CAAU,IAAIC,EAAkBF,CAAc,GAE/CG,IAAWC,EAAuB,IAAI,GACtCC,IAAMC,EAAaC,EAAUJ,GAAUlB,CAAY,CAAC;AAE1D,SACE,gBAAAuB;AAAA,IAAC9B;AAAA,IAAA;AAAA,MACE,GAAGqB;AAAA,MACH,GAAGE;AAAA,MACH,GAAGF;AAAA,MACJ,WAAAV;AAAA,MACA,iBAAAC;AAAA,MACA,SAAO;AAAA,MAEP,UAAA,gBAAAkB;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,KAAAJ;AAAA,UACA,OAAAnB;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,iBAAAE;AAAA,UACA,eAAAE;AAAA,UACC,GAAGI;AAAA,UAEH,UAAA,CAAC,EAAE,YAAAc,GAAY,WAAAC,EAAA,MACd,gBAAAC,EAAAC,GAAA,EACG,UAAA;AAAA,YAAAnB,MAAW,+BACToB,GAAA,EACE,UAAA;AAAA,cAAAvB,uBACEV,GAAA,EAAqB,SAAO,IAC3B,UAAA,gBAAA2B,EAACO,GAAA,EAAS,aAAM,EAAA,CAClB;AAAA,cAEF,gBAAAP,EAACQ,GAAA,EAAI,UAAS,IAAA,CAAI;AAAA,cACjBzB,KAASL,KACR,gBAAAsB,EAAC1B,GAAA,EAAsB,UAAA6B,EAAA,CAAU;AAAA,YAAA,GAErC;AAAA,YAGDjB,MAAW,YAAYH,KACtB,gBAAAiB,EAAC3B,GAAA,EAAqB,YAAW,KAAI,SAAO,IAC1C,UAAA,gBAAA2B,EAACO,GAAA,EAAS,UAAAxB,EAAA,CAAM,GAClB;AAAA,8BAGDZ,GAAA,EACC,UAAA,gBAAA6B;AAAA,cAAC5B;AAAA,cAAA;AAAA,gBACC,OAAO,EAAE,OAAOU,IAAkB,QAAQ,GAAGoB,CAAU,IAAA;AAAA,gBACvD,sBAAoBpB;AAAA,gBACpB,iBACE,CAACA,KACDoB,MAAe,UACfA,KAAc;AAAA,cAAA;AAAA,YAAA,GAGpB;AAAA,YAEChB,MAAW,YAAYR,uBACrBJ,GAAA,EAAqB,YAAW,KAC9B,UAAA6B,EAAA,CACH;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;AAEA5B,EAAY,cAAc;"}
1
+ {"version":3,"file":"progress-bar-CQnGy5PM.es.js","sources":["../../src/components/progress-bar/progress-bar.slots.tsx","../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n ProgressBarRootSlotProps,\n ProgressBarTrackSlotProps,\n ProgressBarFillSlotProps,\n ProgressBarLabelSlotProps,\n ProgressBarValueSlotProps,\n} from \"./progress-bar.types.tsx\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"progressBar\",\n});\n\n// ProgressBar Root - Main container\nexport const ProgressBarRootSlot = withProvider<\n HTMLDivElement,\n ProgressBarRootSlotProps\n>(\"div\", \"root\");\n\n// ProgressBar Track - Background bar\nexport const ProgressBarTrackSlot = withContext<\n HTMLDivElement,\n ProgressBarTrackSlotProps\n>(\"div\", \"track\");\n\n// ProgressBar Fill - Progress indicator\nexport const ProgressBarFillSlot = withContext<\n HTMLDivElement,\n ProgressBarFillSlotProps\n>(\"div\", \"fill\");\n\n// ProgressBar Label - Label text\nexport const ProgressBarLabelSlot = withContext<\n HTMLSpanElement,\n ProgressBarLabelSlotProps\n>(\"span\", \"label\");\n\n// ProgressBar Value - Value text\nexport const ProgressBarValueSlot = withContext<\n HTMLSpanElement,\n ProgressBarValueSlotProps\n>(\"span\", \"value\");\n","import { useRef } from \"react\";\nimport {\n ProgressBar as RaProgressBar,\n Label as RaLabel,\n} from \"react-aria-components\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Flex, Box } from \"@/components\";\nimport {\n ProgressBarRootSlot,\n ProgressBarTrackSlot,\n ProgressBarFillSlot,\n ProgressBarLabelSlot,\n ProgressBarValueSlot,\n} from \"./progress-bar.slots\";\nimport type { ProgressBarProps } from \"./progress-bar.types\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * ProgressBar\n * ============================================================\n * Displays progress towards completion of a task or process\n *\n * Features:\n *\n * - Supports both determinate (with value) and indeterminate (loading) states\n * - Two visual variants: solid (gradient) and contrast (monochromatic)\n * - Three layouts: minimal, inline, and stacked\n * - Configurable value formatting with internationalization support\n * - Full accessibility support with ARIA attributes\n * - Allows forwarding refs to the underlying DOM element\n * - Accepts all native HTML div attributes\n * - Supports variants, sizes, etc. configured in the recipe\n * - Allows overriding styles by using style-props\n */\nexport const ProgressBar = (props: ProgressBarProps) => {\n const {\n ref: forwardedRef,\n value,\n minValue = 0,\n maxValue = 100,\n isDynamic = true,\n isIndeterminate,\n label,\n formatOptions = { style: \"percent\" },\n variant = \"solid\",\n layout = \"stacked\",\n colorPalette = \"primary\",\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: \"progressBar\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n variant,\n colorPalette,\n ...props,\n });\n const [styleProps] = extractStyleProps(remainingProps);\n\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n return (\n <ProgressBarRootSlot\n {...recipeProps}\n {...styleProps}\n {...recipeProps}\n isDynamic={isDynamic}\n isIndeterminate={isIndeterminate}\n asChild\n >\n <RaProgressBar\n ref={ref}\n value={value}\n minValue={minValue}\n maxValue={maxValue}\n isIndeterminate={isIndeterminate}\n formatOptions={formatOptions}\n {...rest}\n >\n {({ percentage, valueText }) => (\n <>\n {layout === \"stacked\" && (\n <Flex>\n {label && (\n <ProgressBarLabelSlot asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n <Box flexGrow=\"1\" />\n {label && value && (\n <ProgressBarValueSlot>{valueText}</ProgressBarValueSlot>\n )}\n </Flex>\n )}\n\n {layout === \"inline\" && label && (\n <ProgressBarLabelSlot lineHeight=\"1\" asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n\n <ProgressBarTrackSlot>\n <ProgressBarFillSlot\n style={{ width: isIndeterminate ? \"40%\" : `${percentage}%` }}\n data-indeterminate={isIndeterminate}\n data-complete={\n !isIndeterminate &&\n percentage !== undefined &&\n percentage >= 100\n }\n />\n </ProgressBarTrackSlot>\n\n {layout === \"inline\" && value && (\n <ProgressBarValueSlot lineHeight=\"1\">\n {valueText}\n </ProgressBarValueSlot>\n )}\n </>\n )}\n </RaProgressBar>\n </ProgressBarRootSlot>\n );\n};\n\nProgressBar.displayName = \"ProgressBar\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","ProgressBarRootSlot","ProgressBarTrackSlot","ProgressBarFillSlot","ProgressBarLabelSlot","ProgressBarValueSlot","ProgressBar","props","forwardedRef","value","minValue","maxValue","isDynamic","isIndeterminate","label","formatOptions","variant","layout","colorPalette","rest","recipe","useSlotRecipe","recipeProps","remainingProps","styleProps","extractStyleProps","localRef","useRef","ref","useObjectRef","mergeRefs","jsx","RaProgressBar","percentage","valueText","jsxs","Fragment","Flex","RaLabel","Box"],"mappings":";;;;;;;;;;AASA,MAAM,EAAE,cAAAA,GAAc,aAAAC,EAAA,IAAgB,gBAAAC,EAAwB;AAAA,EAC5D,KAAK;AACP,CAAC,GAGYC,IAAsB,gBAAAH,EAGjC,OAAO,MAAM,GAGFI,IAAuB,gBAAAH,EAGlC,OAAO,OAAO,GAGHI,IAAsB,gBAAAJ,EAGjC,OAAO,MAAM,GAGFK,IAAuB,gBAAAL,EAGlC,QAAQ,OAAO,GAGJM,IAAuB,gBAAAN,EAGlC,QAAQ,OAAO,GCLJO,IAAc,CAACC,MAA4B;AACtD,QAAM;AAAA,IACJ,KAAKC;AAAA,IACL,OAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,WAAAC,IAAY;AAAA,IACZ,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC,IAAgB,EAAE,OAAO,UAAA;AAAA,IACzB,SAAAC,IAAU;AAAA,IACV,QAAAC,IAAS;AAAA,IACT,cAAAC,IAAe;AAAA,IACf,GAAGC;AAAA,EAAA,IACDZ,GAEEa,IAASC,EAAc,EAAE,KAAK,eAAe,GAC7C,CAACC,GAAaC,CAAc,IAAIH,EAAO,kBAAkB;AAAA,IAC7D,SAAAJ;AAAA,IACA,cAAAE;AAAA,IACA,GAAGX;AAAA,EAAA,CACJ,GACK,CAACiB,CAAU,IAAIC,EAAkBF,CAAc,GAE/CG,IAAWC,EAAuB,IAAI,GACtCC,IAAMC,EAAaC,EAAUJ,GAAUlB,CAAY,CAAC;AAE1D,SACE,gBAAAuB;AAAA,IAAC9B;AAAA,IAAA;AAAA,MACE,GAAGqB;AAAA,MACH,GAAGE;AAAA,MACH,GAAGF;AAAA,MACJ,WAAAV;AAAA,MACA,iBAAAC;AAAA,MACA,SAAO;AAAA,MAEP,UAAA,gBAAAkB;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,KAAAJ;AAAA,UACA,OAAAnB;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,iBAAAE;AAAA,UACA,eAAAE;AAAA,UACC,GAAGI;AAAA,UAEH,UAAA,CAAC,EAAE,YAAAc,GAAY,WAAAC,EAAA,MACd,gBAAAC,EAAAC,GAAA,EACG,UAAA;AAAA,YAAAnB,MAAW,+BACToB,GAAA,EACE,UAAA;AAAA,cAAAvB,uBACEV,GAAA,EAAqB,SAAO,IAC3B,UAAA,gBAAA2B,EAACO,GAAA,EAAS,aAAM,EAAA,CAClB;AAAA,cAEF,gBAAAP,EAACQ,GAAA,EAAI,UAAS,IAAA,CAAI;AAAA,cACjBzB,KAASL,KACR,gBAAAsB,EAAC1B,GAAA,EAAsB,UAAA6B,EAAA,CAAU;AAAA,YAAA,GAErC;AAAA,YAGDjB,MAAW,YAAYH,KACtB,gBAAAiB,EAAC3B,GAAA,EAAqB,YAAW,KAAI,SAAO,IAC1C,UAAA,gBAAA2B,EAACO,GAAA,EAAS,UAAAxB,EAAA,CAAM,GAClB;AAAA,8BAGDZ,GAAA,EACC,UAAA,gBAAA6B;AAAA,cAAC5B;AAAA,cAAA;AAAA,gBACC,OAAO,EAAE,OAAOU,IAAkB,QAAQ,GAAGoB,CAAU,IAAA;AAAA,gBACvD,sBAAoBpB;AAAA,gBACpB,iBACE,CAACA,KACDoB,MAAe,UACfA,KAAc;AAAA,cAAA;AAAA,YAAA,GAGpB;AAAA,YAEChB,MAAW,YAAYR,uBACrBJ,GAAA,EAAqB,YAAW,KAC9B,UAAA6B,EAAA,CACH;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;AAEA5B,EAAY,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),k=require("react"),d=require("./Label-szabofdc.cjs.js"),w=require("./ProgressBar-BnIWveAr.cjs.js"),u=require("@chakra-ui/react"),C=require("@chakra-ui/react/styled-system"),V=require("./extract-style-props-CBaCGha4.cjs.js"),F=require("./useObjectRef-4v2MxSjQ.cjs.js"),H=require("@chakra-ui/react/flex"),L=require("./box-CWni3A32.cjs.js"),{withProvider:O,withContext:t}=u.createSlotRecipeContext({key:"progressBar"}),D=O("div","root"),G=t("div","track"),I=t("div","fill"),x=t("span","label"),f=t("span","value"),p=l=>{const{ref:h,value:o,minValue:b=0,maxValue:P=100,isDynamic:$=!0,isIndeterminate:r,label:s,formatOptions:j={style:"percent"},variant:g="solid",layout:i="stacked",colorPalette:m="primary",...y}=l,B=C.useSlotRecipe({key:"progressBar"}),[n,S]=B.splitVariantProps({variant:g,colorPalette:m,...l}),[q]=V.extractStyleProps(S),R=k.useRef(null),v=F.$df56164dff5785e2$export$4338b53315abf666(u.mergeRefs(R,h));return e.jsx(D,{...n,...q,...n,isDynamic:$,isIndeterminate:r,asChild:!0,children:e.jsx(w.$0393f8ab869a0f1a$export$c17561cb55d4db30,{ref:v,value:o,minValue:b,maxValue:P,isIndeterminate:r,formatOptions:j,...y,children:({percentage:a,valueText:c})=>e.jsxs(e.Fragment,{children:[i==="stacked"&&e.jsxs(H.Flex,{children:[s&&e.jsx(x,{asChild:!0,children:e.jsx(d.$01b77f81d0f07f68$export$b04be29aa201d4f5,{children:s})}),e.jsx(L.Box,{flexGrow:"1"}),s&&o&&e.jsx(f,{children:c})]}),i==="inline"&&s&&e.jsx(x,{lineHeight:"1",asChild:!0,children:e.jsx(d.$01b77f81d0f07f68$export$b04be29aa201d4f5,{children:s})}),e.jsx(G,{children:e.jsx(I,{style:{width:r?"40%":`${a}%`},"data-indeterminate":r,"data-complete":!r&&a!==void 0&&a>=100})}),i==="inline"&&o&&e.jsx(f,{lineHeight:"1",children:c})]})})})};p.displayName="ProgressBar";exports.ProgressBar=p;
2
- //# sourceMappingURL=progress-bar-CJqyWOZe.cjs.js.map
1
+ "use strict";const e=require("react/jsx-runtime"),k=require("react"),d=require("./Label-szabofdc.cjs.js"),w=require("./ProgressBar-BnIWveAr.cjs.js"),u=require("@chakra-ui/react"),C=require("@chakra-ui/react/styled-system"),V=require("./extract-style-props-CVeaQf1Q.cjs.js"),F=require("./useObjectRef-4v2MxSjQ.cjs.js"),H=require("@chakra-ui/react/flex"),L=require("./box-CWni3A32.cjs.js"),{withProvider:O,withContext:t}=u.createSlotRecipeContext({key:"progressBar"}),D=O("div","root"),G=t("div","track"),I=t("div","fill"),x=t("span","label"),f=t("span","value"),p=l=>{const{ref:h,value:o,minValue:b=0,maxValue:P=100,isDynamic:$=!0,isIndeterminate:r,label:s,formatOptions:j={style:"percent"},variant:g="solid",layout:i="stacked",colorPalette:m="primary",...y}=l,B=C.useSlotRecipe({key:"progressBar"}),[n,S]=B.splitVariantProps({variant:g,colorPalette:m,...l}),[q]=V.extractStyleProps(S),R=k.useRef(null),v=F.$df56164dff5785e2$export$4338b53315abf666(u.mergeRefs(R,h));return e.jsx(D,{...n,...q,...n,isDynamic:$,isIndeterminate:r,asChild:!0,children:e.jsx(w.$0393f8ab869a0f1a$export$c17561cb55d4db30,{ref:v,value:o,minValue:b,maxValue:P,isIndeterminate:r,formatOptions:j,...y,children:({percentage:a,valueText:c})=>e.jsxs(e.Fragment,{children:[i==="stacked"&&e.jsxs(H.Flex,{children:[s&&e.jsx(x,{asChild:!0,children:e.jsx(d.$01b77f81d0f07f68$export$b04be29aa201d4f5,{children:s})}),e.jsx(L.Box,{flexGrow:"1"}),s&&o&&e.jsx(f,{children:c})]}),i==="inline"&&s&&e.jsx(x,{lineHeight:"1",asChild:!0,children:e.jsx(d.$01b77f81d0f07f68$export$b04be29aa201d4f5,{children:s})}),e.jsx(G,{children:e.jsx(I,{style:{width:r?"40%":`${a}%`},"data-indeterminate":r,"data-complete":!r&&a!==void 0&&a>=100})}),i==="inline"&&o&&e.jsx(f,{lineHeight:"1",children:c})]})})})};p.displayName="ProgressBar";exports.ProgressBar=p;
2
+ //# sourceMappingURL=progress-bar-CWyotAqI.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-CJqyWOZe.cjs.js","sources":["../../src/components/progress-bar/progress-bar.slots.tsx","../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n ProgressBarRootSlotProps,\n ProgressBarTrackSlotProps,\n ProgressBarFillSlotProps,\n ProgressBarLabelSlotProps,\n ProgressBarValueSlotProps,\n} from \"./progress-bar.types.tsx\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"progressBar\",\n});\n\n// ProgressBar Root - Main container\nexport const ProgressBarRootSlot = withProvider<\n HTMLDivElement,\n ProgressBarRootSlotProps\n>(\"div\", \"root\");\n\n// ProgressBar Track - Background bar\nexport const ProgressBarTrackSlot = withContext<\n HTMLDivElement,\n ProgressBarTrackSlotProps\n>(\"div\", \"track\");\n\n// ProgressBar Fill - Progress indicator\nexport const ProgressBarFillSlot = withContext<\n HTMLDivElement,\n ProgressBarFillSlotProps\n>(\"div\", \"fill\");\n\n// ProgressBar Label - Label text\nexport const ProgressBarLabelSlot = withContext<\n HTMLSpanElement,\n ProgressBarLabelSlotProps\n>(\"span\", \"label\");\n\n// ProgressBar Value - Value text\nexport const ProgressBarValueSlot = withContext<\n HTMLSpanElement,\n ProgressBarValueSlotProps\n>(\"span\", \"value\");\n","import { useRef } from \"react\";\nimport {\n ProgressBar as RaProgressBar,\n Label as RaLabel,\n} from \"react-aria-components\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Flex, Box } from \"@/components\";\nimport {\n ProgressBarRootSlot,\n ProgressBarTrackSlot,\n ProgressBarFillSlot,\n ProgressBarLabelSlot,\n ProgressBarValueSlot,\n} from \"./progress-bar.slots\";\nimport type { ProgressBarProps } from \"./progress-bar.types\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * ProgressBar\n * ============================================================\n * Displays progress towards completion of a task or process\n *\n * Features:\n *\n * - Supports both determinate (with value) and indeterminate (loading) states\n * - Two visual variants: solid (gradient) and contrast (monochromatic)\n * - Three layouts: minimal, inline, and stacked\n * - Configurable value formatting with internationalization support\n * - Full accessibility support with ARIA attributes\n * - Allows forwarding refs to the underlying DOM element\n * - Accepts all native HTML div attributes\n * - Supports variants, sizes, etc. configured in the recipe\n * - Allows overriding styles by using style-props\n */\nexport const ProgressBar = (props: ProgressBarProps) => {\n const {\n ref: forwardedRef,\n value,\n minValue = 0,\n maxValue = 100,\n isDynamic = true,\n isIndeterminate,\n label,\n formatOptions = { style: \"percent\" },\n variant = \"solid\",\n layout = \"stacked\",\n colorPalette = \"primary\",\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: \"progressBar\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n variant,\n colorPalette,\n ...props,\n });\n const [styleProps] = extractStyleProps(remainingProps);\n\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n return (\n <ProgressBarRootSlot\n {...recipeProps}\n {...styleProps}\n {...recipeProps}\n isDynamic={isDynamic}\n isIndeterminate={isIndeterminate}\n asChild\n >\n <RaProgressBar\n ref={ref}\n value={value}\n minValue={minValue}\n maxValue={maxValue}\n isIndeterminate={isIndeterminate}\n formatOptions={formatOptions}\n {...rest}\n >\n {({ percentage, valueText }) => (\n <>\n {layout === \"stacked\" && (\n <Flex>\n {label && (\n <ProgressBarLabelSlot asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n <Box flexGrow=\"1\" />\n {label && value && (\n <ProgressBarValueSlot>{valueText}</ProgressBarValueSlot>\n )}\n </Flex>\n )}\n\n {layout === \"inline\" && label && (\n <ProgressBarLabelSlot lineHeight=\"1\" asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n\n <ProgressBarTrackSlot>\n <ProgressBarFillSlot\n style={{ width: isIndeterminate ? \"40%\" : `${percentage}%` }}\n data-indeterminate={isIndeterminate}\n data-complete={\n !isIndeterminate &&\n percentage !== undefined &&\n percentage >= 100\n }\n />\n </ProgressBarTrackSlot>\n\n {layout === \"inline\" && value && (\n <ProgressBarValueSlot lineHeight=\"1\">\n {valueText}\n </ProgressBarValueSlot>\n )}\n </>\n )}\n </RaProgressBar>\n </ProgressBarRootSlot>\n );\n};\n\nProgressBar.displayName = \"ProgressBar\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","ProgressBarRootSlot","ProgressBarTrackSlot","ProgressBarFillSlot","ProgressBarLabelSlot","ProgressBarValueSlot","ProgressBar","props","forwardedRef","value","minValue","maxValue","isDynamic","isIndeterminate","label","formatOptions","variant","layout","colorPalette","rest","recipe","useSlotRecipe","recipeProps","remainingProps","styleProps","extractStyleProps","localRef","useRef","ref","useObjectRef","mergeRefs","jsx","RaProgressBar","percentage","valueText","jsxs","Fragment","Flex","RaLabel","Box"],"mappings":"oYASM,CAAE,aAAAA,EAAc,YAAAC,CAAA,EAAgBC,0BAAwB,CAC5D,IAAK,aACP,CAAC,EAGYC,EAAsBH,EAGjC,MAAO,MAAM,EAGFI,EAAuBH,EAGlC,MAAO,OAAO,EAGHI,EAAsBJ,EAGjC,MAAO,MAAM,EAGFK,EAAuBL,EAGlC,OAAQ,OAAO,EAGJM,EAAuBN,EAGlC,OAAQ,OAAO,ECLJO,EAAeC,GAA4B,CACtD,KAAM,CACJ,IAAKC,EACL,MAAAC,EACA,SAAAC,EAAW,EACX,SAAAC,EAAW,IACX,UAAAC,EAAY,GACZ,gBAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,CAAE,MAAO,SAAA,EACzB,QAAAC,EAAU,QACV,OAAAC,EAAS,UACT,aAAAC,EAAe,UACf,GAAGC,CAAA,EACDZ,EAEEa,EAASC,EAAAA,cAAc,CAAE,IAAK,cAAe,EAC7C,CAACC,EAAaC,CAAc,EAAIH,EAAO,kBAAkB,CAC7D,QAAAJ,EACA,aAAAE,EACA,GAAGX,CAAA,CACJ,EACK,CAACiB,CAAU,EAAIC,EAAAA,kBAAkBF,CAAc,EAE/CG,EAAWC,EAAAA,OAAuB,IAAI,EACtCC,EAAMC,EAAAA,0CAAaC,EAAAA,UAAUJ,EAAUlB,CAAY,CAAC,EAE1D,OACEuB,EAAAA,IAAC9B,EAAA,CACE,GAAGqB,EACH,GAAGE,EACH,GAAGF,EACJ,UAAAV,EACA,gBAAAC,EACA,QAAO,GAEP,SAAAkB,EAAAA,IAACC,EAAAA,0CAAA,CACC,IAAAJ,EACA,MAAAnB,EACA,SAAAC,EACA,SAAAC,EACA,gBAAAE,EACA,cAAAE,EACC,GAAGI,EAEH,SAAA,CAAC,CAAE,WAAAc,EAAY,UAAAC,CAAA,IACdC,OAAAC,EAAAA,SAAA,CACG,SAAA,CAAAnB,IAAW,kBACToB,EAAAA,KAAA,CACE,SAAA,CAAAvB,SACEV,EAAA,CAAqB,QAAO,GAC3B,SAAA2B,EAAAA,IAACO,EAAAA,0CAAA,CAAS,WAAM,CAAA,CAClB,EAEFP,EAAAA,IAACQ,EAAAA,IAAA,CAAI,SAAS,GAAA,CAAI,EACjBzB,GAASL,GACRsB,EAAAA,IAAC1B,EAAA,CAAsB,SAAA6B,CAAA,CAAU,CAAA,EAErC,EAGDjB,IAAW,UAAYH,GACtBiB,EAAAA,IAAC3B,EAAA,CAAqB,WAAW,IAAI,QAAO,GAC1C,SAAA2B,EAAAA,IAACO,EAAAA,0CAAA,CAAS,SAAAxB,CAAA,CAAM,EAClB,QAGDZ,EAAA,CACC,SAAA6B,EAAAA,IAAC5B,EAAA,CACC,MAAO,CAAE,MAAOU,EAAkB,MAAQ,GAAGoB,CAAU,GAAA,EACvD,qBAAoBpB,EACpB,gBACE,CAACA,GACDoB,IAAe,QACfA,GAAc,GAAA,CAAA,EAGpB,EAEChB,IAAW,UAAYR,SACrBJ,EAAA,CAAqB,WAAW,IAC9B,SAAA6B,CAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAAA,CAGN,EAEA5B,EAAY,YAAc"}
1
+ {"version":3,"file":"progress-bar-CWyotAqI.cjs.js","sources":["../../src/components/progress-bar/progress-bar.slots.tsx","../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n ProgressBarRootSlotProps,\n ProgressBarTrackSlotProps,\n ProgressBarFillSlotProps,\n ProgressBarLabelSlotProps,\n ProgressBarValueSlotProps,\n} from \"./progress-bar.types.tsx\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"progressBar\",\n});\n\n// ProgressBar Root - Main container\nexport const ProgressBarRootSlot = withProvider<\n HTMLDivElement,\n ProgressBarRootSlotProps\n>(\"div\", \"root\");\n\n// ProgressBar Track - Background bar\nexport const ProgressBarTrackSlot = withContext<\n HTMLDivElement,\n ProgressBarTrackSlotProps\n>(\"div\", \"track\");\n\n// ProgressBar Fill - Progress indicator\nexport const ProgressBarFillSlot = withContext<\n HTMLDivElement,\n ProgressBarFillSlotProps\n>(\"div\", \"fill\");\n\n// ProgressBar Label - Label text\nexport const ProgressBarLabelSlot = withContext<\n HTMLSpanElement,\n ProgressBarLabelSlotProps\n>(\"span\", \"label\");\n\n// ProgressBar Value - Value text\nexport const ProgressBarValueSlot = withContext<\n HTMLSpanElement,\n ProgressBarValueSlotProps\n>(\"span\", \"value\");\n","import { useRef } from \"react\";\nimport {\n ProgressBar as RaProgressBar,\n Label as RaLabel,\n} from \"react-aria-components\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { Flex, Box } from \"@/components\";\nimport {\n ProgressBarRootSlot,\n ProgressBarTrackSlot,\n ProgressBarFillSlot,\n ProgressBarLabelSlot,\n ProgressBarValueSlot,\n} from \"./progress-bar.slots\";\nimport type { ProgressBarProps } from \"./progress-bar.types\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * ProgressBar\n * ============================================================\n * Displays progress towards completion of a task or process\n *\n * Features:\n *\n * - Supports both determinate (with value) and indeterminate (loading) states\n * - Two visual variants: solid (gradient) and contrast (monochromatic)\n * - Three layouts: minimal, inline, and stacked\n * - Configurable value formatting with internationalization support\n * - Full accessibility support with ARIA attributes\n * - Allows forwarding refs to the underlying DOM element\n * - Accepts all native HTML div attributes\n * - Supports variants, sizes, etc. configured in the recipe\n * - Allows overriding styles by using style-props\n */\nexport const ProgressBar = (props: ProgressBarProps) => {\n const {\n ref: forwardedRef,\n value,\n minValue = 0,\n maxValue = 100,\n isDynamic = true,\n isIndeterminate,\n label,\n formatOptions = { style: \"percent\" },\n variant = \"solid\",\n layout = \"stacked\",\n colorPalette = \"primary\",\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: \"progressBar\" });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n variant,\n colorPalette,\n ...props,\n });\n const [styleProps] = extractStyleProps(remainingProps);\n\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n return (\n <ProgressBarRootSlot\n {...recipeProps}\n {...styleProps}\n {...recipeProps}\n isDynamic={isDynamic}\n isIndeterminate={isIndeterminate}\n asChild\n >\n <RaProgressBar\n ref={ref}\n value={value}\n minValue={minValue}\n maxValue={maxValue}\n isIndeterminate={isIndeterminate}\n formatOptions={formatOptions}\n {...rest}\n >\n {({ percentage, valueText }) => (\n <>\n {layout === \"stacked\" && (\n <Flex>\n {label && (\n <ProgressBarLabelSlot asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n <Box flexGrow=\"1\" />\n {label && value && (\n <ProgressBarValueSlot>{valueText}</ProgressBarValueSlot>\n )}\n </Flex>\n )}\n\n {layout === \"inline\" && label && (\n <ProgressBarLabelSlot lineHeight=\"1\" asChild>\n <RaLabel>{label}</RaLabel>\n </ProgressBarLabelSlot>\n )}\n\n <ProgressBarTrackSlot>\n <ProgressBarFillSlot\n style={{ width: isIndeterminate ? \"40%\" : `${percentage}%` }}\n data-indeterminate={isIndeterminate}\n data-complete={\n !isIndeterminate &&\n percentage !== undefined &&\n percentage >= 100\n }\n />\n </ProgressBarTrackSlot>\n\n {layout === \"inline\" && value && (\n <ProgressBarValueSlot lineHeight=\"1\">\n {valueText}\n </ProgressBarValueSlot>\n )}\n </>\n )}\n </RaProgressBar>\n </ProgressBarRootSlot>\n );\n};\n\nProgressBar.displayName = \"ProgressBar\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","ProgressBarRootSlot","ProgressBarTrackSlot","ProgressBarFillSlot","ProgressBarLabelSlot","ProgressBarValueSlot","ProgressBar","props","forwardedRef","value","minValue","maxValue","isDynamic","isIndeterminate","label","formatOptions","variant","layout","colorPalette","rest","recipe","useSlotRecipe","recipeProps","remainingProps","styleProps","extractStyleProps","localRef","useRef","ref","useObjectRef","mergeRefs","jsx","RaProgressBar","percentage","valueText","jsxs","Fragment","Flex","RaLabel","Box"],"mappings":"oYASM,CAAE,aAAAA,EAAc,YAAAC,CAAA,EAAgBC,0BAAwB,CAC5D,IAAK,aACP,CAAC,EAGYC,EAAsBH,EAGjC,MAAO,MAAM,EAGFI,EAAuBH,EAGlC,MAAO,OAAO,EAGHI,EAAsBJ,EAGjC,MAAO,MAAM,EAGFK,EAAuBL,EAGlC,OAAQ,OAAO,EAGJM,EAAuBN,EAGlC,OAAQ,OAAO,ECLJO,EAAeC,GAA4B,CACtD,KAAM,CACJ,IAAKC,EACL,MAAAC,EACA,SAAAC,EAAW,EACX,SAAAC,EAAW,IACX,UAAAC,EAAY,GACZ,gBAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,CAAE,MAAO,SAAA,EACzB,QAAAC,EAAU,QACV,OAAAC,EAAS,UACT,aAAAC,EAAe,UACf,GAAGC,CAAA,EACDZ,EAEEa,EAASC,EAAAA,cAAc,CAAE,IAAK,cAAe,EAC7C,CAACC,EAAaC,CAAc,EAAIH,EAAO,kBAAkB,CAC7D,QAAAJ,EACA,aAAAE,EACA,GAAGX,CAAA,CACJ,EACK,CAACiB,CAAU,EAAIC,EAAAA,kBAAkBF,CAAc,EAE/CG,EAAWC,EAAAA,OAAuB,IAAI,EACtCC,EAAMC,EAAAA,0CAAaC,EAAAA,UAAUJ,EAAUlB,CAAY,CAAC,EAE1D,OACEuB,EAAAA,IAAC9B,EAAA,CACE,GAAGqB,EACH,GAAGE,EACH,GAAGF,EACJ,UAAAV,EACA,gBAAAC,EACA,QAAO,GAEP,SAAAkB,EAAAA,IAACC,EAAAA,0CAAA,CACC,IAAAJ,EACA,MAAAnB,EACA,SAAAC,EACA,SAAAC,EACA,gBAAAE,EACA,cAAAE,EACC,GAAGI,EAEH,SAAA,CAAC,CAAE,WAAAc,EAAY,UAAAC,CAAA,IACdC,OAAAC,EAAAA,SAAA,CACG,SAAA,CAAAnB,IAAW,kBACToB,EAAAA,KAAA,CACE,SAAA,CAAAvB,SACEV,EAAA,CAAqB,QAAO,GAC3B,SAAA2B,EAAAA,IAACO,EAAAA,0CAAA,CAAS,WAAM,CAAA,CAClB,EAEFP,EAAAA,IAACQ,EAAAA,IAAA,CAAI,SAAS,GAAA,CAAI,EACjBzB,GAASL,GACRsB,EAAAA,IAAC1B,EAAA,CAAsB,SAAA6B,CAAA,CAAU,CAAA,EAErC,EAGDjB,IAAW,UAAYH,GACtBiB,EAAAA,IAAC3B,EAAA,CAAqB,WAAW,IAAI,QAAO,GAC1C,SAAA2B,EAAAA,IAACO,EAAAA,0CAAA,CAAS,SAAAxB,CAAA,CAAM,EAClB,QAGDZ,EAAA,CACC,SAAA6B,EAAAA,IAAC5B,EAAA,CACC,MAAO,CAAE,MAAOU,EAAkB,MAAQ,GAAGoB,CAAU,GAAA,EACvD,qBAAoBpB,EACpB,gBACE,CAACA,GACDoB,IAAe,QACfA,GAAc,GAAA,CAAA,EAGpB,EAEChB,IAAW,UAAYR,SACrBJ,EAAA,CAAqB,WAAW,IAC9B,SAAA6B,CAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAAA,CAGN,EAEA5B,EAAY,YAAc"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as C, jsxs as Q, Fragment as X } from "react/jsx-runtime";
2
2
  import { useSlotRecipe as Y } from "@chakra-ui/react/styled-system";
3
- import { k as Z } from "./index-BGkAxVw_.es.js";
3
+ import { k as Z } from "./index-pVzMA0Um.es.js";
4
4
  import { $ as _, d as ee, f as ae, a as N, c as ie, b as re, e as oe } from "./utils-_m_bPtjI.es.js";
5
5
  import { $ as te } from "./FieldError-CXcEMuBf.es.js";
6
6
  import { $ as de } from "./Form-CXcEMuBf.es.js";
@@ -12,7 +12,7 @@ import { $ as F } from "./filterDOMProps-BSVCO5jK.es.js";
12
12
  import { $ as ue } from "./useObjectRef-CaJ5pgjX.es.js";
13
13
  import R, { useMemo as E, useState as q, forwardRef as L, createContext as M } from "react";
14
14
  import { $ as $e } from "./useFormReset-3ffKrKus.es.js";
15
- import { $ as w } from "./usePress-D9qOoxbA.es.js";
15
+ import { $ as w } from "./usePress-HeLch-fy.es.js";
16
16
  import { $ as be } from "./useFocusable-Dhchq_tH.es.js";
17
17
  import { a as pe, $ as ve } from "./useFormValidation-CsBzLHWo.es.js";
18
18
  import { g as me } from "./utils-Be2JRmv-.es.js";
@@ -24,7 +24,7 @@ import { $ as T } from "./useFocusRing-4xTd5aPf.es.js";
24
24
  import { $ as ye } from "./useHover-B62SXQZ1.es.js";
25
25
  import { $ as ge } from "./VisuallyHidden-Dkq7SL0E.es.js";
26
26
  import { $ as Ie } from "./useControlledState-u436Wbp1.es.js";
27
- import { e as U } from "./extract-style-props-Cw0ebuoO.es.js";
27
+ import { e as U } from "./extract-style-props-2276ZL5_.es.js";
28
28
  import { createSlotRecipeContext as Ve } from "@chakra-ui/react";
29
29
  import { RadioButtonChecked as De, RadioButtonUnchecked as Se } from "@commercetools/nimbus-icons";
30
30
  const W = /* @__PURE__ */ new WeakMap();
@@ -347,4 +347,4 @@ export {
347
347
  G as a,
348
348
  H as b
349
349
  };
350
- //# sourceMappingURL=radio-input-BL1YItkC.es.js.map
350
+ //# sourceMappingURL=radio-input-D4YXlpKz.es.js.map