{"version":3,"file":"TablePaginationActions.mjs","sources":["../../../../../../../../node_modules/@mui/material/TablePagination/TablePaginationActions.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport KeyboardArrowLeft from \"../internal/svg-icons/KeyboardArrowLeft.js\";\nimport KeyboardArrowRight from \"../internal/svg-icons/KeyboardArrowRight.js\";\nimport IconButton from \"../IconButton/index.js\";\nimport LastPageIconDefault from \"../internal/svg-icons/LastPage.js\";\nimport FirstPageIconDefault from \"../internal/svg-icons/FirstPage.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TablePaginationActions = /*#__PURE__*/React.forwardRef(function TablePaginationActions(props, ref) {\n  const {\n    backIconButtonProps,\n    count,\n    disabled = false,\n    getItemAriaLabel,\n    nextIconButtonProps,\n    onPageChange,\n    page,\n    rowsPerPage,\n    showFirstButton,\n    showLastButton,\n    slots = {},\n    slotProps = {},\n    ...other\n  } = props;\n  const isRtl = useRtl();\n  const handleFirstPageButtonClick = event => {\n    onPageChange(event, 0);\n  };\n  const handleBackButtonClick = event => {\n    onPageChange(event, page - 1);\n  };\n  const handleNextButtonClick = event => {\n    onPageChange(event, page + 1);\n  };\n  const handleLastPageButtonClick = event => {\n    onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n  };\n  const FirstButton = slots.firstButton ?? IconButton;\n  const LastButton = slots.lastButton ?? IconButton;\n  const NextButton = slots.nextButton ?? IconButton;\n  const PreviousButton = slots.previousButton ?? IconButton;\n  const FirstButtonIcon = slots.firstButtonIcon ?? FirstPageIconDefault;\n  const LastButtonIcon = slots.lastButtonIcon ?? LastPageIconDefault;\n  const NextButtonIcon = slots.nextButtonIcon ?? KeyboardArrowRight;\n  const PreviousButtonIcon = slots.previousButtonIcon ?? KeyboardArrowLeft;\n  const FirstButtonSlot = isRtl ? LastButton : FirstButton;\n  const PreviousButtonSlot = isRtl ? NextButton : PreviousButton;\n  const NextButtonSlot = isRtl ? PreviousButton : NextButton;\n  const LastButtonSlot = isRtl ? FirstButton : LastButton;\n  const firstButtonSlotProps = isRtl ? slotProps.lastButton : slotProps.firstButton;\n  const previousButtonSlotProps = isRtl ? slotProps.nextButton : slotProps.previousButton;\n  const nextButtonSlotProps = isRtl ? slotProps.previousButton : slotProps.nextButton;\n  const lastButtonSlotProps = isRtl ? slotProps.firstButton : slotProps.lastButton;\n  return /*#__PURE__*/_jsxs(\"div\", {\n    ref: ref,\n    ...other,\n    children: [showFirstButton && /*#__PURE__*/_jsx(FirstButtonSlot, {\n      onClick: handleFirstPageButtonClick,\n      disabled: disabled || page === 0,\n      \"aria-label\": getItemAriaLabel('first', page),\n      title: getItemAriaLabel('first', page),\n      ...firstButtonSlotProps,\n      children: isRtl ? /*#__PURE__*/_jsx(LastButtonIcon, {\n        ...slotProps.lastButtonIcon\n      }) : /*#__PURE__*/_jsx(FirstButtonIcon, {\n        ...slotProps.firstButtonIcon\n      })\n    }), /*#__PURE__*/_jsx(PreviousButtonSlot, {\n      onClick: handleBackButtonClick,\n      disabled: disabled || page === 0,\n      color: \"inherit\",\n      \"aria-label\": getItemAriaLabel('previous', page),\n      title: getItemAriaLabel('previous', page),\n      ...(previousButtonSlotProps ?? backIconButtonProps),\n      children: isRtl ? /*#__PURE__*/_jsx(NextButtonIcon, {\n        ...slotProps.nextButtonIcon\n      }) : /*#__PURE__*/_jsx(PreviousButtonIcon, {\n        ...slotProps.previousButtonIcon\n      })\n    }), /*#__PURE__*/_jsx(NextButtonSlot, {\n      onClick: handleNextButtonClick,\n      disabled: disabled || (count !== -1 ? page >= Math.ceil(count / rowsPerPage) - 1 : false),\n      color: \"inherit\",\n      \"aria-label\": getItemAriaLabel('next', page),\n      title: getItemAriaLabel('next', page),\n      ...(nextButtonSlotProps ?? nextIconButtonProps),\n      children: isRtl ? /*#__PURE__*/_jsx(PreviousButtonIcon, {\n        ...slotProps.previousButtonIcon\n      }) : /*#__PURE__*/_jsx(NextButtonIcon, {\n        ...slotProps.nextButtonIcon\n      })\n    }), showLastButton && /*#__PURE__*/_jsx(LastButtonSlot, {\n      onClick: handleLastPageButtonClick,\n      disabled: disabled || page >= Math.ceil(count / rowsPerPage) - 1,\n      \"aria-label\": getItemAriaLabel('last', page),\n      title: getItemAriaLabel('last', page),\n      ...lastButtonSlotProps,\n      children: isRtl ? /*#__PURE__*/_jsx(FirstButtonIcon, {\n        ...slotProps.firstButtonIcon\n      }) : /*#__PURE__*/_jsx(LastButtonIcon, {\n        ...slotProps.lastButtonIcon\n      })\n    })]\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? TablePaginationActions.propTypes = {\n  /**\n   * Props applied to the back arrow [`IconButton`](/material-ui/api/icon-button/) element.\n   */\n  backIconButtonProps: PropTypes.object,\n  /**\n   * The total number of rows.\n   */\n  count: PropTypes.number.isRequired,\n  /**\n   * If `true`, the component is disabled.\n   * @default false\n   */\n  disabled: PropTypes.bool,\n  /**\n   * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n   *\n   * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n   *\n   * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous'). Defaults to 'page'.\n   * @param {number} page The page number to format.\n   * @returns {string}\n   */\n  getItemAriaLabel: PropTypes.func.isRequired,\n  /**\n   * Props applied to the next arrow [`IconButton`](/material-ui/api/icon-button/) element.\n   */\n  nextIconButtonProps: PropTypes.object,\n  /**\n   * Callback fired when the page is changed.\n   *\n   * @param {object} event The event source of the callback.\n   * @param {number} page The page selected.\n   */\n  onPageChange: PropTypes.func.isRequired,\n  /**\n   * The zero-based index of the current page.\n   */\n  page: PropTypes.number.isRequired,\n  /**\n   * The number of rows per page.\n   */\n  rowsPerPage: PropTypes.number.isRequired,\n  /**\n   * If `true`, show the first-page button.\n   */\n  showFirstButton: PropTypes.bool.isRequired,\n  /**\n   * If `true`, show the last-page button.\n   */\n  showLastButton: PropTypes.bool.isRequired,\n  /**\n   * The props used for each slot inside the TablePaginationActions.\n   * @default {}\n   */\n  slotProps: PropTypes.shape({\n    firstButton: PropTypes.object,\n    firstButtonIcon: PropTypes.object,\n    lastButton: PropTypes.object,\n    lastButtonIcon: PropTypes.object,\n    nextButton: PropTypes.object,\n    nextButtonIcon: PropTypes.object,\n    previousButton: PropTypes.object,\n    previousButtonIcon: PropTypes.object\n  }),\n  /**\n   * The components used for each slot inside the TablePaginationActions.\n   * Either a string to use a HTML element or a component.\n   * @default {}\n   */\n  slots: PropTypes.shape({\n    firstButton: PropTypes.elementType,\n    firstButtonIcon: PropTypes.elementType,\n    lastButton: PropTypes.elementType,\n    lastButtonIcon: PropTypes.elementType,\n    nextButton: PropTypes.elementType,\n    nextButtonIcon: PropTypes.elementType,\n    previousButton: PropTypes.elementType,\n    previousButtonIcon: PropTypes.elementType\n  })\n} : void 0;\nexport default TablePaginationActions;"],"names":["React.forwardRef","_jsxs","_jsx"],"mappings":"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","x_google_ignoreList":[0]}