@purpur/library 9.7.5 → 9.8.1

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 (304) hide show
  1. package/CHANGELOG.json +54 -0
  2. package/CHANGELOG.md +25 -1
  3. package/dist/LICENSE.txt +7 -7
  4. package/dist/{RichText-yobCUjTD.js → RichText-BAVZadzi.js} +2 -2
  5. package/dist/{RichText-yobCUjTD.js.map → RichText-BAVZadzi.js.map} +1 -1
  6. package/dist/{RichText-jZ-sHV-u.mjs → RichText-D4vznH1B.mjs} +2 -2
  7. package/dist/{RichText-jZ-sHV-u.mjs.map → RichText-D4vznH1B.mjs.map} +1 -1
  8. package/dist/{ThemeProvider-DiDBfyFA.mjs → ThemeProvider-BJ25_asg.mjs} +13 -13
  9. package/dist/{ThemeProvider-DiDBfyFA.mjs.map → ThemeProvider-BJ25_asg.mjs.map} +1 -1
  10. package/dist/{ThemeProvider-D7oXcAde.js → ThemeProvider-BJGm3zai.js} +2 -2
  11. package/dist/{ThemeProvider-D7oXcAde.js.map → ThemeProvider-BJGm3zai.js.map} +1 -1
  12. package/dist/{accordion-CIU4U8-4.mjs → accordion-B6OoQ4uZ.mjs} +2 -2
  13. package/dist/{accordion-CIU4U8-4.mjs.map → accordion-B6OoQ4uZ.mjs.map} +1 -1
  14. package/dist/{accordion-DyhOG54L.js → accordion-BfpN5h4C.js} +2 -2
  15. package/dist/{accordion-DyhOG54L.js.map → accordion-BfpN5h4C.js.map} +1 -1
  16. package/dist/accordion.cjs.js +1 -1
  17. package/dist/accordion.es.js +1 -1
  18. package/dist/{autocomplete-3kV1btuI.js → autocomplete-CcVDJbwS.js} +2 -2
  19. package/dist/{autocomplete-3kV1btuI.js.map → autocomplete-CcVDJbwS.js.map} +1 -1
  20. package/dist/{autocomplete-BEGRn-Wh.mjs → autocomplete-DF17Zm7Q.mjs} +3 -3
  21. package/dist/{autocomplete-BEGRn-Wh.mjs.map → autocomplete-DF17Zm7Q.mjs.map} +1 -1
  22. package/dist/autocomplete.cjs.js +1 -1
  23. package/dist/autocomplete.es.js +1 -1
  24. package/dist/avatar-BDF2KuEh.mjs +28 -0
  25. package/dist/avatar-BDF2KuEh.mjs.map +1 -0
  26. package/dist/avatar-nDQ8fk-2.js +2 -0
  27. package/dist/avatar-nDQ8fk-2.js.map +1 -0
  28. package/dist/avatar.cjs.js +1 -1
  29. package/dist/avatar.es.js +1 -1
  30. package/dist/{card-DFdUs5RG.js → card-pdsBEJif.js} +2 -2
  31. package/dist/{card-DFdUs5RG.js.map → card-pdsBEJif.js.map} +1 -1
  32. package/dist/{card-C2mdp-ur.mjs → card-t2ZkZ82G.mjs} +2 -2
  33. package/dist/{card-C2mdp-ur.mjs.map → card-t2ZkZ82G.mjs.map} +1 -1
  34. package/dist/card.cjs.js +1 -1
  35. package/dist/card.es.js +1 -1
  36. package/dist/{checkbox-BHTx89JQ.mjs → checkbox-DaRtZXrE.mjs} +2 -2
  37. package/dist/{checkbox-BHTx89JQ.mjs.map → checkbox-DaRtZXrE.mjs.map} +1 -1
  38. package/dist/{checkbox-CDNcNv6d.js → checkbox-qjWQEoa5.js} +2 -2
  39. package/dist/{checkbox-CDNcNv6d.js.map → checkbox-qjWQEoa5.js.map} +1 -1
  40. package/dist/checkbox.cjs.js +1 -1
  41. package/dist/checkbox.es.js +1 -1
  42. package/dist/comparison-table-DHFpydbq.js +2 -0
  43. package/dist/comparison-table-DHFpydbq.js.map +1 -0
  44. package/dist/comparison-table-DQJL1IVC.mjs +293 -0
  45. package/dist/comparison-table-DQJL1IVC.mjs.map +1 -0
  46. package/dist/comparison-table.cjs.js +1 -1
  47. package/dist/comparison-table.es.js +1 -1
  48. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts +13 -0
  49. package/dist/components/accordion/src/accordion.visual.fixtures.d.ts.map +1 -0
  50. package/dist/components/alert-badge/src/alert-badge.visual.fixtures.d.ts +15 -0
  51. package/dist/components/alert-badge/src/alert-badge.visual.fixtures.d.ts.map +1 -0
  52. package/dist/components/avatar/src/avatar.d.ts +2 -2
  53. package/dist/components/avatar/src/avatar.d.ts.map +1 -1
  54. package/dist/components/avatar/src/avatar.visual.fixtures.d.ts +14 -0
  55. package/dist/components/avatar/src/avatar.visual.fixtures.d.ts.map +1 -0
  56. package/dist/components/badge/src/badge.visual.fixtures.d.ts +13 -0
  57. package/dist/components/badge/src/badge.visual.fixtures.d.ts.map +1 -0
  58. package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts +1 -1
  59. package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts.map +1 -1
  60. package/dist/components/countdown/src/countdown.d.ts.map +1 -1
  61. package/dist/components/countdown/src/countdown.types.d.ts +10 -0
  62. package/dist/components/countdown/src/countdown.types.d.ts.map +1 -1
  63. package/dist/components/countdown/src/countdown.visual.fixtures.d.ts +13 -0
  64. package/dist/components/countdown/src/countdown.visual.fixtures.d.ts.map +1 -0
  65. package/dist/components/countdown/src/utils.d.ts +1 -1
  66. package/dist/components/countdown/src/utils.d.ts.map +1 -1
  67. package/dist/components/footer/src/telia-logo.d.ts.map +1 -1
  68. package/dist/components/hero-banner/src/hero-banner-types.d.ts +48 -0
  69. package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -0
  70. package/dist/components/hero-banner/src/hero-banner.d.ts +5 -48
  71. package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
  72. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts +1 -1
  73. package/dist/components/hero-banner/src/hero-banner.visual.fixtures.d.ts.map +1 -1
  74. package/dist/components/search-field/src/search-field.visual.fixtures.d.ts +14 -0
  75. package/dist/components/search-field/src/search-field.visual.fixtures.d.ts.map +1 -0
  76. package/dist/components-metadata.js +2 -2
  77. package/dist/{content-block-CakKeJtN.mjs → content-block-CDMrz41K.mjs} +2 -2
  78. package/dist/{content-block-CakKeJtN.mjs.map → content-block-CDMrz41K.mjs.map} +1 -1
  79. package/dist/{content-block-CrekbIfe.js → content-block-DyYAnL2e.js} +2 -2
  80. package/dist/{content-block-CrekbIfe.js.map → content-block-DyYAnL2e.js.map} +1 -1
  81. package/dist/content-block.cjs.js +1 -1
  82. package/dist/content-block.es.js +1 -1
  83. package/dist/countdown-5Ni6OlVY.mjs +189 -0
  84. package/dist/countdown-5Ni6OlVY.mjs.map +1 -0
  85. package/dist/countdown-CGXJyzB2.js +2 -0
  86. package/dist/countdown-CGXJyzB2.js.map +1 -0
  87. package/dist/countdown.cjs.js +1 -1
  88. package/dist/countdown.es.js +1 -1
  89. package/dist/{date-field-BKKty89_.js → date-field-CKxEWHG3.js} +2 -2
  90. package/dist/{date-field-BKKty89_.js.map → date-field-CKxEWHG3.js.map} +1 -1
  91. package/dist/{date-field-Cv5CKR1y.mjs → date-field-HEFdHIxk.mjs} +2 -2
  92. package/dist/{date-field-Cv5CKR1y.mjs.map → date-field-HEFdHIxk.mjs.map} +1 -1
  93. package/dist/date-field.cjs.js +1 -1
  94. package/dist/date-field.es.js +1 -1
  95. package/dist/{date-picker-CIizn3Pv.js → date-picker-CDBwkAJI.js} +2 -2
  96. package/dist/{date-picker-CIizn3Pv.js.map → date-picker-CDBwkAJI.js.map} +1 -1
  97. package/dist/{date-picker-DixxW60s.mjs → date-picker-cQewKIMN.mjs} +6 -6
  98. package/dist/{date-picker-DixxW60s.mjs.map → date-picker-cQewKIMN.mjs.map} +1 -1
  99. package/dist/date-picker.cjs.js +1 -1
  100. package/dist/date-picker.es.js +1 -1
  101. package/dist/{date-range-field-D8vLeSwp.js → date-range-field-D7Hn9FGN.js} +2 -2
  102. package/dist/{date-range-field-D8vLeSwp.js.map → date-range-field-D7Hn9FGN.js.map} +1 -1
  103. package/dist/{date-range-field-CFcjprIl.mjs → date-range-field-_WctWD29.mjs} +2 -2
  104. package/dist/{date-range-field-CFcjprIl.mjs.map → date-range-field-_WctWD29.mjs.map} +1 -1
  105. package/dist/date-range-field.cjs.js +1 -1
  106. package/dist/date-range-field.es.js +1 -1
  107. package/dist/{drawer-DyhsP34o.js → drawer-DyLQfvEh.js} +2 -2
  108. package/dist/{drawer-DyhsP34o.js.map → drawer-DyLQfvEh.js.map} +1 -1
  109. package/dist/{drawer-BzkRd9F0.mjs → drawer-cIUx6WSZ.mjs} +3 -3
  110. package/dist/{drawer-BzkRd9F0.mjs.map → drawer-cIUx6WSZ.mjs.map} +1 -1
  111. package/dist/drawer.cjs.js +1 -1
  112. package/dist/drawer.es.js +1 -1
  113. package/dist/{dropdown-CMO_VD5e.mjs → dropdown-CDK_eRm3.mjs} +3 -3
  114. package/dist/{dropdown-CMO_VD5e.mjs.map → dropdown-CDK_eRm3.mjs.map} +1 -1
  115. package/dist/{dropdown-DJKNQnuo.js → dropdown-_FLHLyPL.js} +2 -2
  116. package/dist/{dropdown-DJKNQnuo.js.map → dropdown-_FLHLyPL.js.map} +1 -1
  117. package/dist/dropdown.cjs.js +1 -1
  118. package/dist/dropdown.es.js +1 -1
  119. package/dist/footer-CS6ZfztM.js +2 -0
  120. package/dist/footer-CS6ZfztM.js.map +1 -0
  121. package/dist/{footer-DenAcikt.mjs → footer-OJXbTn1e.mjs} +87 -97
  122. package/dist/footer-OJXbTn1e.mjs.map +1 -0
  123. package/dist/footer.cjs.js +1 -1
  124. package/dist/footer.es.js +1 -1
  125. package/dist/hero-banner--v-ezYMr.js +2 -0
  126. package/dist/hero-banner--v-ezYMr.js.map +1 -0
  127. package/dist/{hero-banner-B7xrDfzN.mjs → hero-banner-n9K-Jsdz.mjs} +78 -78
  128. package/dist/hero-banner-n9K-Jsdz.mjs.map +1 -0
  129. package/dist/hero-banner.cjs.js +1 -1
  130. package/dist/hero-banner.es.js +1 -1
  131. package/dist/library.cjs.js +1 -1
  132. package/dist/library.es.js +39 -39
  133. package/dist/{listbox-i6BQQ-NZ.mjs → listbox-CtV-Vcmy.mjs} +2 -2
  134. package/dist/{listbox-i6BQQ-NZ.mjs.map → listbox-CtV-Vcmy.mjs.map} +1 -1
  135. package/dist/{listbox-ATP4hOWF.js → listbox-lXO21cJV.js} +2 -2
  136. package/dist/{listbox-ATP4hOWF.js.map → listbox-lXO21cJV.js.map} +1 -1
  137. package/dist/listbox.cjs.js +1 -1
  138. package/dist/listbox.es.js +1 -1
  139. package/dist/{loading-Dwtkjstg.js → loading-B_0NjCnh.js} +2 -2
  140. package/dist/{loading-Dwtkjstg.js.map → loading-B_0NjCnh.js.map} +1 -1
  141. package/dist/{loading-r23nxJSz.mjs → loading-DqZBpMaa.mjs} +2 -2
  142. package/dist/{loading-r23nxJSz.mjs.map → loading-DqZBpMaa.mjs.map} +1 -1
  143. package/dist/loading.cjs.js +1 -1
  144. package/dist/loading.es.js +1 -1
  145. package/dist/{message-D9CDwcw9.mjs → message-CeXuAhmb.mjs} +3 -3
  146. package/dist/{message-D9CDwcw9.mjs.map → message-CeXuAhmb.mjs.map} +1 -1
  147. package/dist/{message-0yTS5pOF.js → message-DsGB-JFh.js} +2 -2
  148. package/dist/{message-0yTS5pOF.js.map → message-DsGB-JFh.js.map} +1 -1
  149. package/dist/message.cjs.js +1 -1
  150. package/dist/message.es.js +1 -1
  151. package/dist/{modal-EIP36327.mjs → modal-Bu1Zv5Ic.mjs} +4 -4
  152. package/dist/{modal-EIP36327.mjs.map → modal-Bu1Zv5Ic.mjs.map} +1 -1
  153. package/dist/{modal-DJn9idcw.js → modal-D0Qxrvx5.js} +2 -2
  154. package/dist/{modal-DJn9idcw.js.map → modal-D0Qxrvx5.js.map} +1 -1
  155. package/dist/modal.cjs.js +1 -1
  156. package/dist/modal.es.js +1 -1
  157. package/dist/{notification-B5bNNq86.js → notification-D2oClkX2.js} +2 -2
  158. package/dist/{notification-B5bNNq86.js.map → notification-D2oClkX2.js.map} +1 -1
  159. package/dist/{notification-BbQCmsnY.mjs → notification-DiVdy6E_.mjs} +2 -2
  160. package/dist/{notification-BbQCmsnY.mjs.map → notification-DiVdy6E_.mjs.map} +1 -1
  161. package/dist/notification.cjs.js +1 -1
  162. package/dist/notification.es.js +1 -1
  163. package/dist/{pagination-rFRdkHII.js → pagination-BDfaybj3.js} +2 -2
  164. package/dist/{pagination-rFRdkHII.js.map → pagination-BDfaybj3.js.map} +1 -1
  165. package/dist/{pagination-Cc_4zCQA.mjs → pagination-Bm38GKga.mjs} +2 -2
  166. package/dist/{pagination-Cc_4zCQA.mjs.map → pagination-Bm38GKga.mjs.map} +1 -1
  167. package/dist/pagination.cjs.js +1 -1
  168. package/dist/pagination.es.js +1 -1
  169. package/dist/{paragraph-By4jMjnH.js → paragraph-B8HFdNne.js} +2 -2
  170. package/dist/{paragraph-By4jMjnH.js.map → paragraph-B8HFdNne.js.map} +1 -1
  171. package/dist/{paragraph-DSxXmX_0.mjs → paragraph-CwAdFoIm.mjs} +3 -3
  172. package/dist/{paragraph-DSxXmX_0.mjs.map → paragraph-CwAdFoIm.mjs.map} +1 -1
  173. package/dist/paragraph.cjs.js +1 -1
  174. package/dist/paragraph.es.js +1 -1
  175. package/dist/{popover-DnGgzfQr.js → popover-BFozkeS3.js} +2 -2
  176. package/dist/{popover-DnGgzfQr.js.map → popover-BFozkeS3.js.map} +1 -1
  177. package/dist/{popover-DERrvReO.mjs → popover-DFPGkVJ6.mjs} +4 -4
  178. package/dist/{popover-DERrvReO.mjs.map → popover-DFPGkVJ6.mjs.map} +1 -1
  179. package/dist/popover.cjs.js +1 -1
  180. package/dist/popover.es.js +1 -1
  181. package/dist/{product-card-Bt-F0wKr.mjs → product-card-CxfHfJVV.mjs} +3 -3
  182. package/dist/{product-card-Bt-F0wKr.mjs.map → product-card-CxfHfJVV.mjs.map} +1 -1
  183. package/dist/{product-card-8X-Ld2d_.js → product-card-XxBwuxM-.js} +2 -2
  184. package/dist/{product-card-8X-Ld2d_.js.map → product-card-XxBwuxM-.js.map} +1 -1
  185. package/dist/product-card.cjs.js +1 -1
  186. package/dist/product-card.es.js +1 -1
  187. package/dist/{promotion-card-DKc2Cx1h.js → promotion-card-C1UoxzcV.js} +2 -2
  188. package/dist/{promotion-card-DKc2Cx1h.js.map → promotion-card-C1UoxzcV.js.map} +1 -1
  189. package/dist/{promotion-card-BnzIVNQ4.mjs → promotion-card-CooYPpFo.mjs} +38 -38
  190. package/dist/{promotion-card-BnzIVNQ4.mjs.map → promotion-card-CooYPpFo.mjs.map} +1 -1
  191. package/dist/promotion-card.cjs.js +1 -1
  192. package/dist/promotion-card.es.js +1 -1
  193. package/dist/purpur.css +1 -1
  194. package/dist/{quantity-selector-CvBvnMeB.mjs → quantity-selector-B4YnfmNb.mjs} +2 -2
  195. package/dist/{quantity-selector-CvBvnMeB.mjs.map → quantity-selector-B4YnfmNb.mjs.map} +1 -1
  196. package/dist/{quantity-selector-CDSfcTb1.js → quantity-selector-CTBoxiPO.js} +2 -2
  197. package/dist/{quantity-selector-CDSfcTb1.js.map → quantity-selector-CTBoxiPO.js.map} +1 -1
  198. package/dist/quantity-selector.cjs.js +1 -1
  199. package/dist/quantity-selector.es.js +1 -1
  200. package/dist/{radio-card-group-nrDi5EPK.js → radio-card-group-BXwkIIEw.js} +2 -2
  201. package/dist/{radio-card-group-nrDi5EPK.js.map → radio-card-group-BXwkIIEw.js.map} +1 -1
  202. package/dist/{radio-card-group-ZBXjYcQs.mjs → radio-card-group-Bn6SK0Wc.mjs} +2 -2
  203. package/dist/{radio-card-group-ZBXjYcQs.mjs.map → radio-card-group-Bn6SK0Wc.mjs.map} +1 -1
  204. package/dist/radio-card-group.cjs.js +1 -1
  205. package/dist/radio-card-group.es.js +1 -1
  206. package/dist/rich-text.cjs.js +1 -1
  207. package/dist/rich-text.es.js +1 -1
  208. package/dist/{search-field-DKyNh7pE.mjs → search-field-BPLzy3RR.mjs} +3 -3
  209. package/dist/{search-field-DKyNh7pE.mjs.map → search-field-BPLzy3RR.mjs.map} +1 -1
  210. package/dist/{search-field-2vdDbiT0.js → search-field-Dx4qCcrh.js} +2 -2
  211. package/dist/{search-field-2vdDbiT0.js.map → search-field-Dx4qCcrh.js.map} +1 -1
  212. package/dist/search-field.cjs.js +1 -1
  213. package/dist/search-field.es.js +1 -1
  214. package/dist/{stepper-e0qicwqd.mjs → stepper-DSl-YCMe.mjs} +2 -2
  215. package/dist/{stepper-e0qicwqd.mjs.map → stepper-DSl-YCMe.mjs.map} +1 -1
  216. package/dist/{stepper-5qMo_shq.js → stepper-eaxkBC7o.js} +2 -2
  217. package/dist/{stepper-5qMo_shq.js.map → stepper-eaxkBC7o.js.map} +1 -1
  218. package/dist/stepper.cjs.js +1 -1
  219. package/dist/stepper.es.js +1 -1
  220. package/dist/{table-i1Gs9e0e.mjs → table-D9MKkbPO.mjs} +9 -9
  221. package/dist/{table-i1Gs9e0e.mjs.map → table-D9MKkbPO.mjs.map} +1 -1
  222. package/dist/{table-BOCcBzSO.js → table-rS3hITtj.js} +2 -2
  223. package/dist/{table-BOCcBzSO.js.map → table-rS3hITtj.js.map} +1 -1
  224. package/dist/table.cjs.js +1 -1
  225. package/dist/table.es.js +1 -1
  226. package/dist/{text-area-D0truMT1.js → text-area-9RUldq6W.js} +2 -2
  227. package/dist/{text-area-D0truMT1.js.map → text-area-9RUldq6W.js.map} +1 -1
  228. package/dist/{text-area-IVH-k4MM.mjs → text-area-C58aZEPa.mjs} +3 -3
  229. package/dist/{text-area-IVH-k4MM.mjs.map → text-area-C58aZEPa.mjs.map} +1 -1
  230. package/dist/text-area.cjs.js +1 -1
  231. package/dist/text-area.es.js +1 -1
  232. package/dist/text-field-C2W13n15.js +2 -0
  233. package/dist/{text-field-CYJzQG3h.js.map → text-field-C2W13n15.js.map} +1 -1
  234. package/dist/{text-field-BQfxJobW.mjs → text-field-D8MMa6ij.mjs} +114 -114
  235. package/dist/{text-field-BQfxJobW.mjs.map → text-field-D8MMa6ij.mjs.map} +1 -1
  236. package/dist/text-field.cjs.js +1 -1
  237. package/dist/text-field.es.js +1 -1
  238. package/dist/theme.cjs.js +1 -1
  239. package/dist/theme.es.js +3 -3
  240. package/dist/{toggle-B8ZLUVar.js → toggle-BgrfdtmN.js} +2 -2
  241. package/dist/{toggle-B8ZLUVar.js.map → toggle-BgrfdtmN.js.map} +1 -1
  242. package/dist/{toggle-CY3J8BRX.mjs → toggle-Cg1KFa_2.mjs} +2 -2
  243. package/dist/{toggle-CY3J8BRX.mjs.map → toggle-Cg1KFa_2.mjs.map} +1 -1
  244. package/dist/toggle.cjs.js +1 -1
  245. package/dist/toggle.es.js +1 -1
  246. package/dist/tokens/color/variables.css +1 -1
  247. package/dist/tokens/color/variables.dark.css +1 -1
  248. package/dist/tokens/color/variables.dark.js +1 -1
  249. package/dist/tokens/color/variables.dark.json +1 -1
  250. package/dist/tokens/color/variables.dark.scss +1 -1
  251. package/dist/tokens/color/variables.js +1 -1
  252. package/dist/tokens/color/variables.json +1 -1
  253. package/dist/tokens/color/variables.scss +1 -1
  254. package/dist/tokens.cjs.js +1 -1
  255. package/dist/tokens.es.js +1 -1
  256. package/dist/{tooltip-CJGmJDFQ.js → tooltip-B-11qk-0.js} +2 -2
  257. package/dist/{tooltip-CJGmJDFQ.js.map → tooltip-B-11qk-0.js.map} +1 -1
  258. package/dist/{tooltip-RA-03bKs.mjs → tooltip-DngYHn5W.mjs} +4 -4
  259. package/dist/{tooltip-RA-03bKs.mjs.map → tooltip-DngYHn5W.mjs.map} +1 -1
  260. package/dist/tooltip.cjs.js +1 -1
  261. package/dist/tooltip.es.js +1 -1
  262. package/dist/{useColorScheme-B9DWd-LN.mjs → useColorScheme-B7lGBSe4.mjs} +2 -2
  263. package/dist/{useColorScheme-B9DWd-LN.mjs.map → useColorScheme-B7lGBSe4.mjs.map} +1 -1
  264. package/dist/useColorScheme-BHhPgv9q.js +2 -0
  265. package/dist/{useColorScheme-DbTQjxNB.js.map → useColorScheme-BHhPgv9q.js.map} +1 -1
  266. package/dist/useThemePortalContainer-CUcqV327.js +2 -0
  267. package/dist/{useThemePortalContainer-D9BYjEvT.js.map → useThemePortalContainer-CUcqV327.js.map} +1 -1
  268. package/dist/useThemePortalContainer-D13Xx24N.mjs +9 -0
  269. package/dist/{useThemePortalContainer-tFLTaYKN.mjs.map → useThemePortalContainer-D13Xx24N.mjs.map} +1 -1
  270. package/dist/{variables-B5hbV0Uy.mjs → variables-BrsAsWIF.mjs} +2 -2
  271. package/dist/{variables-B5hbV0Uy.mjs.map → variables-BrsAsWIF.mjs.map} +1 -1
  272. package/dist/{variables-DoI78zZc.js → variables-D1vNo1lO.js} +2 -2
  273. package/dist/{variables-DoI78zZc.js.map → variables-D1vNo1lO.js.map} +1 -1
  274. package/package.json +21 -21
  275. package/tokens/color/variables.css +1 -1
  276. package/tokens/color/variables.dark.css +1 -1
  277. package/tokens/color/variables.dark.js +1 -1
  278. package/tokens/color/variables.dark.json +1 -1
  279. package/tokens/color/variables.dark.scss +1 -1
  280. package/tokens/color/variables.js +1 -1
  281. package/tokens/color/variables.json +1 -1
  282. package/tokens/color/variables.scss +1 -1
  283. package/dist/avatar-CYnD57o4.js +0 -2
  284. package/dist/avatar-CYnD57o4.js.map +0 -1
  285. package/dist/avatar-CzbDD1MK.mjs +0 -27
  286. package/dist/avatar-CzbDD1MK.mjs.map +0 -1
  287. package/dist/comparison-table-0UDB2BTU.js +0 -2
  288. package/dist/comparison-table-0UDB2BTU.js.map +0 -1
  289. package/dist/comparison-table-CjTE-fHN.mjs +0 -292
  290. package/dist/comparison-table-CjTE-fHN.mjs.map +0 -1
  291. package/dist/countdown-BsLsEZBv.mjs +0 -179
  292. package/dist/countdown-BsLsEZBv.mjs.map +0 -1
  293. package/dist/countdown-hYrFLmRg.js +0 -2
  294. package/dist/countdown-hYrFLmRg.js.map +0 -1
  295. package/dist/footer-3Y-664-8.js +0 -2
  296. package/dist/footer-3Y-664-8.js.map +0 -1
  297. package/dist/footer-DenAcikt.mjs.map +0 -1
  298. package/dist/hero-banner-B7xrDfzN.mjs.map +0 -1
  299. package/dist/hero-banner-DthITuQ7.js +0 -2
  300. package/dist/hero-banner-DthITuQ7.js.map +0 -1
  301. package/dist/text-field-CYJzQG3h.js +0 -2
  302. package/dist/useColorScheme-DbTQjxNB.js +0 -2
  303. package/dist/useThemePortalContainer-D9BYjEvT.js +0 -2
  304. package/dist/useThemePortalContainer-tFLTaYKN.mjs +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-rFRdkHII.js","sources":["../../../components/pagination/src/navigation.ts","../../../components/pagination/src/use-page-options.hook.ts","../../../components/pagination/src/pagination-page-selector.tsx","../../../components/pagination/src/use-page-size-options.hook.ts","../../../components/pagination/src/pagination-page-size-selector.tsx","../../../components/pagination/src/pagination-page-trigger.tsx","../../../components/pagination/src/pagination-truncation-separator.tsx","../../../components/pagination/src/pagination-pages.tsx","../../../components/pagination/src/pagination-step-trigger.tsx","../../../components/pagination/src/use-pagination-pages.hook.ts","../../../components/pagination/src/pagination.tsx"],"sourcesContent":["export const navigateToPage = (url: string): void => {\n window.location.href = url;\n};\n","import { useMemo } from \"react\";\nimport type { SelectOption } from \"@purpur/select\";\n\ntype UsePageOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageOptions = (numberOfPages: number): UsePageOptionsHook => {\n const options = useMemo(\n () =>\n Array.from({ length: numberOfPages }, (_, i) => ({ label: `${i + 1}`, value: `${i + 1}` })),\n [numberOfPages]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { Select } from \"@purpur/select\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-selector.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps } from \"./types\";\nimport { usePageOptions } from \"./use-page-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSelectorProps = Omit<BaseProps, \"children\"> & {\n currentPage: number;\n navigationFunction: (page: number, url: string) => void;\n numberOfPages: number;\n onPageChange: (page: number) => void;\n outOfLabel: string;\n pageSelectorId?: string;\n pageSelectorLabel: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-selector\";\n\nexport const PaginationPageSelector = forwardRef<HTMLDivElement, PaginationPageSelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-selector\",\n asLink,\n className,\n currentPage,\n hrefGetter,\n navigationFunction,\n numberOfPages,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n ...props\n },\n ref\n ) => {\n const id = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageOptions(numberOfPages);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const page = event.target.value ? Number(event.target.value) : 1;\n onPageChange(page);\n if (asLink) {\n const url = hrefGetter?.(page) ?? \"\";\n navigationFunction(page, url);\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div className={cx(`${rootClassName}__select-container`)}>\n <VisuallyHidden>\n <Label data-testid={`${dataTestId}-label`} htmlFor={id}>\n {pageSelectorLabel}\n </Label>\n </VisuallyHidden>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={pageSelectorId ?? id}\n onChange={onSelectionChange}\n options={options}\n value={String(currentPage)}\n />\n </div>\n <Paragraph\n className={cx(`${rootClassName}__of-total-pages-label`)}\n data-testid={`${dataTestId}-of-total-pages`}\n >\n {`${outOfLabel} ${numberOfPages}`}\n </Paragraph>\n </div>\n );\n }\n);\n\nPaginationPageSelector.displayName = \"PaginationPageSelector\";\n","import { useMemo } from \"react\";\nimport { type SelectOption } from \"@purpur/select\";\n\ntype UsePageSizeOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageSizeOptions = (availablePageSizes: number[]): UsePageSizeOptionsHook => {\n const options = useMemo(\n () =>\n availablePageSizes.map((pageSize: number) => ({\n label: `${pageSize}`,\n value: `${pageSize}`,\n })),\n [availablePageSizes]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Select } from \"@purpur/select\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination-page-size-selector.module.scss\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePageSizeOptions } from \"./use-page-size-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSizeSelectorProps = Omit<BaseProps, \"children\"> & {\n availablePageSizes: number[];\n onPageSizeChange: (itemsPerPage: number) => void;\n pageSize: number;\n pageSizeLabel: string;\n} & (Omit<LinkProps, \"onPageChange\"> | Omit<NoLinkProps, \"onPageChange\">);\n\nconst rootClassName = \"purpur-pagination-page-size-selector\";\n\nexport const PaginationPageSizeSelector = forwardRef<\n HTMLDivElement,\n PaginationPageSizeSelectorProps\n>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-size-selector\",\n asLink,\n availablePageSizes,\n className,\n hrefGetter,\n navigationFunction,\n onPageSizeChange,\n pageSize,\n pageSizeLabel,\n ...props\n },\n ref\n ) => {\n const selectId = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageSizeOptions(availablePageSizes);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const selectedPageSize = Number(event.target.value);\n onPageSizeChange(selectedPageSize);\n if (asLink) {\n const url = hrefGetter({ page: 1, pageSize: selectedPageSize });\n if (navigationFunction) {\n navigationFunction({ currentPage: 1, pageSize: selectedPageSize, url });\n } else {\n navigateToPage(url);\n }\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <Label\n className={cx(`${rootClassName}__items-per-page-label`)}\n data-testid={`${dataTestId}-item-per-page-label`}\n htmlFor={selectId}\n >\n <span className={cx(`${rootClassName}__items-per-page-label-text`)}>{pageSizeLabel}</span>\n </Label>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={selectId}\n onChange={onSelectionChange}\n options={options}\n value={pageSize}\n />\n </div>\n );\n }\n);\n\nPaginationPageSizeSelector.displayName = \"PaginationPageSizeSelector\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageTriggerProps = Omit<BaseProps<\"li\">, \"children\"> & {\n linkElement: Link;\n disabled?: boolean;\n onPageChange: (page: number) => void;\n pageNumber: number;\n selected: boolean;\n stepNumberPrefix: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-trigger\";\n\nexport const PaginationPageTrigger = forwardRef<HTMLLIElement, PaginationPageTriggerProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-trigger\",\n linkElement: LinkElement,\n asLink,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageNumber,\n selected,\n stepNumberPrefix,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n `${rootClassName}__trigger-item--disabled`\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-disabled-link`}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </span>\n ) : (\n <LinkElement\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageNumber)}\n onClick={() => onPageChange(pageNumber)}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n data-testid={`${dataTestId}-button`}\n aria-current={selected ? \"page\" : undefined}\n disabled={disabled}\n onClick={() => onPageChange(pageNumber)}\n type=\"button\"\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </button>\n )}\n </li>\n );\n }\n);\n\nPaginationPageTrigger.displayName = \"PaginationPageTrigger\";\n","import React from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-truncation-separator.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTruncationSeparatorProps = Omit<BaseProps<\"li\">, \"children\">;\n\nconst rootClassName = \"purpur-pagination-truncation-separator\";\n\nexport const PaginationTruncationSeparator = ({\n [\"data-testid\"]: dataTestId = \"purpur-pagination-truncation-separator\",\n className,\n [\"aria-label\"]: ariaLabel,\n ...props\n}: PaginationTruncationSeparatorProps) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} {...props}>\n <Paragraph aria-label={ariaLabel}>...</Paragraph>\n </li>\n );\n};\n\nPaginationTruncationSeparator.displayName = \"PaginationTruncationSeparator\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport { PaginationPageTrigger } from \"./pagination-page-trigger\";\nimport styles from \"./pagination-pages.module.scss\";\nimport { PaginationTruncationSeparator } from \"./pagination-truncation-separator\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPagesProps = Omit<BaseProps<\"ol\">, \"children\"> & {\n linkElement: Link;\n currentPage: number;\n onPageChange: (page: number) => void;\n pages: number[];\n stepNumberPrefix: string;\n truncationSeparatorAriaLabel?: string;\n} & (InternalNoLinkProps | InternalLinkProps);\n\nconst rootClassName = \"purpur-pagination-pages\";\n\nexport const PaginationPages = forwardRef<HTMLOListElement, PaginationPagesProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-pages\",\n linkElement: LinkElement,\n asLink,\n className,\n currentPage,\n hrefGetter,\n onPageChange,\n pages,\n stepNumberPrefix,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <ol className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {pages.flatMap((pageNumber: number, idx: number, pages: number[]) => {\n const TriggerComponent = (\n <PaginationPageTrigger\n {...(asLink\n ? { asLink: true, hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n })}\n linkElement={LinkElement}\n data-testid={`${dataTestId}-page-${pageNumber}`}\n key={pageNumber}\n onPageChange={onPageChange}\n selected={pageNumber === currentPage}\n stepNumberPrefix={stepNumberPrefix}\n pageNumber={pageNumber}\n />\n );\n return idx === 0 || pages[idx - 1] + 1 === pageNumber\n ? [TriggerComponent]\n : [\n <PaginationTruncationSeparator\n data-testid={`${dataTestId}-truncation-separator-${pageNumber}`}\n key={`${pageNumber}-separator`}\n aria-label={truncationSeparatorAriaLabel}\n />,\n TriggerComponent,\n ];\n })}\n </ol>\n );\n }\n);\n\nPaginationPages.displayName = \"PaginationPages\";\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-step-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationStepTriggerProps = Omit<BaseProps, \"children\"> & {\n linkElement: Link;\n children: ReactNode;\n disabled: boolean;\n onPageChange: (page: number) => void;\n pageToNavigateTo: number;\n isIconOnly: boolean;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-step-trigger\";\n\nexport const PaginationStepTrigger = forwardRef<HTMLDivElement, PaginationStepTriggerProps>(\n (\n {\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId = \"purpur-pagination-step-trigger\",\n linkElement: LinkElement,\n asLink,\n children,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageToNavigateTo,\n isIconOnly,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--disabled`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-disabled-link`}\n >\n {children}\n </span>\n ) : (\n <LinkElement\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageToNavigateTo)}\n onClick={() => onPageChange(pageToNavigateTo)}\n >\n {children}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n {\n [`${rootClassName}__trigger-item--disabled`]: disabled,\n [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly,\n }\n )}\n data-testid={`${dataTestId}-button`}\n disabled={disabled}\n onClick={() => onPageChange(pageToNavigateTo)}\n type=\"button\"\n >\n {children}\n </button>\n )}\n </div>\n );\n }\n);\n\nPaginationStepTrigger.displayName = \"PaginationStepTrigger\";\n","import { useEffect, useState } from \"react\";\n\ntype UsePaginationPagesHook = {\n pages: number[];\n numberOfPages: number;\n};\n\nexport const usePaginationPages = (\n totalItems: number,\n pageSize: number,\n currentPage: number\n): UsePaginationPagesHook => {\n const [pages, setPages] = useState<number[]>([]);\n const [numberOfPages, setNumberOfPages] = useState<number>(0);\n\n useEffect(() => {\n const totalNumberOfPages = Math.ceil(totalItems / pageSize);\n setNumberOfPages(totalNumberOfPages);\n setPages(getPagesToDisplay(totalNumberOfPages, currentPage));\n }, [totalItems, pageSize, currentPage]);\n\n return {\n pages,\n numberOfPages,\n };\n};\n\nfunction getPagesToDisplay(totalNumberOfPages: number, currentPage: number): number[] {\n if (totalNumberOfPages <= 5) {\n return Array.from({ length: totalNumberOfPages }, (_, i) => i + 1);\n }\n const firstThreePages = [1, 2, 3];\n if (firstThreePages.includes(currentPage)) {\n return [...firstThreePages, 4, totalNumberOfPages];\n }\n const lastThreePages = [totalNumberOfPages - 2, totalNumberOfPages - 1, totalNumberOfPages];\n if (lastThreePages.includes(currentPage)) {\n return [1, totalNumberOfPages - 3, ...lastThreePages];\n }\n return [1, currentPage - 1, currentPage, currentPage + 1, totalNumberOfPages];\n}\n","import React, { forwardRef, useState } from \"react\";\nimport { IconArrowLeft } from \"@purpur/icon/arrow-left\";\nimport { IconArrowRight } from \"@purpur/icon/arrow-right\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination.module.scss\";\nimport { PaginationPageSelector } from \"./pagination-page-selector\";\nimport { PaginationPageSizeSelector } from \"./pagination-page-size-selector\";\nimport { PaginationPages } from \"./pagination-pages\";\nimport { PaginationStepTrigger } from \"./pagination-step-trigger\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePaginationPages } from \"./use-pagination-pages.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTexts = {\n nextButtonAriaLabel: string;\n /**\n * Omiting this and previousButtonText will result in an icon-only button.\n */\n nextButtonText?: string;\n /**\n * This is the divider word between the current page and the total number of pages.\n * For example, if the current page is 1 and the total number of pages is 10, the text will be \"1 of 10\".\n */\n outOfLabel: string;\n /**\n * This is a hidden label for the page selector\n */\n pageSelectorLabel: string;\n /**\n * This is the \"...\" text that is displayed when there are more pages than can be shown at once.\n */\n truncationSeparatorAriaLabel?: string;\n previousButtonAriaLabel: string;\n /**\n * Omiting this and nextButtonText will result in an icon-only button.\n */\n previousButtonText?: string;\n /**\n * This is a screen reader text that will be inserted before the current page number. For example, for step 1 it will say \"Go to step 1\".\n */\n stepNumberPrefix: string;\n};\n\nexport type PageSizeProps = {\n availablePageSizes: number[];\n pageSize?: number;\n /**\n * The label describing the page size select.\n */\n pageSizeLabel: string;\n};\n\nexport type NoPageSizeProps = {\n availablePageSizes?: never;\n pageSize?: number;\n pageSizeLabel?: never;\n};\n\nexport type PaginationProps = {\n currentPage: number;\n pageSelectorId?: string;\n totalItems: number;\n} & PaginationTexts &\n (PageSizeProps | NoPageSizeProps) &\n (LinkProps | NoLinkProps);\n\nconst rootClassName = \"purpur-pagination\";\n\nexport const Pagination = forwardRef<HTMLDivElement, PaginationProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination\",\n linkElement = \"a\",\n asLink,\n availablePageSizes,\n className,\n currentPage = 1,\n hrefGetter,\n navigationFunction,\n nextButtonAriaLabel,\n nextButtonText,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n pageSize = 10,\n pageSizeLabel,\n previousButtonAriaLabel,\n previousButtonText,\n stepNumberPrefix,\n totalItems,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n const [_pageSize, _setPageSize] = useState(pageSize);\n const { pages, numberOfPages } = usePaginationPages(totalItems, _pageSize, currentPage);\n const isIconOnly = !previousButtonText && !nextButtonText;\n\n const _onPageChange = (page: number): void => {\n onPageChange?.({ currentPage: page, pageSize });\n };\n\n const _hrefGetter = (page: number): string => {\n return hrefGetter?.({ page, pageSize }) ?? \"\";\n };\n\n const _onPageSizeChange = (newPageSize: number): void => {\n _setPageSize(newPageSize);\n onPageChange?.({ currentPage: 1, pageSize: newPageSize });\n };\n\n const _navigationFunction = (page: number, url: string): void => {\n if (navigationFunction) {\n navigationFunction({ currentPage: page, pageSize: _pageSize, url });\n } else {\n navigateToPage(url);\n }\n };\n\n const linkProps = asLink\n ? { asLink: true as const, hrefGetter: _hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n };\n\n const ContainerTag = asLink ? \"nav\" : \"div\";\n\n if (!numberOfPages) {\n return null;\n }\n\n return (\n <ContainerTag className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div\n className={cx(`${rootClassName}__pagination-container`, {\n [`${rootClassName}__pagination-container--with-page-size-select`]: !!availablePageSizes,\n })}\n >\n <div className={cx(`${rootClassName}__page-navigation-container`)}>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={previousButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-previous-step-trigger`}\n disabled={currentPage === 1}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage - 1}\n isIconOnly={isIconOnly}\n >\n <IconArrowLeft size=\"sm\" />\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {previousButtonText}\n </span>\n {currentPage !== 1 && (\n <VisuallyHidden data-testid={`${dataTestId}-previous-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage - 1}`}\n </VisuallyHidden>\n )}\n </PaginationStepTrigger>\n <div className={cx(`${rootClassName}__page-trigger-container`)}>\n <PaginationPageSelector\n {...linkProps}\n className={cx(`${rootClassName}__page-selector`, {\n [`${rootClassName}__page-selector--visible`]: pages.length > 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-page-selector`}\n navigationFunction={_navigationFunction}\n numberOfPages={numberOfPages}\n onPageChange={_onPageChange}\n outOfLabel={outOfLabel}\n pageSelectorId={pageSelectorId}\n pageSelectorLabel={pageSelectorLabel}\n />\n <PaginationPages\n {...linkProps}\n linkElement={linkElement}\n className={cx(`${rootClassName}__pages`, {\n [`${rootClassName}__pages--visible`]: pages.length <= 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-pages`}\n stepNumberPrefix={stepNumberPrefix}\n onPageChange={_onPageChange}\n truncationSeparatorAriaLabel={truncationSeparatorAriaLabel}\n pages={pages}\n />\n </div>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={nextButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-next-step-trigger`}\n disabled={currentPage === numberOfPages}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage + 1}\n isIconOnly={isIconOnly}\n >\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {nextButtonText}\n </span>\n {currentPage !== numberOfPages && (\n <VisuallyHidden data-testid={`${dataTestId}-next-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage + 1}`}\n </VisuallyHidden>\n )}\n <IconArrowRight size=\"sm\" />\n </PaginationStepTrigger>\n </div>\n {availablePageSizes && (\n <div className={cx(`${rootClassName}__page-size-select-container`)}>\n <PaginationPageSizeSelector\n {...(asLink\n ? { asLink: true, hrefGetter, navigationFunction }\n : { asLink: undefined as never, hrefGetter: undefined as never })}\n availablePageSizes={availablePageSizes}\n className={cx(`${rootClassName}__page-size-selector`)}\n data-testid={`${dataTestId}-page-size-selector`}\n onPageSizeChange={_onPageSizeChange}\n pageSize={_pageSize}\n pageSizeLabel={pageSizeLabel}\n />\n </div>\n )}\n </div>\n </ContainerTag>\n );\n }\n);\n\nPagination.displayName = \"Pagination\";\n"],"names":["navigateToPage","url","usePageOptions","numberOfPages","useMemo","_","i","cx","c","styles","rootClassName","PaginationPageSelector","forwardRef","dataTestId","asLink","className","currentPage","hrefGetter","navigationFunction","onPageChange","outOfLabel","pageSelectorId","pageSelectorLabel","props","ref","id","useId","classes","options","onSelectionChange","event","page","jsxs","jsx","VisuallyHidden","Label","Select","Paragraph","usePageSizeOptions","availablePageSizes","pageSize","PaginationPageSizeSelector","onPageSizeChange","pageSizeLabel","selectId","selectedPageSize","PaginationPageTrigger","LinkElement","disabled","pageNumber","selected","stepNumberPrefix","PaginationTruncationSeparator","ariaLabel","PaginationPages","pages","truncationSeparatorAriaLabel","idx","TriggerComponent","createElement","PaginationStepTrigger","children","pageToNavigateTo","isIconOnly","usePaginationPages","totalItems","setPages","useState","setNumberOfPages","useEffect","totalNumberOfPages","getPagesToDisplay","firstThreePages","lastThreePages","Pagination","linkElement","nextButtonAriaLabel","nextButtonText","previousButtonAriaLabel","previousButtonText","_pageSize","_setPageSize","_onPageChange","_hrefGetter","_onPageSizeChange","newPageSize","_navigationFunction","linkProps","ContainerTag","IconArrowLeft","IconArrowRight"],"mappings":"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"}
1
+ {"version":3,"file":"pagination-BDfaybj3.js","sources":["../../../components/pagination/src/navigation.ts","../../../components/pagination/src/use-page-options.hook.ts","../../../components/pagination/src/pagination-page-selector.tsx","../../../components/pagination/src/use-page-size-options.hook.ts","../../../components/pagination/src/pagination-page-size-selector.tsx","../../../components/pagination/src/pagination-page-trigger.tsx","../../../components/pagination/src/pagination-truncation-separator.tsx","../../../components/pagination/src/pagination-pages.tsx","../../../components/pagination/src/pagination-step-trigger.tsx","../../../components/pagination/src/use-pagination-pages.hook.ts","../../../components/pagination/src/pagination.tsx"],"sourcesContent":["export const navigateToPage = (url: string): void => {\n window.location.href = url;\n};\n","import { useMemo } from \"react\";\nimport type { SelectOption } from \"@purpur/select\";\n\ntype UsePageOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageOptions = (numberOfPages: number): UsePageOptionsHook => {\n const options = useMemo(\n () =>\n Array.from({ length: numberOfPages }, (_, i) => ({ label: `${i + 1}`, value: `${i + 1}` })),\n [numberOfPages]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { Select } from \"@purpur/select\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-selector.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps } from \"./types\";\nimport { usePageOptions } from \"./use-page-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSelectorProps = Omit<BaseProps, \"children\"> & {\n currentPage: number;\n navigationFunction: (page: number, url: string) => void;\n numberOfPages: number;\n onPageChange: (page: number) => void;\n outOfLabel: string;\n pageSelectorId?: string;\n pageSelectorLabel: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-selector\";\n\nexport const PaginationPageSelector = forwardRef<HTMLDivElement, PaginationPageSelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-selector\",\n asLink,\n className,\n currentPage,\n hrefGetter,\n navigationFunction,\n numberOfPages,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n ...props\n },\n ref\n ) => {\n const id = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageOptions(numberOfPages);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const page = event.target.value ? Number(event.target.value) : 1;\n onPageChange(page);\n if (asLink) {\n const url = hrefGetter?.(page) ?? \"\";\n navigationFunction(page, url);\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div className={cx(`${rootClassName}__select-container`)}>\n <VisuallyHidden>\n <Label data-testid={`${dataTestId}-label`} htmlFor={id}>\n {pageSelectorLabel}\n </Label>\n </VisuallyHidden>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={pageSelectorId ?? id}\n onChange={onSelectionChange}\n options={options}\n value={String(currentPage)}\n />\n </div>\n <Paragraph\n className={cx(`${rootClassName}__of-total-pages-label`)}\n data-testid={`${dataTestId}-of-total-pages`}\n >\n {`${outOfLabel} ${numberOfPages}`}\n </Paragraph>\n </div>\n );\n }\n);\n\nPaginationPageSelector.displayName = \"PaginationPageSelector\";\n","import { useMemo } from \"react\";\nimport { type SelectOption } from \"@purpur/select\";\n\ntype UsePageSizeOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageSizeOptions = (availablePageSizes: number[]): UsePageSizeOptionsHook => {\n const options = useMemo(\n () =>\n availablePageSizes.map((pageSize: number) => ({\n label: `${pageSize}`,\n value: `${pageSize}`,\n })),\n [availablePageSizes]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Select } from \"@purpur/select\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination-page-size-selector.module.scss\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePageSizeOptions } from \"./use-page-size-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSizeSelectorProps = Omit<BaseProps, \"children\"> & {\n availablePageSizes: number[];\n onPageSizeChange: (itemsPerPage: number) => void;\n pageSize: number;\n pageSizeLabel: string;\n} & (Omit<LinkProps, \"onPageChange\"> | Omit<NoLinkProps, \"onPageChange\">);\n\nconst rootClassName = \"purpur-pagination-page-size-selector\";\n\nexport const PaginationPageSizeSelector = forwardRef<\n HTMLDivElement,\n PaginationPageSizeSelectorProps\n>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-size-selector\",\n asLink,\n availablePageSizes,\n className,\n hrefGetter,\n navigationFunction,\n onPageSizeChange,\n pageSize,\n pageSizeLabel,\n ...props\n },\n ref\n ) => {\n const selectId = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageSizeOptions(availablePageSizes);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const selectedPageSize = Number(event.target.value);\n onPageSizeChange(selectedPageSize);\n if (asLink) {\n const url = hrefGetter({ page: 1, pageSize: selectedPageSize });\n if (navigationFunction) {\n navigationFunction({ currentPage: 1, pageSize: selectedPageSize, url });\n } else {\n navigateToPage(url);\n }\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <Label\n className={cx(`${rootClassName}__items-per-page-label`)}\n data-testid={`${dataTestId}-item-per-page-label`}\n htmlFor={selectId}\n >\n <span className={cx(`${rootClassName}__items-per-page-label-text`)}>{pageSizeLabel}</span>\n </Label>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={selectId}\n onChange={onSelectionChange}\n options={options}\n value={pageSize}\n />\n </div>\n );\n }\n);\n\nPaginationPageSizeSelector.displayName = \"PaginationPageSizeSelector\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageTriggerProps = Omit<BaseProps<\"li\">, \"children\"> & {\n linkElement: Link;\n disabled?: boolean;\n onPageChange: (page: number) => void;\n pageNumber: number;\n selected: boolean;\n stepNumberPrefix: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-trigger\";\n\nexport const PaginationPageTrigger = forwardRef<HTMLLIElement, PaginationPageTriggerProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-trigger\",\n linkElement: LinkElement,\n asLink,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageNumber,\n selected,\n stepNumberPrefix,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n `${rootClassName}__trigger-item--disabled`\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-disabled-link`}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </span>\n ) : (\n <LinkElement\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageNumber)}\n onClick={() => onPageChange(pageNumber)}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n data-testid={`${dataTestId}-button`}\n aria-current={selected ? \"page\" : undefined}\n disabled={disabled}\n onClick={() => onPageChange(pageNumber)}\n type=\"button\"\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </button>\n )}\n </li>\n );\n }\n);\n\nPaginationPageTrigger.displayName = \"PaginationPageTrigger\";\n","import React from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-truncation-separator.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTruncationSeparatorProps = Omit<BaseProps<\"li\">, \"children\">;\n\nconst rootClassName = \"purpur-pagination-truncation-separator\";\n\nexport const PaginationTruncationSeparator = ({\n [\"data-testid\"]: dataTestId = \"purpur-pagination-truncation-separator\",\n className,\n [\"aria-label\"]: ariaLabel,\n ...props\n}: PaginationTruncationSeparatorProps) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} {...props}>\n <Paragraph aria-label={ariaLabel}>...</Paragraph>\n </li>\n );\n};\n\nPaginationTruncationSeparator.displayName = \"PaginationTruncationSeparator\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport { PaginationPageTrigger } from \"./pagination-page-trigger\";\nimport styles from \"./pagination-pages.module.scss\";\nimport { PaginationTruncationSeparator } from \"./pagination-truncation-separator\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPagesProps = Omit<BaseProps<\"ol\">, \"children\"> & {\n linkElement: Link;\n currentPage: number;\n onPageChange: (page: number) => void;\n pages: number[];\n stepNumberPrefix: string;\n truncationSeparatorAriaLabel?: string;\n} & (InternalNoLinkProps | InternalLinkProps);\n\nconst rootClassName = \"purpur-pagination-pages\";\n\nexport const PaginationPages = forwardRef<HTMLOListElement, PaginationPagesProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-pages\",\n linkElement: LinkElement,\n asLink,\n className,\n currentPage,\n hrefGetter,\n onPageChange,\n pages,\n stepNumberPrefix,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <ol className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {pages.flatMap((pageNumber: number, idx: number, pages: number[]) => {\n const TriggerComponent = (\n <PaginationPageTrigger\n {...(asLink\n ? { asLink: true, hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n })}\n linkElement={LinkElement}\n data-testid={`${dataTestId}-page-${pageNumber}`}\n key={pageNumber}\n onPageChange={onPageChange}\n selected={pageNumber === currentPage}\n stepNumberPrefix={stepNumberPrefix}\n pageNumber={pageNumber}\n />\n );\n return idx === 0 || pages[idx - 1] + 1 === pageNumber\n ? [TriggerComponent]\n : [\n <PaginationTruncationSeparator\n data-testid={`${dataTestId}-truncation-separator-${pageNumber}`}\n key={`${pageNumber}-separator`}\n aria-label={truncationSeparatorAriaLabel}\n />,\n TriggerComponent,\n ];\n })}\n </ol>\n );\n }\n);\n\nPaginationPages.displayName = \"PaginationPages\";\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-step-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationStepTriggerProps = Omit<BaseProps, \"children\"> & {\n linkElement: Link;\n children: ReactNode;\n disabled: boolean;\n onPageChange: (page: number) => void;\n pageToNavigateTo: number;\n isIconOnly: boolean;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-step-trigger\";\n\nexport const PaginationStepTrigger = forwardRef<HTMLDivElement, PaginationStepTriggerProps>(\n (\n {\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId = \"purpur-pagination-step-trigger\",\n linkElement: LinkElement,\n asLink,\n children,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageToNavigateTo,\n isIconOnly,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--disabled`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-disabled-link`}\n >\n {children}\n </span>\n ) : (\n <LinkElement\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageToNavigateTo)}\n onClick={() => onPageChange(pageToNavigateTo)}\n >\n {children}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n {\n [`${rootClassName}__trigger-item--disabled`]: disabled,\n [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly,\n }\n )}\n data-testid={`${dataTestId}-button`}\n disabled={disabled}\n onClick={() => onPageChange(pageToNavigateTo)}\n type=\"button\"\n >\n {children}\n </button>\n )}\n </div>\n );\n }\n);\n\nPaginationStepTrigger.displayName = \"PaginationStepTrigger\";\n","import { useEffect, useState } from \"react\";\n\ntype UsePaginationPagesHook = {\n pages: number[];\n numberOfPages: number;\n};\n\nexport const usePaginationPages = (\n totalItems: number,\n pageSize: number,\n currentPage: number\n): UsePaginationPagesHook => {\n const [pages, setPages] = useState<number[]>([]);\n const [numberOfPages, setNumberOfPages] = useState<number>(0);\n\n useEffect(() => {\n const totalNumberOfPages = Math.ceil(totalItems / pageSize);\n setNumberOfPages(totalNumberOfPages);\n setPages(getPagesToDisplay(totalNumberOfPages, currentPage));\n }, [totalItems, pageSize, currentPage]);\n\n return {\n pages,\n numberOfPages,\n };\n};\n\nfunction getPagesToDisplay(totalNumberOfPages: number, currentPage: number): number[] {\n if (totalNumberOfPages <= 5) {\n return Array.from({ length: totalNumberOfPages }, (_, i) => i + 1);\n }\n const firstThreePages = [1, 2, 3];\n if (firstThreePages.includes(currentPage)) {\n return [...firstThreePages, 4, totalNumberOfPages];\n }\n const lastThreePages = [totalNumberOfPages - 2, totalNumberOfPages - 1, totalNumberOfPages];\n if (lastThreePages.includes(currentPage)) {\n return [1, totalNumberOfPages - 3, ...lastThreePages];\n }\n return [1, currentPage - 1, currentPage, currentPage + 1, totalNumberOfPages];\n}\n","import React, { forwardRef, useState } from \"react\";\nimport { IconArrowLeft } from \"@purpur/icon/arrow-left\";\nimport { IconArrowRight } from \"@purpur/icon/arrow-right\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination.module.scss\";\nimport { PaginationPageSelector } from \"./pagination-page-selector\";\nimport { PaginationPageSizeSelector } from \"./pagination-page-size-selector\";\nimport { PaginationPages } from \"./pagination-pages\";\nimport { PaginationStepTrigger } from \"./pagination-step-trigger\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePaginationPages } from \"./use-pagination-pages.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTexts = {\n nextButtonAriaLabel: string;\n /**\n * Omiting this and previousButtonText will result in an icon-only button.\n */\n nextButtonText?: string;\n /**\n * This is the divider word between the current page and the total number of pages.\n * For example, if the current page is 1 and the total number of pages is 10, the text will be \"1 of 10\".\n */\n outOfLabel: string;\n /**\n * This is a hidden label for the page selector\n */\n pageSelectorLabel: string;\n /**\n * This is the \"...\" text that is displayed when there are more pages than can be shown at once.\n */\n truncationSeparatorAriaLabel?: string;\n previousButtonAriaLabel: string;\n /**\n * Omiting this and nextButtonText will result in an icon-only button.\n */\n previousButtonText?: string;\n /**\n * This is a screen reader text that will be inserted before the current page number. For example, for step 1 it will say \"Go to step 1\".\n */\n stepNumberPrefix: string;\n};\n\nexport type PageSizeProps = {\n availablePageSizes: number[];\n pageSize?: number;\n /**\n * The label describing the page size select.\n */\n pageSizeLabel: string;\n};\n\nexport type NoPageSizeProps = {\n availablePageSizes?: never;\n pageSize?: number;\n pageSizeLabel?: never;\n};\n\nexport type PaginationProps = {\n currentPage: number;\n pageSelectorId?: string;\n totalItems: number;\n} & PaginationTexts &\n (PageSizeProps | NoPageSizeProps) &\n (LinkProps | NoLinkProps);\n\nconst rootClassName = \"purpur-pagination\";\n\nexport const Pagination = forwardRef<HTMLDivElement, PaginationProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination\",\n linkElement = \"a\",\n asLink,\n availablePageSizes,\n className,\n currentPage = 1,\n hrefGetter,\n navigationFunction,\n nextButtonAriaLabel,\n nextButtonText,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n pageSize = 10,\n pageSizeLabel,\n previousButtonAriaLabel,\n previousButtonText,\n stepNumberPrefix,\n totalItems,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n const [_pageSize, _setPageSize] = useState(pageSize);\n const { pages, numberOfPages } = usePaginationPages(totalItems, _pageSize, currentPage);\n const isIconOnly = !previousButtonText && !nextButtonText;\n\n const _onPageChange = (page: number): void => {\n onPageChange?.({ currentPage: page, pageSize });\n };\n\n const _hrefGetter = (page: number): string => {\n return hrefGetter?.({ page, pageSize }) ?? \"\";\n };\n\n const _onPageSizeChange = (newPageSize: number): void => {\n _setPageSize(newPageSize);\n onPageChange?.({ currentPage: 1, pageSize: newPageSize });\n };\n\n const _navigationFunction = (page: number, url: string): void => {\n if (navigationFunction) {\n navigationFunction({ currentPage: page, pageSize: _pageSize, url });\n } else {\n navigateToPage(url);\n }\n };\n\n const linkProps = asLink\n ? { asLink: true as const, hrefGetter: _hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n };\n\n const ContainerTag = asLink ? \"nav\" : \"div\";\n\n if (!numberOfPages) {\n return null;\n }\n\n return (\n <ContainerTag className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div\n className={cx(`${rootClassName}__pagination-container`, {\n [`${rootClassName}__pagination-container--with-page-size-select`]: !!availablePageSizes,\n })}\n >\n <div className={cx(`${rootClassName}__page-navigation-container`)}>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={previousButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-previous-step-trigger`}\n disabled={currentPage === 1}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage - 1}\n isIconOnly={isIconOnly}\n >\n <IconArrowLeft size=\"sm\" />\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {previousButtonText}\n </span>\n {currentPage !== 1 && (\n <VisuallyHidden data-testid={`${dataTestId}-previous-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage - 1}`}\n </VisuallyHidden>\n )}\n </PaginationStepTrigger>\n <div className={cx(`${rootClassName}__page-trigger-container`)}>\n <PaginationPageSelector\n {...linkProps}\n className={cx(`${rootClassName}__page-selector`, {\n [`${rootClassName}__page-selector--visible`]: pages.length > 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-page-selector`}\n navigationFunction={_navigationFunction}\n numberOfPages={numberOfPages}\n onPageChange={_onPageChange}\n outOfLabel={outOfLabel}\n pageSelectorId={pageSelectorId}\n pageSelectorLabel={pageSelectorLabel}\n />\n <PaginationPages\n {...linkProps}\n linkElement={linkElement}\n className={cx(`${rootClassName}__pages`, {\n [`${rootClassName}__pages--visible`]: pages.length <= 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-pages`}\n stepNumberPrefix={stepNumberPrefix}\n onPageChange={_onPageChange}\n truncationSeparatorAriaLabel={truncationSeparatorAriaLabel}\n pages={pages}\n />\n </div>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={nextButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-next-step-trigger`}\n disabled={currentPage === numberOfPages}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage + 1}\n isIconOnly={isIconOnly}\n >\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {nextButtonText}\n </span>\n {currentPage !== numberOfPages && (\n <VisuallyHidden data-testid={`${dataTestId}-next-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage + 1}`}\n </VisuallyHidden>\n )}\n <IconArrowRight size=\"sm\" />\n </PaginationStepTrigger>\n </div>\n {availablePageSizes && (\n <div className={cx(`${rootClassName}__page-size-select-container`)}>\n <PaginationPageSizeSelector\n {...(asLink\n ? { asLink: true, hrefGetter, navigationFunction }\n : { asLink: undefined as never, hrefGetter: undefined as never })}\n availablePageSizes={availablePageSizes}\n className={cx(`${rootClassName}__page-size-selector`)}\n data-testid={`${dataTestId}-page-size-selector`}\n onPageSizeChange={_onPageSizeChange}\n pageSize={_pageSize}\n pageSizeLabel={pageSizeLabel}\n />\n </div>\n )}\n </div>\n </ContainerTag>\n );\n }\n);\n\nPagination.displayName = \"Pagination\";\n"],"names":["navigateToPage","url","usePageOptions","numberOfPages","useMemo","_","i","cx","c","styles","rootClassName","PaginationPageSelector","forwardRef","dataTestId","asLink","className","currentPage","hrefGetter","navigationFunction","onPageChange","outOfLabel","pageSelectorId","pageSelectorLabel","props","ref","id","useId","classes","options","onSelectionChange","event","page","jsxs","jsx","VisuallyHidden","Label","Select","Paragraph","usePageSizeOptions","availablePageSizes","pageSize","PaginationPageSizeSelector","onPageSizeChange","pageSizeLabel","selectId","selectedPageSize","PaginationPageTrigger","LinkElement","disabled","pageNumber","selected","stepNumberPrefix","PaginationTruncationSeparator","ariaLabel","PaginationPages","pages","truncationSeparatorAriaLabel","idx","TriggerComponent","createElement","PaginationStepTrigger","children","pageToNavigateTo","isIconOnly","usePaginationPages","totalItems","setPages","useState","setNumberOfPages","useEffect","totalNumberOfPages","getPagesToDisplay","firstThreePages","lastThreePages","Pagination","linkElement","nextButtonAriaLabel","nextButtonText","previousButtonAriaLabel","previousButtonText","_pageSize","_setPageSize","_onPageChange","_hrefGetter","_onPageSizeChange","newPageSize","_navigationFunction","linkProps","ContainerTag","IconArrowLeft","IconArrowRight"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { i as me } from "./arrow-right.es-C7SkjAB6.mjs";
5
5
  import { V as S } from "./visually-hidden-BYFkJEp1.mjs";
6
6
  import { c as C } from "./bind-CU-R61T-.mjs";
7
7
  import { L as X } from "./label-7sJe5-pX.mjs";
8
- import { P as Y } from "./paragraph-DSxXmX_0.mjs";
8
+ import { P as Y } from "./paragraph-CwAdFoIm.mjs";
9
9
  import { S as Z } from "./select-BEmu_fh9.mjs";
10
10
  const B = (e) => {
11
11
  window.location.href = e;
@@ -556,4 +556,4 @@ Ee.displayName = "Pagination";
556
556
  export {
557
557
  Ee as P
558
558
  };
559
- //# sourceMappingURL=pagination-Cc_4zCQA.mjs.map
559
+ //# sourceMappingURL=pagination-Bm38GKga.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-Cc_4zCQA.mjs","sources":["../../../components/pagination/src/navigation.ts","../../../components/pagination/src/use-page-options.hook.ts","../../../components/pagination/src/pagination-page-selector.tsx","../../../components/pagination/src/use-page-size-options.hook.ts","../../../components/pagination/src/pagination-page-size-selector.tsx","../../../components/pagination/src/pagination-page-trigger.tsx","../../../components/pagination/src/pagination-truncation-separator.tsx","../../../components/pagination/src/pagination-pages.tsx","../../../components/pagination/src/pagination-step-trigger.tsx","../../../components/pagination/src/use-pagination-pages.hook.ts","../../../components/pagination/src/pagination.tsx"],"sourcesContent":["export const navigateToPage = (url: string): void => {\n window.location.href = url;\n};\n","import { useMemo } from \"react\";\nimport type { SelectOption } from \"@purpur/select\";\n\ntype UsePageOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageOptions = (numberOfPages: number): UsePageOptionsHook => {\n const options = useMemo(\n () =>\n Array.from({ length: numberOfPages }, (_, i) => ({ label: `${i + 1}`, value: `${i + 1}` })),\n [numberOfPages]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { Select } from \"@purpur/select\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-selector.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps } from \"./types\";\nimport { usePageOptions } from \"./use-page-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSelectorProps = Omit<BaseProps, \"children\"> & {\n currentPage: number;\n navigationFunction: (page: number, url: string) => void;\n numberOfPages: number;\n onPageChange: (page: number) => void;\n outOfLabel: string;\n pageSelectorId?: string;\n pageSelectorLabel: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-selector\";\n\nexport const PaginationPageSelector = forwardRef<HTMLDivElement, PaginationPageSelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-selector\",\n asLink,\n className,\n currentPage,\n hrefGetter,\n navigationFunction,\n numberOfPages,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n ...props\n },\n ref\n ) => {\n const id = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageOptions(numberOfPages);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const page = event.target.value ? Number(event.target.value) : 1;\n onPageChange(page);\n if (asLink) {\n const url = hrefGetter?.(page) ?? \"\";\n navigationFunction(page, url);\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div className={cx(`${rootClassName}__select-container`)}>\n <VisuallyHidden>\n <Label data-testid={`${dataTestId}-label`} htmlFor={id}>\n {pageSelectorLabel}\n </Label>\n </VisuallyHidden>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={pageSelectorId ?? id}\n onChange={onSelectionChange}\n options={options}\n value={String(currentPage)}\n />\n </div>\n <Paragraph\n className={cx(`${rootClassName}__of-total-pages-label`)}\n data-testid={`${dataTestId}-of-total-pages`}\n >\n {`${outOfLabel} ${numberOfPages}`}\n </Paragraph>\n </div>\n );\n }\n);\n\nPaginationPageSelector.displayName = \"PaginationPageSelector\";\n","import { useMemo } from \"react\";\nimport { type SelectOption } from \"@purpur/select\";\n\ntype UsePageSizeOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageSizeOptions = (availablePageSizes: number[]): UsePageSizeOptionsHook => {\n const options = useMemo(\n () =>\n availablePageSizes.map((pageSize: number) => ({\n label: `${pageSize}`,\n value: `${pageSize}`,\n })),\n [availablePageSizes]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Select } from \"@purpur/select\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination-page-size-selector.module.scss\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePageSizeOptions } from \"./use-page-size-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSizeSelectorProps = Omit<BaseProps, \"children\"> & {\n availablePageSizes: number[];\n onPageSizeChange: (itemsPerPage: number) => void;\n pageSize: number;\n pageSizeLabel: string;\n} & (Omit<LinkProps, \"onPageChange\"> | Omit<NoLinkProps, \"onPageChange\">);\n\nconst rootClassName = \"purpur-pagination-page-size-selector\";\n\nexport const PaginationPageSizeSelector = forwardRef<\n HTMLDivElement,\n PaginationPageSizeSelectorProps\n>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-size-selector\",\n asLink,\n availablePageSizes,\n className,\n hrefGetter,\n navigationFunction,\n onPageSizeChange,\n pageSize,\n pageSizeLabel,\n ...props\n },\n ref\n ) => {\n const selectId = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageSizeOptions(availablePageSizes);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const selectedPageSize = Number(event.target.value);\n onPageSizeChange(selectedPageSize);\n if (asLink) {\n const url = hrefGetter({ page: 1, pageSize: selectedPageSize });\n if (navigationFunction) {\n navigationFunction({ currentPage: 1, pageSize: selectedPageSize, url });\n } else {\n navigateToPage(url);\n }\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <Label\n className={cx(`${rootClassName}__items-per-page-label`)}\n data-testid={`${dataTestId}-item-per-page-label`}\n htmlFor={selectId}\n >\n <span className={cx(`${rootClassName}__items-per-page-label-text`)}>{pageSizeLabel}</span>\n </Label>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={selectId}\n onChange={onSelectionChange}\n options={options}\n value={pageSize}\n />\n </div>\n );\n }\n);\n\nPaginationPageSizeSelector.displayName = \"PaginationPageSizeSelector\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageTriggerProps = Omit<BaseProps<\"li\">, \"children\"> & {\n linkElement: Link;\n disabled?: boolean;\n onPageChange: (page: number) => void;\n pageNumber: number;\n selected: boolean;\n stepNumberPrefix: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-trigger\";\n\nexport const PaginationPageTrigger = forwardRef<HTMLLIElement, PaginationPageTriggerProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-trigger\",\n linkElement: LinkElement,\n asLink,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageNumber,\n selected,\n stepNumberPrefix,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n `${rootClassName}__trigger-item--disabled`\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-disabled-link`}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </span>\n ) : (\n <LinkElement\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageNumber)}\n onClick={() => onPageChange(pageNumber)}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n data-testid={`${dataTestId}-button`}\n aria-current={selected ? \"page\" : undefined}\n disabled={disabled}\n onClick={() => onPageChange(pageNumber)}\n type=\"button\"\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </button>\n )}\n </li>\n );\n }\n);\n\nPaginationPageTrigger.displayName = \"PaginationPageTrigger\";\n","import React from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-truncation-separator.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTruncationSeparatorProps = Omit<BaseProps<\"li\">, \"children\">;\n\nconst rootClassName = \"purpur-pagination-truncation-separator\";\n\nexport const PaginationTruncationSeparator = ({\n [\"data-testid\"]: dataTestId = \"purpur-pagination-truncation-separator\",\n className,\n [\"aria-label\"]: ariaLabel,\n ...props\n}: PaginationTruncationSeparatorProps) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} {...props}>\n <Paragraph aria-label={ariaLabel}>...</Paragraph>\n </li>\n );\n};\n\nPaginationTruncationSeparator.displayName = \"PaginationTruncationSeparator\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport { PaginationPageTrigger } from \"./pagination-page-trigger\";\nimport styles from \"./pagination-pages.module.scss\";\nimport { PaginationTruncationSeparator } from \"./pagination-truncation-separator\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPagesProps = Omit<BaseProps<\"ol\">, \"children\"> & {\n linkElement: Link;\n currentPage: number;\n onPageChange: (page: number) => void;\n pages: number[];\n stepNumberPrefix: string;\n truncationSeparatorAriaLabel?: string;\n} & (InternalNoLinkProps | InternalLinkProps);\n\nconst rootClassName = \"purpur-pagination-pages\";\n\nexport const PaginationPages = forwardRef<HTMLOListElement, PaginationPagesProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-pages\",\n linkElement: LinkElement,\n asLink,\n className,\n currentPage,\n hrefGetter,\n onPageChange,\n pages,\n stepNumberPrefix,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <ol className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {pages.flatMap((pageNumber: number, idx: number, pages: number[]) => {\n const TriggerComponent = (\n <PaginationPageTrigger\n {...(asLink\n ? { asLink: true, hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n })}\n linkElement={LinkElement}\n data-testid={`${dataTestId}-page-${pageNumber}`}\n key={pageNumber}\n onPageChange={onPageChange}\n selected={pageNumber === currentPage}\n stepNumberPrefix={stepNumberPrefix}\n pageNumber={pageNumber}\n />\n );\n return idx === 0 || pages[idx - 1] + 1 === pageNumber\n ? [TriggerComponent]\n : [\n <PaginationTruncationSeparator\n data-testid={`${dataTestId}-truncation-separator-${pageNumber}`}\n key={`${pageNumber}-separator`}\n aria-label={truncationSeparatorAriaLabel}\n />,\n TriggerComponent,\n ];\n })}\n </ol>\n );\n }\n);\n\nPaginationPages.displayName = \"PaginationPages\";\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-step-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationStepTriggerProps = Omit<BaseProps, \"children\"> & {\n linkElement: Link;\n children: ReactNode;\n disabled: boolean;\n onPageChange: (page: number) => void;\n pageToNavigateTo: number;\n isIconOnly: boolean;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-step-trigger\";\n\nexport const PaginationStepTrigger = forwardRef<HTMLDivElement, PaginationStepTriggerProps>(\n (\n {\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId = \"purpur-pagination-step-trigger\",\n linkElement: LinkElement,\n asLink,\n children,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageToNavigateTo,\n isIconOnly,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--disabled`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-disabled-link`}\n >\n {children}\n </span>\n ) : (\n <LinkElement\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageToNavigateTo)}\n onClick={() => onPageChange(pageToNavigateTo)}\n >\n {children}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n {\n [`${rootClassName}__trigger-item--disabled`]: disabled,\n [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly,\n }\n )}\n data-testid={`${dataTestId}-button`}\n disabled={disabled}\n onClick={() => onPageChange(pageToNavigateTo)}\n type=\"button\"\n >\n {children}\n </button>\n )}\n </div>\n );\n }\n);\n\nPaginationStepTrigger.displayName = \"PaginationStepTrigger\";\n","import { useEffect, useState } from \"react\";\n\ntype UsePaginationPagesHook = {\n pages: number[];\n numberOfPages: number;\n};\n\nexport const usePaginationPages = (\n totalItems: number,\n pageSize: number,\n currentPage: number\n): UsePaginationPagesHook => {\n const [pages, setPages] = useState<number[]>([]);\n const [numberOfPages, setNumberOfPages] = useState<number>(0);\n\n useEffect(() => {\n const totalNumberOfPages = Math.ceil(totalItems / pageSize);\n setNumberOfPages(totalNumberOfPages);\n setPages(getPagesToDisplay(totalNumberOfPages, currentPage));\n }, [totalItems, pageSize, currentPage]);\n\n return {\n pages,\n numberOfPages,\n };\n};\n\nfunction getPagesToDisplay(totalNumberOfPages: number, currentPage: number): number[] {\n if (totalNumberOfPages <= 5) {\n return Array.from({ length: totalNumberOfPages }, (_, i) => i + 1);\n }\n const firstThreePages = [1, 2, 3];\n if (firstThreePages.includes(currentPage)) {\n return [...firstThreePages, 4, totalNumberOfPages];\n }\n const lastThreePages = [totalNumberOfPages - 2, totalNumberOfPages - 1, totalNumberOfPages];\n if (lastThreePages.includes(currentPage)) {\n return [1, totalNumberOfPages - 3, ...lastThreePages];\n }\n return [1, currentPage - 1, currentPage, currentPage + 1, totalNumberOfPages];\n}\n","import React, { forwardRef, useState } from \"react\";\nimport { IconArrowLeft } from \"@purpur/icon/arrow-left\";\nimport { IconArrowRight } from \"@purpur/icon/arrow-right\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination.module.scss\";\nimport { PaginationPageSelector } from \"./pagination-page-selector\";\nimport { PaginationPageSizeSelector } from \"./pagination-page-size-selector\";\nimport { PaginationPages } from \"./pagination-pages\";\nimport { PaginationStepTrigger } from \"./pagination-step-trigger\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePaginationPages } from \"./use-pagination-pages.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTexts = {\n nextButtonAriaLabel: string;\n /**\n * Omiting this and previousButtonText will result in an icon-only button.\n */\n nextButtonText?: string;\n /**\n * This is the divider word between the current page and the total number of pages.\n * For example, if the current page is 1 and the total number of pages is 10, the text will be \"1 of 10\".\n */\n outOfLabel: string;\n /**\n * This is a hidden label for the page selector\n */\n pageSelectorLabel: string;\n /**\n * This is the \"...\" text that is displayed when there are more pages than can be shown at once.\n */\n truncationSeparatorAriaLabel?: string;\n previousButtonAriaLabel: string;\n /**\n * Omiting this and nextButtonText will result in an icon-only button.\n */\n previousButtonText?: string;\n /**\n * This is a screen reader text that will be inserted before the current page number. For example, for step 1 it will say \"Go to step 1\".\n */\n stepNumberPrefix: string;\n};\n\nexport type PageSizeProps = {\n availablePageSizes: number[];\n pageSize?: number;\n /**\n * The label describing the page size select.\n */\n pageSizeLabel: string;\n};\n\nexport type NoPageSizeProps = {\n availablePageSizes?: never;\n pageSize?: number;\n pageSizeLabel?: never;\n};\n\nexport type PaginationProps = {\n currentPage: number;\n pageSelectorId?: string;\n totalItems: number;\n} & PaginationTexts &\n (PageSizeProps | NoPageSizeProps) &\n (LinkProps | NoLinkProps);\n\nconst rootClassName = \"purpur-pagination\";\n\nexport const Pagination = forwardRef<HTMLDivElement, PaginationProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination\",\n linkElement = \"a\",\n asLink,\n availablePageSizes,\n className,\n currentPage = 1,\n hrefGetter,\n navigationFunction,\n nextButtonAriaLabel,\n nextButtonText,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n pageSize = 10,\n pageSizeLabel,\n previousButtonAriaLabel,\n previousButtonText,\n stepNumberPrefix,\n totalItems,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n const [_pageSize, _setPageSize] = useState(pageSize);\n const { pages, numberOfPages } = usePaginationPages(totalItems, _pageSize, currentPage);\n const isIconOnly = !previousButtonText && !nextButtonText;\n\n const _onPageChange = (page: number): void => {\n onPageChange?.({ currentPage: page, pageSize });\n };\n\n const _hrefGetter = (page: number): string => {\n return hrefGetter?.({ page, pageSize }) ?? \"\";\n };\n\n const _onPageSizeChange = (newPageSize: number): void => {\n _setPageSize(newPageSize);\n onPageChange?.({ currentPage: 1, pageSize: newPageSize });\n };\n\n const _navigationFunction = (page: number, url: string): void => {\n if (navigationFunction) {\n navigationFunction({ currentPage: page, pageSize: _pageSize, url });\n } else {\n navigateToPage(url);\n }\n };\n\n const linkProps = asLink\n ? { asLink: true as const, hrefGetter: _hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n };\n\n const ContainerTag = asLink ? \"nav\" : \"div\";\n\n if (!numberOfPages) {\n return null;\n }\n\n return (\n <ContainerTag className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div\n className={cx(`${rootClassName}__pagination-container`, {\n [`${rootClassName}__pagination-container--with-page-size-select`]: !!availablePageSizes,\n })}\n >\n <div className={cx(`${rootClassName}__page-navigation-container`)}>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={previousButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-previous-step-trigger`}\n disabled={currentPage === 1}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage - 1}\n isIconOnly={isIconOnly}\n >\n <IconArrowLeft size=\"sm\" />\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {previousButtonText}\n </span>\n {currentPage !== 1 && (\n <VisuallyHidden data-testid={`${dataTestId}-previous-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage - 1}`}\n </VisuallyHidden>\n )}\n </PaginationStepTrigger>\n <div className={cx(`${rootClassName}__page-trigger-container`)}>\n <PaginationPageSelector\n {...linkProps}\n className={cx(`${rootClassName}__page-selector`, {\n [`${rootClassName}__page-selector--visible`]: pages.length > 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-page-selector`}\n navigationFunction={_navigationFunction}\n numberOfPages={numberOfPages}\n onPageChange={_onPageChange}\n outOfLabel={outOfLabel}\n pageSelectorId={pageSelectorId}\n pageSelectorLabel={pageSelectorLabel}\n />\n <PaginationPages\n {...linkProps}\n linkElement={linkElement}\n className={cx(`${rootClassName}__pages`, {\n [`${rootClassName}__pages--visible`]: pages.length <= 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-pages`}\n stepNumberPrefix={stepNumberPrefix}\n onPageChange={_onPageChange}\n truncationSeparatorAriaLabel={truncationSeparatorAriaLabel}\n pages={pages}\n />\n </div>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={nextButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-next-step-trigger`}\n disabled={currentPage === numberOfPages}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage + 1}\n isIconOnly={isIconOnly}\n >\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {nextButtonText}\n </span>\n {currentPage !== numberOfPages && (\n <VisuallyHidden data-testid={`${dataTestId}-next-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage + 1}`}\n </VisuallyHidden>\n )}\n <IconArrowRight size=\"sm\" />\n </PaginationStepTrigger>\n </div>\n {availablePageSizes && (\n <div className={cx(`${rootClassName}__page-size-select-container`)}>\n <PaginationPageSizeSelector\n {...(asLink\n ? { asLink: true, hrefGetter, navigationFunction }\n : { asLink: undefined as never, hrefGetter: undefined as never })}\n availablePageSizes={availablePageSizes}\n className={cx(`${rootClassName}__page-size-selector`)}\n data-testid={`${dataTestId}-page-size-selector`}\n onPageSizeChange={_onPageSizeChange}\n pageSize={_pageSize}\n pageSizeLabel={pageSizeLabel}\n />\n </div>\n )}\n </div>\n </ContainerTag>\n );\n }\n);\n\nPagination.displayName = \"Pagination\";\n"],"names":["navigateToPage","url","usePageOptions","numberOfPages","useMemo","_","i","cx","c","styles","rootClassName","PaginationPageSelector","forwardRef","dataTestId","asLink","className","currentPage","hrefGetter","navigationFunction","onPageChange","outOfLabel","pageSelectorId","pageSelectorLabel","props","ref","id","useId","classes","options","onSelectionChange","event","page","jsxs","jsx","VisuallyHidden","Label","Select","Paragraph","usePageSizeOptions","availablePageSizes","pageSize","PaginationPageSizeSelector","onPageSizeChange","pageSizeLabel","selectId","selectedPageSize","PaginationPageTrigger","LinkElement","disabled","pageNumber","selected","stepNumberPrefix","PaginationTruncationSeparator","ariaLabel","PaginationPages","pages","truncationSeparatorAriaLabel","idx","TriggerComponent","createElement","PaginationStepTrigger","children","pageToNavigateTo","isIconOnly","usePaginationPages","totalItems","setPages","useState","setNumberOfPages","useEffect","totalNumberOfPages","getPagesToDisplay","firstThreePages","lastThreePages","Pagination","linkElement","nextButtonAriaLabel","nextButtonText","previousButtonAriaLabel","previousButtonText","_pageSize","_setPageSize","_onPageChange","_hrefGetter","_onPageSizeChange","newPageSize","_navigationFunction","linkProps","ContainerTag","IconArrowLeft","IconArrowRight"],"mappings":"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"}
1
+ {"version":3,"file":"pagination-Bm38GKga.mjs","sources":["../../../components/pagination/src/navigation.ts","../../../components/pagination/src/use-page-options.hook.ts","../../../components/pagination/src/pagination-page-selector.tsx","../../../components/pagination/src/use-page-size-options.hook.ts","../../../components/pagination/src/pagination-page-size-selector.tsx","../../../components/pagination/src/pagination-page-trigger.tsx","../../../components/pagination/src/pagination-truncation-separator.tsx","../../../components/pagination/src/pagination-pages.tsx","../../../components/pagination/src/pagination-step-trigger.tsx","../../../components/pagination/src/use-pagination-pages.hook.ts","../../../components/pagination/src/pagination.tsx"],"sourcesContent":["export const navigateToPage = (url: string): void => {\n window.location.href = url;\n};\n","import { useMemo } from \"react\";\nimport type { SelectOption } from \"@purpur/select\";\n\ntype UsePageOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageOptions = (numberOfPages: number): UsePageOptionsHook => {\n const options = useMemo(\n () =>\n Array.from({ length: numberOfPages }, (_, i) => ({ label: `${i + 1}`, value: `${i + 1}` })),\n [numberOfPages]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport { Select } from \"@purpur/select\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-selector.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps } from \"./types\";\nimport { usePageOptions } from \"./use-page-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSelectorProps = Omit<BaseProps, \"children\"> & {\n currentPage: number;\n navigationFunction: (page: number, url: string) => void;\n numberOfPages: number;\n onPageChange: (page: number) => void;\n outOfLabel: string;\n pageSelectorId?: string;\n pageSelectorLabel: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-selector\";\n\nexport const PaginationPageSelector = forwardRef<HTMLDivElement, PaginationPageSelectorProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-selector\",\n asLink,\n className,\n currentPage,\n hrefGetter,\n navigationFunction,\n numberOfPages,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n ...props\n },\n ref\n ) => {\n const id = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageOptions(numberOfPages);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const page = event.target.value ? Number(event.target.value) : 1;\n onPageChange(page);\n if (asLink) {\n const url = hrefGetter?.(page) ?? \"\";\n navigationFunction(page, url);\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div className={cx(`${rootClassName}__select-container`)}>\n <VisuallyHidden>\n <Label data-testid={`${dataTestId}-label`} htmlFor={id}>\n {pageSelectorLabel}\n </Label>\n </VisuallyHidden>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={pageSelectorId ?? id}\n onChange={onSelectionChange}\n options={options}\n value={String(currentPage)}\n />\n </div>\n <Paragraph\n className={cx(`${rootClassName}__of-total-pages-label`)}\n data-testid={`${dataTestId}-of-total-pages`}\n >\n {`${outOfLabel} ${numberOfPages}`}\n </Paragraph>\n </div>\n );\n }\n);\n\nPaginationPageSelector.displayName = \"PaginationPageSelector\";\n","import { useMemo } from \"react\";\nimport { type SelectOption } from \"@purpur/select\";\n\ntype UsePageSizeOptionsHook = {\n options: SelectOption[];\n};\n\nexport const usePageSizeOptions = (availablePageSizes: number[]): UsePageSizeOptionsHook => {\n const options = useMemo(\n () =>\n availablePageSizes.map((pageSize: number) => ({\n label: `${pageSize}`,\n value: `${pageSize}`,\n })),\n [availablePageSizes]\n );\n\n return {\n options,\n };\n};\n","import React, { type ChangeEvent, forwardRef, useId } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Label } from \"@purpur/label\";\nimport { Select } from \"@purpur/select\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination-page-size-selector.module.scss\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePageSizeOptions } from \"./use-page-size-options.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageSizeSelectorProps = Omit<BaseProps, \"children\"> & {\n availablePageSizes: number[];\n onPageSizeChange: (itemsPerPage: number) => void;\n pageSize: number;\n pageSizeLabel: string;\n} & (Omit<LinkProps, \"onPageChange\"> | Omit<NoLinkProps, \"onPageChange\">);\n\nconst rootClassName = \"purpur-pagination-page-size-selector\";\n\nexport const PaginationPageSizeSelector = forwardRef<\n HTMLDivElement,\n PaginationPageSizeSelectorProps\n>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-size-selector\",\n asLink,\n availablePageSizes,\n className,\n hrefGetter,\n navigationFunction,\n onPageSizeChange,\n pageSize,\n pageSizeLabel,\n ...props\n },\n ref\n ) => {\n const selectId = useId();\n const classes = cx(className, rootClassName);\n const { options } = usePageSizeOptions(availablePageSizes);\n\n const onSelectionChange = (event: ChangeEvent<HTMLSelectElement>) => {\n const selectedPageSize = Number(event.target.value);\n onPageSizeChange(selectedPageSize);\n if (asLink) {\n const url = hrefGetter({ page: 1, pageSize: selectedPageSize });\n if (navigationFunction) {\n navigationFunction({ currentPage: 1, pageSize: selectedPageSize, url });\n } else {\n navigateToPage(url);\n }\n }\n };\n\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <Label\n className={cx(`${rootClassName}__items-per-page-label`)}\n data-testid={`${dataTestId}-item-per-page-label`}\n htmlFor={selectId}\n >\n <span className={cx(`${rootClassName}__items-per-page-label-text`)}>{pageSizeLabel}</span>\n </Label>\n <Select\n className={cx(`${rootClassName}__select`)}\n data-testid={`${dataTestId}-select`}\n id={selectId}\n onChange={onSelectionChange}\n options={options}\n value={pageSize}\n />\n </div>\n );\n }\n);\n\nPaginationPageSizeSelector.displayName = \"PaginationPageSizeSelector\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-page-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPageTriggerProps = Omit<BaseProps<\"li\">, \"children\"> & {\n linkElement: Link;\n disabled?: boolean;\n onPageChange: (page: number) => void;\n pageNumber: number;\n selected: boolean;\n stepNumberPrefix: string;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-page-trigger\";\n\nexport const PaginationPageTrigger = forwardRef<HTMLLIElement, PaginationPageTriggerProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-page-trigger\",\n linkElement: LinkElement,\n asLink,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageNumber,\n selected,\n stepNumberPrefix,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n `${rootClassName}__trigger-item--disabled`\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-disabled-link`}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </span>\n ) : (\n <LinkElement\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n aria-current={selected ? \"page\" : undefined}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageNumber)}\n onClick={() => onPageChange(pageNumber)}\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--page-trigger`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--icon-only`,\n { [`${rootClassName}__trigger-item--selected`]: selected }\n )}\n data-testid={`${dataTestId}-button`}\n aria-current={selected ? \"page\" : undefined}\n disabled={disabled}\n onClick={() => onPageChange(pageNumber)}\n type=\"button\"\n >\n <VisuallyHidden>{`${stepNumberPrefix} `}</VisuallyHidden>\n {pageNumber}\n </button>\n )}\n </li>\n );\n }\n);\n\nPaginationPageTrigger.displayName = \"PaginationPageTrigger\";\n","import React from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-truncation-separator.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTruncationSeparatorProps = Omit<BaseProps<\"li\">, \"children\">;\n\nconst rootClassName = \"purpur-pagination-truncation-separator\";\n\nexport const PaginationTruncationSeparator = ({\n [\"data-testid\"]: dataTestId = \"purpur-pagination-truncation-separator\",\n className,\n [\"aria-label\"]: ariaLabel,\n ...props\n}: PaginationTruncationSeparatorProps) => {\n const classes = cx(className, rootClassName);\n\n return (\n <li className={classes} data-testid={dataTestId} {...props}>\n <Paragraph aria-label={ariaLabel}>...</Paragraph>\n </li>\n );\n};\n\nPaginationTruncationSeparator.displayName = \"PaginationTruncationSeparator\";\n","import React, { forwardRef } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport { PaginationPageTrigger } from \"./pagination-page-trigger\";\nimport styles from \"./pagination-pages.module.scss\";\nimport { PaginationTruncationSeparator } from \"./pagination-truncation-separator\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationPagesProps = Omit<BaseProps<\"ol\">, \"children\"> & {\n linkElement: Link;\n currentPage: number;\n onPageChange: (page: number) => void;\n pages: number[];\n stepNumberPrefix: string;\n truncationSeparatorAriaLabel?: string;\n} & (InternalNoLinkProps | InternalLinkProps);\n\nconst rootClassName = \"purpur-pagination-pages\";\n\nexport const PaginationPages = forwardRef<HTMLOListElement, PaginationPagesProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination-pages\",\n linkElement: LinkElement,\n asLink,\n className,\n currentPage,\n hrefGetter,\n onPageChange,\n pages,\n stepNumberPrefix,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n\n return (\n <ol className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {pages.flatMap((pageNumber: number, idx: number, pages: number[]) => {\n const TriggerComponent = (\n <PaginationPageTrigger\n {...(asLink\n ? { asLink: true, hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n })}\n linkElement={LinkElement}\n data-testid={`${dataTestId}-page-${pageNumber}`}\n key={pageNumber}\n onPageChange={onPageChange}\n selected={pageNumber === currentPage}\n stepNumberPrefix={stepNumberPrefix}\n pageNumber={pageNumber}\n />\n );\n return idx === 0 || pages[idx - 1] + 1 === pageNumber\n ? [TriggerComponent]\n : [\n <PaginationTruncationSeparator\n data-testid={`${dataTestId}-truncation-separator-${pageNumber}`}\n key={`${pageNumber}-separator`}\n aria-label={truncationSeparatorAriaLabel}\n />,\n TriggerComponent,\n ];\n })}\n </ol>\n );\n }\n);\n\nPaginationPages.displayName = \"PaginationPages\";\n","import React, { forwardRef, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./pagination-step-trigger.module.scss\";\nimport { type InternalLinkProps, type InternalNoLinkProps, type Link } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationStepTriggerProps = Omit<BaseProps, \"children\"> & {\n linkElement: Link;\n children: ReactNode;\n disabled: boolean;\n onPageChange: (page: number) => void;\n pageToNavigateTo: number;\n isIconOnly: boolean;\n} & (InternalLinkProps | InternalNoLinkProps);\n\nconst rootClassName = \"purpur-pagination-step-trigger\";\n\nexport const PaginationStepTrigger = forwardRef<HTMLDivElement, PaginationStepTriggerProps>(\n (\n {\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId = \"purpur-pagination-step-trigger\",\n linkElement: LinkElement,\n asLink,\n children,\n className,\n disabled,\n hrefGetter,\n onPageChange,\n pageToNavigateTo,\n isIconOnly,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n return (\n <div className={classes} data-testid={dataTestId} ref={ref} {...props}>\n {asLink ? (\n disabled ? (\n <span\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n `${rootClassName}__trigger-item--disabled`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-disabled-link`}\n >\n {children}\n </span>\n ) : (\n <LinkElement\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n { [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly }\n )}\n data-testid={`${dataTestId}-link`}\n href={hrefGetter(pageToNavigateTo)}\n onClick={() => onPageChange(pageToNavigateTo)}\n >\n {children}\n </LinkElement>\n )\n ) : (\n <button\n aria-disabled={disabled}\n aria-label={ariaLabel}\n className={cx(\n `${rootClassName}__trigger-item`,\n `${rootClassName}__trigger-item--step-trigger`,\n `${rootClassName}__trigger-item--secondary`,\n `${rootClassName}__trigger-item--sm`,\n {\n [`${rootClassName}__trigger-item--disabled`]: disabled,\n [`${rootClassName}__trigger-item--step-trigger--not-icon-only`]: !isIconOnly,\n }\n )}\n data-testid={`${dataTestId}-button`}\n disabled={disabled}\n onClick={() => onPageChange(pageToNavigateTo)}\n type=\"button\"\n >\n {children}\n </button>\n )}\n </div>\n );\n }\n);\n\nPaginationStepTrigger.displayName = \"PaginationStepTrigger\";\n","import { useEffect, useState } from \"react\";\n\ntype UsePaginationPagesHook = {\n pages: number[];\n numberOfPages: number;\n};\n\nexport const usePaginationPages = (\n totalItems: number,\n pageSize: number,\n currentPage: number\n): UsePaginationPagesHook => {\n const [pages, setPages] = useState<number[]>([]);\n const [numberOfPages, setNumberOfPages] = useState<number>(0);\n\n useEffect(() => {\n const totalNumberOfPages = Math.ceil(totalItems / pageSize);\n setNumberOfPages(totalNumberOfPages);\n setPages(getPagesToDisplay(totalNumberOfPages, currentPage));\n }, [totalItems, pageSize, currentPage]);\n\n return {\n pages,\n numberOfPages,\n };\n};\n\nfunction getPagesToDisplay(totalNumberOfPages: number, currentPage: number): number[] {\n if (totalNumberOfPages <= 5) {\n return Array.from({ length: totalNumberOfPages }, (_, i) => i + 1);\n }\n const firstThreePages = [1, 2, 3];\n if (firstThreePages.includes(currentPage)) {\n return [...firstThreePages, 4, totalNumberOfPages];\n }\n const lastThreePages = [totalNumberOfPages - 2, totalNumberOfPages - 1, totalNumberOfPages];\n if (lastThreePages.includes(currentPage)) {\n return [1, totalNumberOfPages - 3, ...lastThreePages];\n }\n return [1, currentPage - 1, currentPage, currentPage + 1, totalNumberOfPages];\n}\n","import React, { forwardRef, useState } from \"react\";\nimport { IconArrowLeft } from \"@purpur/icon/arrow-left\";\nimport { IconArrowRight } from \"@purpur/icon/arrow-right\";\nimport { VisuallyHidden } from \"@purpur/visually-hidden\";\nimport c from \"classnames/bind\";\n\nimport { navigateToPage } from \"./navigation\";\nimport styles from \"./pagination.module.scss\";\nimport { PaginationPageSelector } from \"./pagination-page-selector\";\nimport { PaginationPageSizeSelector } from \"./pagination-page-size-selector\";\nimport { PaginationPages } from \"./pagination-pages\";\nimport { PaginationStepTrigger } from \"./pagination-step-trigger\";\nimport { type LinkProps, type NoLinkProps } from \"./types\";\nimport { usePaginationPages } from \"./use-pagination-pages.hook\";\n\nconst cx = c.bind(styles);\n\nexport type PaginationTexts = {\n nextButtonAriaLabel: string;\n /**\n * Omiting this and previousButtonText will result in an icon-only button.\n */\n nextButtonText?: string;\n /**\n * This is the divider word between the current page and the total number of pages.\n * For example, if the current page is 1 and the total number of pages is 10, the text will be \"1 of 10\".\n */\n outOfLabel: string;\n /**\n * This is a hidden label for the page selector\n */\n pageSelectorLabel: string;\n /**\n * This is the \"...\" text that is displayed when there are more pages than can be shown at once.\n */\n truncationSeparatorAriaLabel?: string;\n previousButtonAriaLabel: string;\n /**\n * Omiting this and nextButtonText will result in an icon-only button.\n */\n previousButtonText?: string;\n /**\n * This is a screen reader text that will be inserted before the current page number. For example, for step 1 it will say \"Go to step 1\".\n */\n stepNumberPrefix: string;\n};\n\nexport type PageSizeProps = {\n availablePageSizes: number[];\n pageSize?: number;\n /**\n * The label describing the page size select.\n */\n pageSizeLabel: string;\n};\n\nexport type NoPageSizeProps = {\n availablePageSizes?: never;\n pageSize?: number;\n pageSizeLabel?: never;\n};\n\nexport type PaginationProps = {\n currentPage: number;\n pageSelectorId?: string;\n totalItems: number;\n} & PaginationTexts &\n (PageSizeProps | NoPageSizeProps) &\n (LinkProps | NoLinkProps);\n\nconst rootClassName = \"purpur-pagination\";\n\nexport const Pagination = forwardRef<HTMLDivElement, PaginationProps>(\n (\n {\n [\"data-testid\"]: dataTestId = \"purpur-pagination\",\n linkElement = \"a\",\n asLink,\n availablePageSizes,\n className,\n currentPage = 1,\n hrefGetter,\n navigationFunction,\n nextButtonAriaLabel,\n nextButtonText,\n onPageChange,\n outOfLabel,\n pageSelectorId,\n pageSelectorLabel,\n pageSize = 10,\n pageSizeLabel,\n previousButtonAriaLabel,\n previousButtonText,\n stepNumberPrefix,\n totalItems,\n truncationSeparatorAriaLabel,\n ...props\n },\n ref\n ) => {\n const classes = cx(className, rootClassName);\n const [_pageSize, _setPageSize] = useState(pageSize);\n const { pages, numberOfPages } = usePaginationPages(totalItems, _pageSize, currentPage);\n const isIconOnly = !previousButtonText && !nextButtonText;\n\n const _onPageChange = (page: number): void => {\n onPageChange?.({ currentPage: page, pageSize });\n };\n\n const _hrefGetter = (page: number): string => {\n return hrefGetter?.({ page, pageSize }) ?? \"\";\n };\n\n const _onPageSizeChange = (newPageSize: number): void => {\n _setPageSize(newPageSize);\n onPageChange?.({ currentPage: 1, pageSize: newPageSize });\n };\n\n const _navigationFunction = (page: number, url: string): void => {\n if (navigationFunction) {\n navigationFunction({ currentPage: page, pageSize: _pageSize, url });\n } else {\n navigateToPage(url);\n }\n };\n\n const linkProps = asLink\n ? { asLink: true as const, hrefGetter: _hrefGetter }\n : {\n asLink: undefined as never,\n hrefGetter: undefined as never,\n };\n\n const ContainerTag = asLink ? \"nav\" : \"div\";\n\n if (!numberOfPages) {\n return null;\n }\n\n return (\n <ContainerTag className={classes} data-testid={dataTestId} ref={ref} {...props}>\n <div\n className={cx(`${rootClassName}__pagination-container`, {\n [`${rootClassName}__pagination-container--with-page-size-select`]: !!availablePageSizes,\n })}\n >\n <div className={cx(`${rootClassName}__page-navigation-container`)}>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={previousButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-previous-step-trigger`}\n disabled={currentPage === 1}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage - 1}\n isIconOnly={isIconOnly}\n >\n <IconArrowLeft size=\"sm\" />\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {previousButtonText}\n </span>\n {currentPage !== 1 && (\n <VisuallyHidden data-testid={`${dataTestId}-previous-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage - 1}`}\n </VisuallyHidden>\n )}\n </PaginationStepTrigger>\n <div className={cx(`${rootClassName}__page-trigger-container`)}>\n <PaginationPageSelector\n {...linkProps}\n className={cx(`${rootClassName}__page-selector`, {\n [`${rootClassName}__page-selector--visible`]: pages.length > 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-page-selector`}\n navigationFunction={_navigationFunction}\n numberOfPages={numberOfPages}\n onPageChange={_onPageChange}\n outOfLabel={outOfLabel}\n pageSelectorId={pageSelectorId}\n pageSelectorLabel={pageSelectorLabel}\n />\n <PaginationPages\n {...linkProps}\n linkElement={linkElement}\n className={cx(`${rootClassName}__pages`, {\n [`${rootClassName}__pages--visible`]: pages.length <= 3,\n })}\n currentPage={currentPage}\n data-testid={`${dataTestId}-pages`}\n stepNumberPrefix={stepNumberPrefix}\n onPageChange={_onPageChange}\n truncationSeparatorAriaLabel={truncationSeparatorAriaLabel}\n pages={pages}\n />\n </div>\n <PaginationStepTrigger\n {...linkProps}\n linkElement={linkElement}\n aria-label={nextButtonAriaLabel}\n className={cx(`${rootClassName}__step-trigger`)}\n data-testid={`${dataTestId}-next-step-trigger`}\n disabled={currentPage === numberOfPages}\n onPageChange={_onPageChange}\n pageToNavigateTo={currentPage + 1}\n isIconOnly={isIconOnly}\n >\n <span\n className={cx(`${rootClassName}__step-trigger-label`, {\n [`${rootClassName}__step-trigger-label--not-icon-only`]: !isIconOnly,\n })}\n >\n {nextButtonText}\n </span>\n {currentPage !== numberOfPages && (\n <VisuallyHidden data-testid={`${dataTestId}-next-step-trigger-hidden-text`}>\n {`${stepNumberPrefix} ${currentPage + 1}`}\n </VisuallyHidden>\n )}\n <IconArrowRight size=\"sm\" />\n </PaginationStepTrigger>\n </div>\n {availablePageSizes && (\n <div className={cx(`${rootClassName}__page-size-select-container`)}>\n <PaginationPageSizeSelector\n {...(asLink\n ? { asLink: true, hrefGetter, navigationFunction }\n : { asLink: undefined as never, hrefGetter: undefined as never })}\n availablePageSizes={availablePageSizes}\n className={cx(`${rootClassName}__page-size-selector`)}\n data-testid={`${dataTestId}-page-size-selector`}\n onPageSizeChange={_onPageSizeChange}\n pageSize={_pageSize}\n pageSizeLabel={pageSizeLabel}\n />\n </div>\n )}\n </div>\n </ContainerTag>\n );\n }\n);\n\nPagination.displayName = \"Pagination\";\n"],"names":["navigateToPage","url","usePageOptions","numberOfPages","useMemo","_","i","cx","c","styles","rootClassName","PaginationPageSelector","forwardRef","dataTestId","asLink","className","currentPage","hrefGetter","navigationFunction","onPageChange","outOfLabel","pageSelectorId","pageSelectorLabel","props","ref","id","useId","classes","options","onSelectionChange","event","page","jsxs","jsx","VisuallyHidden","Label","Select","Paragraph","usePageSizeOptions","availablePageSizes","pageSize","PaginationPageSizeSelector","onPageSizeChange","pageSizeLabel","selectId","selectedPageSize","PaginationPageTrigger","LinkElement","disabled","pageNumber","selected","stepNumberPrefix","PaginationTruncationSeparator","ariaLabel","PaginationPages","pages","truncationSeparatorAriaLabel","idx","TriggerComponent","createElement","PaginationStepTrigger","children","pageToNavigateTo","isIconOnly","usePaginationPages","totalItems","setPages","useState","setNumberOfPages","useEffect","totalNumberOfPages","getPagesToDisplay","firstThreePages","lastThreePages","Pagination","linkElement","nextButtonAriaLabel","nextButtonText","previousButtonAriaLabel","previousButtonText","_pageSize","_setPageSize","_onPageChange","_hrefGetter","_onPageSizeChange","newPageSize","_navigationFunction","linkProps","ContainerTag","IconArrowLeft","IconArrowRight"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./pagination-rFRdkHII.js");exports.Pagination=i.Pagination;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./pagination-BDfaybj3.js");exports.Pagination=i.Pagination;
2
2
  //# sourceMappingURL=pagination.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { P as i } from "./pagination-Cc_4zCQA.mjs";
1
+ import { P as i } from "./pagination-Bm38GKga.mjs";
2
2
  export {
3
3
  i as Pagination
4
4
  };
@@ -1,2 +1,2 @@
1
- "use strict";const l=require("react/jsx-runtime"),n=require("./bind-DeUYJ6m9.js"),s={"purpur-paragraph":"_purpur-paragraph_1uo13_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1uo13_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1uo13_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1uo13_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1uo13_19","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1uo13_25","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1uo13_32","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1uo13_39","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1uo13_45","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1uo13_51","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1uo13_57","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1uo13_63","purpur-paragraph--additional-100-bold":"_purpur-paragraph--additional-100-bold_1uo13_70","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1uo13_77","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1uo13_85"},t=n.c.bind(s),r={PARAGRAPH100:"paragraph-100",PARAGRAPH100MEDIUM:"paragraph-100-medium",PARAGRAPH100BOLD:"paragraph-100-bold",PARAGRAPH200:"paragraph-200",PREAMBLE100:"preamble-100",PREAMBLE200:"preamble-200",ADDITIONAL100:"additional-100",ADDITIONAL100MEDIUM:"additional-100-medium",ADDITIONAL100BOLD:"additional-100-bold",OVERLINE100:"overline-100",OVERLINE200:"overline-200"},a="purpur-paragraph",p=({children:u,className:e,disabled:h,enableHyphenation:g=!1,negative:o=!1,variant:i=r.PARAGRAPH100,..._})=>{const d=t(e,a,`${a}--${i}`,{[`${a}--hyphens`]:g,[`${a}--disabled`]:h,[`${a}--negative`]:o});return l.jsx("p",{..._,className:d,children:u})};p.displayName="Paragraph";exports.Paragraph=p;exports.ParagraphVariant=r;
2
- //# sourceMappingURL=paragraph-By4jMjnH.js.map
1
+ "use strict";const l=require("react/jsx-runtime"),n=require("./bind-DeUYJ6m9.js"),s={"purpur-paragraph":"_purpur-paragraph_1uo13_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1uo13_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1uo13_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1uo13_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1uo13_19","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1uo13_25","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1uo13_32","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1uo13_39","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1uo13_45","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1uo13_51","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1uo13_57","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1uo13_63","purpur-paragraph--additional-100-bold":"_purpur-paragraph--additional-100-bold_1uo13_70","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1uo13_77","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1uo13_85"},t=n.c.bind(s),r={PARAGRAPH100:"paragraph-100",PARAGRAPH100MEDIUM:"paragraph-100-medium",PARAGRAPH100BOLD:"paragraph-100-bold",PARAGRAPH200:"paragraph-200",PREAMBLE100:"preamble-100",PREAMBLE200:"preamble-200",ADDITIONAL100:"additional-100",ADDITIONAL100MEDIUM:"additional-100-medium",ADDITIONAL100BOLD:"additional-100-bold",OVERLINE100:"overline-100",OVERLINE200:"overline-200"},a="purpur-paragraph",p=({children:u,className:e,disabled:h,enableHyphenation:g=!1,negative:o=!1,variant:i=r.PARAGRAPH100,..._})=>{const d=t(a,`${a}--${i}`,{[`${a}--hyphens`]:g,[`${a}--disabled`]:h,[`${a}--negative`]:o},e);return l.jsx("p",{..._,className:d,children:u})};p.displayName="Paragraph";exports.Paragraph=p;exports.ParagraphVariant=r;
2
+ //# sourceMappingURL=paragraph-B8HFdNne.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paragraph-By4jMjnH.js","sources":["../../../components/paragraph/src/paragraph.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./paragraph.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const ParagraphVariant = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n ADDITIONAL100BOLD: \"additional-100-bold\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\",\n} as const;\n\nexport type ParagraphVariant = (typeof ParagraphVariant)[keyof typeof ParagraphVariant];\n\nexport type ParagraphProps = Omit<BaseProps<\"p\">, \"children\"> & {\n children: ReactNode;\n enableHyphenation?: boolean;\n negative?: boolean;\n disabled?: boolean;\n variant?: ParagraphVariant;\n};\n\nconst rootClassName = \"purpur-paragraph\";\n\nexport const Paragraph = ({\n children,\n className,\n disabled,\n enableHyphenation = false,\n negative = false,\n variant = ParagraphVariant.PARAGRAPH100,\n ...props\n}: ParagraphProps) => {\n const classes = cx(className, rootClassName, `${rootClassName}--${variant}`, {\n [`${rootClassName}--hyphens`]: enableHyphenation,\n [`${rootClassName}--disabled`]: disabled,\n [`${rootClassName}--negative`]: negative,\n });\n\n return (\n <p {...props} className={classes}>\n {children}\n </p>\n );\n};\n\nParagraph.displayName = \"Paragraph\";\n"],"names":["cx","c","styles","ParagraphVariant","rootClassName","Paragraph","children","className","disabled","enableHyphenation","negative","variant","props","classes"],"mappings":"stCAMMA,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAEXC,EAAmB,CAC9B,aAAc,gBACd,mBAAoB,uBACpB,iBAAkB,qBAClB,aAAc,gBACd,YAAa,eACb,YAAa,eACb,cAAe,iBACf,oBAAqB,wBACrB,kBAAmB,sBACnB,YAAa,eACb,YAAa,cACf,EAYMC,EAAgB,mBAETC,EAAY,CAAC,CACxB,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,kBAAAC,EAAoB,GACpB,SAAAC,EAAW,GACX,QAAAC,EAAUR,EAAiB,aAC3B,GAAGS,CACL,IAAsB,CACpB,MAAMC,EAAUb,EAAGO,EAAWH,EAAe,GAAGA,CAAa,KAAKO,CAAO,GAAI,CAC3E,CAAC,GAAGP,CAAa,WAAW,EAAGK,EAC/B,CAAC,GAAGL,CAAa,YAAY,EAAGI,EAChC,CAAC,GAAGJ,CAAa,YAAY,EAAGM,CAAA,CACjC,EAED,aACG,IAAA,CAAG,GAAGE,EAAO,UAAWC,EACtB,SAAAP,EACH,CAEJ,EAEAD,EAAU,YAAc"}
1
+ {"version":3,"file":"paragraph-B8HFdNne.js","sources":["../../../components/paragraph/src/paragraph.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./paragraph.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const ParagraphVariant = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n ADDITIONAL100BOLD: \"additional-100-bold\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\",\n} as const;\n\nexport type ParagraphVariant = (typeof ParagraphVariant)[keyof typeof ParagraphVariant];\n\nexport type ParagraphProps = Omit<BaseProps<\"p\">, \"children\"> & {\n children: ReactNode;\n enableHyphenation?: boolean;\n negative?: boolean;\n disabled?: boolean;\n variant?: ParagraphVariant;\n};\n\nconst rootClassName = \"purpur-paragraph\";\n\nexport const Paragraph = ({\n children,\n className,\n disabled,\n enableHyphenation = false,\n negative = false,\n variant = ParagraphVariant.PARAGRAPH100,\n ...props\n}: ParagraphProps) => {\n const classes = cx(rootClassName, `${rootClassName}--${variant}`, {\n [`${rootClassName}--hyphens`]: enableHyphenation,\n [`${rootClassName}--disabled`]: disabled,\n [`${rootClassName}--negative`]: negative,\n }, className);\n\n return (\n <p {...props} className={classes}>\n {children}\n </p>\n );\n};\n\nParagraph.displayName = \"Paragraph\";\n"],"names":["cx","c","styles","ParagraphVariant","rootClassName","Paragraph","children","className","disabled","enableHyphenation","negative","variant","props","classes"],"mappings":"stCAMMA,EAAKC,EAAAA,EAAE,KAAKC,CAAM,EAEXC,EAAmB,CAC9B,aAAc,gBACd,mBAAoB,uBACpB,iBAAkB,qBAClB,aAAc,gBACd,YAAa,eACb,YAAa,eACb,cAAe,iBACf,oBAAqB,wBACrB,kBAAmB,sBACnB,YAAa,eACb,YAAa,cACf,EAYMC,EAAgB,mBAETC,EAAY,CAAC,CACxB,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,kBAAAC,EAAoB,GACpB,SAAAC,EAAW,GACX,QAAAC,EAAUR,EAAiB,aAC3B,GAAGS,CACL,IAAsB,CACpB,MAAMC,EAAUb,EAAGI,EAAe,GAAGA,CAAa,KAAKO,CAAO,GAAI,CAChE,CAAC,GAAGP,CAAa,WAAW,EAAGK,EAC/B,CAAC,GAAGL,CAAa,YAAY,EAAGI,EAChC,CAAC,GAAGJ,CAAa,YAAY,EAAGM,CAAA,EAC/BH,CAAS,EAEZ,aACG,IAAA,CAAG,GAAGK,EAAO,UAAWC,EACtB,SAAAP,EACH,CAEJ,EAEAD,EAAU,YAAc"}
@@ -37,11 +37,11 @@ const l = {
37
37
  variant: g = s.PARAGRAPH100,
38
38
  ...o
39
39
  }) => {
40
- const _ = n(p, a, `${a}--${g}`, {
40
+ const _ = n(a, `${a}--${g}`, {
41
41
  [`${a}--hyphens`]: h,
42
42
  [`${a}--disabled`]: u,
43
43
  [`${a}--negative`]: e
44
- });
44
+ }, p);
45
45
  return /* @__PURE__ */ i("p", { ...o, className: _, children: r });
46
46
  };
47
47
  m.displayName = "Paragraph";
@@ -49,4 +49,4 @@ export {
49
49
  m as P,
50
50
  s as a
51
51
  };
52
- //# sourceMappingURL=paragraph-DSxXmX_0.mjs.map
52
+ //# sourceMappingURL=paragraph-CwAdFoIm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"paragraph-DSxXmX_0.mjs","sources":["../../../components/paragraph/src/paragraph.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./paragraph.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const ParagraphVariant = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n ADDITIONAL100BOLD: \"additional-100-bold\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\",\n} as const;\n\nexport type ParagraphVariant = (typeof ParagraphVariant)[keyof typeof ParagraphVariant];\n\nexport type ParagraphProps = Omit<BaseProps<\"p\">, \"children\"> & {\n children: ReactNode;\n enableHyphenation?: boolean;\n negative?: boolean;\n disabled?: boolean;\n variant?: ParagraphVariant;\n};\n\nconst rootClassName = \"purpur-paragraph\";\n\nexport const Paragraph = ({\n children,\n className,\n disabled,\n enableHyphenation = false,\n negative = false,\n variant = ParagraphVariant.PARAGRAPH100,\n ...props\n}: ParagraphProps) => {\n const classes = cx(className, rootClassName, `${rootClassName}--${variant}`, {\n [`${rootClassName}--hyphens`]: enableHyphenation,\n [`${rootClassName}--disabled`]: disabled,\n [`${rootClassName}--negative`]: negative,\n });\n\n return (\n <p {...props} className={classes}>\n {children}\n </p>\n );\n};\n\nParagraph.displayName = \"Paragraph\";\n"],"names":["cx","c","styles","ParagraphVariant","rootClassName","Paragraph","children","className","disabled","enableHyphenation","negative","variant","props","classes"],"mappings":";;;;;;;;;;;;;;;;;;GAMMA,IAAKC,EAAE,KAAKC,CAAM,GAEXC,IAAmB;AAAA,EAC9B,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EACb,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,aAAa;AACf,GAYMC,IAAgB,oBAETC,IAAY,CAAC;AAAA,EACxB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,UAAAC,IAAW;AAAA,EACX,SAAAC,IAAUR,EAAiB;AAAA,EAC3B,GAAGS;AACL,MAAsB;AACpB,QAAMC,IAAUb,EAAGO,GAAWH,GAAe,GAAGA,CAAa,KAAKO,CAAO,IAAI;AAAA,IAC3E,CAAC,GAAGP,CAAa,WAAW,GAAGK;AAAA,IAC/B,CAAC,GAAGL,CAAa,YAAY,GAAGI;AAAA,IAChC,CAAC,GAAGJ,CAAa,YAAY,GAAGM;AAAA,EAAA,CACjC;AAED,2BACG,KAAA,EAAG,GAAGE,GAAO,WAAWC,GACtB,UAAAP,GACH;AAEJ;AAEAD,EAAU,cAAc;"}
1
+ {"version":3,"file":"paragraph-CwAdFoIm.mjs","sources":["../../../components/paragraph/src/paragraph.tsx"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./paragraph.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const ParagraphVariant = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n ADDITIONAL100BOLD: \"additional-100-bold\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\",\n} as const;\n\nexport type ParagraphVariant = (typeof ParagraphVariant)[keyof typeof ParagraphVariant];\n\nexport type ParagraphProps = Omit<BaseProps<\"p\">, \"children\"> & {\n children: ReactNode;\n enableHyphenation?: boolean;\n negative?: boolean;\n disabled?: boolean;\n variant?: ParagraphVariant;\n};\n\nconst rootClassName = \"purpur-paragraph\";\n\nexport const Paragraph = ({\n children,\n className,\n disabled,\n enableHyphenation = false,\n negative = false,\n variant = ParagraphVariant.PARAGRAPH100,\n ...props\n}: ParagraphProps) => {\n const classes = cx(rootClassName, `${rootClassName}--${variant}`, {\n [`${rootClassName}--hyphens`]: enableHyphenation,\n [`${rootClassName}--disabled`]: disabled,\n [`${rootClassName}--negative`]: negative,\n }, className);\n\n return (\n <p {...props} className={classes}>\n {children}\n </p>\n );\n};\n\nParagraph.displayName = \"Paragraph\";\n"],"names":["cx","c","styles","ParagraphVariant","rootClassName","Paragraph","children","className","disabled","enableHyphenation","negative","variant","props","classes"],"mappings":";;;;;;;;;;;;;;;;;;GAMMA,IAAKC,EAAE,KAAKC,CAAM,GAEXC,IAAmB;AAAA,EAC9B,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EACb,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,aAAa;AACf,GAYMC,IAAgB,oBAETC,IAAY,CAAC;AAAA,EACxB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,UAAAC,IAAW;AAAA,EACX,SAAAC,IAAUR,EAAiB;AAAA,EAC3B,GAAGS;AACL,MAAsB;AACpB,QAAMC,IAAUb,EAAGI,GAAe,GAAGA,CAAa,KAAKO,CAAO,IAAI;AAAA,IAChE,CAAC,GAAGP,CAAa,WAAW,GAAGK;AAAA,IAC/B,CAAC,GAAGL,CAAa,YAAY,GAAGI;AAAA,IAChC,CAAC,GAAGJ,CAAa,YAAY,GAAGM;AAAA,EAAA,GAC/BH,CAAS;AAEZ,2BACG,KAAA,EAAG,GAAGK,GAAO,WAAWC,GACtB,UAAAP,GACH;AAEJ;AAEAD,EAAU,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./paragraph-By4jMjnH.js");exports.Paragraph=a.Paragraph;exports.ParagraphVariant=a.ParagraphVariant;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./paragraph-B8HFdNne.js");exports.Paragraph=a.Paragraph;exports.ParagraphVariant=a.ParagraphVariant;
2
2
  //# sourceMappingURL=paragraph.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { P as p, a as P } from "./paragraph-DSxXmX_0.mjs";
1
+ import { P as p, a as P } from "./paragraph-CwAdFoIm.mjs";
2
2
  export {
3
3
  p as Paragraph,
4
4
  P as ParagraphVariant