@elliemae/ds-pagination 3.57.0-next.34 → 3.57.0-next.35
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.
- package/dist/cjs/{Pagination.js → DSPagination.js} +8 -8
- package/dist/cjs/DSPagination.js.map +7 -0
- package/dist/cjs/config/usePagination.js +51 -0
- package/dist/cjs/config/usePagination.js.map +7 -0
- package/dist/cjs/{PaginationDataTestID.js → config/useValidateProps.js} +9 -13
- package/dist/cjs/config/useValidateProps.js.map +7 -0
- package/dist/cjs/{DSPaginationDefinitions.js → constants/index.js} +22 -19
- package/dist/cjs/constants/index.js.map +7 -0
- package/dist/cjs/index.js +29 -18
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/parts/{DSPageNextButton.js → DSPageNextButton/DSPageNextButton.js} +46 -18
- package/dist/cjs/parts/DSPageNextButton/DSPageNextButton.js.map +7 -0
- package/dist/cjs/parts/DSPageNextButton/config/usePageNextButton.js +55 -0
- package/dist/cjs/parts/DSPageNextButton/config/usePageNextButton.js.map +7 -0
- package/dist/cjs/parts/DSPageNextButton/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSPageNextButton/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSPageNextButton/constants/index.js +48 -0
- package/dist/cjs/parts/DSPageNextButton/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSPageNextButton/index.js +41 -0
- package/dist/cjs/parts/DSPageNextButton/index.js.map +7 -0
- package/dist/cjs/parts/DSPageNextButton/react-desc-prop-types.js +51 -0
- package/dist/cjs/parts/DSPageNextButton/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSPageNextButton/typescript-testing/slot-props.js +32 -0
- package/dist/cjs/parts/DSPageNextButton/typescript-testing/slot-props.js.map +7 -0
- package/dist/cjs/{typescript-testing/typescript-page-next-button-valid.js → parts/DSPageNextButton/typescript-testing/typescript-testing.js} +1 -1
- package/dist/cjs/parts/DSPageNextButton/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/cjs/parts/{DSPagePrevButton.js → DSPagePrevButton/DSPagePrevButton.js} +46 -18
- package/dist/cjs/parts/DSPagePrevButton/DSPagePrevButton.js.map +7 -0
- package/dist/cjs/parts/DSPagePrevButton/config/usePagePrevButton.js +55 -0
- package/dist/cjs/parts/DSPagePrevButton/config/usePagePrevButton.js.map +7 -0
- package/dist/cjs/parts/DSPagePrevButton/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSPagePrevButton/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSPagePrevButton/constants/index.js +48 -0
- package/dist/cjs/parts/DSPagePrevButton/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSPagePrevButton/index.js +41 -0
- package/dist/cjs/parts/DSPagePrevButton/index.js.map +7 -0
- package/dist/cjs/parts/DSPagePrevButton/react-desc-prop-types.js +51 -0
- package/dist/cjs/parts/DSPagePrevButton/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSPagePrevButton/typescript-testing/slot-props.js +32 -0
- package/dist/cjs/parts/DSPagePrevButton/typescript-testing/slot-props.js.map +7 -0
- package/dist/cjs/{typescript-testing/typescript-page-prev-button-valid.js → parts/DSPagePrevButton/typescript-testing/typescript-testing.js} +1 -1
- package/dist/cjs/parts/DSPagePrevButton/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/cjs/parts/{DSPaginationContainer.js → DSPaginationContainer/DSPaginationContainer.js} +26 -12
- package/dist/cjs/parts/DSPaginationContainer/DSPaginationContainer.js.map +7 -0
- package/dist/cjs/parts/DSPaginationContainer/config/usePaginationContainer.js +60 -0
- package/dist/cjs/parts/DSPaginationContainer/config/usePaginationContainer.js.map +7 -0
- package/dist/cjs/parts/DSPaginationContainer/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSPaginationContainer/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSPaginationContainer/constants/index.js +50 -0
- package/dist/cjs/parts/DSPaginationContainer/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSPaginationContainer/index.js +41 -0
- package/dist/cjs/parts/DSPaginationContainer/index.js.map +7 -0
- package/dist/cjs/parts/DSPaginationContainer/react-desc-prop-types.js +48 -0
- package/dist/cjs/parts/DSPaginationContainer/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSPaginationContainer/typescript-testing/slot-props.js +34 -0
- package/dist/cjs/parts/DSPaginationContainer/typescript-testing/slot-props.js.map +7 -0
- package/dist/cjs/parts/DSPaginationSeparator/DSPaginationSeparator.js +68 -0
- package/dist/cjs/parts/DSPaginationSeparator/DSPaginationSeparator.js.map +7 -0
- package/dist/cjs/parts/DSPaginationSeparator/config/usePaginationSeparator.js +60 -0
- package/dist/cjs/parts/DSPaginationSeparator/config/usePaginationSeparator.js.map +7 -0
- package/dist/cjs/parts/DSPaginationSeparator/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSPaginationSeparator/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSPaginationSeparator/constants/index.js +45 -0
- package/dist/cjs/parts/DSPaginationSeparator/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSPaginationSeparator/index.js +41 -0
- package/dist/cjs/parts/DSPaginationSeparator/index.js.map +7 -0
- package/dist/cjs/parts/DSPaginationSeparator/react-desc-prop-types.js +46 -0
- package/dist/cjs/parts/DSPaginationSeparator/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/DSPaginator.js +143 -0
- package/dist/cjs/parts/DSPaginator/DSPaginator.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/{createPaginatorHeader.js → config/createPaginatorHeader.js} +7 -3
- package/dist/cjs/parts/DSPaginator/config/createPaginatorHeader.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/{getOptions.js.map → config/getOptions.js.map} +1 -1
- package/dist/cjs/parts/DSPaginator/{useOnElementOnResize.js.map → config/useOnElementOnResize.js.map} +1 -1
- package/dist/cjs/parts/DSPaginator/{usePaginationSearch.js.map → config/usePaginationSearch.js.map} +1 -1
- package/dist/cjs/parts/DSPaginator/{usePaginator.js → config/usePaginator.js} +46 -21
- package/dist/cjs/parts/DSPaginator/config/usePaginator.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSPaginator/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/constants/index.js +45 -0
- package/dist/cjs/parts/DSPaginator/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/index.js +7 -112
- package/dist/cjs/parts/DSPaginator/index.js.map +3 -3
- package/dist/cjs/parts/DSPaginator/react-desc-prop-types.js +59 -0
- package/dist/cjs/parts/DSPaginator/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/{styled.js → parts/DSPaginator/styled.js} +9 -41
- package/dist/cjs/parts/DSPaginator/styled.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/typescript-testing/slot-props.js +32 -0
- package/dist/cjs/parts/DSPaginator/typescript-testing/slot-props.js.map +7 -0
- package/dist/cjs/{typescript-testing/typescript-paginator-valid.js → parts/DSPaginator/typescript-testing/typescript-testing.js} +1 -1
- package/dist/cjs/parts/DSPaginator/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelector.js +109 -0
- package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelector.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/{getOptions.js.map → config/getOptions.js.map} +1 -1
- package/dist/cjs/parts/DSPerPageSelector/{usePerPageSelector.js → config/usePerPageSelector.js} +29 -19
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelector.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/useValidateProps.js +40 -0
- package/dist/cjs/parts/DSPerPageSelector/config/useValidateProps.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/constants/index.js +50 -0
- package/dist/cjs/parts/DSPerPageSelector/constants/index.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/index.js +7 -70
- package/dist/cjs/parts/DSPerPageSelector/index.js.map +3 -3
- package/dist/cjs/parts/DSPerPageSelector/react-desc-prop-types.js +58 -0
- package/dist/cjs/parts/DSPerPageSelector/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/styled.js +90 -0
- package/dist/cjs/parts/DSPerPageSelector/styled.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/typescript-testing/slots-props.js +32 -0
- package/dist/cjs/parts/DSPerPageSelector/typescript-testing/slots-props.js.map +7 -0
- package/dist/cjs/{typescript-testing/typescript-per-page-selector-valid.js → parts/DSPerPageSelector/typescript-testing/typescript-testing.js} +1 -1
- package/dist/cjs/parts/DSPerPageSelector/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/cjs/parts/PaginationContent.js +7 -9
- package/dist/cjs/parts/PaginationContent.js.map +2 -2
- package/dist/cjs/parts/index.js +25 -4
- package/dist/cjs/parts/index.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +1 -86
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/esm/{Pagination.js → DSPagination.js} +6 -6
- package/dist/esm/DSPagination.js.map +7 -0
- package/dist/esm/config/usePagination.js +21 -0
- package/dist/esm/config/usePagination.js.map +7 -0
- package/dist/esm/config/useValidateProps.js +10 -0
- package/dist/esm/config/useValidateProps.js.map +7 -0
- package/dist/esm/constants/index.js +27 -0
- package/dist/esm/constants/index.js.map +7 -0
- package/dist/esm/index.js +45 -13
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/parts/DSPageNextButton/DSPageNextButton.js +74 -0
- package/dist/esm/parts/DSPageNextButton/DSPageNextButton.js.map +7 -0
- package/dist/esm/parts/DSPageNextButton/config/usePageNextButton.js +30 -0
- package/dist/esm/parts/DSPageNextButton/config/usePageNextButton.js.map +7 -0
- package/dist/esm/parts/DSPageNextButton/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSPageNextButton/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSPageNextButton/constants/index.js +18 -0
- package/dist/esm/parts/DSPageNextButton/constants/index.js.map +7 -0
- package/dist/esm/parts/DSPageNextButton/index.js +11 -0
- package/dist/esm/parts/DSPageNextButton/index.js.map +7 -0
- package/dist/esm/parts/DSPageNextButton/react-desc-prop-types.js +26 -0
- package/dist/esm/parts/DSPageNextButton/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSPageNextButton/typescript-testing/slot-props.js +9 -0
- package/dist/esm/parts/DSPageNextButton/typescript-testing/slot-props.js.map +7 -0
- package/dist/esm/{typescript-testing/typescript-page-next-button-valid.js → parts/DSPageNextButton/typescript-testing/typescript-testing.js} +1 -1
- package/dist/esm/parts/DSPageNextButton/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/esm/parts/DSPagePrevButton/DSPagePrevButton.js +74 -0
- package/dist/esm/parts/DSPagePrevButton/DSPagePrevButton.js.map +7 -0
- package/dist/esm/parts/DSPagePrevButton/config/usePagePrevButton.js +30 -0
- package/dist/esm/parts/DSPagePrevButton/config/usePagePrevButton.js.map +7 -0
- package/dist/esm/parts/DSPagePrevButton/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSPagePrevButton/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSPagePrevButton/constants/index.js +18 -0
- package/dist/esm/parts/DSPagePrevButton/constants/index.js.map +7 -0
- package/dist/esm/parts/DSPagePrevButton/index.js +11 -0
- package/dist/esm/parts/DSPagePrevButton/index.js.map +7 -0
- package/dist/esm/parts/DSPagePrevButton/react-desc-prop-types.js +26 -0
- package/dist/esm/parts/DSPagePrevButton/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSPagePrevButton/typescript-testing/slot-props.js +9 -0
- package/dist/esm/parts/DSPagePrevButton/typescript-testing/slot-props.js.map +7 -0
- package/dist/esm/{typescript-testing/typescript-page-prev-button-valid.js → parts/DSPagePrevButton/typescript-testing/typescript-testing.js} +1 -1
- package/dist/esm/parts/DSPagePrevButton/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/esm/parts/DSPaginationContainer/DSPaginationContainer.js +50 -0
- package/dist/esm/parts/DSPaginationContainer/DSPaginationContainer.js.map +7 -0
- package/dist/esm/parts/DSPaginationContainer/config/usePaginationContainer.js +38 -0
- package/dist/esm/parts/DSPaginationContainer/config/usePaginationContainer.js.map +7 -0
- package/dist/esm/parts/DSPaginationContainer/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSPaginationContainer/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSPaginationContainer/constants/index.js +20 -0
- package/dist/esm/parts/DSPaginationContainer/constants/index.js.map +7 -0
- package/dist/esm/parts/DSPaginationContainer/index.js +15 -0
- package/dist/esm/parts/DSPaginationContainer/index.js.map +7 -0
- package/dist/esm/parts/DSPaginationContainer/react-desc-prop-types.js +18 -0
- package/dist/esm/parts/DSPaginationContainer/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSPaginationContainer/typescript-testing/slot-props.js +11 -0
- package/dist/esm/parts/DSPaginationContainer/typescript-testing/slot-props.js.map +7 -0
- package/dist/esm/parts/DSPaginationSeparator/DSPaginationSeparator.js +43 -0
- package/dist/esm/parts/DSPaginationSeparator/DSPaginationSeparator.js.map +7 -0
- package/dist/esm/parts/DSPaginationSeparator/config/usePaginationSeparator.js +38 -0
- package/dist/esm/parts/DSPaginationSeparator/config/usePaginationSeparator.js.map +7 -0
- package/dist/esm/parts/DSPaginationSeparator/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSPaginationSeparator/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSPaginationSeparator/constants/index.js +15 -0
- package/dist/esm/parts/DSPaginationSeparator/constants/index.js.map +7 -0
- package/dist/esm/parts/DSPaginationSeparator/index.js +15 -0
- package/dist/esm/parts/DSPaginationSeparator/index.js.map +7 -0
- package/dist/esm/parts/DSPaginationSeparator/react-desc-prop-types.js +16 -0
- package/dist/esm/parts/DSPaginationSeparator/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSPaginator/DSPaginator.js +113 -0
- package/dist/esm/parts/DSPaginator/DSPaginator.js.map +7 -0
- package/dist/esm/parts/DSPaginator/{createPaginatorHeader.js → config/createPaginatorHeader.js} +7 -3
- package/dist/esm/parts/DSPaginator/config/createPaginatorHeader.js.map +7 -0
- package/dist/esm/parts/DSPaginator/{getOptions.js.map → config/getOptions.js.map} +1 -1
- package/dist/esm/parts/DSPaginator/{useOnElementOnResize.js.map → config/useOnElementOnResize.js.map} +1 -1
- package/dist/esm/parts/DSPaginator/{usePaginationSearch.js.map → config/usePaginationSearch.js.map} +1 -1
- package/dist/esm/parts/DSPaginator/{usePaginator.js → config/usePaginator.js} +52 -22
- package/dist/esm/parts/DSPaginator/config/usePaginator.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSPaginator/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSPaginator/constants/index.js +15 -0
- package/dist/esm/parts/DSPaginator/constants/index.js.map +7 -0
- package/dist/esm/parts/DSPaginator/index.js +6 -111
- package/dist/esm/parts/DSPaginator/index.js.map +3 -3
- package/dist/esm/parts/DSPaginator/react-desc-prop-types.js +34 -0
- package/dist/esm/parts/DSPaginator/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSPaginator/styled.js +60 -0
- package/dist/esm/parts/DSPaginator/styled.js.map +7 -0
- package/dist/esm/parts/DSPaginator/typescript-testing/slot-props.js +9 -0
- package/dist/esm/parts/DSPaginator/typescript-testing/slot-props.js.map +7 -0
- package/dist/esm/{typescript-testing/typescript-paginator-valid.js → parts/DSPaginator/typescript-testing/typescript-testing.js} +1 -1
- package/dist/esm/parts/DSPaginator/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/DSPerPageSelector.js +79 -0
- package/dist/esm/parts/DSPerPageSelector/DSPerPageSelector.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/{getOptions.js.map → config/getOptions.js.map} +1 -1
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelector.js +55 -0
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelector.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/useValidateProps.js +10 -0
- package/dist/esm/parts/DSPerPageSelector/config/useValidateProps.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/constants/index.js +20 -0
- package/dist/esm/parts/DSPerPageSelector/constants/index.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/index.js +6 -69
- package/dist/esm/parts/DSPerPageSelector/index.js.map +3 -3
- package/dist/esm/parts/DSPerPageSelector/react-desc-prop-types.js +33 -0
- package/dist/esm/parts/DSPerPageSelector/react-desc-prop-types.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/styled.js +60 -0
- package/dist/esm/parts/DSPerPageSelector/styled.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/typescript-testing/slots-props.js +9 -0
- package/dist/esm/parts/DSPerPageSelector/typescript-testing/slots-props.js.map +7 -0
- package/dist/esm/{typescript-testing/typescript-per-page-selector-valid.js → parts/DSPerPageSelector/typescript-testing/typescript-testing.js} +1 -1
- package/dist/esm/parts/DSPerPageSelector/typescript-testing/typescript-testing.js.map +7 -0
- package/dist/esm/parts/PaginationContent.js +7 -9
- package/dist/esm/parts/PaginationContent.js.map +2 -2
- package/dist/esm/parts/index.js +63 -6
- package/dist/esm/parts/index.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +1 -86
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/types/config/usePagination.d.ts +5 -0
- package/dist/types/config/useValidateProps.d.ts +3 -0
- package/dist/types/constants/index.d.ts +29 -0
- package/dist/types/index.d.ts +3 -7
- package/dist/types/parts/DSPageNextButton/DSPageNextButton.d.ts +5 -0
- package/dist/types/parts/DSPageNextButton/config/usePageNextButton.d.ts +377 -0
- package/dist/types/parts/DSPageNextButton/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSPageNextButton/constants/index.d.ts +9 -0
- package/dist/types/parts/DSPageNextButton/index.d.ts +3 -0
- package/dist/types/parts/DSPageNextButton/react-desc-prop-types.d.ts +23 -0
- package/dist/types/parts/DSPageNextButton/tests/DSPageNextButton.get-owner-props.test.d.ts +1 -0
- package/dist/types/parts/DSPageNextButton/tests/DSPageNextButton.keyboard.test.d.ts +1 -0
- package/dist/types/parts/DSPageNextButton/tests/utils/NextButtonTestRender.d.ts +2 -0
- package/dist/types/parts/DSPageNextButton/typescript-testing/slot-props.d.ts +1 -0
- package/dist/types/parts/DSPageNextButton/typescript-testing/typescript-testing.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/DSPagePrevButton.d.ts +5 -0
- package/dist/types/parts/DSPagePrevButton/config/usePagePrevButton.d.ts +377 -0
- package/dist/types/parts/DSPagePrevButton/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSPagePrevButton/constants/index.d.ts +9 -0
- package/dist/types/parts/DSPagePrevButton/index.d.ts +3 -0
- package/dist/types/parts/DSPagePrevButton/react-desc-prop-types.d.ts +23 -0
- package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.a11y.test.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.callbacks.test.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.data-testid.test.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.export.test.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.get-owner-props.test.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/tests/DSPagePrevButton.keyboard.test.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/tests/utils/PrevButtonTestRender.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/typescript-testing/slot-props.d.ts +1 -0
- package/dist/types/parts/DSPagePrevButton/typescript-testing/typescript-testing.d.ts +1 -0
- package/dist/types/parts/DSPaginationContainer/DSPaginationContainer.d.ts +5 -0
- package/dist/types/parts/DSPaginationContainer/config/usePaginationContainer.d.ts +377 -0
- package/dist/types/parts/DSPaginationContainer/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSPaginationContainer/constants/index.d.ts +11 -0
- package/dist/types/parts/DSPaginationContainer/index.d.ts +3 -0
- package/dist/types/parts/DSPaginationContainer/react-desc-prop-types.d.ts +22 -0
- package/dist/types/parts/DSPaginationContainer/tests/DSPaginationContainer.data-testid.test.d.ts +1 -0
- package/dist/types/parts/DSPaginationContainer/tests/DSPaginationContainer.exports.test.d.ts +1 -0
- package/dist/types/parts/DSPaginationContainer/tests/DSPaginationContainer.get-owner-props.test.d.ts +1 -0
- package/dist/types/parts/DSPaginationContainer/tests/utils/PaginationContainerRender.d.ts +1 -0
- package/dist/types/parts/DSPaginationContainer/typescript-testing/slot-props.d.ts +1 -0
- package/dist/types/parts/DSPaginationSeparator/DSPaginationSeparator.d.ts +7 -0
- package/dist/types/parts/DSPaginationSeparator/config/usePaginationSeparator.d.ts +377 -0
- package/dist/types/parts/DSPaginationSeparator/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSPaginationSeparator/constants/index.d.ts +9 -0
- package/dist/types/parts/DSPaginationSeparator/index.d.ts +3 -0
- package/dist/types/parts/DSPaginationSeparator/react-desc-prop-types.d.ts +18 -0
- package/dist/types/parts/DSPaginationSeparator/tests/DSPaginationSeparator.data-testid.test.d.ts +1 -0
- package/dist/types/parts/DSPaginationSeparator/tests/DSPaginationSeparator.exports.test.d.ts +1 -0
- package/dist/types/parts/DSPaginationSeparator/tests/DSPaginationSeparator.get-owner-props.test.d.ts +1 -0
- package/dist/types/parts/DSPaginationSeparator/tests/utils/DSPaginationSeparatorTestRender.d.ts +1 -0
- package/dist/types/parts/DSPaginator/DSPaginator.d.ts +5 -0
- package/dist/types/parts/DSPaginator/{createPaginatorHeader.d.ts → config/createPaginatorHeader.d.ts} +2 -1
- package/dist/types/parts/DSPaginator/config/usePaginator.d.ts +386 -0
- package/dist/types/parts/DSPaginator/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSPaginator/constants/index.d.ts +9 -0
- package/dist/types/parts/DSPaginator/index.d.ts +3 -4
- package/dist/types/parts/DSPaginator/react-desc-prop-types.d.ts +27 -0
- package/dist/types/parts/DSPaginator/styled.d.ts +2 -0
- package/dist/types/parts/DSPaginator/tests/DSPaginator.a11y.test.d.ts +1 -0
- package/dist/types/parts/DSPaginator/tests/DSPaginator.data-testid.test.d.ts +1 -0
- package/dist/types/parts/DSPaginator/tests/DSPaginator.exports.test.d.ts +1 -0
- package/dist/types/parts/DSPaginator/tests/DSPaginator.get-owner-props.test.d.ts +1 -0
- package/dist/types/parts/DSPaginator/tests/DSPaginator.keyboard.test.d.ts +1 -0
- package/dist/types/parts/DSPaginator/tests/utils/DSPaginatorTestRender.d.ts +1 -0
- package/dist/types/parts/DSPaginator/typescript-testing/slot-props.d.ts +1 -0
- package/dist/types/parts/DSPaginator/typescript-testing/typescript-testing.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/DSPerPageSelector.d.ts +5 -0
- package/dist/types/parts/DSPerPageSelector/config/usePerPageSelector.d.ts +383 -0
- package/dist/types/parts/DSPerPageSelector/config/useValidateProps.d.ts +3 -0
- package/dist/types/parts/DSPerPageSelector/constants/index.d.ts +13 -0
- package/dist/types/parts/DSPerPageSelector/index.d.ts +3 -4
- package/dist/types/parts/DSPerPageSelector/react-desc-prop-types.d.ts +28 -0
- package/dist/types/parts/DSPerPageSelector/styled.d.ts +2 -0
- package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.a11y.test.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.data-testid.test.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.exports.test.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.get-owner-props.test.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/tests/DSPerPageSelector.keyboard.test.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/tests/utils/PerPageSelectorTestRender.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/typescript-testing/slots-props.d.ts +1 -0
- package/dist/types/parts/DSPerPageSelector/typescript-testing/typescript-testing.d.ts +1 -0
- package/dist/types/parts/index.d.ts +6 -5
- package/dist/types/react-desc-prop-types.d.ts +9 -540
- package/dist/types/tests/DSPagination.data-testid.test.d.ts +1 -0
- package/dist/types/tests/DSPagination.exports.test.d.ts +1 -0
- package/dist/types/tests/DSPagination.get-owner-props.test.d.ts +1 -0
- package/package.json +15 -12
- package/dist/cjs/DSPaginationDefinitions.js.map +0 -7
- package/dist/cjs/Pagination.js.map +0 -7
- package/dist/cjs/PaginationDataTestID.js.map +0 -7
- package/dist/cjs/parts/DSPageNextButton.js.map +0 -7
- package/dist/cjs/parts/DSPagePrevButton.js.map +0 -7
- package/dist/cjs/parts/DSPaginationContainer.js.map +0 -7
- package/dist/cjs/parts/DSPaginator/createPaginatorHeader.js.map +0 -7
- package/dist/cjs/parts/DSPaginator/usePaginator.js.map +0 -7
- package/dist/cjs/parts/DSPerPageSelector/usePerPageSelector.js.map +0 -7
- package/dist/cjs/props.js +0 -85
- package/dist/cjs/props.js.map +0 -7
- package/dist/cjs/styled.js.map +0 -7
- package/dist/cjs/typescript-testing/typescript-page-next-button-valid.js.map +0 -7
- package/dist/cjs/typescript-testing/typescript-page-prev-button-valid.js.map +0 -7
- package/dist/cjs/typescript-testing/typescript-paginator-valid.js.map +0 -7
- package/dist/cjs/typescript-testing/typescript-per-page-selector-valid.js.map +0 -7
- package/dist/esm/DSPaginationDefinitions.js +0 -24
- package/dist/esm/DSPaginationDefinitions.js.map +0 -7
- package/dist/esm/Pagination.js.map +0 -7
- package/dist/esm/PaginationDataTestID.js +0 -14
- package/dist/esm/PaginationDataTestID.js.map +0 -7
- package/dist/esm/parts/DSPageNextButton.js +0 -47
- package/dist/esm/parts/DSPageNextButton.js.map +0 -7
- package/dist/esm/parts/DSPagePrevButton.js +0 -47
- package/dist/esm/parts/DSPagePrevButton.js.map +0 -7
- package/dist/esm/parts/DSPaginationContainer.js +0 -31
- package/dist/esm/parts/DSPaginationContainer.js.map +0 -7
- package/dist/esm/parts/DSPaginator/createPaginatorHeader.js.map +0 -7
- package/dist/esm/parts/DSPaginator/usePaginator.js.map +0 -7
- package/dist/esm/parts/DSPerPageSelector/usePerPageSelector.js +0 -40
- package/dist/esm/parts/DSPerPageSelector/usePerPageSelector.js.map +0 -7
- package/dist/esm/props.js +0 -55
- package/dist/esm/props.js.map +0 -7
- package/dist/esm/styled.js +0 -92
- package/dist/esm/styled.js.map +0 -7
- package/dist/esm/typescript-testing/typescript-page-next-button-valid.js.map +0 -7
- package/dist/esm/typescript-testing/typescript-page-prev-button-valid.js.map +0 -7
- package/dist/esm/typescript-testing/typescript-paginator-valid.js.map +0 -7
- package/dist/esm/typescript-testing/typescript-per-page-selector-valid.js.map +0 -7
- package/dist/types/DSPaginationDefinitions.d.ts +0 -12
- package/dist/types/PaginationDataTestID.d.ts +0 -9
- package/dist/types/parts/DSPageNextButton.d.ts +0 -4
- package/dist/types/parts/DSPagePrevButton.d.ts +0 -4
- package/dist/types/parts/DSPaginationContainer.d.ts +0 -4
- package/dist/types/parts/DSPaginator/usePaginator.d.ts +0 -381
- package/dist/types/parts/DSPerPageSelector/usePerPageSelector.d.ts +0 -377
- package/dist/types/props.d.ts +0 -20
- package/dist/types/styled.d.ts +0 -7
- /package/dist/cjs/parts/DSPaginator/{getOptions.js → config/getOptions.js} +0 -0
- /package/dist/cjs/parts/DSPaginator/{useOnElementOnResize.js → config/useOnElementOnResize.js} +0 -0
- /package/dist/cjs/parts/DSPaginator/{usePaginationSearch.js → config/usePaginationSearch.js} +0 -0
- /package/dist/cjs/parts/DSPerPageSelector/{getOptions.js → config/getOptions.js} +0 -0
- /package/dist/esm/parts/DSPaginator/{getOptions.js → config/getOptions.js} +0 -0
- /package/dist/esm/parts/DSPaginator/{useOnElementOnResize.js → config/useOnElementOnResize.js} +0 -0
- /package/dist/esm/parts/DSPaginator/{usePaginationSearch.js → config/usePaginationSearch.js} +0 -0
- /package/dist/esm/parts/DSPerPageSelector/{getOptions.js → config/getOptions.js} +0 -0
- /package/dist/types/{Pagination.d.ts → DSPagination.d.ts} +0 -0
- /package/dist/types/{typescript-testing/typescript-page-next-button-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.a11y.test.d.ts} +0 -0
- /package/dist/types/{typescript-testing/typescript-page-prev-button-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.callbacks.test.d.ts} +0 -0
- /package/dist/types/{typescript-testing/typescript-paginator-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.data-testid.test.d.ts} +0 -0
- /package/dist/types/{typescript-testing/typescript-per-page-selector-valid.d.ts → parts/DSPageNextButton/tests/DSPageNextButton.export.test.d.ts} +0 -0
- /package/dist/types/parts/DSPaginator/{getOptions.d.ts → config/getOptions.d.ts} +0 -0
- /package/dist/types/parts/DSPaginator/{useOnElementOnResize.d.ts → config/useOnElementOnResize.d.ts} +0 -0
- /package/dist/types/parts/DSPaginator/{usePaginationSearch.d.ts → config/usePaginationSearch.d.ts} +0 -0
- /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
|
-
|
|
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
|
|
37
|
-
var
|
|
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.
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
+
}
|
|
@@ -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": ["
|
|
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": []
|
package/dist/cjs/parts/DSPerPageSelector/{usePerPageSelector.js → config/usePerPageSelector.js}
RENAMED
|
@@ -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 = (
|
|
39
|
-
const
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
globalAttributes,
|
|
67
|
-
|
|
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
|
+
}
|