@elliemae/ds-pagination 3.57.0-next.34 → 3.57.0-next.36

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 (385) hide show
  1. package/dist/cjs/{Pagination.js → DSPagination.js} +8 -8
  2. package/dist/cjs/DSPagination.js.map +7 -0
  3. package/dist/cjs/config/usePagination.js +51 -0
  4. package/dist/cjs/config/usePagination.js.map +7 -0
  5. package/dist/cjs/{PaginationDataTestID.js → config/useValidateProps.js} +9 -13
  6. package/dist/cjs/config/useValidateProps.js.map +7 -0
  7. package/dist/cjs/{DSPaginationDefinitions.js → constants/index.js} +22 -19
  8. package/dist/cjs/constants/index.js.map +7 -0
  9. package/dist/cjs/index.js +29 -18
  10. package/dist/cjs/index.js.map +3 -3
  11. package/dist/cjs/parts/{DSPageNextButton.js → DSPageNextButton/DSPageNextButton.js} +46 -18
  12. package/dist/cjs/parts/DSPageNextButton/DSPageNextButton.js.map +7 -0
  13. package/dist/cjs/parts/DSPageNextButton/config/usePageNextButton.js +55 -0
  14. package/dist/cjs/parts/DSPageNextButton/config/usePageNextButton.js.map +7 -0
  15. package/dist/cjs/parts/DSPageNextButton/config/useValidateProps.js +40 -0
  16. package/dist/cjs/parts/DSPageNextButton/config/useValidateProps.js.map +7 -0
  17. package/dist/cjs/parts/DSPageNextButton/constants/index.js +48 -0
  18. package/dist/cjs/parts/DSPageNextButton/constants/index.js.map +7 -0
  19. package/dist/cjs/parts/DSPageNextButton/index.js +41 -0
  20. package/dist/cjs/parts/DSPageNextButton/index.js.map +7 -0
  21. package/dist/cjs/parts/DSPageNextButton/react-desc-prop-types.js +51 -0
  22. package/dist/cjs/parts/DSPageNextButton/react-desc-prop-types.js.map +7 -0
  23. package/dist/cjs/parts/DSPageNextButton/typescript-testing/slot-props.js +32 -0
  24. package/dist/cjs/parts/DSPageNextButton/typescript-testing/slot-props.js.map +7 -0
  25. package/dist/cjs/{typescript-testing/typescript-page-next-button-valid.js → parts/DSPageNextButton/typescript-testing/typescript-testing.js} +1 -1
  26. package/dist/cjs/parts/DSPageNextButton/typescript-testing/typescript-testing.js.map +7 -0
  27. package/dist/cjs/parts/{DSPagePrevButton.js → DSPagePrevButton/DSPagePrevButton.js} +46 -18
  28. package/dist/cjs/parts/DSPagePrevButton/DSPagePrevButton.js.map +7 -0
  29. package/dist/cjs/parts/DSPagePrevButton/config/usePagePrevButton.js +55 -0
  30. package/dist/cjs/parts/DSPagePrevButton/config/usePagePrevButton.js.map +7 -0
  31. package/dist/cjs/parts/DSPagePrevButton/config/useValidateProps.js +40 -0
  32. package/dist/cjs/parts/DSPagePrevButton/config/useValidateProps.js.map +7 -0
  33. package/dist/cjs/parts/DSPagePrevButton/constants/index.js +48 -0
  34. package/dist/cjs/parts/DSPagePrevButton/constants/index.js.map +7 -0
  35. package/dist/cjs/parts/DSPagePrevButton/index.js +41 -0
  36. package/dist/cjs/parts/DSPagePrevButton/index.js.map +7 -0
  37. package/dist/cjs/parts/DSPagePrevButton/react-desc-prop-types.js +51 -0
  38. package/dist/cjs/parts/DSPagePrevButton/react-desc-prop-types.js.map +7 -0
  39. package/dist/cjs/parts/DSPagePrevButton/typescript-testing/slot-props.js +32 -0
  40. package/dist/cjs/parts/DSPagePrevButton/typescript-testing/slot-props.js.map +7 -0
  41. package/dist/cjs/{typescript-testing/typescript-page-prev-button-valid.js → parts/DSPagePrevButton/typescript-testing/typescript-testing.js} +1 -1
  42. package/dist/cjs/parts/DSPagePrevButton/typescript-testing/typescript-testing.js.map +7 -0
  43. package/dist/cjs/parts/{DSPaginationContainer.js → DSPaginationContainer/DSPaginationContainer.js} +26 -12
  44. package/dist/cjs/parts/DSPaginationContainer/DSPaginationContainer.js.map +7 -0
  45. package/dist/cjs/parts/DSPaginationContainer/config/usePaginationContainer.js +60 -0
  46. package/dist/cjs/parts/DSPaginationContainer/config/usePaginationContainer.js.map +7 -0
  47. package/dist/cjs/parts/DSPaginationContainer/config/useValidateProps.js +40 -0
  48. package/dist/cjs/parts/DSPaginationContainer/config/useValidateProps.js.map +7 -0
  49. package/dist/cjs/parts/DSPaginationContainer/constants/index.js +50 -0
  50. package/dist/cjs/parts/DSPaginationContainer/constants/index.js.map +7 -0
  51. package/dist/cjs/parts/DSPaginationContainer/index.js +41 -0
  52. package/dist/cjs/parts/DSPaginationContainer/index.js.map +7 -0
  53. package/dist/cjs/parts/DSPaginationContainer/react-desc-prop-types.js +48 -0
  54. package/dist/cjs/parts/DSPaginationContainer/react-desc-prop-types.js.map +7 -0
  55. package/dist/cjs/parts/DSPaginationContainer/typescript-testing/slot-props.js +34 -0
  56. package/dist/cjs/parts/DSPaginationContainer/typescript-testing/slot-props.js.map +7 -0
  57. package/dist/cjs/parts/DSPaginationSeparator/DSPaginationSeparator.js +68 -0
  58. package/dist/cjs/parts/DSPaginationSeparator/DSPaginationSeparator.js.map +7 -0
  59. package/dist/cjs/parts/DSPaginationSeparator/config/usePaginationSeparator.js +60 -0
  60. package/dist/cjs/parts/DSPaginationSeparator/config/usePaginationSeparator.js.map +7 -0
  61. package/dist/cjs/parts/DSPaginationSeparator/config/useValidateProps.js +40 -0
  62. package/dist/cjs/parts/DSPaginationSeparator/config/useValidateProps.js.map +7 -0
  63. package/dist/cjs/parts/DSPaginationSeparator/constants/index.js +45 -0
  64. package/dist/cjs/parts/DSPaginationSeparator/constants/index.js.map +7 -0
  65. package/dist/cjs/parts/DSPaginationSeparator/index.js +41 -0
  66. package/dist/cjs/parts/DSPaginationSeparator/index.js.map +7 -0
  67. package/dist/cjs/parts/DSPaginationSeparator/react-desc-prop-types.js +46 -0
  68. package/dist/cjs/parts/DSPaginationSeparator/react-desc-prop-types.js.map +7 -0
  69. package/dist/cjs/parts/DSPaginator/DSPaginator.js +143 -0
  70. package/dist/cjs/parts/DSPaginator/DSPaginator.js.map +7 -0
  71. package/dist/cjs/parts/DSPaginator/{createPaginatorHeader.js → config/createPaginatorHeader.js} +7 -3
  72. package/dist/cjs/parts/DSPaginator/config/createPaginatorHeader.js.map +7 -0
  73. package/dist/cjs/parts/DSPaginator/{getOptions.js.map → config/getOptions.js.map} +1 -1
  74. package/dist/cjs/parts/DSPaginator/{useOnElementOnResize.js.map → config/useOnElementOnResize.js.map} +1 -1
  75. package/dist/cjs/parts/DSPaginator/{usePaginationSearch.js.map → config/usePaginationSearch.js.map} +1 -1
  76. package/dist/cjs/parts/DSPaginator/{usePaginator.js → config/usePaginator.js} +46 -21
  77. package/dist/cjs/parts/DSPaginator/config/usePaginator.js.map +7 -0
  78. package/dist/cjs/parts/DSPaginator/config/useValidateProps.js +40 -0
  79. package/dist/cjs/parts/DSPaginator/config/useValidateProps.js.map +7 -0
  80. package/dist/cjs/parts/DSPaginator/constants/index.js +45 -0
  81. package/dist/cjs/parts/DSPaginator/constants/index.js.map +7 -0
  82. package/dist/cjs/parts/DSPaginator/index.js +7 -112
  83. package/dist/cjs/parts/DSPaginator/index.js.map +3 -3
  84. package/dist/cjs/parts/DSPaginator/react-desc-prop-types.js +59 -0
  85. package/dist/cjs/parts/DSPaginator/react-desc-prop-types.js.map +7 -0
  86. package/dist/cjs/{styled.js → parts/DSPaginator/styled.js} +9 -41
  87. package/dist/cjs/parts/DSPaginator/styled.js.map +7 -0
  88. package/dist/cjs/parts/DSPaginator/typescript-testing/slot-props.js +32 -0
  89. package/dist/cjs/parts/DSPaginator/typescript-testing/slot-props.js.map +7 -0
  90. package/dist/cjs/{typescript-testing/typescript-paginator-valid.js → parts/DSPaginator/typescript-testing/typescript-testing.js} +1 -1
  91. package/dist/cjs/parts/DSPaginator/typescript-testing/typescript-testing.js.map +7 -0
  92. package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelector.js +109 -0
  93. package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelector.js.map +7 -0
  94. package/dist/cjs/parts/DSPerPageSelector/{getOptions.js.map → config/getOptions.js.map} +1 -1
  95. package/dist/cjs/parts/DSPerPageSelector/{usePerPageSelector.js → config/usePerPageSelector.js} +29 -19
  96. package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelector.js.map +7 -0
  97. package/dist/cjs/parts/DSPerPageSelector/config/useValidateProps.js +40 -0
  98. package/dist/cjs/parts/DSPerPageSelector/config/useValidateProps.js.map +7 -0
  99. package/dist/cjs/parts/DSPerPageSelector/constants/index.js +50 -0
  100. package/dist/cjs/parts/DSPerPageSelector/constants/index.js.map +7 -0
  101. package/dist/cjs/parts/DSPerPageSelector/index.js +7 -70
  102. package/dist/cjs/parts/DSPerPageSelector/index.js.map +3 -3
  103. package/dist/cjs/parts/DSPerPageSelector/react-desc-prop-types.js +58 -0
  104. package/dist/cjs/parts/DSPerPageSelector/react-desc-prop-types.js.map +7 -0
  105. package/dist/cjs/parts/DSPerPageSelector/styled.js +90 -0
  106. package/dist/cjs/parts/DSPerPageSelector/styled.js.map +7 -0
  107. package/dist/cjs/parts/DSPerPageSelector/typescript-testing/slots-props.js +32 -0
  108. package/dist/cjs/parts/DSPerPageSelector/typescript-testing/slots-props.js.map +7 -0
  109. package/dist/cjs/{typescript-testing/typescript-per-page-selector-valid.js → parts/DSPerPageSelector/typescript-testing/typescript-testing.js} +1 -1
  110. package/dist/cjs/parts/DSPerPageSelector/typescript-testing/typescript-testing.js.map +7 -0
  111. package/dist/cjs/parts/PaginationContent.js +7 -9
  112. package/dist/cjs/parts/PaginationContent.js.map +2 -2
  113. package/dist/cjs/parts/index.js +25 -4
  114. package/dist/cjs/parts/index.js.map +2 -2
  115. package/dist/cjs/react-desc-prop-types.js +1 -86
  116. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  117. package/dist/esm/{Pagination.js → DSPagination.js} +6 -6
  118. package/dist/esm/DSPagination.js.map +7 -0
  119. package/dist/esm/config/usePagination.js +21 -0
  120. package/dist/esm/config/usePagination.js.map +7 -0
  121. package/dist/esm/config/useValidateProps.js +10 -0
  122. package/dist/esm/config/useValidateProps.js.map +7 -0
  123. package/dist/esm/constants/index.js +27 -0
  124. package/dist/esm/constants/index.js.map +7 -0
  125. package/dist/esm/index.js +45 -13
  126. package/dist/esm/index.js.map +3 -3
  127. package/dist/esm/parts/DSPageNextButton/DSPageNextButton.js +74 -0
  128. package/dist/esm/parts/DSPageNextButton/DSPageNextButton.js.map +7 -0
  129. package/dist/esm/parts/DSPageNextButton/config/usePageNextButton.js +30 -0
  130. package/dist/esm/parts/DSPageNextButton/config/usePageNextButton.js.map +7 -0
  131. package/dist/esm/parts/DSPageNextButton/config/useValidateProps.js +10 -0
  132. package/dist/esm/parts/DSPageNextButton/config/useValidateProps.js.map +7 -0
  133. package/dist/esm/parts/DSPageNextButton/constants/index.js +18 -0
  134. package/dist/esm/parts/DSPageNextButton/constants/index.js.map +7 -0
  135. package/dist/esm/parts/DSPageNextButton/index.js +11 -0
  136. package/dist/esm/parts/DSPageNextButton/index.js.map +7 -0
  137. package/dist/esm/parts/DSPageNextButton/react-desc-prop-types.js +26 -0
  138. package/dist/esm/parts/DSPageNextButton/react-desc-prop-types.js.map +7 -0
  139. package/dist/esm/parts/DSPageNextButton/typescript-testing/slot-props.js +9 -0
  140. package/dist/esm/parts/DSPageNextButton/typescript-testing/slot-props.js.map +7 -0
  141. package/dist/esm/{typescript-testing/typescript-page-next-button-valid.js → parts/DSPageNextButton/typescript-testing/typescript-testing.js} +1 -1
  142. package/dist/esm/parts/DSPageNextButton/typescript-testing/typescript-testing.js.map +7 -0
  143. package/dist/esm/parts/DSPagePrevButton/DSPagePrevButton.js +74 -0
  144. package/dist/esm/parts/DSPagePrevButton/DSPagePrevButton.js.map +7 -0
  145. package/dist/esm/parts/DSPagePrevButton/config/usePagePrevButton.js +30 -0
  146. package/dist/esm/parts/DSPagePrevButton/config/usePagePrevButton.js.map +7 -0
  147. package/dist/esm/parts/DSPagePrevButton/config/useValidateProps.js +10 -0
  148. package/dist/esm/parts/DSPagePrevButton/config/useValidateProps.js.map +7 -0
  149. package/dist/esm/parts/DSPagePrevButton/constants/index.js +18 -0
  150. package/dist/esm/parts/DSPagePrevButton/constants/index.js.map +7 -0
  151. package/dist/esm/parts/DSPagePrevButton/index.js +11 -0
  152. package/dist/esm/parts/DSPagePrevButton/index.js.map +7 -0
  153. package/dist/esm/parts/DSPagePrevButton/react-desc-prop-types.js +26 -0
  154. package/dist/esm/parts/DSPagePrevButton/react-desc-prop-types.js.map +7 -0
  155. package/dist/esm/parts/DSPagePrevButton/typescript-testing/slot-props.js +9 -0
  156. package/dist/esm/parts/DSPagePrevButton/typescript-testing/slot-props.js.map +7 -0
  157. package/dist/esm/{typescript-testing/typescript-page-prev-button-valid.js → parts/DSPagePrevButton/typescript-testing/typescript-testing.js} +1 -1
  158. package/dist/esm/parts/DSPagePrevButton/typescript-testing/typescript-testing.js.map +7 -0
  159. package/dist/esm/parts/DSPaginationContainer/DSPaginationContainer.js +50 -0
  160. package/dist/esm/parts/DSPaginationContainer/DSPaginationContainer.js.map +7 -0
  161. package/dist/esm/parts/DSPaginationContainer/config/usePaginationContainer.js +38 -0
  162. package/dist/esm/parts/DSPaginationContainer/config/usePaginationContainer.js.map +7 -0
  163. package/dist/esm/parts/DSPaginationContainer/config/useValidateProps.js +10 -0
  164. package/dist/esm/parts/DSPaginationContainer/config/useValidateProps.js.map +7 -0
  165. package/dist/esm/parts/DSPaginationContainer/constants/index.js +20 -0
  166. package/dist/esm/parts/DSPaginationContainer/constants/index.js.map +7 -0
  167. package/dist/esm/parts/DSPaginationContainer/index.js +15 -0
  168. package/dist/esm/parts/DSPaginationContainer/index.js.map +7 -0
  169. package/dist/esm/parts/DSPaginationContainer/react-desc-prop-types.js +18 -0
  170. package/dist/esm/parts/DSPaginationContainer/react-desc-prop-types.js.map +7 -0
  171. package/dist/esm/parts/DSPaginationContainer/typescript-testing/slot-props.js +11 -0
  172. package/dist/esm/parts/DSPaginationContainer/typescript-testing/slot-props.js.map +7 -0
  173. package/dist/esm/parts/DSPaginationSeparator/DSPaginationSeparator.js +43 -0
  174. package/dist/esm/parts/DSPaginationSeparator/DSPaginationSeparator.js.map +7 -0
  175. package/dist/esm/parts/DSPaginationSeparator/config/usePaginationSeparator.js +38 -0
  176. package/dist/esm/parts/DSPaginationSeparator/config/usePaginationSeparator.js.map +7 -0
  177. package/dist/esm/parts/DSPaginationSeparator/config/useValidateProps.js +10 -0
  178. package/dist/esm/parts/DSPaginationSeparator/config/useValidateProps.js.map +7 -0
  179. package/dist/esm/parts/DSPaginationSeparator/constants/index.js +15 -0
  180. package/dist/esm/parts/DSPaginationSeparator/constants/index.js.map +7 -0
  181. package/dist/esm/parts/DSPaginationSeparator/index.js +15 -0
  182. package/dist/esm/parts/DSPaginationSeparator/index.js.map +7 -0
  183. package/dist/esm/parts/DSPaginationSeparator/react-desc-prop-types.js +16 -0
  184. package/dist/esm/parts/DSPaginationSeparator/react-desc-prop-types.js.map +7 -0
  185. package/dist/esm/parts/DSPaginator/DSPaginator.js +113 -0
  186. package/dist/esm/parts/DSPaginator/DSPaginator.js.map +7 -0
  187. package/dist/esm/parts/DSPaginator/{createPaginatorHeader.js → config/createPaginatorHeader.js} +7 -3
  188. package/dist/esm/parts/DSPaginator/config/createPaginatorHeader.js.map +7 -0
  189. package/dist/esm/parts/DSPaginator/{getOptions.js.map → config/getOptions.js.map} +1 -1
  190. package/dist/esm/parts/DSPaginator/{useOnElementOnResize.js.map → config/useOnElementOnResize.js.map} +1 -1
  191. package/dist/esm/parts/DSPaginator/{usePaginationSearch.js.map → config/usePaginationSearch.js.map} +1 -1
  192. package/dist/esm/parts/DSPaginator/{usePaginator.js → config/usePaginator.js} +52 -22
  193. package/dist/esm/parts/DSPaginator/config/usePaginator.js.map +7 -0
  194. package/dist/esm/parts/DSPaginator/config/useValidateProps.js +10 -0
  195. package/dist/esm/parts/DSPaginator/config/useValidateProps.js.map +7 -0
  196. package/dist/esm/parts/DSPaginator/constants/index.js +15 -0
  197. package/dist/esm/parts/DSPaginator/constants/index.js.map +7 -0
  198. package/dist/esm/parts/DSPaginator/index.js +6 -111
  199. package/dist/esm/parts/DSPaginator/index.js.map +3 -3
  200. package/dist/esm/parts/DSPaginator/react-desc-prop-types.js +34 -0
  201. package/dist/esm/parts/DSPaginator/react-desc-prop-types.js.map +7 -0
  202. package/dist/esm/parts/DSPaginator/styled.js +60 -0
  203. package/dist/esm/parts/DSPaginator/styled.js.map +7 -0
  204. package/dist/esm/parts/DSPaginator/typescript-testing/slot-props.js +9 -0
  205. package/dist/esm/parts/DSPaginator/typescript-testing/slot-props.js.map +7 -0
  206. package/dist/esm/{typescript-testing/typescript-paginator-valid.js → parts/DSPaginator/typescript-testing/typescript-testing.js} +1 -1
  207. package/dist/esm/parts/DSPaginator/typescript-testing/typescript-testing.js.map +7 -0
  208. package/dist/esm/parts/DSPerPageSelector/DSPerPageSelector.js +79 -0
  209. package/dist/esm/parts/DSPerPageSelector/DSPerPageSelector.js.map +7 -0
  210. package/dist/esm/parts/DSPerPageSelector/{getOptions.js.map → config/getOptions.js.map} +1 -1
  211. package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelector.js +55 -0
  212. package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelector.js.map +7 -0
  213. package/dist/esm/parts/DSPerPageSelector/config/useValidateProps.js +10 -0
  214. package/dist/esm/parts/DSPerPageSelector/config/useValidateProps.js.map +7 -0
  215. package/dist/esm/parts/DSPerPageSelector/constants/index.js +20 -0
  216. package/dist/esm/parts/DSPerPageSelector/constants/index.js.map +7 -0
  217. package/dist/esm/parts/DSPerPageSelector/index.js +6 -69
  218. package/dist/esm/parts/DSPerPageSelector/index.js.map +3 -3
  219. package/dist/esm/parts/DSPerPageSelector/react-desc-prop-types.js +33 -0
  220. package/dist/esm/parts/DSPerPageSelector/react-desc-prop-types.js.map +7 -0
  221. package/dist/esm/parts/DSPerPageSelector/styled.js +60 -0
  222. package/dist/esm/parts/DSPerPageSelector/styled.js.map +7 -0
  223. package/dist/esm/parts/DSPerPageSelector/typescript-testing/slots-props.js +9 -0
  224. package/dist/esm/parts/DSPerPageSelector/typescript-testing/slots-props.js.map +7 -0
  225. package/dist/esm/{typescript-testing/typescript-per-page-selector-valid.js → parts/DSPerPageSelector/typescript-testing/typescript-testing.js} +1 -1
  226. package/dist/esm/parts/DSPerPageSelector/typescript-testing/typescript-testing.js.map +7 -0
  227. package/dist/esm/parts/PaginationContent.js +7 -9
  228. package/dist/esm/parts/PaginationContent.js.map +2 -2
  229. package/dist/esm/parts/index.js +63 -6
  230. package/dist/esm/parts/index.js.map +2 -2
  231. package/dist/esm/react-desc-prop-types.js +1 -86
  232. package/dist/esm/react-desc-prop-types.js.map +2 -2
  233. package/dist/types/config/usePagination.d.ts +5 -0
  234. package/dist/types/config/useValidateProps.d.ts +3 -0
  235. package/dist/types/constants/index.d.ts +29 -0
  236. package/dist/types/index.d.ts +3 -7
  237. package/dist/types/parts/DSPageNextButton/DSPageNextButton.d.ts +5 -0
  238. package/dist/types/parts/DSPageNextButton/config/usePageNextButton.d.ts +377 -0
  239. package/dist/types/parts/DSPageNextButton/config/useValidateProps.d.ts +3 -0
  240. package/dist/types/parts/DSPageNextButton/constants/index.d.ts +9 -0
  241. package/dist/types/parts/DSPageNextButton/index.d.ts +3 -0
  242. package/dist/types/parts/DSPageNextButton/react-desc-prop-types.d.ts +23 -0
  243. package/dist/types/parts/DSPageNextButton/tests/DSPageNextButton.get-owner-props.test.d.ts +1 -0
  244. package/dist/types/parts/DSPageNextButton/tests/DSPageNextButton.keyboard.test.d.ts +1 -0
  245. package/dist/types/parts/DSPageNextButton/tests/utils/NextButtonTestRender.d.ts +2 -0
  246. package/dist/types/parts/DSPageNextButton/typescript-testing/slot-props.d.ts +1 -0
  247. package/dist/types/parts/DSPageNextButton/typescript-testing/typescript-testing.d.ts +1 -0
  248. package/dist/types/parts/DSPagePrevButton/DSPagePrevButton.d.ts +5 -0
  249. package/dist/types/parts/DSPagePrevButton/config/usePagePrevButton.d.ts +377 -0
  250. package/dist/types/parts/DSPagePrevButton/config/useValidateProps.d.ts +3 -0
  251. package/dist/types/parts/DSPagePrevButton/constants/index.d.ts +9 -0
  252. package/dist/types/parts/DSPagePrevButton/index.d.ts +3 -0
  253. package/dist/types/parts/DSPagePrevButton/react-desc-prop-types.d.ts +23 -0
  254. package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.a11y.test.d.ts +1 -0
  255. package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.callbacks.test.d.ts +1 -0
  256. package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.data-testid.test.d.ts +1 -0
  257. package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.export.test.d.ts +1 -0
  258. package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.get-owner-props.test.d.ts +1 -0
  259. package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.keyboard.test.d.ts +1 -0
  260. package/dist/types/parts/DSPagePrevButton/tests/utils/PrevButtonTestRender.d.ts +1 -0
  261. package/dist/types/parts/DSPagePrevButton/typescript-testing/slot-props.d.ts +1 -0
  262. package/dist/types/parts/DSPagePrevButton/typescript-testing/typescript-testing.d.ts +1 -0
  263. package/dist/types/parts/DSPaginationContainer/DSPaginationContainer.d.ts +5 -0
  264. package/dist/types/parts/DSPaginationContainer/config/usePaginationContainer.d.ts +377 -0
  265. package/dist/types/parts/DSPaginationContainer/config/useValidateProps.d.ts +3 -0
  266. package/dist/types/parts/DSPaginationContainer/constants/index.d.ts +11 -0
  267. package/dist/types/parts/DSPaginationContainer/index.d.ts +3 -0
  268. package/dist/types/parts/DSPaginationContainer/react-desc-prop-types.d.ts +22 -0
  269. package/dist/types/parts/DSPaginationContainer/tests/DSPaginationContainer.data-testid.test.d.ts +1 -0
  270. package/dist/types/parts/DSPaginationContainer/tests/DSPaginationContainer.exports.test.d.ts +1 -0
  271. package/dist/types/parts/DSPaginationContainer/tests/DSPaginationContainer.get-owner-props.test.d.ts +1 -0
  272. package/dist/types/parts/DSPaginationContainer/tests/utils/PaginationContainerRender.d.ts +1 -0
  273. package/dist/types/parts/DSPaginationContainer/typescript-testing/slot-props.d.ts +1 -0
  274. package/dist/types/parts/DSPaginationSeparator/DSPaginationSeparator.d.ts +7 -0
  275. package/dist/types/parts/DSPaginationSeparator/config/usePaginationSeparator.d.ts +377 -0
  276. package/dist/types/parts/DSPaginationSeparator/config/useValidateProps.d.ts +3 -0
  277. package/dist/types/parts/DSPaginationSeparator/constants/index.d.ts +9 -0
  278. package/dist/types/parts/DSPaginationSeparator/index.d.ts +3 -0
  279. package/dist/types/parts/DSPaginationSeparator/react-desc-prop-types.d.ts +18 -0
  280. package/dist/types/parts/DSPaginationSeparator/tests/DSPaginationSeparator.data-testid.test.d.ts +1 -0
  281. package/dist/types/parts/DSPaginationSeparator/tests/DSPaginationSeparator.exports.test.d.ts +1 -0
  282. package/dist/types/parts/DSPaginationSeparator/tests/DSPaginationSeparator.get-owner-props.test.d.ts +1 -0
  283. package/dist/types/parts/DSPaginationSeparator/tests/utils/DSPaginationSeparatorTestRender.d.ts +1 -0
  284. package/dist/types/parts/DSPaginator/DSPaginator.d.ts +5 -0
  285. package/dist/types/parts/DSPaginator/{createPaginatorHeader.d.ts → config/createPaginatorHeader.d.ts} +2 -1
  286. package/dist/types/parts/DSPaginator/config/usePaginator.d.ts +386 -0
  287. package/dist/types/parts/DSPaginator/config/useValidateProps.d.ts +3 -0
  288. package/dist/types/parts/DSPaginator/constants/index.d.ts +9 -0
  289. package/dist/types/parts/DSPaginator/index.d.ts +3 -4
  290. package/dist/types/parts/DSPaginator/react-desc-prop-types.d.ts +27 -0
  291. package/dist/types/parts/DSPaginator/styled.d.ts +2 -0
  292. package/dist/types/parts/DSPaginator/tests/DSPaginator.a11y.test.d.ts +1 -0
  293. package/dist/types/parts/DSPaginator/tests/DSPaginator.data-testid.test.d.ts +1 -0
  294. package/dist/types/parts/DSPaginator/tests/DSPaginator.exports.test.d.ts +1 -0
  295. package/dist/types/parts/DSPaginator/tests/DSPaginator.get-owner-props.test.d.ts +1 -0
  296. package/dist/types/parts/DSPaginator/tests/DSPaginator.keyboard.test.d.ts +1 -0
  297. package/dist/types/parts/DSPaginator/tests/utils/DSPaginatorTestRender.d.ts +1 -0
  298. package/dist/types/parts/DSPaginator/typescript-testing/slot-props.d.ts +1 -0
  299. package/dist/types/parts/DSPaginator/typescript-testing/typescript-testing.d.ts +1 -0
  300. package/dist/types/parts/DSPerPageSelector/DSPerPageSelector.d.ts +5 -0
  301. package/dist/types/parts/DSPerPageSelector/config/usePerPageSelector.d.ts +383 -0
  302. package/dist/types/parts/DSPerPageSelector/config/useValidateProps.d.ts +3 -0
  303. package/dist/types/parts/DSPerPageSelector/constants/index.d.ts +13 -0
  304. package/dist/types/parts/DSPerPageSelector/index.d.ts +3 -4
  305. package/dist/types/parts/DSPerPageSelector/react-desc-prop-types.d.ts +28 -0
  306. package/dist/types/parts/DSPerPageSelector/styled.d.ts +2 -0
  307. package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.a11y.test.d.ts +1 -0
  308. package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.data-testid.test.d.ts +1 -0
  309. package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.exports.test.d.ts +1 -0
  310. package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.get-owner-props.test.d.ts +1 -0
  311. package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.keyboard.test.d.ts +1 -0
  312. package/dist/types/parts/DSPerPageSelector/tests/utils/PerPageSelectorTestRender.d.ts +1 -0
  313. package/dist/types/parts/DSPerPageSelector/typescript-testing/slots-props.d.ts +1 -0
  314. package/dist/types/parts/DSPerPageSelector/typescript-testing/typescript-testing.d.ts +1 -0
  315. package/dist/types/parts/index.d.ts +6 -5
  316. package/dist/types/react-desc-prop-types.d.ts +9 -540
  317. package/dist/types/tests/DSPagination.data-testid.test.d.ts +1 -0
  318. package/dist/types/tests/DSPagination.exports.test.d.ts +1 -0
  319. package/dist/types/tests/DSPagination.get-owner-props.test.d.ts +1 -0
  320. package/package.json +15 -12
  321. package/dist/cjs/DSPaginationDefinitions.js.map +0 -7
  322. package/dist/cjs/Pagination.js.map +0 -7
  323. package/dist/cjs/PaginationDataTestID.js.map +0 -7
  324. package/dist/cjs/parts/DSPageNextButton.js.map +0 -7
  325. package/dist/cjs/parts/DSPagePrevButton.js.map +0 -7
  326. package/dist/cjs/parts/DSPaginationContainer.js.map +0 -7
  327. package/dist/cjs/parts/DSPaginator/createPaginatorHeader.js.map +0 -7
  328. package/dist/cjs/parts/DSPaginator/usePaginator.js.map +0 -7
  329. package/dist/cjs/parts/DSPerPageSelector/usePerPageSelector.js.map +0 -7
  330. package/dist/cjs/props.js +0 -85
  331. package/dist/cjs/props.js.map +0 -7
  332. package/dist/cjs/styled.js.map +0 -7
  333. package/dist/cjs/typescript-testing/typescript-page-next-button-valid.js.map +0 -7
  334. package/dist/cjs/typescript-testing/typescript-page-prev-button-valid.js.map +0 -7
  335. package/dist/cjs/typescript-testing/typescript-paginator-valid.js.map +0 -7
  336. package/dist/cjs/typescript-testing/typescript-per-page-selector-valid.js.map +0 -7
  337. package/dist/esm/DSPaginationDefinitions.js +0 -24
  338. package/dist/esm/DSPaginationDefinitions.js.map +0 -7
  339. package/dist/esm/Pagination.js.map +0 -7
  340. package/dist/esm/PaginationDataTestID.js +0 -14
  341. package/dist/esm/PaginationDataTestID.js.map +0 -7
  342. package/dist/esm/parts/DSPageNextButton.js +0 -47
  343. package/dist/esm/parts/DSPageNextButton.js.map +0 -7
  344. package/dist/esm/parts/DSPagePrevButton.js +0 -47
  345. package/dist/esm/parts/DSPagePrevButton.js.map +0 -7
  346. package/dist/esm/parts/DSPaginationContainer.js +0 -31
  347. package/dist/esm/parts/DSPaginationContainer.js.map +0 -7
  348. package/dist/esm/parts/DSPaginator/createPaginatorHeader.js.map +0 -7
  349. package/dist/esm/parts/DSPaginator/usePaginator.js.map +0 -7
  350. package/dist/esm/parts/DSPerPageSelector/usePerPageSelector.js +0 -40
  351. package/dist/esm/parts/DSPerPageSelector/usePerPageSelector.js.map +0 -7
  352. package/dist/esm/props.js +0 -55
  353. package/dist/esm/props.js.map +0 -7
  354. package/dist/esm/styled.js +0 -92
  355. package/dist/esm/styled.js.map +0 -7
  356. package/dist/esm/typescript-testing/typescript-page-next-button-valid.js.map +0 -7
  357. package/dist/esm/typescript-testing/typescript-page-prev-button-valid.js.map +0 -7
  358. package/dist/esm/typescript-testing/typescript-paginator-valid.js.map +0 -7
  359. package/dist/esm/typescript-testing/typescript-per-page-selector-valid.js.map +0 -7
  360. package/dist/types/DSPaginationDefinitions.d.ts +0 -12
  361. package/dist/types/PaginationDataTestID.d.ts +0 -9
  362. package/dist/types/parts/DSPageNextButton.d.ts +0 -4
  363. package/dist/types/parts/DSPagePrevButton.d.ts +0 -4
  364. package/dist/types/parts/DSPaginationContainer.d.ts +0 -4
  365. package/dist/types/parts/DSPaginator/usePaginator.d.ts +0 -381
  366. package/dist/types/parts/DSPerPageSelector/usePerPageSelector.d.ts +0 -377
  367. package/dist/types/props.d.ts +0 -20
  368. package/dist/types/styled.d.ts +0 -7
  369. /package/dist/cjs/parts/DSPaginator/{getOptions.js → config/getOptions.js} +0 -0
  370. /package/dist/cjs/parts/DSPaginator/{useOnElementOnResize.js → config/useOnElementOnResize.js} +0 -0
  371. /package/dist/cjs/parts/DSPaginator/{usePaginationSearch.js → config/usePaginationSearch.js} +0 -0
  372. /package/dist/cjs/parts/DSPerPageSelector/{getOptions.js → config/getOptions.js} +0 -0
  373. /package/dist/esm/parts/DSPaginator/{getOptions.js → config/getOptions.js} +0 -0
  374. /package/dist/esm/parts/DSPaginator/{useOnElementOnResize.js → config/useOnElementOnResize.js} +0 -0
  375. /package/dist/esm/parts/DSPaginator/{usePaginationSearch.js → config/usePaginationSearch.js} +0 -0
  376. /package/dist/esm/parts/DSPerPageSelector/{getOptions.js → config/getOptions.js} +0 -0
  377. /package/dist/types/{Pagination.d.ts → DSPagination.d.ts} +0 -0
  378. /package/dist/types/{typescript-testing/typescript-page-next-button-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.a11y.test.d.ts} +0 -0
  379. /package/dist/types/{typescript-testing/typescript-page-prev-button-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.callbacks.test.d.ts} +0 -0
  380. /package/dist/types/{typescript-testing/typescript-paginator-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.data-testid.test.d.ts} +0 -0
  381. /package/dist/types/{typescript-testing/typescript-per-page-selector-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.export.test.d.ts} +0 -0
  382. /package/dist/types/parts/DSPaginator/{getOptions.d.ts → config/getOptions.d.ts} +0 -0
  383. /package/dist/types/parts/DSPaginator/{useOnElementOnResize.d.ts → config/useOnElementOnResize.d.ts} +0 -0
  384. /package/dist/types/parts/DSPaginator/{usePaginationSearch.d.ts → config/usePaginationSearch.d.ts} +0 -0
  385. /package/dist/types/parts/DSPerPageSelector/{getOptions.d.ts → config/getOptions.d.ts} +0 -0
@@ -28,119 +28,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var DSPaginator_exports = {};
30
30
  __export(DSPaginator_exports, {
31
- DSPaginator: () => DSPaginator,
32
- DSPaginatorWithSchema: () => DSPaginatorWithSchema
31
+ DSPaginator: () => import_DSPaginator.DSPaginator,
32
+ DSPaginatorName: () => import_constants.DSPaginatorName,
33
+ DSPaginatorWithSchema: () => import_DSPaginator.DSPaginatorWithSchema,
34
+ PAGINATOR_DATA_TESTID: () => import_constants.PAGINATOR_DATA_TESTID,
35
+ PAGINATOR_SLOTS: () => import_constants.PAGINATOR_SLOTS
33
36
  });
34
37
  module.exports = __toCommonJS(DSPaginator_exports);
35
38
  var React = __toESM(require("react"));
36
- var import_jsx_runtime = require("react/jsx-runtime");
37
- var import_react = require("react");
38
- var import_ds_icons = require("@elliemae/ds-icons");
39
- var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
40
- var import_ds_grid = require("@elliemae/ds-grid");
41
- var import_ds_dropdownmenu_v2 = require("@elliemae/ds-dropdownmenu-v2");
42
- var import_ds_typography = require("@elliemae/ds-typography");
43
- var import_ds_circular_progress_indicator = require("@elliemae/ds-circular-progress-indicator");
44
- var import_styled = require("../../styled.js");
45
- var import_react_desc_prop_types = require("../../react-desc-prop-types.js");
46
- var import_DSPaginationDefinitions = require("../../DSPaginationDefinitions.js");
47
- var import_usePaginator = require("./usePaginator.js");
48
- var import_createPaginatorHeader = require("./createPaginatorHeader.js");
49
- var import_PaginationDataTestID = require("../../PaginationDataTestID.js");
50
- const DSPaginator = (props) => {
51
- const propsWithDefault = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(
52
- props,
53
- import_react_desc_prop_types.paginatorDefaultProps
54
- );
55
- (0, import_ds_props_helpers.useValidateTypescriptPropTypes)(propsWithDefault, import_react_desc_prop_types.DSPaginatorPropTypesSchema, import_DSPaginationDefinitions.PaginatorName);
56
- const { pageIndex, pageCount, isLoadingPageCount, onPageChange, pageDetails, pageDetailsTitle } = propsWithDefault;
57
- const {
58
- btnRef,
59
- btnWidth,
60
- pageInfoWidth,
61
- options,
62
- isOpened,
63
- setIsOpened,
64
- detailWidth,
65
- globalAttributes,
66
- xstyledAttributes,
67
- actionRef,
68
- onKeyDown
69
- } = (0, import_usePaginator.usePaginator)(propsWithDefault);
70
- const Header = (0, import_react.useMemo)(
71
- () => (0, import_createPaginatorHeader.createPaginatorHeader)({ pageDetailsTitle, pageInfoWidth }),
72
- [pageDetailsTitle, pageInfoWidth]
73
- );
74
- const buttonOnClick = (0, import_react.useMemo)(() => {
75
- if (globalAttributes.onClick) return globalAttributes.onClick;
76
- return () => setIsOpened((prev) => !prev);
77
- }, [globalAttributes.onClick, setIsOpened]);
78
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
79
- import_ds_dropdownmenu_v2.DSDropdownMenuV2,
80
- {
81
- isOpened,
82
- options,
83
- selectedOptions: { [pageIndex.toString()]: true },
84
- onOptionClick: (_, clickedOption) => {
85
- onPageChange(clickedOption.value);
86
- setIsOpened(false);
87
- btnRef.current?.focus();
88
- },
89
- onClickOutside: () => {
90
- setIsOpened(false);
91
- btnRef.current?.focus();
92
- },
93
- customOffset: [-23, 2],
94
- startPlacementPreference: "top-start",
95
- actionRef,
96
- onKeyDown,
97
- minWidth: pageDetails.length !== 0 ? btnWidth + 23 : pageCount.toString().length * 6 + 90,
98
- maxHeight: 300,
99
- HeaderComp: Header,
100
- children: [
101
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
102
- import_styled.PaginationDropdownButton,
103
- {
104
- buttonType: "raw",
105
- disabled: isLoadingPageCount,
106
- innerRef: btnRef,
107
- "aria-pressed": isOpened,
108
- "aria-label": `Page ${pageIndex} out of ${pageCount}, ${pageDetails.length !== 0 ? pageDetails[pageIndex - 1] : "\b\b"}. Press to change the current page`,
109
- "data-testid": import_PaginationDataTestID.PAGINATION_DATA_TESTID.PAGINATOR,
110
- ...globalAttributes,
111
- ...xstyledAttributes,
112
- onClick: buttonOnClick,
113
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { gutter: "xxxs", alignItems: "center", style: { gridAutoFlow: "column" }, children: [
114
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { fontSize: "18px", variant: "b1", as: "span", fontWeight: "semibold", textAlign: "start", children: pageIndex }),
115
- "/ ",
116
- pageCount,
117
- isLoadingPageCount && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_circular_progress_indicator.DSCircularIndeterminateIndicator, { ml: "xxxs", mr: "xxxs", size: "xs" }),
118
- pageDetails.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
119
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.DSPaginationSeparator, { height: "12px", ml: "12px", mr: "xxxs" }),
120
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
121
- import_ds_typography.DSTypography,
122
- {
123
- fontSize: "13px",
124
- w: detailWidth,
125
- mr: "xxs",
126
- variant: "b1",
127
- as: "span",
128
- fontWeight: "semibold",
129
- textAlign: "start",
130
- children: pageDetails[pageIndex - 1]
131
- }
132
- )
133
- ] }),
134
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronDown, { ml: "xxxs", color: ["brand-primary", "700"] })
135
- ] })
136
- }
137
- ),
138
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { style: { position: "relative" }, children: pageDetails.map((pageDetail) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.InvisibleDiv, { "data-testid": "ds-pagination-invisible-detail-for-width-calc", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { fontSize: "13px", mr: "xxs", variant: "b1", as: "span", fontWeight: "semibold", textAlign: "start", children: pageDetail }) }, pageDetail)) })
139
- ]
140
- }
141
- );
142
- };
143
- DSPaginator.displayName = import_DSPaginationDefinitions.PaginatorName;
144
- const DSPaginatorWithSchema = (0, import_ds_props_helpers.describe)(DSPaginator).description("Per Page Selector");
145
- DSPaginatorWithSchema.propTypes = import_react_desc_prop_types.DSPaginatorPropTypesSchema;
39
+ var import_DSPaginator = require("./DSPaginator.js");
40
+ var import_constants = require("./constants/index.js");
146
41
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/parts/DSPaginator/index.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { useMemo } from 'react';\nimport type { DSButtonT } from '@elliemae/ds-button-v2';\nimport { ChevronDown } from '@elliemae/ds-icons';\nimport { describe, useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu-v2';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport { DSCircularIndeterminateIndicator } from '@elliemae/ds-circular-progress-indicator';\nimport type { DSDropdownMenuT } from '@elliemae/ds-dropdownmenu-v2';\nimport { InvisibleDiv, PaginationDropdownButton, DSPaginationSeparator } from '../../styled.js';\nimport { paginatorDefaultProps, DSPaginatorPropTypesSchema } from '../../react-desc-prop-types.js';\nimport { PaginatorName } from '../../DSPaginationDefinitions.js';\nimport { usePaginator } from './usePaginator.js';\nimport { createPaginatorHeader } from './createPaginatorHeader.js';\nimport { PAGINATION_DATA_TESTID } from '../../PaginationDataTestID.js';\nimport type { DSPaginationT } from '../../react-desc-prop-types.js';\n\nexport const DSPaginator: React.ComponentType<DSPaginationT.PaginatorProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSPaginationT.PaginatorInternalProps>(\n props,\n paginatorDefaultProps,\n );\n useValidateTypescriptPropTypes(propsWithDefault, DSPaginatorPropTypesSchema, PaginatorName);\n\n const { pageIndex, pageCount, isLoadingPageCount, onPageChange, pageDetails, pageDetailsTitle } = propsWithDefault;\n\n const {\n btnRef,\n btnWidth,\n pageInfoWidth,\n options,\n isOpened,\n setIsOpened,\n detailWidth,\n globalAttributes,\n xstyledAttributes,\n actionRef,\n onKeyDown,\n } = usePaginator(propsWithDefault);\n\n const Header = useMemo(\n () => createPaginatorHeader({ pageDetailsTitle, pageInfoWidth }),\n [pageDetailsTitle, pageInfoWidth],\n );\n\n const buttonOnClick: DSButtonT.Props['onClick'] = useMemo(() => {\n if (globalAttributes.onClick) return globalAttributes.onClick as DSButtonT.Props['onClick'];\n return () => setIsOpened((prev) => !prev);\n }, [globalAttributes.onClick, setIsOpened]);\n\n return (\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [pageIndex.toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageChange((clickedOption as DSDropdownMenuT.ItemSingleOptions).value as number);\n setIsOpened(false);\n btnRef.current?.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current?.focus();\n }}\n customOffset={[-23, 2]}\n startPlacementPreference=\"top-start\"\n actionRef={actionRef}\n onKeyDown={onKeyDown}\n minWidth={pageDetails.length !== 0 ? btnWidth + 23 : pageCount.toString().length * 6 + 90}\n maxHeight={300}\n HeaderComp={Header}\n >\n <PaginationDropdownButton\n buttonType=\"raw\"\n disabled={isLoadingPageCount}\n innerRef={btnRef}\n aria-pressed={isOpened}\n aria-label={`Page ${pageIndex} out of ${pageCount}, ${\n pageDetails.length !== 0 ? pageDetails[pageIndex - 1] : '\\b\\b'\n }. Press to change the current page`}\n data-testid={PAGINATION_DATA_TESTID.PAGINATOR}\n {...globalAttributes}\n {...xstyledAttributes}\n onClick={buttonOnClick}\n >\n <Grid gutter=\"xxxs\" alignItems=\"center\" style={{ gridAutoFlow: 'column' }}>\n <DSTypography fontSize=\"18px\" variant=\"b1\" as=\"span\" fontWeight=\"semibold\" textAlign=\"start\">\n {pageIndex}\n </DSTypography>\n / {pageCount}\n {isLoadingPageCount && <DSCircularIndeterminateIndicator ml=\"xxxs\" mr=\"xxxs\" size=\"xs\" />}\n {pageDetails.length !== 0 && (\n <>\n <DSPaginationSeparator height=\"12px\" ml=\"12px\" mr=\"xxxs\" />\n <DSTypography\n fontSize=\"13px\"\n w={detailWidth}\n mr=\"xxs\"\n variant=\"b1\"\n as=\"span\"\n fontWeight=\"semibold\"\n textAlign=\"start\"\n >\n {pageDetails[pageIndex - 1]}\n </DSTypography>\n </>\n )}\n <ChevronDown ml=\"xxxs\" color={['brand-primary', '700']} />\n </Grid>\n </PaginationDropdownButton>\n {/* We calculate the length of the longest detail here (this is as per specs) */}\n <Grid style={{ position: 'relative' }}>\n {pageDetails.map((pageDetail) => (\n <InvisibleDiv data-testid=\"ds-pagination-invisible-detail-for-width-calc\" key={pageDetail}>\n <DSTypography fontSize=\"13px\" mr=\"xxs\" variant=\"b1\" as=\"span\" fontWeight=\"semibold\" textAlign=\"start\">\n {pageDetail}\n </DSTypography>\n </InvisibleDiv>\n ))}\n </Grid>\n </DSDropdownMenuV2>\n );\n};\n\nDSPaginator.displayName = PaginatorName;\nexport const DSPaginatorWithSchema = describe(DSPaginator).description('Per Page Selector');\nDSPaginatorWithSchema.propTypes = DSPaginatorPropTypesSchema;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuFb;AAtFV,mBAA+B;AAE/B,sBAA4B;AAC5B,8BAAuF;AACvF,qBAAqB;AACrB,gCAAiC;AACjC,2BAA6B;AAC7B,4CAAiD;AAEjD,oBAA8E;AAC9E,mCAAkE;AAClE,qCAA8B;AAC9B,0BAA6B;AAC7B,mCAAsC;AACtC,kCAAuC;AAGhC,MAAM,cAAiE,CAAC,UAAU;AACvF,QAAM,uBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,EACF;AACA,8DAA+B,kBAAkB,yDAA4B,4CAAa;AAE1F,QAAM,EAAE,WAAW,WAAW,oBAAoB,cAAc,aAAa,iBAAiB,IAAI;AAElG,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,kCAAa,gBAAgB;AAEjC,QAAM,aAAS;AAAA,IACb,UAAM,oDAAsB,EAAE,kBAAkB,cAAc,CAAC;AAAA,IAC/D,CAAC,kBAAkB,aAAa;AAAA,EAClC;AAEA,QAAM,oBAA4C,sBAAQ,MAAM;AAC9D,QAAI,iBAAiB,QAAS,QAAO,iBAAiB;AACtD,WAAO,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI;AAAA,EAC1C,GAAG,CAAC,iBAAiB,SAAS,WAAW,CAAC;AAE1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,iBAAiB,EAAE,CAAC,UAAU,SAAS,CAAC,GAAG,KAAK;AAAA,MAChD,eAAe,CAAC,GAAG,kBAAkB;AACnC,qBAAc,cAAoD,KAAe;AACjF,oBAAY,KAAK;AACjB,eAAO,SAAS,MAAM;AAAA,MACxB;AAAA,MACA,gBAAgB,MAAM;AACpB,oBAAY,KAAK;AACjB,eAAO,SAAS,MAAM;AAAA,MACxB;AAAA,MACA,cAAc,CAAC,KAAK,CAAC;AAAA,MACrB,0BAAyB;AAAA,MACzB;AAAA,MACA;AAAA,MACA,UAAU,YAAY,WAAW,IAAI,WAAW,KAAK,UAAU,SAAS,EAAE,SAAS,IAAI;AAAA,MACvF,WAAW;AAAA,MACX,YAAY;AAAA,MAEZ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,YAAW;AAAA,YACX,UAAU;AAAA,YACV,UAAU;AAAA,YACV,gBAAc;AAAA,YACd,cAAY,QAAQ,SAAS,WAAW,SAAS,KAC/C,YAAY,WAAW,IAAI,YAAY,YAAY,CAAC,IAAI,MAC1D;AAAA,YACA,eAAa,mDAAuB;AAAA,YACnC,GAAG;AAAA,YACH,GAAG;AAAA,YACJ,SAAS;AAAA,YAET,uDAAC,uBAAK,QAAO,QAAO,YAAW,UAAS,OAAO,EAAE,cAAc,SAAS,GACtE;AAAA,0DAAC,qCAAa,UAAS,QAAO,SAAQ,MAAK,IAAG,QAAO,YAAW,YAAW,WAAU,SAClF,qBACH;AAAA,cAAe;AAAA,cACZ;AAAA,cACF,sBAAsB,4CAAC,0EAAiC,IAAG,QAAO,IAAG,QAAO,MAAK,MAAK;AAAA,cACtF,YAAY,WAAW,KACtB,4EACE;AAAA,4DAAC,uCAAsB,QAAO,QAAO,IAAG,QAAO,IAAG,QAAO;AAAA,gBACzD;AAAA,kBAAC;AAAA;AAAA,oBACC,UAAS;AAAA,oBACT,GAAG;AAAA,oBACH,IAAG;AAAA,oBACH,SAAQ;AAAA,oBACR,IAAG;AAAA,oBACH,YAAW;AAAA,oBACX,WAAU;AAAA,oBAET,sBAAY,YAAY,CAAC;AAAA;AAAA,gBAC5B;AAAA,iBACF;AAAA,cAEF,4CAAC,+BAAY,IAAG,QAAO,OAAO,CAAC,iBAAiB,KAAK,GAAG;AAAA,eAC1D;AAAA;AAAA,QACF;AAAA,QAEA,4CAAC,uBAAK,OAAO,EAAE,UAAU,WAAW,GACjC,sBAAY,IAAI,CAAC,eAChB,4CAAC,8BAAa,eAAY,iDACxB,sDAAC,qCAAa,UAAS,QAAO,IAAG,OAAM,SAAQ,MAAK,IAAG,QAAO,YAAW,YAAW,WAAU,SAC3F,sBACH,KAH6E,UAI/E,CACD,GACH;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,YAAY,cAAc;AACnB,MAAM,4BAAwB,kCAAS,WAAW,EAAE,YAAY,mBAAmB;AAC1F,sBAAsB,YAAY;",
3
+ "sources": ["../../../../src/parts/DSPaginator/index.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export { DSPaginator, DSPaginatorWithSchema } from './DSPaginator.js';\nexport { DSPaginatorName, PAGINATOR_DATA_TESTID, PAGINATOR_SLOTS } from './constants/index.js';\nexport type { DSPaginatorT } from './react-desc-prop-types.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,yBAAmD;AACnD,uBAAwE;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var react_desc_prop_types_exports = {};
30
+ __export(react_desc_prop_types_exports, {
31
+ DSPaginatorPropTypes: () => DSPaginatorPropTypes,
32
+ DSPaginatorPropTypesSchema: () => DSPaginatorPropTypesSchema,
33
+ defaultProps: () => defaultProps
34
+ });
35
+ module.exports = __toCommonJS(react_desc_prop_types_exports);
36
+ var React = __toESM(require("react"));
37
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
38
+ var import_constants = require("./constants/index.js");
39
+ const defaultProps = {
40
+ pageCount: 0,
41
+ isLoadingPageCount: false,
42
+ pageIndex: 1,
43
+ onPageChange: () => null,
44
+ pageDetails: [],
45
+ pageDetailsTitle: ""
46
+ };
47
+ const DSPaginatorPropTypes = {
48
+ ...(0, import_ds_props_helpers.getPropsPerSlotPropTypes)(import_constants.DSPaginationName, import_constants.PAGINATOR_SLOTS),
49
+ ...import_ds_props_helpers.globalAttributesPropTypes,
50
+ ...import_ds_props_helpers.xstyledPropTypes,
51
+ pageIndex: import_ds_props_helpers.PropTypes.number.description("Index of the current page, starting from 1").defaultValue(1),
52
+ pageCount: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]).description("How many pages are there"),
53
+ onPageChange: import_ds_props_helpers.PropTypes.func.description("Function invoked when the page changes").defaultValue(() => null),
54
+ isLoadingPageCount: import_ds_props_helpers.PropTypes.bool.description("Whether the page count is loading or not").defaultValue(false),
55
+ pageDetails: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.string).description("Details to provide for each page").defaultValue([]),
56
+ pageDetailsTitle: import_ds_props_helpers.PropTypes.string.description("The title of the details (usually a column of your dataset)").defaultValue("")
57
+ };
58
+ const DSPaginatorPropTypesSchema = DSPaginatorPropTypes;
59
+ //# sourceMappingURL=react-desc-prop-types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/DSPaginator/react-desc-prop-types.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-empty-interface */\n\nimport type { DSPropTypesSchema, GlobalAttributesT, ValidationMap, XstyledProps } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSPaginationName, PAGINATOR_SLOTS } from './constants/index.js';\n\nexport declare namespace DSPaginatorT {\n export type SlotFunctionArguments = {\n dsPaginationPaginator: () => object;\n };\n export interface RequiredProps {}\n\n export interface DefaultProps {\n pageCount: number | string;\n isLoadingPageCount: boolean;\n pageIndex: number;\n onPageChange: (page: number) => void;\n pageDetails: string[] | readonly string[];\n pageDetailsTitle: string;\n }\n\n export interface OptionalProps\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSPaginationName, typeof PAGINATOR_SLOTS> {}\n export interface Props\n extends Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n\n export interface InternalProps\n extends DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n}\n\nexport const defaultProps: DSPaginatorT.DefaultProps = {\n pageCount: 0,\n isLoadingPageCount: false,\n pageIndex: 1,\n onPageChange: () => null,\n pageDetails: [],\n pageDetailsTitle: '',\n};\n\nexport const DSPaginatorPropTypes: DSPropTypesSchema<DSPaginatorT.Props> = {\n ...getPropsPerSlotPropTypes(DSPaginationName, PAGINATOR_SLOTS),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),\n pageCount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('How many pages are there'),\n onPageChange: PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),\n isLoadingPageCount: PropTypes.bool.description('Whether the page count is loading or not').defaultValue(false),\n pageDetails: PropTypes.arrayOf(PropTypes.string).description('Details to provide for each page').defaultValue([]),\n pageDetailsTitle: PropTypes.string\n .description('The title of the details (usually a column of your dataset)')\n .defaultValue(''),\n};\n\nexport const DSPaginatorPropTypesSchema = DSPaginatorPropTypes as unknown as ValidationMap<DSPaginatorT.Props>;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,8BAKO;AAEP,uBAAkD;AAkC3C,MAAM,eAA0C;AAAA,EACrD,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,cAAc,MAAM;AAAA,EACpB,aAAa,CAAC;AAAA,EACd,kBAAkB;AACpB;AAEO,MAAM,uBAA8D;AAAA,EACzE,OAAG,kDAAyB,mCAAkB,gCAAe;AAAA,EAC7D,GAAG;AAAA,EACH,GAAG;AAAA,EACH,WAAW,kCAAU,OAAO,YAAY,4CAA4C,EAAE,aAAa,CAAC;AAAA,EACpG,WAAW,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,0BAA0B;AAAA,EAC3G,cAAc,kCAAU,KAAK,YAAY,wCAAwC,EAAE,aAAa,MAAM,IAAI;AAAA,EAC1G,oBAAoB,kCAAU,KAAK,YAAY,0CAA0C,EAAE,aAAa,KAAK;AAAA,EAC7G,aAAa,kCAAU,QAAQ,kCAAU,MAAM,EAAE,YAAY,kCAAkC,EAAE,aAAa,CAAC,CAAC;AAAA,EAChH,kBAAkB,kCAAU,OACzB,YAAY,6DAA6D,EACzE,aAAa,EAAE;AACpB;AAEO,MAAM,6BAA6B;",
6
+ "names": []
7
+ }
@@ -28,19 +28,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var styled_exports = {};
30
30
  __export(styled_exports, {
31
- DSPaginationSeparator: () => DSPaginationSeparator,
32
31
  InvisibleDiv: () => InvisibleDiv,
33
- PaginationDropdownButton: () => PaginationDropdownButton,
34
- PreviousNextPageButton: () => PreviousNextPageButton,
35
- StyledPaginationContainer: () => StyledPaginationContainer,
36
- StyledPaginationWrapper: () => StyledPaginationWrapper
32
+ PaginationDropdownButtonPaginator: () => PaginationDropdownButtonPaginator
37
33
  });
38
34
  module.exports = __toCommonJS(styled_exports);
39
35
  var React = __toESM(require("react"));
40
- var import_ds_grid = require("@elliemae/ds-grid");
41
36
  var import_ds_button_v2 = require("@elliemae/ds-button-v2");
42
37
  var import_ds_system = require("@elliemae/ds-system");
43
- var import_DSPaginationDefinitions = require("./DSPaginationDefinitions.js");
38
+ var import_constants = require("./constants/index.js");
44
39
  const styledFocusCss = import_ds_system.css`
45
40
  &:after {
46
41
  display: block;
@@ -55,27 +50,6 @@ const styledFocusCss = import_ds_system.css`
55
50
  z-index: 7;
56
51
  }
57
52
  `;
58
- const StyledPaginationContainer = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: import_DSPaginationDefinitions.DSPaginationName, slot: import_DSPaginationDefinitions.PaginationSlots.ROOT })`
59
- height: 42px;
60
- max-width: 100%;
61
- align-items: center;
62
- justify-content: center;
63
- box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.5);
64
- position: relative;
65
- ${import_ds_system.xStyledCommonProps}
66
- `;
67
- const StyledPaginationWrapper = (0, import_ds_system.styled)("div", { name: import_DSPaginationDefinitions.DSPaginationName, slot: import_DSPaginationDefinitions.PaginationSlots.WRAPPER })`
68
- display: grid;
69
- grid-auto-flow: column;
70
- justify-content: center;
71
- align-items: center;
72
- `;
73
- const DSPaginationSeparator = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: import_DSPaginationDefinitions.DSPaginationName, slot: import_DSPaginationDefinitions.PaginationSlots.SEPARATOR })`
74
- background-color: ${(props) => props.theme.colors.neutral[300]};
75
- width: 1px;
76
- height: 30px;
77
- ${import_ds_system.xStyledCommonProps}
78
- `;
79
53
  const InvisibleDiv = import_ds_system.styled.div`
80
54
  opacity: 0;
81
55
  white-space: nowrap;
@@ -83,7 +57,7 @@ const InvisibleDiv = import_ds_system.styled.div`
83
57
  text-overflow: ellipsis;
84
58
  position: absolute;
85
59
  `;
86
- const PaginationDropdownButton = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV2)`
60
+ const paginationDropdownButtonCommonStyles = import_ds_system.css`
87
61
  height: 42px;
88
62
  display: grid;
89
63
  grid-auto-flow: column;
@@ -106,17 +80,11 @@ const PaginationDropdownButton = (0, import_ds_system.styled)(import_ds_button_v
106
80
  }
107
81
  white-space: nowrap;
108
82
  `;
109
- const PreviousNextPageButton = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV2)`
110
- height: 42px;
111
- display: grid;
112
- place-items: center;
113
- position: relative;
114
- padding-left: 8px;
115
- padding-right: 8px;
116
- border-radius: 0;
117
- cursor: ${(props) => props.disabled ? "not-allowed" : "pointer"};
118
- :focus {
119
- ${styledFocusCss}
120
- }
83
+ const PaginationDropdownButtonPaginator = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV3, {
84
+ name: import_constants.DSPaginationName,
85
+ slot: import_constants.PAGINATOR_SLOTS.PAGINATOR,
86
+ preserveLegacyDataTestId: true
87
+ })`
88
+ ${paginationDropdownButtonCommonStyles}
121
89
  `;
122
90
  //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/DSPaginator/styled.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { DSButtonV3 } from '@elliemae/ds-button-v2';\n\nimport { css, styled } from '@elliemae/ds-system';\nimport type {} from '@xstyled/system';\nimport { DSPaginationName, PAGINATOR_SLOTS } from './constants/index.js';\n\nconst styledFocusCss = css`\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n pointer-events: none;\n z-index: 7;\n }\n`;\n\nexport const InvisibleDiv = styled.div`\n opacity: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n position: absolute;\n`;\n\nconst paginationDropdownButtonCommonStyles = css`\n height: 42px;\n display: grid;\n grid-auto-flow: column;\n justify-content: center;\n align-items: center;\n position: relative;\n padding-left: 16px;\n padding-right: 16px;\n grid-gap: 8px;\n font-size: 13px;\n color: neutral-700;\n cursor: pointer;\n border-radius: 0;\n font-weight: ${(props) => props.theme.fontWeights.regular};\n :focus {\n ${styledFocusCss}\n }\n &[aria-disabled='true'] {\n cursor: not-allowed;\n }\n white-space: nowrap;\n`;\nexport const PaginationDropdownButtonPaginator = styled(DSButtonV3, {\n name: DSPaginationName,\n slot: PAGINATOR_SLOTS.PAGINATOR,\n preserveLegacyDataTestId: true,\n})`\n ${paginationDropdownButtonCommonStyles}\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA2B;AAE3B,uBAA4B;AAE5B,uBAAkD;AAElD,MAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAMvD,MAAM,eAAe,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQnC,MAAM,uCAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAc5B,CAAC,UAAU,MAAM,MAAM,YAAY,OAAO;AAAA;AAAA,MAErD,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOb,MAAM,wCAAoC,yBAAO,gCAAY;AAAA,EAClE,MAAM;AAAA,EACN,MAAM,iCAAgB;AAAA,EACtB,0BAA0B;AAC5B,CAAC;AAAA,IACG,oCAAoC;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var React = __toESM(require("react"));
25
+ const SlotPropsAsObj = {
26
+ dsPaginationPaginator: { "aria-label": "just a typescript test" }
27
+ };
28
+ const SlotPropsAsFunctions = {
29
+ dsPaginationPaginator: () => ({ "aria-label": "just a typescript test" })
30
+ };
31
+ const EnsureAllSlotsExistInSlotFunctionArguments = SlotPropsAsFunctions;
32
+ //# sourceMappingURL=slot-props.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/DSPaginator/typescript-testing/slot-props.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\n\nimport type { TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport type { DSPaginationName, PAGINATOR_SLOTS } from '../constants/index.js';\nimport type { DSPaginatorT } from '../react-desc-prop-types.js';\n\nconst SlotPropsAsObj: Partial<DSPaginatorT.Props> = {\n dsPaginationPaginator: { 'aria-label': 'just a typescript test' },\n};\nconst SlotPropsAsFunctions: DSPaginatorT.SlotFunctionArguments = {\n dsPaginationPaginator: () => ({ 'aria-label': 'just a typescript test' }),\n};\nconst EnsureAllSlotsExistInSlotFunctionArguments: Required<\n TypescriptHelpersT.PropsForSlots<typeof DSPaginationName, typeof PAGINATOR_SLOTS>\n> = SlotPropsAsFunctions;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAuB;ACMvB,MAAM,iBAA8C;AAAA,EAClD,uBAAuB,EAAE,cAAc,yBAAyB;AAClE;AACA,MAAM,uBAA2D;AAAA,EAC/D,uBAAuB,OAAO,EAAE,cAAc,yBAAyB;AACzE;AACA,MAAM,6CAEF;",
6
+ "names": []
7
+ }
@@ -99,4 +99,4 @@ const ExampleUsageComponent = () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)
99
99
  }
100
100
  )
101
101
  ] });
102
- //# sourceMappingURL=typescript-paginator-valid.js.map
102
+ //# sourceMappingURL=typescript-testing.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/DSPaginator/typescript-testing/typescript-testing.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport { DSPaginator } from '../index.js';\nimport type { DSPaginatorT } from '../index.js';\n\n// test we expose the namespace and the namespace follows our deliverable conventions\ntype ComponentPropsForApp = DSPaginatorT.Props;\ntype ComponentPropsInternals = DSPaginatorT.InternalProps;\ntype ComponentPropsDefaultProps = DSPaginatorT.DefaultProps;\ntype ComponentPropsOptionalProps = DSPaginatorT.OptionalProps;\ntype ComponentPropsRequiredProps = DSPaginatorT.RequiredProps;\n\nconst testRequiredProps: ComponentPropsRequiredProps = {};\n\nconst testOptionalProps: ComponentPropsOptionalProps = {};\n\n// difference Props and InternalProps is that InternalProps has all the default props filled in\n// Props allows for partial defaults\nconst testPartialDefaults: Partial<ComponentPropsDefaultProps> = {\n pageCount: 0,\n isLoadingPageCount: false,\n onPageChange: () => null,\n};\n\nconst testProps: ComponentPropsForApp = {\n ...testRequiredProps,\n ...testOptionalProps,\n ...testPartialDefaults,\n};\n\nconst testPropsAsSyntax = {\n ...testRequiredProps,\n ...testOptionalProps,\n ...testPartialDefaults,\n} as ComponentPropsForApp;\n\n// InternalProps requires all defaults to be filled in\nconst testCompleteDefaults: Required<ComponentPropsDefaultProps> = {\n pageCount: 0,\n isLoadingPageCount: false,\n pageIndex: 1,\n onPageChange: () => null,\n pageDetails: [],\n pageDetailsTitle: '',\n};\n\nconst testInternalProps: ComponentPropsInternals = {\n ...testRequiredProps,\n ...testOptionalProps,\n ...testCompleteDefaults,\n};\n\nconst testInternalPropsAsSyntax = {\n ...testRequiredProps,\n ...testOptionalProps,\n ...testCompleteDefaults,\n} as ComponentPropsInternals;\n\n// using the explicit type definition, if there is an error, it will be marked on the key that is wrong\nconst testExplicitDefinition: ComponentPropsForApp = {\n pageCount: 0,\n isLoadingPageCount: false,\n pageIndex: 1,\n onPageChange: () => null,\n pageDetails: [],\n pageDetailsTitle: '',\n};\n\n// using the \"as\" syntax, if there is an error, it will be marking the whole object as wrong because it is not compatible with the type\nconst testInferedTypeCompatibility = {\n pageCount: 0,\n isLoadingPageCount: false,\n pageIndex: 1,\n onPageChange: () => null,\n pageDetails: [],\n pageDetailsTitle: '',\n} as ComponentPropsForApp;\n\nconst testDefinitionAsConst = {\n pageCount: 0,\n isLoadingPageCount: false,\n pageIndex: 1,\n onPageChange: () => null,\n pageDetails: [],\n pageDetailsTitle: '',\n} as const;\n\nconst ExampleUsageComponent = () => (\n <>\n {/* works with explicitly casted props, all syntaxes */}\n <DSPaginator {...testExplicitDefinition} />\n <DSPaginator {...testInferedTypeCompatibility} />\n <DSPaginator {...testDefinitionAsConst} />\n {/* works with inline values */}\n <DSPaginator\n pageCount={0}\n isLoadingPageCount={false}\n pageIndex={1}\n onPageChange={() => null}\n pageDetails={[]}\n pageDetailsTitle=\"\"\n />\n </>\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAuB;ACuFrB;AAtFF,eAA4B;AAU5B,MAAM,oBAAiD,CAAC;AAExD,MAAM,oBAAiD,CAAC;AAIxD,MAAM,sBAA2D;AAAA,EAC/D,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,cAAc,MAAM;AACtB;AAEA,MAAM,YAAkC;AAAA,EACtC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,oBAAoB;AAAA,EACxB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAGA,MAAM,uBAA6D;AAAA,EACjE,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,cAAc,MAAM;AAAA,EACpB,aAAa,CAAC;AAAA,EACd,kBAAkB;AACpB;AAEA,MAAM,oBAA6C;AAAA,EACjD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,4BAA4B;AAAA,EAChC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAGA,MAAM,yBAA+C;AAAA,EACnD,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,cAAc,MAAM;AAAA,EACpB,aAAa,CAAC;AAAA,EACd,kBAAkB;AACpB;AAGA,MAAM,+BAA+B;AAAA,EACnC,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,cAAc,MAAM;AAAA,EACpB,aAAa,CAAC;AAAA,EACd,kBAAkB;AACpB;AAEA,MAAM,wBAAwB;AAAA,EAC5B,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,cAAc,MAAM;AAAA,EACpB,aAAa,CAAC;AAAA,EACd,kBAAkB;AACpB;AAEA,MAAM,wBAAwB,MAC5B,4EAEE;AAAA,8CAAC,wBAAa,GAAG,wBAAwB;AAAA,EACzC,4CAAC,wBAAa,GAAG,8BAA8B;AAAA,EAC/C,4CAAC,wBAAa,GAAG,uBAAuB;AAAA,EAExC;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,WAAW;AAAA,MACX,cAAc,MAAM;AAAA,MACpB,aAAa,CAAC;AAAA,MACd,kBAAiB;AAAA;AAAA,EACnB;AAAA,GACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var DSPerPageSelector_exports = {};
30
+ __export(DSPerPageSelector_exports, {
31
+ DSPerPageSelector: () => DSPerPageSelector,
32
+ DSPerPageSelectorWithSchema: () => DSPerPageSelectorWithSchema
33
+ });
34
+ module.exports = __toCommonJS(DSPerPageSelector_exports);
35
+ var React = __toESM(require("react"));
36
+ var import_jsx_runtime = require("react/jsx-runtime");
37
+ var import_react = require("react");
38
+ var import_ds_dropdownmenu_v2 = require("@elliemae/ds-dropdownmenu-v2");
39
+ var import_ds_icons = require("@elliemae/ds-icons");
40
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
41
+ var import_usePerPageSelector = require("./config/usePerPageSelector.js");
42
+ var import_constants = require("./constants/index.js");
43
+ var import_react_desc_prop_types = require("./react-desc-prop-types.js");
44
+ var import_styled = require("./styled.js");
45
+ const Header = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "Per Page" });
46
+ const DSPerPageSelector = (props) => {
47
+ const {
48
+ propsWithDefault: { pageSize, onPageSizeChange },
49
+ xstyledProps,
50
+ globalAttributes,
51
+ ownerPropsConfig,
52
+ actionRef,
53
+ btnRef,
54
+ width,
55
+ isOpened,
56
+ options,
57
+ setIsOpened
58
+ } = (0, import_usePerPageSelector.usePerPageSelector)(props);
59
+ const buttonOnClick = (0, import_react.useMemo)(() => {
60
+ if (globalAttributes.onClick) return globalAttributes.onClick;
61
+ return () => setIsOpened((prev) => !prev);
62
+ }, [globalAttributes.onClick, setIsOpened]);
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
64
+ import_ds_dropdownmenu_v2.DSDropdownMenuV2,
65
+ {
66
+ isOpened,
67
+ options,
68
+ selectedOptions: { [pageSize.toString()]: true },
69
+ onOptionClick: (_, clickedOption) => {
70
+ onPageSizeChange(clickedOption.value);
71
+ setIsOpened(false);
72
+ btnRef.current?.focus();
73
+ },
74
+ onClickOutside: () => {
75
+ setIsOpened(false);
76
+ btnRef.current?.focus();
77
+ },
78
+ customOffset: [-23, 2],
79
+ startPlacementPreference: "top-start",
80
+ actionRef,
81
+ minWidth: width,
82
+ maxHeight: 300,
83
+ HeaderComp: Header,
84
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
85
+ import_styled.PaginationDropdownButtonPerPageSelector,
86
+ {
87
+ buttonType: "raw",
88
+ innerRef: btnRef,
89
+ "aria-pressed": isOpened,
90
+ "aria-label": `${pageSize} rows per page. Press to select rows per page`,
91
+ "data-testid": import_constants.PER_PAGE_SELECTOR_DATA_TESTID.PER_PAGE_SELECTOR,
92
+ ...globalAttributes,
93
+ ...xstyledProps,
94
+ ...ownerPropsConfig,
95
+ onClick: buttonOnClick,
96
+ children: [
97
+ pageSize,
98
+ " / page",
99
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronDown, { color: ["brand-primary", "700"] })
100
+ ]
101
+ }
102
+ )
103
+ }
104
+ );
105
+ };
106
+ DSPerPageSelector.displayName = import_constants.DSPerPageSelectorName;
107
+ const DSPerPageSelectorWithSchema = (0, import_ds_props_helpers.describe)(DSPerPageSelector);
108
+ DSPerPageSelectorWithSchema.propTypes = import_react_desc_prop_types.DSPerPageSelectorPropTypesSchema;
109
+ //# sourceMappingURL=DSPerPageSelector.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/DSPerPageSelector/DSPerPageSelector.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useMemo } from 'react';\nimport type { DSButtonT } from '@elliemae/ds-button-v2';\nimport { DSDropdownMenuV2, type DSDropdownMenuT } from '@elliemae/ds-dropdownmenu-v2';\nimport { ChevronDown } from '@elliemae/ds-icons';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { usePerPageSelector } from './config/usePerPageSelector.js';\nimport { DSPerPageSelectorName, PER_PAGE_SELECTOR_DATA_TESTID } from './constants/index.js';\nimport { DSPerPageSelectorPropTypesSchema, type DSPerPageSelectorT } from './react-desc-prop-types.js';\nimport { PaginationDropdownButtonPerPageSelector } from './styled.js';\n\nconst Header = () => <>Per Page</>;\n\nconst DSPerPageSelector: React.ComponentType<DSPerPageSelectorT.Props> = (props) => {\n const {\n propsWithDefault: { pageSize, onPageSizeChange },\n xstyledProps,\n globalAttributes,\n ownerPropsConfig,\n actionRef,\n btnRef,\n width,\n isOpened,\n options,\n setIsOpened,\n } = usePerPageSelector(props);\n const buttonOnClick: DSButtonT.Props['onClick'] = useMemo(() => {\n if (globalAttributes.onClick) return globalAttributes.onClick as DSButtonT.Props['onClick'];\n return () => setIsOpened((prev) => !prev);\n }, [globalAttributes.onClick, setIsOpened]);\n return (\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [pageSize.toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageSizeChange((clickedOption as DSDropdownMenuT.ItemSingleOptions).value as number);\n setIsOpened(false);\n btnRef.current?.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current?.focus();\n }}\n customOffset={[-23, 2]}\n startPlacementPreference=\"top-start\"\n actionRef={actionRef}\n minWidth={width}\n maxHeight={300}\n HeaderComp={Header}\n >\n <PaginationDropdownButtonPerPageSelector\n buttonType=\"raw\"\n innerRef={btnRef}\n aria-pressed={isOpened}\n aria-label={`${pageSize} rows per page. Press to select rows per page`}\n data-testid={PER_PAGE_SELECTOR_DATA_TESTID.PER_PAGE_SELECTOR}\n {...globalAttributes}\n {...xstyledProps}\n {...ownerPropsConfig}\n onClick={buttonOnClick}\n >\n {pageSize} / page\n <ChevronDown color={['brand-primary', '700']} />\n </PaginationDropdownButtonPerPageSelector>\n </DSDropdownMenuV2>\n );\n};\n\nDSPerPageSelector.displayName = DSPerPageSelectorName;\nconst DSPerPageSelectorWithSchema = describe(DSPerPageSelector);\nDSPerPageSelectorWithSchema.propTypes = DSPerPageSelectorPropTypesSchema;\n\nexport { DSPerPageSelector, DSPerPageSelectorWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUF;AAVrB,mBAA+B;AAE/B,gCAAuD;AACvD,sBAA4B;AAC5B,8BAAyB;AACzB,gCAAmC;AACnC,uBAAqE;AACrE,mCAA0E;AAC1E,oBAAwD;AAExD,MAAM,SAAS,MAAM,2EAAE,sBAAQ;AAE/B,MAAM,oBAAmE,CAAC,UAAU;AAClF,QAAM;AAAA,IACJ,kBAAkB,EAAE,UAAU,iBAAiB;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,8CAAmB,KAAK;AAC5B,QAAM,oBAA4C,sBAAQ,MAAM;AAC9D,QAAI,iBAAiB,QAAS,QAAO,iBAAiB;AACtD,WAAO,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI;AAAA,EAC1C,GAAG,CAAC,iBAAiB,SAAS,WAAW,CAAC;AAC1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,iBAAiB,EAAE,CAAC,SAAS,SAAS,CAAC,GAAG,KAAK;AAAA,MAC/C,eAAe,CAAC,GAAG,kBAAkB;AACnC,yBAAkB,cAAoD,KAAe;AACrF,oBAAY,KAAK;AACjB,eAAO,SAAS,MAAM;AAAA,MACxB;AAAA,MACA,gBAAgB,MAAM;AACpB,oBAAY,KAAK;AACjB,eAAO,SAAS,MAAM;AAAA,MACxB;AAAA,MACA,cAAc,CAAC,KAAK,CAAC;AAAA,MACrB,0BAAyB;AAAA,MACzB;AAAA,MACA,UAAU;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MAEZ;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX,UAAU;AAAA,UACV,gBAAc;AAAA,UACd,cAAY,GAAG,QAAQ;AAAA,UACvB,eAAa,+CAA8B;AAAA,UAC1C,GAAG;AAAA,UACH,GAAG;AAAA,UACH,GAAG;AAAA,UACJ,SAAS;AAAA,UAER;AAAA;AAAA,YAAS;AAAA,YACV,4CAAC,+BAAY,OAAO,CAAC,iBAAiB,KAAK,GAAG;AAAA;AAAA;AAAA,MAChD;AAAA;AAAA,EACF;AAEJ;AAEA,kBAAkB,cAAc;AAChC,MAAM,kCAA8B,kCAAS,iBAAiB;AAC9D,4BAA4B,YAAY;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/parts/DSPerPageSelector/getOptions.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
3
+ "sources": ["../../../../../src/parts/DSPerPageSelector/config/getOptions.ts", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { range } from 'lodash-es';\nimport type { DSDropdownMenuT } from '@elliemae/ds-dropdownmenu-v2';\n\nexport const generateOption = (\n value: number | DSDropdownMenuT.ItemSingleOptions,\n): DSDropdownMenuT.ItemSingleOptions => {\n if (typeof value === 'object') {\n return value;\n }\n return {\n dsId: value.toString(),\n value,\n label: value.toString(),\n type: 'single',\n } as const;\n};\n\nexport const getOptions = (step: number, min: number, max: number) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAsB;AAGf,MAAM,iBAAiB,CAC5B,UACsC;AACtC,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,MAAM,MAAM,SAAS;AAAA,IACrB;AAAA,IACA,OAAO,MAAM,SAAS;AAAA,IACtB,MAAM;AAAA,EACR;AACF;AAEO,MAAM,aAAa,CAAC,MAAc,KAAa,QAAgB;AACpE,QAAM,cAAU,wBAAM,KAAK,MAAM,MAAM,IAAI,EAAE,IAAI,cAAc;AAC/D,SAAO,QAAQ,IAAI,QAAQ,MAAM,GAAG,QAAQ,MAAM,IAAI;AACxD;",
6
6
  "names": []
@@ -32,11 +32,18 @@ __export(usePerPageSelector_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(usePerPageSelector_exports);
34
34
  var React = __toESM(require("react"));
35
- var import_react = require("react");
36
35
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
36
+ var import_react = __toESM(require("react"));
37
+ var import_react_desc_prop_types = require("../react-desc-prop-types.js");
38
+ var import_useValidateProps = require("./useValidateProps.js");
37
39
  var import_getOptions = require("./getOptions.js");
38
- const usePerPageSelector = (props) => {
39
- const { pageSize, perPageOptions, perPageStep, minPerPage, maxPerPage } = props;
40
+ const usePerPageSelector = (propsFromUser) => {
41
+ const propsWithDefault = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(propsFromUser, import_react_desc_prop_types.defaultProps);
42
+ (0, import_useValidateProps.useValidateProps)(propsWithDefault, import_react_desc_prop_types.DSPerPageSelectorPropTypesSchema);
43
+ const xstyledProps = (0, import_ds_props_helpers.useGetXstyledProps)(propsWithDefault);
44
+ const globalAttributes = (0, import_ds_props_helpers.useGetGlobalAttributes)(propsWithDefault);
45
+ const ownerPropsConfig = (0, import_ds_props_helpers.useOwnerProps)(propsWithDefault);
46
+ const { pageSize, perPageOptions, perPageStep, minPerPage, maxPerPage } = propsWithDefault;
40
47
  const [isOpened, setIsOpened] = (0, import_react.useState)(false);
41
48
  const options = (0, import_react.useMemo)(() => {
42
49
  if (perPageOptions) return perPageOptions.map(import_getOptions.generateOption);
@@ -44,27 +51,30 @@ const usePerPageSelector = (props) => {
44
51
  }, [maxPerPage, minPerPage, perPageOptions, perPageStep]);
45
52
  const actionRef = (0, import_react.useRef)({});
46
53
  const btnRef = (0, import_react.useRef)(null);
54
+ const width = (0, import_react.useMemo)(() => {
55
+ const maxLength = options.reduce((acc, cur) => Math.max(acc, ("label" in cur ? cur.label : "").length), 0);
56
+ return maxLength * 6 + 90;
57
+ }, [options]);
47
58
  (0, import_react.useEffect)(() => {
48
59
  if (isOpened) {
49
60
  actionRef.current.setActiveDescendant(pageSize.toString());
50
61
  actionRef.current.scrollOptionIntoView(pageSize.toString());
51
62
  }
52
63
  }, [isOpened]);
53
- const width = (0, import_react.useMemo)(() => {
54
- const maxLength = options.reduce((acc, cur) => Math.max(acc, ("label" in cur ? cur.label : "").length), 0);
55
- return maxLength * 6 + 90;
56
- }, [options]);
57
- const globalAttributes = (0, import_ds_props_helpers.useGetGlobalAttributes)(props);
58
- const xstyledAttributes = (0, import_ds_props_helpers.useGetXstyledProps)(props);
59
- return {
60
- actionRef,
61
- btnRef,
62
- width,
63
- isOpened,
64
- setIsOpened,
65
- options,
66
- globalAttributes,
67
- xstyledAttributes
68
- };
64
+ return import_react.default.useMemo(
65
+ () => ({
66
+ propsWithDefault,
67
+ xstyledProps,
68
+ globalAttributes,
69
+ ownerPropsConfig,
70
+ actionRef,
71
+ btnRef,
72
+ width,
73
+ isOpened,
74
+ options,
75
+ setIsOpened
76
+ }),
77
+ [propsWithDefault, xstyledProps, globalAttributes, ownerPropsConfig, width, isOpened, options]
78
+ );
69
79
  };
70
80
  //# sourceMappingURL=usePerPageSelector.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/parts/DSPerPageSelector/config/usePerPageSelector.ts", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import type { DSButtonV3T } from '@elliemae/ds-button-v2';\nimport {\n useGetGlobalAttributes,\n useGetXstyledProps,\n useMemoMergePropsWithDefault,\n useOwnerProps,\n} from '@elliemae/ds-props-helpers';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { type DSPerPageSelectorT, DSPerPageSelectorPropTypesSchema, defaultProps } from '../react-desc-prop-types.js';\nimport { useValidateProps } from './useValidateProps.js';\nimport { generateOption, getOptions } from './getOptions.js';\n\nexport const usePerPageSelector = (propsFromUser: DSPerPageSelectorT.Props) => {\n // =============================================================================\n // MERGE WITH DEFAULT AND VALIDATE PROPS\n // =============================================================================\n const propsWithDefault = useMemoMergePropsWithDefault<DSPerPageSelectorT.InternalProps>(propsFromUser, defaultProps);\n useValidateProps(propsWithDefault, DSPerPageSelectorPropTypesSchema);\n // =============================================================================\n // XSTYLED PROPS\n // =============================================================================\n const xstyledProps = useGetXstyledProps(propsWithDefault);\n // =============================================================================\n // GLOBAL ATTRIBUTES\n // =============================================================================\n const globalAttributes = useGetGlobalAttributes<\n DSPerPageSelectorT.InternalProps,\n HTMLButtonElement,\n DSButtonV3T.Props\n >(propsWithDefault);\n // =============================================================================\n // OWNER PROPS\n // =============================================================================\n const ownerPropsConfig = useOwnerProps(propsWithDefault);\n // AD HOC PER COMPONENT LOGIC\n // =============================================================================\n // custom code goes here, this is an example\n // const instanceUid = React.useMemo(() => `ds-per-page-selector-${uid(5)}`, []);\n\n const { pageSize, perPageOptions, perPageStep, minPerPage, maxPerPage } = propsWithDefault;\n const [isOpened, setIsOpened] = useState(false);\n const options = useMemo(() => {\n if (perPageOptions) return perPageOptions.map(generateOption);\n return getOptions(perPageStep, minPerPage, maxPerPage);\n }, [maxPerPage, minPerPage, perPageOptions, perPageStep]);\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n const btnRef = useRef<HTMLButtonElement>(null);\n const width = useMemo(() => {\n const maxLength = options.reduce((acc, cur) => Math.max(acc, ('label' in cur ? cur.label : '').length), 0);\n return maxLength * 6 + 90;\n }, [options]);\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant(pageSize.toString());\n actionRef.current.scrollOptionIntoView(pageSize.toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n // =============================================================================\n // HELPERS HOOKS CONFIGS\n // =============================================================================\n // const eventHandlers = useEventHandlers({ propsWithDefault, instanceUid }); // <-- complex logic should be made atomics this way\n\n return React.useMemo(\n () => ({\n propsWithDefault,\n xstyledProps,\n globalAttributes,\n ownerPropsConfig,\n actionRef,\n btnRef,\n width,\n isOpened,\n options,\n setIsOpened,\n }),\n [propsWithDefault, xstyledProps, globalAttributes, ownerPropsConfig, width, isOpened, options],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAKO;AACP,mBAA4D;AAE5D,mCAAwF;AACxF,8BAAiC;AACjC,wBAA2C;AAEpC,MAAM,qBAAqB,CAAC,kBAA4C;AAI7E,QAAM,uBAAmB,sDAA+D,eAAe,yCAAY;AACnH,gDAAiB,kBAAkB,6DAAgC;AAInE,QAAM,mBAAe,4CAAmB,gBAAgB;AAIxD,QAAM,uBAAmB,gDAIvB,gBAAgB;AAIlB,QAAM,uBAAmB,uCAAc,gBAAgB;AAMvD,QAAM,EAAE,UAAU,gBAAgB,aAAa,YAAY,WAAW,IAAI;AAC1E,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAC9C,QAAM,cAAU,sBAAQ,MAAM;AAC5B,QAAI,eAAgB,QAAO,eAAe,IAAI,gCAAc;AAC5D,eAAO,8BAAW,aAAa,YAAY,UAAU;AAAA,EACvD,GAAG,CAAC,YAAY,YAAY,gBAAgB,WAAW,CAAC;AAExD,QAAM,gBAAY,qBAA+C,CAAC,CAAC;AACnE,QAAM,aAAS,qBAA0B,IAAI;AAC7C,QAAM,YAAQ,sBAAQ,MAAM;AAC1B,UAAM,YAAY,QAAQ,OAAO,CAAC,KAAK,QAAQ,KAAK,IAAI,MAAM,WAAW,MAAM,IAAI,QAAQ,IAAI,MAAM,GAAG,CAAC;AACzG,WAAO,YAAY,IAAI;AAAA,EACzB,GAAG,CAAC,OAAO,CAAC;AAEZ,8BAAU,MAAM;AACd,QAAI,UAAU;AACZ,gBAAU,QAAQ,oBAAoB,SAAS,SAAS,CAAC;AACzD,gBAAU,QAAQ,qBAAqB,SAAS,SAAS,CAAC;AAAA,IAC5D;AAAA,EAEF,GAAG,CAAC,QAAQ,CAAC;AAOb,SAAO,aAAAA,QAAM;AAAA,IACX,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB,cAAc,kBAAkB,kBAAkB,OAAO,UAAU,OAAO;AAAA,EAC/F;AACF;",
6
+ "names": ["React"]
7
+ }