@purpur/library 9.2.3 → 9.4.0

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 +39 -0
  2. package/CHANGELOG.md +20 -1
  3. package/dist/LICENSE.txt +1 -1
  4. package/dist/{RichText-Bi51HE6X.mjs → RichText-jZ-sHV-u.mjs} +2 -2
  5. package/dist/{RichText-Bi51HE6X.mjs.map → RichText-jZ-sHV-u.mjs.map} +1 -1
  6. package/dist/{RichText-DNroJJXv.js → RichText-yobCUjTD.js} +2 -2
  7. package/dist/{RichText-DNroJJXv.js.map → RichText-yobCUjTD.js.map} +1 -1
  8. package/dist/{ThemeProvider-bkyFCeo6.mjs → ThemeProvider-CkX-BNWN.mjs} +2 -2
  9. package/dist/ThemeProvider-CkX-BNWN.mjs.map +1 -0
  10. package/dist/{ThemeProvider-5r7lDX-h.js → ThemeProvider-Dy771oix.js} +2 -2
  11. package/dist/ThemeProvider-Dy771oix.js.map +1 -0
  12. package/dist/{accordion-OtFSShSB.mjs → accordion-CIU4U8-4.mjs} +3 -3
  13. package/dist/accordion-CIU4U8-4.mjs.map +1 -0
  14. package/dist/{accordion-OsA0HvdA.js → accordion-DyhOG54L.js} +2 -2
  15. package/dist/accordion-DyhOG54L.js.map +1 -0
  16. package/dist/accordion.cjs.js +1 -1
  17. package/dist/accordion.es.js +3 -3
  18. package/dist/{autocomplete-D9uCJzjY.js → autocomplete-3kV1btuI.js} +2 -2
  19. package/dist/{autocomplete-D9uCJzjY.js.map → autocomplete-3kV1btuI.js.map} +1 -1
  20. package/dist/{autocomplete-BipmyKf0.mjs → autocomplete-BEGRn-Wh.mjs} +2 -2
  21. package/dist/{autocomplete-BipmyKf0.mjs.map → autocomplete-BEGRn-Wh.mjs.map} +1 -1
  22. package/dist/autocomplete.cjs.js +1 -1
  23. package/dist/autocomplete.es.js +1 -1
  24. package/dist/{card-DR2hvxjZ.mjs → card-C2mdp-ur.mjs} +2 -2
  25. package/dist/{card-DR2hvxjZ.mjs.map → card-C2mdp-ur.mjs.map} +1 -1
  26. package/dist/{card-CRHXm5NR.js → card-DFdUs5RG.js} +2 -2
  27. package/dist/{card-CRHXm5NR.js.map → card-DFdUs5RG.js.map} +1 -1
  28. package/dist/card.cjs.js +1 -1
  29. package/dist/card.es.js +1 -1
  30. package/dist/{carousel-BkxojLwn.mjs → carousel-DLkTL9sj.mjs} +29 -29
  31. package/dist/{carousel-BkxojLwn.mjs.map → carousel-DLkTL9sj.mjs.map} +1 -1
  32. package/dist/{carousel-BCw-5u92.js → carousel-DXrtxRz5.js} +2 -2
  33. package/dist/{carousel-BCw-5u92.js.map → carousel-DXrtxRz5.js.map} +1 -1
  34. package/dist/carousel.cjs.js +1 -1
  35. package/dist/carousel.es.js +1 -1
  36. package/dist/checkbox-BHTx89JQ.mjs +236 -0
  37. package/dist/checkbox-BHTx89JQ.mjs.map +1 -0
  38. package/dist/checkbox-CDNcNv6d.js +2 -0
  39. package/dist/checkbox-CDNcNv6d.js.map +1 -0
  40. package/dist/checkbox.cjs.js +1 -1
  41. package/dist/checkbox.es.js +1 -1
  42. package/dist/{comparison-table-D1zJpdLL.mjs → comparison-table-8bOJmz-L.mjs} +116 -116
  43. package/dist/comparison-table-8bOJmz-L.mjs.map +1 -0
  44. package/dist/comparison-table-mKL2IHXW.js +2 -0
  45. package/dist/comparison-table-mKL2IHXW.js.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.d.ts +1 -1
  49. package/dist/components/accordion/src/accordion.d.ts.map +1 -1
  50. package/dist/components/checkbox/src/checkbox.d.ts +4 -0
  51. package/dist/components/checkbox/src/checkbox.d.ts.map +1 -1
  52. package/dist/components/comparison-table/src/comparison-table.d.ts +1 -1
  53. package/dist/components/comparison-table/src/comparison-table.d.ts.map +1 -1
  54. package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts.map +1 -1
  55. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +4 -2
  56. package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
  57. package/dist/components/drawer/src/drawer-content.d.ts.map +1 -1
  58. package/dist/components/drawer/src/drawer.context.d.ts +1 -0
  59. package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
  60. package/dist/components/drawer/src/drawer.d.ts +6 -0
  61. package/dist/components/drawer/src/drawer.d.ts.map +1 -1
  62. package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
  63. package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -1
  64. package/dist/components/dropdown/src/dropdown-shared.d.ts +3 -2
  65. package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
  66. package/dist/components/dropdown/src/useDropdown.d.ts +2 -1
  67. package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -1
  68. package/dist/components/listbox/src/listbox-item.d.ts +2 -2
  69. package/dist/components/listbox/src/listbox-item.d.ts.map +1 -1
  70. package/dist/components/listbox/src/listbox.d.ts +4 -1
  71. package/dist/components/listbox/src/listbox.d.ts.map +1 -1
  72. package/dist/components/toggle/src/toggle.d.ts +1 -0
  73. package/dist/components/toggle/src/toggle.d.ts.map +1 -1
  74. package/dist/components-metadata.js +4 -2
  75. package/dist/{content-block-Dm3L4g8w.mjs → content-block-CakKeJtN.mjs} +2 -2
  76. package/dist/{content-block-Dm3L4g8w.mjs.map → content-block-CakKeJtN.mjs.map} +1 -1
  77. package/dist/{content-block-CDRUH0pg.js → content-block-CrekbIfe.js} +2 -2
  78. package/dist/{content-block-CDRUH0pg.js.map → content-block-CrekbIfe.js.map} +1 -1
  79. package/dist/content-block.cjs.js +1 -1
  80. package/dist/content-block.es.js +1 -1
  81. package/dist/{countdown-DZ4IwkNy.mjs → countdown-BsLsEZBv.mjs} +2 -2
  82. package/dist/{countdown-DZ4IwkNy.mjs.map → countdown-BsLsEZBv.mjs.map} +1 -1
  83. package/dist/{countdown-CqYsZigV.js → countdown-hYrFLmRg.js} +2 -2
  84. package/dist/{countdown-CqYsZigV.js.map → countdown-hYrFLmRg.js.map} +1 -1
  85. package/dist/countdown.cjs.js +1 -1
  86. package/dist/countdown.es.js +1 -1
  87. package/dist/{date-picker-DwFDRL5Z.mjs → date-picker-CbUNbOhn.mjs} +2 -2
  88. package/dist/{date-picker-DwFDRL5Z.mjs.map → date-picker-CbUNbOhn.mjs.map} +1 -1
  89. package/dist/{date-picker-DVrcu2QU.js → date-picker-DYXNB5aU.js} +2 -2
  90. package/dist/{date-picker-DVrcu2QU.js.map → date-picker-DYXNB5aU.js.map} +1 -1
  91. package/dist/date-picker.cjs.js +1 -1
  92. package/dist/date-picker.es.js +1 -1
  93. package/dist/dismissable-chip-group-2updhyuR.js +2 -0
  94. package/dist/dismissable-chip-group-2updhyuR.js.map +1 -0
  95. package/dist/dismissable-chip-group-Cfs2s2BH.mjs +94 -0
  96. package/dist/dismissable-chip-group-Cfs2s2BH.mjs.map +1 -0
  97. package/dist/dismissable-chip-group.cjs.js +1 -1
  98. package/dist/dismissable-chip-group.es.js +6 -5
  99. package/dist/drawer-8Acg4wkV.mjs +574 -0
  100. package/dist/drawer-8Acg4wkV.mjs.map +1 -0
  101. package/dist/drawer-BLHgcEqb.js +2 -0
  102. package/dist/drawer-BLHgcEqb.js.map +1 -0
  103. package/dist/drawer.cjs.js +1 -1
  104. package/dist/drawer.es.js +1 -1
  105. package/dist/dropdown-CMO_VD5e.mjs +916 -0
  106. package/dist/dropdown-CMO_VD5e.mjs.map +1 -0
  107. package/dist/dropdown-DJKNQnuo.js +2 -0
  108. package/dist/dropdown-DJKNQnuo.js.map +1 -0
  109. package/dist/dropdown.cjs.js +1 -1
  110. package/dist/dropdown.es.js +1 -1
  111. package/dist/{footer-BXs8uzTA.mjs → footer-BLPlXaZK.mjs} +4 -4
  112. package/dist/{footer-BXs8uzTA.mjs.map → footer-BLPlXaZK.mjs.map} +1 -1
  113. package/dist/{footer-DF9adlni.js → footer-D9AcPwlH.js} +2 -2
  114. package/dist/{footer-DF9adlni.js.map → footer-D9AcPwlH.js.map} +1 -1
  115. package/dist/footer.cjs.js +1 -1
  116. package/dist/footer.es.js +1 -1
  117. package/dist/{hero-banner-BfxclVFT.js → hero-banner-D1A-_qou.js} +2 -2
  118. package/dist/{hero-banner-BfxclVFT.js.map → hero-banner-D1A-_qou.js.map} +1 -1
  119. package/dist/{hero-banner-CxPvhXD2.mjs → hero-banner-DkC_BqM7.mjs} +3 -3
  120. package/dist/{hero-banner-CxPvhXD2.mjs.map → hero-banner-DkC_BqM7.mjs.map} +1 -1
  121. package/dist/hero-banner.cjs.js +1 -1
  122. package/dist/hero-banner.es.js +1 -1
  123. package/dist/{index-CKCTy3ZL.mjs → index-3NV-ckDX.mjs} +4 -4
  124. package/dist/{index-CKCTy3ZL.mjs.map → index-3NV-ckDX.mjs.map} +1 -1
  125. package/dist/libraries/theme/src/theme-props.d.ts +1 -0
  126. package/dist/libraries/theme/src/theme-props.d.ts.map +1 -1
  127. package/dist/libraries/tokens/dist/color/variables.d.ts +1 -0
  128. package/dist/libraries/tokens/dist/color/variables.dark.d.ts +1 -0
  129. package/dist/library.cjs.js +1 -1
  130. package/dist/library.es.js +593 -590
  131. package/dist/listbox-ATP4hOWF.js +2 -0
  132. package/dist/listbox-ATP4hOWF.js.map +1 -0
  133. package/dist/listbox-i6BQQ-NZ.mjs +73 -0
  134. package/dist/listbox-i6BQQ-NZ.mjs.map +1 -0
  135. package/dist/listbox.cjs.js +1 -1
  136. package/dist/listbox.es.js +3 -2
  137. package/dist/{modal-COF_UhvY.js → modal-Baisuc6m.js} +2 -2
  138. package/dist/{modal-COF_UhvY.js.map → modal-Baisuc6m.js.map} +1 -1
  139. package/dist/{modal-BMg43Fvd.mjs → modal-fp37VbrH.mjs} +3 -3
  140. package/dist/{modal-BMg43Fvd.mjs.map → modal-fp37VbrH.mjs.map} +1 -1
  141. package/dist/modal.cjs.js +1 -1
  142. package/dist/modal.es.js +1 -1
  143. package/dist/{notification-BqjaT4E7.js → notification-B5bNNq86.js} +2 -2
  144. package/dist/{notification-BqjaT4E7.js.map → notification-B5bNNq86.js.map} +1 -1
  145. package/dist/{notification-DdRS5BF2.mjs → notification-BbQCmsnY.mjs} +2 -2
  146. package/dist/{notification-DdRS5BF2.mjs.map → notification-BbQCmsnY.mjs.map} +1 -1
  147. package/dist/notification.cjs.js +1 -1
  148. package/dist/notification.es.js +1 -1
  149. package/dist/{pagination-CVYUacXN.mjs → pagination-Cc_4zCQA.mjs} +2 -2
  150. package/dist/{pagination-CVYUacXN.mjs.map → pagination-Cc_4zCQA.mjs.map} +1 -1
  151. package/dist/{pagination-Bwlkvqye.js → pagination-rFRdkHII.js} +2 -2
  152. package/dist/{pagination-Bwlkvqye.js.map → pagination-rFRdkHII.js.map} +1 -1
  153. package/dist/pagination.cjs.js +1 -1
  154. package/dist/pagination.es.js +1 -1
  155. package/dist/paragraph-By4jMjnH.js +2 -0
  156. package/dist/{paragraph-BsI53OR0.js.map → paragraph-By4jMjnH.js.map} +1 -1
  157. package/dist/{paragraph-Ci50OF1u.mjs → paragraph-DSxXmX_0.mjs} +23 -23
  158. package/dist/{paragraph-Ci50OF1u.mjs.map → paragraph-DSxXmX_0.mjs.map} +1 -1
  159. package/dist/paragraph.cjs.js +1 -1
  160. package/dist/paragraph.es.js +1 -1
  161. package/dist/{popover-XCUa2GfC.js → popover-B0XJZ5mj.js} +2 -2
  162. package/dist/{popover-XCUa2GfC.js.map → popover-B0XJZ5mj.js.map} +1 -1
  163. package/dist/{popover-Dwqs1wGH.mjs → popover-_xJATlhN.mjs} +2 -2
  164. package/dist/{popover-Dwqs1wGH.mjs.map → popover-_xJATlhN.mjs.map} +1 -1
  165. package/dist/popover.cjs.js +1 -1
  166. package/dist/popover.es.js +1 -1
  167. package/dist/{product-card-BfB82XpS.mjs → product-card-C3_N0t-R.mjs} +3 -3
  168. package/dist/{product-card-BfB82XpS.mjs.map → product-card-C3_N0t-R.mjs.map} +1 -1
  169. package/dist/{product-card-bVQ7JhHj.js → product-card-CoY1KggV.js} +2 -2
  170. package/dist/{product-card-bVQ7JhHj.js.map → product-card-CoY1KggV.js.map} +1 -1
  171. package/dist/product-card.cjs.js +1 -1
  172. package/dist/product-card.es.js +1 -1
  173. package/dist/{promotion-card-DqBBt2sz.js → promotion-card-Bag64gqP.js} +2 -2
  174. package/dist/{promotion-card-DqBBt2sz.js.map → promotion-card-Bag64gqP.js.map} +1 -1
  175. package/dist/{promotion-card-BhNw94sC.mjs → promotion-card-BiHnQvhn.mjs} +4 -4
  176. package/dist/{promotion-card-BhNw94sC.mjs.map → promotion-card-BiHnQvhn.mjs.map} +1 -1
  177. package/dist/promotion-card.cjs.js +1 -1
  178. package/dist/promotion-card.es.js +1 -1
  179. package/dist/purpur.css +1 -1
  180. package/dist/quantity-selector-CDSfcTb1.js +2 -0
  181. package/dist/{quantity-selector-8AkKNDik.js.map → quantity-selector-CDSfcTb1.js.map} +1 -1
  182. package/dist/{quantity-selector-C23kU1hF.mjs → quantity-selector-CvBvnMeB.mjs} +35 -35
  183. package/dist/{quantity-selector-C23kU1hF.mjs.map → quantity-selector-CvBvnMeB.mjs.map} +1 -1
  184. package/dist/quantity-selector.cjs.js +1 -1
  185. package/dist/quantity-selector.es.js +1 -1
  186. package/dist/{radio-card-group-BlRZBa-9.mjs → radio-card-group-CneOprGY.mjs} +2 -2
  187. package/dist/{radio-card-group-BlRZBa-9.mjs.map → radio-card-group-CneOprGY.mjs.map} +1 -1
  188. package/dist/{radio-card-group-sYcfDPJq.js → radio-card-group-Ctuvg61o.js} +2 -2
  189. package/dist/{radio-card-group-sYcfDPJq.js.map → radio-card-group-Ctuvg61o.js.map} +1 -1
  190. package/dist/radio-card-group.cjs.js +1 -1
  191. package/dist/radio-card-group.es.js +1 -1
  192. package/dist/rich-text.cjs.js +1 -1
  193. package/dist/rich-text.es.js +1 -1
  194. package/dist/{search-field-CZ9mIyZ-.mjs → search-field-CpkHGIYi.mjs} +3 -3
  195. package/dist/{search-field-CZ9mIyZ-.mjs.map → search-field-CpkHGIYi.mjs.map} +1 -1
  196. package/dist/{search-field-DD9UkOca.js → search-field-Z0PqDARl.js} +2 -2
  197. package/dist/{search-field-DD9UkOca.js.map → search-field-Z0PqDARl.js.map} +1 -1
  198. package/dist/search-field.cjs.js +1 -1
  199. package/dist/search-field.es.js +1 -1
  200. package/dist/{stepper-uBfDdIju.mjs → stepper-CNnx_NiR.mjs} +2 -2
  201. package/dist/{stepper-uBfDdIju.mjs.map → stepper-CNnx_NiR.mjs.map} +1 -1
  202. package/dist/{stepper-w-raIwqJ.js → stepper-Df4X7DDR.js} +2 -2
  203. package/dist/{stepper-w-raIwqJ.js.map → stepper-Df4X7DDR.js.map} +1 -1
  204. package/dist/stepper.cjs.js +1 -1
  205. package/dist/stepper.es.js +1 -1
  206. package/dist/{table-Dx_dhGT6.mjs → table-D_sdSJyr.mjs} +6 -6
  207. package/dist/{table-Dx_dhGT6.mjs.map → table-D_sdSJyr.mjs.map} +1 -1
  208. package/dist/{table-DsgqX7Vv.js → table-gnGUejtb.js} +2 -2
  209. package/dist/{table-DsgqX7Vv.js.map → table-gnGUejtb.js.map} +1 -1
  210. package/dist/table.cjs.js +1 -1
  211. package/dist/table.es.js +1 -1
  212. package/dist/{text-area-DDZ_GQPW.mjs → text-area-kJvg6cFp.mjs} +3 -3
  213. package/dist/{text-area-DDZ_GQPW.mjs.map → text-area-kJvg6cFp.mjs.map} +1 -1
  214. package/dist/{text-area-C6W0fDiQ.js → text-area-peNKG7g4.js} +2 -2
  215. package/dist/{text-area-C6W0fDiQ.js.map → text-area-peNKG7g4.js.map} +1 -1
  216. package/dist/text-area.cjs.js +1 -1
  217. package/dist/text-area.es.js +1 -1
  218. package/dist/theme.cjs.js +1 -1
  219. package/dist/theme.es.js +2 -2
  220. package/dist/toggle-B8ZLUVar.js +2 -0
  221. package/dist/{toggle-C8IwTbX8.js.map → toggle-B8ZLUVar.js.map} +1 -1
  222. package/dist/toggle-CY3J8BRX.mjs +302 -0
  223. package/dist/{toggle-D23x1wWk.mjs.map → toggle-CY3J8BRX.mjs.map} +1 -1
  224. package/dist/toggle.cjs.js +1 -1
  225. package/dist/toggle.es.js +1 -1
  226. package/dist/tokens/color/variables.css +1 -0
  227. package/dist/tokens/color/variables.d.ts +1 -0
  228. package/dist/tokens/color/variables.dark.css +1 -0
  229. package/dist/tokens/color/variables.dark.d.ts +1 -0
  230. package/dist/tokens/color/variables.dark.js +1 -0
  231. package/dist/tokens/color/variables.dark.json +2 -1
  232. package/dist/tokens/color/variables.dark.scss +1 -0
  233. package/dist/tokens/color/variables.js +1 -0
  234. package/dist/tokens/color/variables.json +2 -1
  235. package/dist/tokens/color/variables.scss +1 -0
  236. package/dist/tokens.cjs.js +1 -1
  237. package/dist/tokens.es.js +76 -75
  238. package/dist/{tooltip-0pLBlDG3.js → tooltip-C8Zxnqdb.js} +2 -2
  239. package/dist/{tooltip-0pLBlDG3.js.map → tooltip-C8Zxnqdb.js.map} +1 -1
  240. package/dist/{tooltip-Kom0VfOC.mjs → tooltip-VlURN8H3.mjs} +2 -2
  241. package/dist/{tooltip-Kom0VfOC.mjs.map → tooltip-VlURN8H3.mjs.map} +1 -1
  242. package/dist/tooltip.cjs.js +1 -1
  243. package/dist/tooltip.es.js +1 -1
  244. package/dist/use-autocomplete.es-BwAzMcau.js +2 -0
  245. package/dist/use-autocomplete.es-BwAzMcau.js.map +1 -0
  246. package/dist/{use-autocomplete.es-CVv3z8t6.mjs → use-autocomplete.es-CKb0RHKG.mjs} +37 -35
  247. package/dist/use-autocomplete.es-CKb0RHKG.mjs.map +1 -0
  248. package/dist/useColorScheme-DNyjsWX9.js +2 -0
  249. package/dist/{useColorScheme-0GMDl2GF.js.map → useColorScheme-DNyjsWX9.js.map} +1 -1
  250. package/dist/{useColorScheme-Di_Q0JR4.mjs → useColorScheme-tAkY9LHt.mjs} +2 -2
  251. package/dist/{useColorScheme-Di_Q0JR4.mjs.map → useColorScheme-tAkY9LHt.mjs.map} +1 -1
  252. package/dist/{variables-CKp4o9Tn.mjs → variables-B5hbV0Uy.mjs} +128 -127
  253. package/dist/variables-B5hbV0Uy.mjs.map +1 -0
  254. package/dist/variables-DoI78zZc.js +2 -0
  255. package/dist/variables-DoI78zZc.js.map +1 -0
  256. package/package.json +21 -21
  257. package/tokens/color/variables.css +1 -0
  258. package/tokens/color/variables.d.ts +1 -0
  259. package/tokens/color/variables.dark.css +1 -0
  260. package/tokens/color/variables.dark.d.ts +1 -0
  261. package/tokens/color/variables.dark.js +1 -0
  262. package/tokens/color/variables.dark.json +2 -1
  263. package/tokens/color/variables.dark.scss +1 -0
  264. package/tokens/color/variables.js +1 -0
  265. package/tokens/color/variables.json +2 -1
  266. package/tokens/color/variables.scss +1 -0
  267. package/dist/ThemeProvider-5r7lDX-h.js.map +0 -1
  268. package/dist/ThemeProvider-bkyFCeo6.mjs.map +0 -1
  269. package/dist/accordion-OsA0HvdA.js.map +0 -1
  270. package/dist/accordion-OtFSShSB.mjs.map +0 -1
  271. package/dist/checkbox-D6qWgpWR.mjs +0 -231
  272. package/dist/checkbox-D6qWgpWR.mjs.map +0 -1
  273. package/dist/checkbox-Dk3bZkZ3.js +0 -2
  274. package/dist/checkbox-Dk3bZkZ3.js.map +0 -1
  275. package/dist/comparison-table-B8w65g43.js +0 -2
  276. package/dist/comparison-table-B8w65g43.js.map +0 -1
  277. package/dist/comparison-table-D1zJpdLL.mjs.map +0 -1
  278. package/dist/dismissable-chip-group-Cd23yjBa.js +0 -2
  279. package/dist/dismissable-chip-group-Cd23yjBa.js.map +0 -1
  280. package/dist/dismissable-chip-group-D-gD93ON.mjs +0 -89
  281. package/dist/dismissable-chip-group-D-gD93ON.mjs.map +0 -1
  282. package/dist/drawer-Db2Mujc6.mjs +0 -565
  283. package/dist/drawer-Db2Mujc6.mjs.map +0 -1
  284. package/dist/drawer-DlwagnO4.js +0 -2
  285. package/dist/drawer-DlwagnO4.js.map +0 -1
  286. package/dist/dropdown-BsqVnd7z.js +0 -2
  287. package/dist/dropdown-BsqVnd7z.js.map +0 -1
  288. package/dist/dropdown-TO3Mh0bk.mjs +0 -910
  289. package/dist/dropdown-TO3Mh0bk.mjs.map +0 -1
  290. package/dist/listbox-COBHLRtB.js +0 -2
  291. package/dist/listbox-COBHLRtB.js.map +0 -1
  292. package/dist/listbox-DG4KmQP_.mjs +0 -66
  293. package/dist/listbox-DG4KmQP_.mjs.map +0 -1
  294. package/dist/paragraph-BsI53OR0.js +0 -2
  295. package/dist/quantity-selector-8AkKNDik.js +0 -2
  296. package/dist/toggle-C8IwTbX8.js +0 -2
  297. package/dist/toggle-D23x1wWk.mjs +0 -287
  298. package/dist/use-autocomplete.es-BHDgQLae.js +0 -2
  299. package/dist/use-autocomplete.es-BHDgQLae.js.map +0 -1
  300. package/dist/use-autocomplete.es-CVv3z8t6.mjs.map +0 -1
  301. package/dist/useColorScheme-0GMDl2GF.js +0 -2
  302. package/dist/variables-CKp4o9Tn.mjs.map +0 -1
  303. package/dist/variables-DH61hVNE.js +0 -2
  304. package/dist/variables-DH61hVNE.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"notification-DdRS5BF2.mjs","sources":["../../../components/icon/dist/assets/alert-filled.es.js","../../../components/icon/dist/assets/check-circle-filled.es.js","../../../components/icon/dist/assets/close.es.js","../../../components/icon/dist/assets/info-filled.es.js","../../../components/icon/dist/assets/sparkles.es.js","../../../components/notification/src/notification.tsx"],"sourcesContent":["const l = {\n name: \"alert-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Zm1.038-14.81-.247 6.875h-1.566l-.247-6.876a1.03 1.03 0 1 1 2.06 0Zm.212 8.916c0 .649-.585 1.234-1.25 1.234-.649 0-1.25-.585-1.25-1.234 0-.633.601-1.234 1.25-1.234.665 0 1.25.601 1.25 1.234Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"alert-filled\"],\n category: \"status\"\n};\nexport {\n l as alertFilled\n};\n//# sourceMappingURL=alert-filled.es.js.map\n","const e = {\n name: \"check-circle-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Zm4.712-12.491a.875.875 0 1 0-1.424-1.018l-4.4 6.16-2.27-2.27a.875.875 0 0 0-1.237 1.238l3 3a.875.875 0 0 0 1.331-.11l5-7Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"check-circle-filled\"],\n category: \"status\"\n};\nexport {\n e as checkCircleFilled\n};\n//# sourceMappingURL=check-circle-filled.es.js.map\n","const l = {\n name: \"close\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M4.864 4.864a.9.9 0 0 1 1.273 0L12 10.727l5.864-5.863a.9.9 0 0 1 1.272 1.272L13.273 12l5.863 5.864a.9.9 0 1 1-1.272 1.272L12 13.273l-5.863 5.863a.9.9 0 0 1-1.273-1.272L10.727 12 4.864 6.136a.9.9 0 0 1 0-1.272Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"close\"],\n category: \"utility\"\n};\nexport {\n l as close\n};\n//# sourceMappingURL=close.es.js.map\n","const e = {\n name: \"info-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM10.9 7.786c0 .591.516 1.077 1.108 1.077.576 0 1.092-.486 1.092-1.077 0-.592-.516-1.078-1.092-1.078-.592 0-1.108.486-1.108 1.078Zm.167 9.74h1.866V9.94h-1.866v7.586Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"info-filled\"],\n category: \"status\"\n};\nexport {\n e as infoFilled\n};\n//# sourceMappingURL=info-filled.es.js.map\n","const a = {\n name: \"sparkles\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.154 22.054c.463-.002.855-.304.977-.755.411-1.533 1.256-2.463 2.656-2.926a1.02 1.02 0 0 0 .015-1.93c-1.437-.508-2.283-1.434-2.665-2.919a1.017 1.017 0 0 0-.974-.766c-.445.02-.864.305-.986.747-.422 1.518-1.267 2.447-2.66 2.923a1.02 1.02 0 0 0-.687.968c.001.437.279.825.686.962 1.4.479 2.243 1.414 2.657 2.946.121.442.523.75.978.75h.003Zm-1.788-4.66a5.334 5.334 0 0 0 1.779-1.867 5.32 5.32 0 0 0 1.792 1.87 5.256 5.256 0 0 0-1.787 1.88 5.326 5.326 0 0 0-1.784-1.883Zm.956-8.397c-2.97-1.047-4.797-3.046-5.583-6.115a1.232 1.232 0 0 0-1.19-.936 1.247 1.247 0 0 0-1.204.916c-.868 3.125-2.693 5.124-5.579 6.112-.502.171-.84.646-.84 1.182 0 .536.338 1.01.84 1.182 2.897.991 4.72 3.004 5.57 6.154.151.552.632.922 1.196.922h.004a1.228 1.228 0 0 0 1.191-.925c.849-3.162 2.674-5.166 5.578-6.126h.003a1.253 1.253 0 0 0 .015-2.366ZM9.53 15.415c-.996-2.405-2.64-4.167-4.906-5.259C6.878 9.071 8.52 7.324 9.526 4.941c.967 2.359 2.616 4.109 4.926 5.226-2.276 1.073-3.925 2.83-4.922 5.248Z\"/></svg>',\n keywords: [\"sparkles\"],\n category: \"ai\"\n};\nexport {\n a as sparkles\n};\n//# sourceMappingURL=sparkles.es.js.map\n","import React, { forwardRef } from \"react\";\nimport { Button } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport { Icon } from \"@purpur/icon\";\nimport { alertFilled } from \"@purpur/icon/assets/alert-filled\";\nimport { checkCircleFilled } from \"@purpur/icon/assets/check-circle-filled\";\nimport { close } from \"@purpur/icon/assets/close\";\nimport { errorFilled } from \"@purpur/icon/assets/error-filled\";\nimport { infoFilled } from \"@purpur/icon/assets/info-filled\";\nimport { sparkles } from \"@purpur/icon/assets/sparkles\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./notification.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const NOTIFICATION_STATUS = {\n SUCCESS: \"success\",\n WARNING: \"warning\",\n ERROR: \"error\",\n INFO: \"info\",\n AI: \"ai\",\n} as const;\n\nexport const notificationStatuses = Object.values(NOTIFICATION_STATUS);\nexport type NotificationStatus = (typeof NOTIFICATION_STATUS)[keyof typeof NOTIFICATION_STATUS];\n\nexport const NOTIFICATION_ARIA_LIVE = {\n POLITE: \"polite\",\n ASSERTIVE: \"assertive\",\n} as const;\n\nexport const notificationAriaLiveValues = Object.values(NOTIFICATION_ARIA_LIVE);\nexport type NotificationAriaLive =\n (typeof NOTIFICATION_ARIA_LIVE)[keyof typeof NOTIFICATION_ARIA_LIVE];\n\nexport const NOTIFICATION_ROLE = {\n ALERT: \"alert\",\n DIALOG: \"dialog\",\n ALERTDIALOG: \"alertdialog\",\n} as const;\n\nexport const notificationRoles = Object.values(NOTIFICATION_ROLE);\nexport type NotificationRole = (typeof NOTIFICATION_ROLE)[keyof typeof NOTIFICATION_ROLE];\n\nconst rootClassName = \"purpur-notification\";\n\nconst getStatusIcon = (status: NotificationStatus) => {\n switch (status) {\n case NOTIFICATION_STATUS.AI:\n return sparkles;\n case NOTIFICATION_STATUS.INFO:\n return infoFilled;\n case NOTIFICATION_STATUS.SUCCESS:\n return checkCircleFilled;\n case NOTIFICATION_STATUS.WARNING:\n return alertFilled;\n case NOTIFICATION_STATUS.ERROR:\n return errorFilled;\n }\n};\n\ntype DefaultProps = BaseProps & {\n [\"aria-live\"]?: NotificationAriaLive;\n headingTag?: HeadingTagType;\n status?: NotificationStatus;\n heading?: string;\n role?: NotificationRole;\n hidden?: boolean;\n /**\n * Use to explicitly not open the notification initially and open it programatically to trigger\n * that the aria-live message is read by the screen reader correctly.\n */\n open?: boolean;\n hideIcon?: boolean;\n};\n\ntype CloseButtonProps = {\n onClose: () => void;\n closeButtonAriaLabel: string;\n};\n\ntype NoCloseButtonProps = {\n onClose?: never;\n closeButtonAriaLabel?: never;\n};\n\nexport type NotificationProps = DefaultProps & (CloseButtonProps | NoCloseButtonProps);\n\nexport const Notification = forwardRef<HTMLDivElement, NotificationProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n [\"aria-live\"]: ariaLive,\n children,\n className,\n closeButtonAriaLabel,\n headingTag = \"h4\",\n status = \"info\",\n heading,\n hidden,\n id,\n onClose,\n open = true,\n hideIcon,\n ...props\n },\n ref\n ) => {\n const showHeader = !!heading || !hideIcon;\n\n return (\n <div aria-live={ariaLive}>\n {open && (\n <div\n id={id}\n aria-labelledby={id ? `${id}-heading` : undefined}\n aria-describedby={id ? `${id}-body` : undefined}\n aria-hidden={!!hidden}\n className={cx(className, rootClassName, `${rootClassName}--${status}`, {\n [`${rootClassName}--hidden`]: hidden,\n [`${rootClassName}--has-close-button`]: !!onClose,\n })}\n data-testid={dataTestId}\n ref={ref}\n {...props}\n >\n {showHeader && (\n <div className={cx(`${rootClassName}__top`)}>\n <div className={cx(`${rootClassName}__header`)}>\n {!hideIcon && (\n <Icon\n data-testid={dataTestId ? `${dataTestId}-icon` : undefined}\n className={cx(`${rootClassName}__icon`)}\n svg={getStatusIcon(status)}\n size=\"sm\"\n />\n )}\n {!!heading && (\n <Heading\n data-testid={dataTestId ? `${dataTestId}-heading` : undefined}\n variant=\"subsection-100\"\n tag={headingTag}\n className={cx(`${rootClassName}__heading`)}\n >\n <span id={id ? `${id}-heading` : undefined}> {heading}</span>\n </Heading>\n )}\n </div>\n </div>\n )}\n {onClose && (\n <Button\n data-testid={dataTestId ? `${dataTestId}-close-button` : undefined}\n variant=\"text\"\n size=\"sm\"\n iconOnly\n aria-label={closeButtonAriaLabel}\n onClick={onClose}\n className={cx(`${rootClassName}__close-button`)}\n >\n <Icon svg={close} size=\"md\" />\n </Button>\n )}\n {children && (\n <div\n data-testid={dataTestId ? `${dataTestId}-body` : undefined}\n className={cx(`${rootClassName}__body`, {\n [`${rootClassName}__body--extra-padding`]: !showHeader && !!onClose,\n })}\n id={id ? `${id}-body` : undefined}\n >\n {typeof children === \"string\" ? (\n <Paragraph\n data-testid={dataTestId ? `${dataTestId}-paragraph` : undefined}\n variant=\"paragraph-100\"\n >\n {children}\n </Paragraph>\n ) : (\n children\n )}\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n\nNotification.displayName = \"Notification\";\n"],"names":["l","e","a","cx","c","styles","NOTIFICATION_STATUS","notificationStatuses","NOTIFICATION_ARIA_LIVE","notificationAriaLiveValues","NOTIFICATION_ROLE","notificationRoles","rootClassName","getStatusIcon","status","sparkles","infoFilled","checkCircleFilled","alertFilled","errorFilled","Notification","forwardRef","dataTestId","ariaLive","children","className","closeButtonAriaLabel","headingTag","heading","hidden","id","onClose","open","hideIcon","props","ref","showHeader","jsx","jsxs","Icon","Heading","Button","close","Paragraph"],"mappings":";;;;;;;;AAAA,MAAMA,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,cAAc;AAAA,EACzB,UAAU;AACZ,GCLMC,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,qBAAqB;AAAA,EAChC,UAAU;AACZ,GCLMD,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,OAAO;AAAA,EAClB,UAAU;AACZ,GCLMC,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,aAAa;AAAA,EACxB,UAAU;AACZ,GCLMC,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,UAAU;AAAA,EACrB,UAAU;AACZ;;;;;;;;;;;;;;;;GCWMC,IAAKC,EAAE,KAAKC,CAAM,GAEXC,IAAsB;AAAA,EACjC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,IAAI;AACN,GAEaC,IAAuB,OAAO,OAAOD,CAAmB,GAGxDE,IAAyB;AAAA,EACpC,QAAQ;AAAA,EACR,WAAW;AACb,GAEaC,IAA6B,OAAO,OAAOD,CAAsB,GAIjEE,IAAoB;AAAA,EAC/B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,aAAa;AACf,GAEaC,IAAoB,OAAO,OAAOD,CAAiB,GAG1DE,IAAgB,uBAEhBC,IAAgB,CAACC,MAA+B;AACpD,UAAQA,GAAA;AAAA,IACN,KAAKR,EAAoB;AACvB,aAAOS;AAAAA,IACT,KAAKT,EAAoB;AACvB,aAAOU;AAAAA,IACT,KAAKV,EAAoB;AACvB,aAAOW;AAAAA,IACT,KAAKX,EAAoB;AACvB,aAAOY;AAAAA,IACT,KAAKZ,EAAoB;AACvB,aAAOa;AAAAA,EAAA;AAEb,GA6BaC,IAAeC;AAAA,EAC1B,CACE;AAAA,IACE,CAAC,gBAAgBC;AAAA,IACjB,CAAC,cAAcC;AAAA,IACf,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,QAAAb,IAAS;AAAA,IACT,SAAAc;AAAA,IACA,QAAAC;AAAA,IACA,IAAAC;AAAA,IACA,SAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAa,CAAC,CAACR,KAAW,CAACK;AAEjC,WACE,gBAAAI,EAAC,OAAA,EAAI,aAAWd,GACb,UAAAS,KACC,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAAR;AAAA,QACA,mBAAiBA,IAAK,GAAGA,CAAE,aAAa;AAAA,QACxC,oBAAkBA,IAAK,GAAGA,CAAE,UAAU;AAAA,QACtC,eAAa,CAAC,CAACD;AAAA,QACf,WAAW1B,EAAGsB,GAAWb,GAAe,GAAGA,CAAa,KAAKE,CAAM,IAAI;AAAA,UACrE,CAAC,GAAGF,CAAa,UAAU,GAAGiB;AAAA,UAC9B,CAAC,GAAGjB,CAAa,oBAAoB,GAAG,CAAC,CAACmB;AAAA,QAAA,CAC3C;AAAA,QACD,eAAaT;AAAA,QACb,KAAAa;AAAA,QACC,GAAGD;AAAA,QAEH,UAAA;AAAA,UAAAE,KACC,gBAAAC,EAAC,OAAA,EAAI,WAAWlC,EAAG,GAAGS,CAAa,OAAO,GACxC,UAAA,gBAAA0B,EAAC,SAAI,WAAWnC,EAAG,GAAGS,CAAa,UAAU,GAC1C,UAAA;AAAA,YAAA,CAACqB,KACA,gBAAAI;AAAA,cAACE;AAAAA,cAAA;AAAA,gBACC,eAAajB,IAAa,GAAGA,CAAU,UAAU;AAAA,gBACjD,WAAWnB,EAAG,GAAGS,CAAa,QAAQ;AAAA,gBACtC,KAAKC,EAAcC,CAAM;AAAA,gBACzB,MAAK;AAAA,cAAA;AAAA,YAAA;AAAA,YAGR,CAAC,CAACc,KACD,gBAAAS;AAAA,cAACG;AAAA,cAAA;AAAA,gBACC,eAAalB,IAAa,GAAGA,CAAU,aAAa;AAAA,gBACpD,SAAQ;AAAA,gBACR,KAAKK;AAAA,gBACL,WAAWxB,EAAG,GAAGS,CAAa,WAAW;AAAA,gBAEzC,4BAAC,QAAA,EAAK,IAAIkB,IAAK,GAAGA,CAAE,aAAa,QAAW,UAAA;AAAA,kBAAA;AAAA,kBAAEF;AAAA,gBAAA,EAAA,CAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,UACxD,EAAA,CAEJ,EAAA,CACF;AAAA,UAEDG,KACC,gBAAAM;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,eAAanB,IAAa,GAAGA,CAAU,kBAAkB;AAAA,cACzD,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,UAAQ;AAAA,cACR,cAAYI;AAAA,cACZ,SAASK;AAAA,cACT,WAAW5B,EAAG,GAAGS,CAAa,gBAAgB;AAAA,cAE9C,UAAA,gBAAAyB,EAACE,GAAA,EAAK,KAAKG,GAAO,MAAK,KAAA,CAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAG/BlB,KACC,gBAAAa;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAaf,IAAa,GAAGA,CAAU,UAAU;AAAA,cACjD,WAAWnB,EAAG,GAAGS,CAAa,UAAU;AAAA,gBACtC,CAAC,GAAGA,CAAa,uBAAuB,GAAG,CAACwB,KAAc,CAAC,CAACL;AAAA,cAAA,CAC7D;AAAA,cACD,IAAID,IAAK,GAAGA,CAAE,UAAU;AAAA,cAEvB,UAAA,OAAON,KAAa,WACnB,gBAAAa;AAAA,gBAACM;AAAA,gBAAA;AAAA,kBACC,eAAarB,IAAa,GAAGA,CAAU,eAAe;AAAA,kBACtD,SAAQ;AAAA,kBAEP,UAAAE;AAAA,gBAAA;AAAA,cAAA,IAGHA;AAAA,YAAA;AAAA,UAAA;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA,GAIR;AAAA,EAEJ;AACF;AAEAJ,EAAa,cAAc;"}
1
+ {"version":3,"file":"notification-BbQCmsnY.mjs","sources":["../../../components/icon/dist/assets/alert-filled.es.js","../../../components/icon/dist/assets/check-circle-filled.es.js","../../../components/icon/dist/assets/close.es.js","../../../components/icon/dist/assets/info-filled.es.js","../../../components/icon/dist/assets/sparkles.es.js","../../../components/notification/src/notification.tsx"],"sourcesContent":["const l = {\n name: \"alert-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Zm1.038-14.81-.247 6.875h-1.566l-.247-6.876a1.03 1.03 0 1 1 2.06 0Zm.212 8.916c0 .649-.585 1.234-1.25 1.234-.649 0-1.25-.585-1.25-1.234 0-.633.601-1.234 1.25-1.234.665 0 1.25.601 1.25 1.234Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"alert-filled\"],\n category: \"status\"\n};\nexport {\n l as alertFilled\n};\n//# sourceMappingURL=alert-filled.es.js.map\n","const e = {\n name: \"check-circle-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Zm4.712-12.491a.875.875 0 1 0-1.424-1.018l-4.4 6.16-2.27-2.27a.875.875 0 0 0-1.237 1.238l3 3a.875.875 0 0 0 1.331-.11l5-7Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"check-circle-filled\"],\n category: \"status\"\n};\nexport {\n e as checkCircleFilled\n};\n//# sourceMappingURL=check-circle-filled.es.js.map\n","const l = {\n name: \"close\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M4.864 4.864a.9.9 0 0 1 1.273 0L12 10.727l5.864-5.863a.9.9 0 0 1 1.272 1.272L13.273 12l5.863 5.864a.9.9 0 1 1-1.272 1.272L12 13.273l-5.863 5.863a.9.9 0 0 1-1.273-1.272L10.727 12 4.864 6.136a.9.9 0 0 1 0-1.272Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"close\"],\n category: \"utility\"\n};\nexport {\n l as close\n};\n//# sourceMappingURL=close.es.js.map\n","const e = {\n name: \"info-filled\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM10.9 7.786c0 .591.516 1.077 1.108 1.077.576 0 1.092-.486 1.092-1.077 0-.592-.516-1.078-1.092-1.078-.592 0-1.108.486-1.108 1.078Zm.167 9.74h1.866V9.94h-1.866v7.586Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"info-filled\"],\n category: \"status\"\n};\nexport {\n e as infoFilled\n};\n//# sourceMappingURL=info-filled.es.js.map\n","const a = {\n name: \"sparkles\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.154 22.054c.463-.002.855-.304.977-.755.411-1.533 1.256-2.463 2.656-2.926a1.02 1.02 0 0 0 .015-1.93c-1.437-.508-2.283-1.434-2.665-2.919a1.017 1.017 0 0 0-.974-.766c-.445.02-.864.305-.986.747-.422 1.518-1.267 2.447-2.66 2.923a1.02 1.02 0 0 0-.687.968c.001.437.279.825.686.962 1.4.479 2.243 1.414 2.657 2.946.121.442.523.75.978.75h.003Zm-1.788-4.66a5.334 5.334 0 0 0 1.779-1.867 5.32 5.32 0 0 0 1.792 1.87 5.256 5.256 0 0 0-1.787 1.88 5.326 5.326 0 0 0-1.784-1.883Zm.956-8.397c-2.97-1.047-4.797-3.046-5.583-6.115a1.232 1.232 0 0 0-1.19-.936 1.247 1.247 0 0 0-1.204.916c-.868 3.125-2.693 5.124-5.579 6.112-.502.171-.84.646-.84 1.182 0 .536.338 1.01.84 1.182 2.897.991 4.72 3.004 5.57 6.154.151.552.632.922 1.196.922h.004a1.228 1.228 0 0 0 1.191-.925c.849-3.162 2.674-5.166 5.578-6.126h.003a1.253 1.253 0 0 0 .015-2.366ZM9.53 15.415c-.996-2.405-2.64-4.167-4.906-5.259C6.878 9.071 8.52 7.324 9.526 4.941c.967 2.359 2.616 4.109 4.926 5.226-2.276 1.073-3.925 2.83-4.922 5.248Z\"/></svg>',\n keywords: [\"sparkles\"],\n category: \"ai\"\n};\nexport {\n a as sparkles\n};\n//# sourceMappingURL=sparkles.es.js.map\n","import React, { forwardRef } from \"react\";\nimport { Button } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { Heading, type HeadingTagType } from \"@purpur/heading\";\nimport { Icon } from \"@purpur/icon\";\nimport { alertFilled } from \"@purpur/icon/assets/alert-filled\";\nimport { checkCircleFilled } from \"@purpur/icon/assets/check-circle-filled\";\nimport { close } from \"@purpur/icon/assets/close\";\nimport { errorFilled } from \"@purpur/icon/assets/error-filled\";\nimport { infoFilled } from \"@purpur/icon/assets/info-filled\";\nimport { sparkles } from \"@purpur/icon/assets/sparkles\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./notification.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const NOTIFICATION_STATUS = {\n SUCCESS: \"success\",\n WARNING: \"warning\",\n ERROR: \"error\",\n INFO: \"info\",\n AI: \"ai\",\n} as const;\n\nexport const notificationStatuses = Object.values(NOTIFICATION_STATUS);\nexport type NotificationStatus = (typeof NOTIFICATION_STATUS)[keyof typeof NOTIFICATION_STATUS];\n\nexport const NOTIFICATION_ARIA_LIVE = {\n POLITE: \"polite\",\n ASSERTIVE: \"assertive\",\n} as const;\n\nexport const notificationAriaLiveValues = Object.values(NOTIFICATION_ARIA_LIVE);\nexport type NotificationAriaLive =\n (typeof NOTIFICATION_ARIA_LIVE)[keyof typeof NOTIFICATION_ARIA_LIVE];\n\nexport const NOTIFICATION_ROLE = {\n ALERT: \"alert\",\n DIALOG: \"dialog\",\n ALERTDIALOG: \"alertdialog\",\n} as const;\n\nexport const notificationRoles = Object.values(NOTIFICATION_ROLE);\nexport type NotificationRole = (typeof NOTIFICATION_ROLE)[keyof typeof NOTIFICATION_ROLE];\n\nconst rootClassName = \"purpur-notification\";\n\nconst getStatusIcon = (status: NotificationStatus) => {\n switch (status) {\n case NOTIFICATION_STATUS.AI:\n return sparkles;\n case NOTIFICATION_STATUS.INFO:\n return infoFilled;\n case NOTIFICATION_STATUS.SUCCESS:\n return checkCircleFilled;\n case NOTIFICATION_STATUS.WARNING:\n return alertFilled;\n case NOTIFICATION_STATUS.ERROR:\n return errorFilled;\n }\n};\n\ntype DefaultProps = BaseProps & {\n [\"aria-live\"]?: NotificationAriaLive;\n headingTag?: HeadingTagType;\n status?: NotificationStatus;\n heading?: string;\n role?: NotificationRole;\n hidden?: boolean;\n /**\n * Use to explicitly not open the notification initially and open it programatically to trigger\n * that the aria-live message is read by the screen reader correctly.\n */\n open?: boolean;\n hideIcon?: boolean;\n};\n\ntype CloseButtonProps = {\n onClose: () => void;\n closeButtonAriaLabel: string;\n};\n\ntype NoCloseButtonProps = {\n onClose?: never;\n closeButtonAriaLabel?: never;\n};\n\nexport type NotificationProps = DefaultProps & (CloseButtonProps | NoCloseButtonProps);\n\nexport const Notification = forwardRef<HTMLDivElement, NotificationProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n [\"aria-live\"]: ariaLive,\n children,\n className,\n closeButtonAriaLabel,\n headingTag = \"h4\",\n status = \"info\",\n heading,\n hidden,\n id,\n onClose,\n open = true,\n hideIcon,\n ...props\n },\n ref\n ) => {\n const showHeader = !!heading || !hideIcon;\n\n return (\n <div aria-live={ariaLive}>\n {open && (\n <div\n id={id}\n aria-labelledby={id ? `${id}-heading` : undefined}\n aria-describedby={id ? `${id}-body` : undefined}\n aria-hidden={!!hidden}\n className={cx(className, rootClassName, `${rootClassName}--${status}`, {\n [`${rootClassName}--hidden`]: hidden,\n [`${rootClassName}--has-close-button`]: !!onClose,\n })}\n data-testid={dataTestId}\n ref={ref}\n {...props}\n >\n {showHeader && (\n <div className={cx(`${rootClassName}__top`)}>\n <div className={cx(`${rootClassName}__header`)}>\n {!hideIcon && (\n <Icon\n data-testid={dataTestId ? `${dataTestId}-icon` : undefined}\n className={cx(`${rootClassName}__icon`)}\n svg={getStatusIcon(status)}\n size=\"sm\"\n />\n )}\n {!!heading && (\n <Heading\n data-testid={dataTestId ? `${dataTestId}-heading` : undefined}\n variant=\"subsection-100\"\n tag={headingTag}\n className={cx(`${rootClassName}__heading`)}\n >\n <span id={id ? `${id}-heading` : undefined}> {heading}</span>\n </Heading>\n )}\n </div>\n </div>\n )}\n {onClose && (\n <Button\n data-testid={dataTestId ? `${dataTestId}-close-button` : undefined}\n variant=\"text\"\n size=\"sm\"\n iconOnly\n aria-label={closeButtonAriaLabel}\n onClick={onClose}\n className={cx(`${rootClassName}__close-button`)}\n >\n <Icon svg={close} size=\"md\" />\n </Button>\n )}\n {children && (\n <div\n data-testid={dataTestId ? `${dataTestId}-body` : undefined}\n className={cx(`${rootClassName}__body`, {\n [`${rootClassName}__body--extra-padding`]: !showHeader && !!onClose,\n })}\n id={id ? `${id}-body` : undefined}\n >\n {typeof children === \"string\" ? (\n <Paragraph\n data-testid={dataTestId ? `${dataTestId}-paragraph` : undefined}\n variant=\"paragraph-100\"\n >\n {children}\n </Paragraph>\n ) : (\n children\n )}\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n\nNotification.displayName = \"Notification\";\n"],"names":["l","e","a","cx","c","styles","NOTIFICATION_STATUS","notificationStatuses","NOTIFICATION_ARIA_LIVE","notificationAriaLiveValues","NOTIFICATION_ROLE","notificationRoles","rootClassName","getStatusIcon","status","sparkles","infoFilled","checkCircleFilled","alertFilled","errorFilled","Notification","forwardRef","dataTestId","ariaLive","children","className","closeButtonAriaLabel","headingTag","heading","hidden","id","onClose","open","hideIcon","props","ref","showHeader","jsx","jsxs","Icon","Heading","Button","close","Paragraph"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./notification-BqjaT4E7.js");exports.NOTIFICATION_ARIA_LIVE=i.NOTIFICATION_ARIA_LIVE;exports.NOTIFICATION_ROLE=i.NOTIFICATION_ROLE;exports.NOTIFICATION_STATUS=i.NOTIFICATION_STATUS;exports.Notification=i.Notification;exports.notificationAriaLiveValues=i.notificationAriaLiveValues;exports.notificationRoles=i.notificationRoles;exports.notificationStatuses=i.notificationStatuses;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./notification-B5bNNq86.js");exports.NOTIFICATION_ARIA_LIVE=i.NOTIFICATION_ARIA_LIVE;exports.NOTIFICATION_ROLE=i.NOTIFICATION_ROLE;exports.NOTIFICATION_STATUS=i.NOTIFICATION_STATUS;exports.Notification=i.Notification;exports.notificationAriaLiveValues=i.notificationAriaLiveValues;exports.notificationRoles=i.notificationRoles;exports.notificationStatuses=i.notificationStatuses;
2
2
  //# sourceMappingURL=notification.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { N as o, a as s, b as t, c as I, n, d as N, e as T } from "./notification-DdRS5BF2.mjs";
1
+ import { N as o, a as s, b as t, c as I, n, d as N, e as T } from "./notification-BbQCmsnY.mjs";
2
2
  export {
3
3
  o as NOTIFICATION_ARIA_LIVE,
4
4
  s as NOTIFICATION_ROLE,
@@ -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-Ci50OF1u.mjs";
8
+ import { P as Y } from "./paragraph-DSxXmX_0.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-CVYUacXN.mjs.map
559
+ //# sourceMappingURL=pagination-Cc_4zCQA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-CVYUacXN.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-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,2 +1,2 @@
1
- "use strict";const i=require("react/jsx-runtime"),m=require("react"),se=require("./arrow-left.es-CCWJyrcQ.js"),_e=require("./arrow-right.es-eH-IgGi9.js"),C=require("./visually-hidden-C2CKovZx.js"),z=require("./bind-DeUYJ6m9.js"),K=require("./label-yHK80hhV.js"),Q=require("./paragraph-BsI53OR0.js"),U=require("./select-DOqTJgTj.js"),W=e=>{window.location.href=e},oe={"purpur-pagination":"_purpur-pagination_1g3as_1","purpur-pagination__pagination-container":"_purpur-pagination__pagination-container_1g3as_5","purpur-pagination__pagination-container--with-page-size-select":"_purpur-pagination__pagination-container--with-page-size-select_1g3as_12","purpur-pagination__page-size-select-container":"_purpur-pagination__page-size-select-container_1g3as_20","purpur-pagination__page-navigation-container":"_purpur-pagination__page-navigation-container_1g3as_30","purpur-pagination__step-trigger-label":"_purpur-pagination__step-trigger-label_1g3as_51","purpur-pagination__step-trigger-label--not-icon-only":"_purpur-pagination__step-trigger-label--not-icon-only_1g3as_64","purpur-pagination__step-trigger":"_purpur-pagination__step-trigger_1g3as_51","purpur-pagination__page-trigger-container":"_purpur-pagination__page-trigger-container_1g3as_78","purpur-pagination__pages":"_purpur-pagination__pages_1g3as_83","purpur-pagination__pages--visible":"_purpur-pagination__pages--visible_1g3as_86","purpur-pagination__page-selector":"_purpur-pagination__page-selector_1g3as_94","purpur-pagination__page-selector--visible":"_purpur-pagination__page-selector--visible_1g3as_97"},le={"purpur-pagination-page-selector":"_purpur-pagination-page-selector_7pxsw_1","purpur-pagination-page-selector__select-container":"_purpur-pagination-page-selector__select-container_7pxsw_6","purpur-pagination-page-selector__of-total-pages-label":"_purpur-pagination-page-selector__of-total-pages-label_7pxsw_10"},ue=e=>({options:m.useMemo(()=>Array.from({length:e},(a,g)=>({label:`${g+1}`,value:`${g+1}`})),[e])}),R=z.c.bind(le),H="purpur-pagination-page-selector",X=m.forwardRef(({["data-testid"]:e="purpur-pagination-page-selector",asLink:t,className:a,currentPage:g,hrefGetter:n,navigationFunction:r,numberOfPages:s,onPageChange:p,outOfLabel:l,pageSelectorId:u,pageSelectorLabel:$,...y},x)=>{const c=m.useId(),h=R(a,H),{options:k}=ue(s),b=j=>{const N=j.target.value?Number(j.target.value):1;if(p(N),t){const M=n?.(N)??"";r(N,M)}};return i.jsxs("div",{className:h,"data-testid":e,ref:x,...y,children:[i.jsxs("div",{className:R(`${H}__select-container`),children:[i.jsx(C.VisuallyHidden,{children:i.jsx(K.Label,{"data-testid":`${e}-label`,htmlFor:c,children:$})}),i.jsx(U.Select,{className:R(`${H}__select`),"data-testid":`${e}-select`,id:u??c,onChange:b,options:k,value:String(g)})]}),i.jsx(Q.Paragraph,{className:R(`${H}__of-total-pages-label`),"data-testid":`${e}-of-total-pages`,children:`${l} ${s}`})]})});X.displayName="PaginationPageSelector";const ce={"purpur-pagination-page-size-selector":"_purpur-pagination-page-size-selector_11x2p_1","purpur-pagination-page-size-selector__select":"_purpur-pagination-page-size-selector__select_11x2p_12","purpur-pagination-page-size-selector__items-per-page-label":"_purpur-pagination-page-size-selector__items-per-page-label_11x2p_17","purpur-pagination-page-size-selector__items-per-page-label-text":"_purpur-pagination-page-size-selector__items-per-page-label-text_11x2p_27"},de=e=>({options:m.useMemo(()=>e.map(a=>({label:`${a}`,value:`${a}`})),[e])}),V=z.c.bind(ce),L="purpur-pagination-page-size-selector",Y=m.forwardRef(({["data-testid"]:e="purpur-pagination-page-size-selector",asLink:t,availablePageSizes:a,className:g,hrefGetter:n,navigationFunction:r,onPageSizeChange:s,pageSize:p,pageSizeLabel:l,...u},$)=>{const y=m.useId(),x=V(g,L),{options:c}=de(a),h=k=>{const b=Number(k.target.value);if(s(b),t){const j=n({page:1,pageSize:b});r?r({currentPage:1,pageSize:b,url:j}):W(j)}};return i.jsxs("div",{className:x,"data-testid":e,ref:$,...u,children:[i.jsx(K.Label,{className:V(`${L}__items-per-page-label`),"data-testid":`${e}-item-per-page-label`,htmlFor:y,children:i.jsx("span",{className:V(`${L}__items-per-page-label-text`),children:l})}),i.jsx(U.Select,{className:V(`${L}__select`),"data-testid":`${e}-select`,id:y,onChange:h,options:c,value:p})]})});Y.displayName="PaginationPageSizeSelector";const me={"purpur-pagination-page-trigger":"_purpur-pagination-page-trigger_kvdyl_1","purpur-pagination-page-trigger__trigger-item":"_purpur-pagination-page-trigger__trigger-item_kvdyl_4","purpur-pagination-page-trigger__trigger-item--xs":"_purpur-pagination-page-trigger__trigger-item--xs_kvdyl_26","purpur-pagination-page-trigger__trigger-item--icon-only":"_purpur-pagination-page-trigger__trigger-item--icon-only_kvdyl_29","purpur-pagination-page-trigger__trigger-item--sm":"_purpur-pagination-page-trigger__trigger-item--sm_kvdyl_32","purpur-pagination-page-trigger__trigger-item--md":"_purpur-pagination-page-trigger__trigger-item--md_kvdyl_38","purpur-pagination-page-trigger__trigger-item--lg":"_purpur-pagination-page-trigger__trigger-item--lg_kvdyl_44","purpur-pagination-page-trigger__trigger-item--full-width":"_purpur-pagination-page-trigger__trigger-item--full-width_kvdyl_50","purpur-pagination-page-trigger__trigger-item--primary":"_purpur-pagination-page-trigger__trigger-item--primary_kvdyl_68","purpur-pagination-page-trigger__trigger-item--disabled":"_purpur-pagination-page-trigger__trigger-item--disabled_kvdyl_72","purpur-pagination-page-trigger__trigger-item--primary-negative":"_purpur-pagination-page-trigger__trigger-item--primary-negative_kvdyl_78","purpur-pagination-page-trigger__trigger-item--secondary":"_purpur-pagination-page-trigger__trigger-item--secondary_kvdyl_90","purpur-pagination-page-trigger__trigger-item--secondary-negative":"_purpur-pagination-page-trigger__trigger-item--secondary-negative_kvdyl_101","purpur-pagination-page-trigger__trigger-item--expressive":"_purpur-pagination-page-trigger__trigger-item--expressive_kvdyl_112","purpur-pagination-page-trigger__trigger-item--expressive-negative":"_purpur-pagination-page-trigger__trigger-item--expressive-negative_kvdyl_122","purpur-pagination-page-trigger__trigger-item--page-trigger":"_purpur-pagination-page-trigger__trigger-item--page-trigger_kvdyl_134","purpur-pagination-page-trigger__trigger-item--selected":"_purpur-pagination-page-trigger__trigger-item--selected_kvdyl_143"},E=z.c.bind(me),d="purpur-pagination-page-trigger",Z=m.forwardRef(({["data-testid"]:e="purpur-pagination-page-trigger",linkElement:t,asLink:a,className:g,disabled:n,hrefGetter:r,onPageChange:s,pageNumber:p,selected:l,stepNumberPrefix:u,...$},y)=>{const x=E(g,d);return i.jsx("li",{className:x,"data-testid":e,ref:y,...$,children:a?n?i.jsxs("span",{className:E(`${d}__trigger-item`,`${d}__trigger-item--page-trigger`,`${d}__trigger-item--sm`,`${d}__trigger-item--icon-only`,`${d}__trigger-item--disabled`),"aria-current":l?"page":void 0,"data-testid":`${e}-disabled-link`,children:[i.jsx(C.VisuallyHidden,{children:`${u} `}),p]}):i.jsxs(t,{className:E(`${d}__trigger-item`,`${d}__trigger-item--page-trigger`,`${d}__trigger-item--sm`,`${d}__trigger-item--icon-only`,{[`${d}__trigger-item--selected`]:l}),"aria-current":l?"page":void 0,"data-testid":`${e}-link`,href:r(p),onClick:()=>s(p),children:[i.jsx(C.VisuallyHidden,{children:`${u} `}),p]}):i.jsxs("button",{"aria-disabled":n,className:E(`${d}__trigger-item`,`${d}__trigger-item--page-trigger`,`${d}__trigger-item--sm`,`${d}__trigger-item--icon-only`,{[`${d}__trigger-item--selected`]:l}),"data-testid":`${e}-button`,"aria-current":l?"page":void 0,disabled:n,onClick:()=>s(p),type:"button",children:[i.jsx(C.VisuallyHidden,{children:`${u} `}),p]})})});Z.displayName="PaginationPageTrigger";const $e={"purpur-pagination-pages":"_purpur-pagination-pages_2g8is_1"},ye={"purpur-pagination-truncation-separator":"_purpur-pagination-truncation-separator_b9cij_1"},ve=z.c.bind(ye),xe="purpur-pagination-truncation-separator",B=({["data-testid"]:e="purpur-pagination-truncation-separator",className:t,["aria-label"]:a,...g})=>{const n=ve(t,xe);return i.jsx("li",{className:n,"data-testid":e,...g,children:i.jsx(Q.Paragraph,{"aria-label":a,children:"..."})})};B.displayName="PaginationTruncationSeparator";const he=z.c.bind($e),be="purpur-pagination-pages",O=m.forwardRef(({["data-testid"]:e="purpur-pagination-pages",linkElement:t,asLink:a,className:g,currentPage:n,hrefGetter:r,onPageChange:s,pages:p,stepNumberPrefix:l,truncationSeparatorAriaLabel:u,...$},y)=>{const x=he(g,be);return i.jsx("ol",{className:x,"data-testid":e,ref:y,...$,children:p.flatMap((c,h,k)=>{const b=m.createElement(Z,{...a?{asLink:!0,hrefGetter:r}:{asLink:void 0,hrefGetter:void 0},linkElement:t,"data-testid":`${e}-page-${c}`,key:c,onPageChange:s,selected:c===n,stepNumberPrefix:l,pageNumber:c});return h===0||k[h-1]+1===c?[b]:[i.jsx(B,{"data-testid":`${e}-truncation-separator-${c}`,"aria-label":u},`${c}-separator`),b]})})});O.displayName="PaginationPages";const je={"purpur-pagination-step-trigger__trigger-item":"_purpur-pagination-step-trigger__trigger-item_1ttbi_1","purpur-pagination-step-trigger__trigger-item--xs":"_purpur-pagination-step-trigger__trigger-item--xs_1ttbi_23","purpur-pagination-step-trigger__trigger-item--icon-only":"_purpur-pagination-step-trigger__trigger-item--icon-only_1ttbi_26","purpur-pagination-step-trigger__trigger-item--sm":"_purpur-pagination-step-trigger__trigger-item--sm_1ttbi_29","purpur-pagination-step-trigger__trigger-item--md":"_purpur-pagination-step-trigger__trigger-item--md_1ttbi_35","purpur-pagination-step-trigger__trigger-item--lg":"_purpur-pagination-step-trigger__trigger-item--lg_1ttbi_41","purpur-pagination-step-trigger__trigger-item--full-width":"_purpur-pagination-step-trigger__trigger-item--full-width_1ttbi_47","purpur-pagination-step-trigger__trigger-item--primary":"_purpur-pagination-step-trigger__trigger-item--primary_1ttbi_65","purpur-pagination-step-trigger__trigger-item--disabled":"_purpur-pagination-step-trigger__trigger-item--disabled_1ttbi_69","purpur-pagination-step-trigger__trigger-item--primary-negative":"_purpur-pagination-step-trigger__trigger-item--primary-negative_1ttbi_75","purpur-pagination-step-trigger__trigger-item--secondary":"_purpur-pagination-step-trigger__trigger-item--secondary_1ttbi_87","purpur-pagination-step-trigger__trigger-item--secondary-negative":"_purpur-pagination-step-trigger__trigger-item--secondary-negative_1ttbi_98","purpur-pagination-step-trigger__trigger-item--expressive":"_purpur-pagination-step-trigger__trigger-item--expressive_1ttbi_109","purpur-pagination-step-trigger__trigger-item--expressive-negative":"_purpur-pagination-step-trigger__trigger-item--expressive-negative_1ttbi_119","purpur-pagination-step-trigger__trigger-item--step-trigger":"_purpur-pagination-step-trigger__trigger-item--step-trigger_1ttbi_131","purpur-pagination-step-trigger__trigger-item--step-trigger--not-icon-only":"_purpur-pagination-step-trigger__trigger-item--step-trigger--not-icon-only_1ttbi_138"},G=z.c.bind(je),_="purpur-pagination-step-trigger",F=m.forwardRef(({["aria-label"]:e,["data-testid"]:t="purpur-pagination-step-trigger",linkElement:a,asLink:g,children:n,className:r,disabled:s,hrefGetter:p,onPageChange:l,pageToNavigateTo:u,isIconOnly:$,...y},x)=>{const c=G(r,_);return i.jsx("div",{className:c,"data-testid":t,ref:x,...y,children:g?s?i.jsx("span",{"aria-label":e,className:G(`${_}__trigger-item`,`${_}__trigger-item--step-trigger`,`${_}__trigger-item--secondary`,`${_}__trigger-item--sm`,`${_}__trigger-item--disabled`,{[`${_}__trigger-item--step-trigger--not-icon-only`]:!$}),"data-testid":`${t}-disabled-link`,children:n}):i.jsx(a,{"aria-label":e,className:G(`${_}__trigger-item`,`${_}__trigger-item--step-trigger`,`${_}__trigger-item--secondary`,`${_}__trigger-item--sm`,{[`${_}__trigger-item--step-trigger--not-icon-only`]:!$}),"data-testid":`${t}-link`,href:p(u),onClick:()=>l(u),children:n}):i.jsx("button",{"aria-disabled":s,"aria-label":e,className:G(`${_}__trigger-item`,`${_}__trigger-item--step-trigger`,`${_}__trigger-item--secondary`,`${_}__trigger-item--sm`,{[`${_}__trigger-item--disabled`]:s,[`${_}__trigger-item--step-trigger--not-icon-only`]:!$}),"data-testid":`${t}-button`,disabled:s,onClick:()=>l(u),type:"button",children:n})})});F.displayName="PaginationStepTrigger";const fe=(e,t,a)=>{const[g,n]=m.useState([]),[r,s]=m.useState(0);return m.useEffect(()=>{const p=Math.ceil(e/t);s(p),n(ke(p,a))},[e,t,a]),{pages:g,numberOfPages:r}};function ke(e,t){if(e<=5)return Array.from({length:e},(n,r)=>r+1);const a=[1,2,3];if(a.includes(t))return[...a,4,e];const g=[e-2,e-1,e];return g.includes(t)?[1,e-3,...g]:[1,t-1,t,t+1,e]}const v=z.c.bind(oe),o="purpur-pagination",T=m.forwardRef(({["data-testid"]:e="purpur-pagination",linkElement:t="a",asLink:a,availablePageSizes:g,className:n,currentPage:r=1,hrefGetter:s,navigationFunction:p,nextButtonAriaLabel:l,nextButtonText:u,onPageChange:$,outOfLabel:y,pageSelectorId:x,pageSelectorLabel:c,pageSize:h=10,pageSizeLabel:k,previousButtonAriaLabel:b,previousButtonText:j,stepNumberPrefix:N,totalItems:M,truncationSeparatorAriaLabel:I,...ee},ie)=>{const te=v(n,o),[A,re]=m.useState(h),{pages:D,numberOfPages:S}=fe(M,A,r),w=!j&&!u,P=f=>{$?.({currentPage:f,pageSize:h})},ae=f=>s?.({page:f,pageSize:h})??"",ge=f=>{re(f),$?.({currentPage:1,pageSize:f})},pe=(f,J)=>{p?p({currentPage:f,pageSize:A,url:J}):W(J)},q=a?{asLink:!0,hrefGetter:ae}:{asLink:void 0,hrefGetter:void 0},ne=a?"nav":"div";return S?i.jsx(ne,{className:te,"data-testid":e,ref:ie,...ee,children:i.jsxs("div",{className:v(`${o}__pagination-container`,{[`${o}__pagination-container--with-page-size-select`]:!!g}),children:[i.jsxs("div",{className:v(`${o}__page-navigation-container`),children:[i.jsxs(F,{...q,linkElement:t,"aria-label":b,className:v(`${o}__step-trigger`),"data-testid":`${e}-previous-step-trigger`,disabled:r===1,onPageChange:P,pageToNavigateTo:r-1,isIconOnly:w,children:[i.jsx(se.l,{size:"sm"}),i.jsx("span",{className:v(`${o}__step-trigger-label`,{[`${o}__step-trigger-label--not-icon-only`]:!w}),children:j}),r!==1&&i.jsx(C.VisuallyHidden,{"data-testid":`${e}-previous-step-trigger-hidden-text`,children:`${N} ${r-1}`})]}),i.jsxs("div",{className:v(`${o}__page-trigger-container`),children:[i.jsx(X,{...q,className:v(`${o}__page-selector`,{[`${o}__page-selector--visible`]:D.length>3}),currentPage:r,"data-testid":`${e}-page-selector`,navigationFunction:pe,numberOfPages:S,onPageChange:P,outOfLabel:y,pageSelectorId:x,pageSelectorLabel:c}),i.jsx(O,{...q,linkElement:t,className:v(`${o}__pages`,{[`${o}__pages--visible`]:D.length<=3}),currentPage:r,"data-testid":`${e}-pages`,stepNumberPrefix:N,onPageChange:P,truncationSeparatorAriaLabel:I,pages:D})]}),i.jsxs(F,{...q,linkElement:t,"aria-label":l,className:v(`${o}__step-trigger`),"data-testid":`${e}-next-step-trigger`,disabled:r===S,onPageChange:P,pageToNavigateTo:r+1,isIconOnly:w,children:[i.jsx("span",{className:v(`${o}__step-trigger-label`,{[`${o}__step-trigger-label--not-icon-only`]:!w}),children:u}),r!==S&&i.jsx(C.VisuallyHidden,{"data-testid":`${e}-next-step-trigger-hidden-text`,children:`${N} ${r+1}`}),i.jsx(_e.i,{size:"sm"})]})]}),g&&i.jsx("div",{className:v(`${o}__page-size-select-container`),children:i.jsx(Y,{...a?{asLink:!0,hrefGetter:s,navigationFunction:p}:{asLink:void 0,hrefGetter:void 0},availablePageSizes:g,className:v(`${o}__page-size-selector`),"data-testid":`${e}-page-size-selector`,onPageSizeChange:ge,pageSize:A,pageSizeLabel:k})})]})}):null});T.displayName="Pagination";exports.Pagination=T;
2
- //# sourceMappingURL=pagination-Bwlkvqye.js.map
1
+ "use strict";const i=require("react/jsx-runtime"),m=require("react"),se=require("./arrow-left.es-CCWJyrcQ.js"),_e=require("./arrow-right.es-eH-IgGi9.js"),C=require("./visually-hidden-C2CKovZx.js"),z=require("./bind-DeUYJ6m9.js"),K=require("./label-yHK80hhV.js"),Q=require("./paragraph-By4jMjnH.js"),U=require("./select-DOqTJgTj.js"),W=e=>{window.location.href=e},oe={"purpur-pagination":"_purpur-pagination_1g3as_1","purpur-pagination__pagination-container":"_purpur-pagination__pagination-container_1g3as_5","purpur-pagination__pagination-container--with-page-size-select":"_purpur-pagination__pagination-container--with-page-size-select_1g3as_12","purpur-pagination__page-size-select-container":"_purpur-pagination__page-size-select-container_1g3as_20","purpur-pagination__page-navigation-container":"_purpur-pagination__page-navigation-container_1g3as_30","purpur-pagination__step-trigger-label":"_purpur-pagination__step-trigger-label_1g3as_51","purpur-pagination__step-trigger-label--not-icon-only":"_purpur-pagination__step-trigger-label--not-icon-only_1g3as_64","purpur-pagination__step-trigger":"_purpur-pagination__step-trigger_1g3as_51","purpur-pagination__page-trigger-container":"_purpur-pagination__page-trigger-container_1g3as_78","purpur-pagination__pages":"_purpur-pagination__pages_1g3as_83","purpur-pagination__pages--visible":"_purpur-pagination__pages--visible_1g3as_86","purpur-pagination__page-selector":"_purpur-pagination__page-selector_1g3as_94","purpur-pagination__page-selector--visible":"_purpur-pagination__page-selector--visible_1g3as_97"},le={"purpur-pagination-page-selector":"_purpur-pagination-page-selector_7pxsw_1","purpur-pagination-page-selector__select-container":"_purpur-pagination-page-selector__select-container_7pxsw_6","purpur-pagination-page-selector__of-total-pages-label":"_purpur-pagination-page-selector__of-total-pages-label_7pxsw_10"},ue=e=>({options:m.useMemo(()=>Array.from({length:e},(a,g)=>({label:`${g+1}`,value:`${g+1}`})),[e])}),R=z.c.bind(le),H="purpur-pagination-page-selector",X=m.forwardRef(({["data-testid"]:e="purpur-pagination-page-selector",asLink:t,className:a,currentPage:g,hrefGetter:n,navigationFunction:r,numberOfPages:s,onPageChange:p,outOfLabel:l,pageSelectorId:u,pageSelectorLabel:$,...y},x)=>{const c=m.useId(),h=R(a,H),{options:k}=ue(s),b=j=>{const N=j.target.value?Number(j.target.value):1;if(p(N),t){const M=n?.(N)??"";r(N,M)}};return i.jsxs("div",{className:h,"data-testid":e,ref:x,...y,children:[i.jsxs("div",{className:R(`${H}__select-container`),children:[i.jsx(C.VisuallyHidden,{children:i.jsx(K.Label,{"data-testid":`${e}-label`,htmlFor:c,children:$})}),i.jsx(U.Select,{className:R(`${H}__select`),"data-testid":`${e}-select`,id:u??c,onChange:b,options:k,value:String(g)})]}),i.jsx(Q.Paragraph,{className:R(`${H}__of-total-pages-label`),"data-testid":`${e}-of-total-pages`,children:`${l} ${s}`})]})});X.displayName="PaginationPageSelector";const ce={"purpur-pagination-page-size-selector":"_purpur-pagination-page-size-selector_11x2p_1","purpur-pagination-page-size-selector__select":"_purpur-pagination-page-size-selector__select_11x2p_12","purpur-pagination-page-size-selector__items-per-page-label":"_purpur-pagination-page-size-selector__items-per-page-label_11x2p_17","purpur-pagination-page-size-selector__items-per-page-label-text":"_purpur-pagination-page-size-selector__items-per-page-label-text_11x2p_27"},de=e=>({options:m.useMemo(()=>e.map(a=>({label:`${a}`,value:`${a}`})),[e])}),V=z.c.bind(ce),L="purpur-pagination-page-size-selector",Y=m.forwardRef(({["data-testid"]:e="purpur-pagination-page-size-selector",asLink:t,availablePageSizes:a,className:g,hrefGetter:n,navigationFunction:r,onPageSizeChange:s,pageSize:p,pageSizeLabel:l,...u},$)=>{const y=m.useId(),x=V(g,L),{options:c}=de(a),h=k=>{const b=Number(k.target.value);if(s(b),t){const j=n({page:1,pageSize:b});r?r({currentPage:1,pageSize:b,url:j}):W(j)}};return i.jsxs("div",{className:x,"data-testid":e,ref:$,...u,children:[i.jsx(K.Label,{className:V(`${L}__items-per-page-label`),"data-testid":`${e}-item-per-page-label`,htmlFor:y,children:i.jsx("span",{className:V(`${L}__items-per-page-label-text`),children:l})}),i.jsx(U.Select,{className:V(`${L}__select`),"data-testid":`${e}-select`,id:y,onChange:h,options:c,value:p})]})});Y.displayName="PaginationPageSizeSelector";const me={"purpur-pagination-page-trigger":"_purpur-pagination-page-trigger_kvdyl_1","purpur-pagination-page-trigger__trigger-item":"_purpur-pagination-page-trigger__trigger-item_kvdyl_4","purpur-pagination-page-trigger__trigger-item--xs":"_purpur-pagination-page-trigger__trigger-item--xs_kvdyl_26","purpur-pagination-page-trigger__trigger-item--icon-only":"_purpur-pagination-page-trigger__trigger-item--icon-only_kvdyl_29","purpur-pagination-page-trigger__trigger-item--sm":"_purpur-pagination-page-trigger__trigger-item--sm_kvdyl_32","purpur-pagination-page-trigger__trigger-item--md":"_purpur-pagination-page-trigger__trigger-item--md_kvdyl_38","purpur-pagination-page-trigger__trigger-item--lg":"_purpur-pagination-page-trigger__trigger-item--lg_kvdyl_44","purpur-pagination-page-trigger__trigger-item--full-width":"_purpur-pagination-page-trigger__trigger-item--full-width_kvdyl_50","purpur-pagination-page-trigger__trigger-item--primary":"_purpur-pagination-page-trigger__trigger-item--primary_kvdyl_68","purpur-pagination-page-trigger__trigger-item--disabled":"_purpur-pagination-page-trigger__trigger-item--disabled_kvdyl_72","purpur-pagination-page-trigger__trigger-item--primary-negative":"_purpur-pagination-page-trigger__trigger-item--primary-negative_kvdyl_78","purpur-pagination-page-trigger__trigger-item--secondary":"_purpur-pagination-page-trigger__trigger-item--secondary_kvdyl_90","purpur-pagination-page-trigger__trigger-item--secondary-negative":"_purpur-pagination-page-trigger__trigger-item--secondary-negative_kvdyl_101","purpur-pagination-page-trigger__trigger-item--expressive":"_purpur-pagination-page-trigger__trigger-item--expressive_kvdyl_112","purpur-pagination-page-trigger__trigger-item--expressive-negative":"_purpur-pagination-page-trigger__trigger-item--expressive-negative_kvdyl_122","purpur-pagination-page-trigger__trigger-item--page-trigger":"_purpur-pagination-page-trigger__trigger-item--page-trigger_kvdyl_134","purpur-pagination-page-trigger__trigger-item--selected":"_purpur-pagination-page-trigger__trigger-item--selected_kvdyl_143"},E=z.c.bind(me),d="purpur-pagination-page-trigger",Z=m.forwardRef(({["data-testid"]:e="purpur-pagination-page-trigger",linkElement:t,asLink:a,className:g,disabled:n,hrefGetter:r,onPageChange:s,pageNumber:p,selected:l,stepNumberPrefix:u,...$},y)=>{const x=E(g,d);return i.jsx("li",{className:x,"data-testid":e,ref:y,...$,children:a?n?i.jsxs("span",{className:E(`${d}__trigger-item`,`${d}__trigger-item--page-trigger`,`${d}__trigger-item--sm`,`${d}__trigger-item--icon-only`,`${d}__trigger-item--disabled`),"aria-current":l?"page":void 0,"data-testid":`${e}-disabled-link`,children:[i.jsx(C.VisuallyHidden,{children:`${u} `}),p]}):i.jsxs(t,{className:E(`${d}__trigger-item`,`${d}__trigger-item--page-trigger`,`${d}__trigger-item--sm`,`${d}__trigger-item--icon-only`,{[`${d}__trigger-item--selected`]:l}),"aria-current":l?"page":void 0,"data-testid":`${e}-link`,href:r(p),onClick:()=>s(p),children:[i.jsx(C.VisuallyHidden,{children:`${u} `}),p]}):i.jsxs("button",{"aria-disabled":n,className:E(`${d}__trigger-item`,`${d}__trigger-item--page-trigger`,`${d}__trigger-item--sm`,`${d}__trigger-item--icon-only`,{[`${d}__trigger-item--selected`]:l}),"data-testid":`${e}-button`,"aria-current":l?"page":void 0,disabled:n,onClick:()=>s(p),type:"button",children:[i.jsx(C.VisuallyHidden,{children:`${u} `}),p]})})});Z.displayName="PaginationPageTrigger";const $e={"purpur-pagination-pages":"_purpur-pagination-pages_2g8is_1"},ye={"purpur-pagination-truncation-separator":"_purpur-pagination-truncation-separator_b9cij_1"},ve=z.c.bind(ye),xe="purpur-pagination-truncation-separator",B=({["data-testid"]:e="purpur-pagination-truncation-separator",className:t,["aria-label"]:a,...g})=>{const n=ve(t,xe);return i.jsx("li",{className:n,"data-testid":e,...g,children:i.jsx(Q.Paragraph,{"aria-label":a,children:"..."})})};B.displayName="PaginationTruncationSeparator";const he=z.c.bind($e),be="purpur-pagination-pages",O=m.forwardRef(({["data-testid"]:e="purpur-pagination-pages",linkElement:t,asLink:a,className:g,currentPage:n,hrefGetter:r,onPageChange:s,pages:p,stepNumberPrefix:l,truncationSeparatorAriaLabel:u,...$},y)=>{const x=he(g,be);return i.jsx("ol",{className:x,"data-testid":e,ref:y,...$,children:p.flatMap((c,h,k)=>{const b=m.createElement(Z,{...a?{asLink:!0,hrefGetter:r}:{asLink:void 0,hrefGetter:void 0},linkElement:t,"data-testid":`${e}-page-${c}`,key:c,onPageChange:s,selected:c===n,stepNumberPrefix:l,pageNumber:c});return h===0||k[h-1]+1===c?[b]:[i.jsx(B,{"data-testid":`${e}-truncation-separator-${c}`,"aria-label":u},`${c}-separator`),b]})})});O.displayName="PaginationPages";const je={"purpur-pagination-step-trigger__trigger-item":"_purpur-pagination-step-trigger__trigger-item_1ttbi_1","purpur-pagination-step-trigger__trigger-item--xs":"_purpur-pagination-step-trigger__trigger-item--xs_1ttbi_23","purpur-pagination-step-trigger__trigger-item--icon-only":"_purpur-pagination-step-trigger__trigger-item--icon-only_1ttbi_26","purpur-pagination-step-trigger__trigger-item--sm":"_purpur-pagination-step-trigger__trigger-item--sm_1ttbi_29","purpur-pagination-step-trigger__trigger-item--md":"_purpur-pagination-step-trigger__trigger-item--md_1ttbi_35","purpur-pagination-step-trigger__trigger-item--lg":"_purpur-pagination-step-trigger__trigger-item--lg_1ttbi_41","purpur-pagination-step-trigger__trigger-item--full-width":"_purpur-pagination-step-trigger__trigger-item--full-width_1ttbi_47","purpur-pagination-step-trigger__trigger-item--primary":"_purpur-pagination-step-trigger__trigger-item--primary_1ttbi_65","purpur-pagination-step-trigger__trigger-item--disabled":"_purpur-pagination-step-trigger__trigger-item--disabled_1ttbi_69","purpur-pagination-step-trigger__trigger-item--primary-negative":"_purpur-pagination-step-trigger__trigger-item--primary-negative_1ttbi_75","purpur-pagination-step-trigger__trigger-item--secondary":"_purpur-pagination-step-trigger__trigger-item--secondary_1ttbi_87","purpur-pagination-step-trigger__trigger-item--secondary-negative":"_purpur-pagination-step-trigger__trigger-item--secondary-negative_1ttbi_98","purpur-pagination-step-trigger__trigger-item--expressive":"_purpur-pagination-step-trigger__trigger-item--expressive_1ttbi_109","purpur-pagination-step-trigger__trigger-item--expressive-negative":"_purpur-pagination-step-trigger__trigger-item--expressive-negative_1ttbi_119","purpur-pagination-step-trigger__trigger-item--step-trigger":"_purpur-pagination-step-trigger__trigger-item--step-trigger_1ttbi_131","purpur-pagination-step-trigger__trigger-item--step-trigger--not-icon-only":"_purpur-pagination-step-trigger__trigger-item--step-trigger--not-icon-only_1ttbi_138"},G=z.c.bind(je),_="purpur-pagination-step-trigger",F=m.forwardRef(({["aria-label"]:e,["data-testid"]:t="purpur-pagination-step-trigger",linkElement:a,asLink:g,children:n,className:r,disabled:s,hrefGetter:p,onPageChange:l,pageToNavigateTo:u,isIconOnly:$,...y},x)=>{const c=G(r,_);return i.jsx("div",{className:c,"data-testid":t,ref:x,...y,children:g?s?i.jsx("span",{"aria-label":e,className:G(`${_}__trigger-item`,`${_}__trigger-item--step-trigger`,`${_}__trigger-item--secondary`,`${_}__trigger-item--sm`,`${_}__trigger-item--disabled`,{[`${_}__trigger-item--step-trigger--not-icon-only`]:!$}),"data-testid":`${t}-disabled-link`,children:n}):i.jsx(a,{"aria-label":e,className:G(`${_}__trigger-item`,`${_}__trigger-item--step-trigger`,`${_}__trigger-item--secondary`,`${_}__trigger-item--sm`,{[`${_}__trigger-item--step-trigger--not-icon-only`]:!$}),"data-testid":`${t}-link`,href:p(u),onClick:()=>l(u),children:n}):i.jsx("button",{"aria-disabled":s,"aria-label":e,className:G(`${_}__trigger-item`,`${_}__trigger-item--step-trigger`,`${_}__trigger-item--secondary`,`${_}__trigger-item--sm`,{[`${_}__trigger-item--disabled`]:s,[`${_}__trigger-item--step-trigger--not-icon-only`]:!$}),"data-testid":`${t}-button`,disabled:s,onClick:()=>l(u),type:"button",children:n})})});F.displayName="PaginationStepTrigger";const fe=(e,t,a)=>{const[g,n]=m.useState([]),[r,s]=m.useState(0);return m.useEffect(()=>{const p=Math.ceil(e/t);s(p),n(ke(p,a))},[e,t,a]),{pages:g,numberOfPages:r}};function ke(e,t){if(e<=5)return Array.from({length:e},(n,r)=>r+1);const a=[1,2,3];if(a.includes(t))return[...a,4,e];const g=[e-2,e-1,e];return g.includes(t)?[1,e-3,...g]:[1,t-1,t,t+1,e]}const v=z.c.bind(oe),o="purpur-pagination",T=m.forwardRef(({["data-testid"]:e="purpur-pagination",linkElement:t="a",asLink:a,availablePageSizes:g,className:n,currentPage:r=1,hrefGetter:s,navigationFunction:p,nextButtonAriaLabel:l,nextButtonText:u,onPageChange:$,outOfLabel:y,pageSelectorId:x,pageSelectorLabel:c,pageSize:h=10,pageSizeLabel:k,previousButtonAriaLabel:b,previousButtonText:j,stepNumberPrefix:N,totalItems:M,truncationSeparatorAriaLabel:I,...ee},ie)=>{const te=v(n,o),[A,re]=m.useState(h),{pages:D,numberOfPages:S}=fe(M,A,r),w=!j&&!u,P=f=>{$?.({currentPage:f,pageSize:h})},ae=f=>s?.({page:f,pageSize:h})??"",ge=f=>{re(f),$?.({currentPage:1,pageSize:f})},pe=(f,J)=>{p?p({currentPage:f,pageSize:A,url:J}):W(J)},q=a?{asLink:!0,hrefGetter:ae}:{asLink:void 0,hrefGetter:void 0},ne=a?"nav":"div";return S?i.jsx(ne,{className:te,"data-testid":e,ref:ie,...ee,children:i.jsxs("div",{className:v(`${o}__pagination-container`,{[`${o}__pagination-container--with-page-size-select`]:!!g}),children:[i.jsxs("div",{className:v(`${o}__page-navigation-container`),children:[i.jsxs(F,{...q,linkElement:t,"aria-label":b,className:v(`${o}__step-trigger`),"data-testid":`${e}-previous-step-trigger`,disabled:r===1,onPageChange:P,pageToNavigateTo:r-1,isIconOnly:w,children:[i.jsx(se.l,{size:"sm"}),i.jsx("span",{className:v(`${o}__step-trigger-label`,{[`${o}__step-trigger-label--not-icon-only`]:!w}),children:j}),r!==1&&i.jsx(C.VisuallyHidden,{"data-testid":`${e}-previous-step-trigger-hidden-text`,children:`${N} ${r-1}`})]}),i.jsxs("div",{className:v(`${o}__page-trigger-container`),children:[i.jsx(X,{...q,className:v(`${o}__page-selector`,{[`${o}__page-selector--visible`]:D.length>3}),currentPage:r,"data-testid":`${e}-page-selector`,navigationFunction:pe,numberOfPages:S,onPageChange:P,outOfLabel:y,pageSelectorId:x,pageSelectorLabel:c}),i.jsx(O,{...q,linkElement:t,className:v(`${o}__pages`,{[`${o}__pages--visible`]:D.length<=3}),currentPage:r,"data-testid":`${e}-pages`,stepNumberPrefix:N,onPageChange:P,truncationSeparatorAriaLabel:I,pages:D})]}),i.jsxs(F,{...q,linkElement:t,"aria-label":l,className:v(`${o}__step-trigger`),"data-testid":`${e}-next-step-trigger`,disabled:r===S,onPageChange:P,pageToNavigateTo:r+1,isIconOnly:w,children:[i.jsx("span",{className:v(`${o}__step-trigger-label`,{[`${o}__step-trigger-label--not-icon-only`]:!w}),children:u}),r!==S&&i.jsx(C.VisuallyHidden,{"data-testid":`${e}-next-step-trigger-hidden-text`,children:`${N} ${r+1}`}),i.jsx(_e.i,{size:"sm"})]})]}),g&&i.jsx("div",{className:v(`${o}__page-size-select-container`),children:i.jsx(Y,{...a?{asLink:!0,hrefGetter:s,navigationFunction:p}:{asLink:void 0,hrefGetter:void 0},availablePageSizes:g,className:v(`${o}__page-size-selector`),"data-testid":`${e}-page-size-selector`,onPageSizeChange:ge,pageSize:A,pageSizeLabel:k})})]})}):null});T.displayName="Pagination";exports.Pagination=T;
2
+ //# sourceMappingURL=pagination-rFRdkHII.js.map