{"version":3,"file":"DataTablePagination.cjs","names":["_react","require","_Box","_Button","_index","_Typography","_jsxRuntime","paginationTypeValues","exports","DataTablePagination","currentPage","currentNumberOfResults","isNextButtonDisabled","isPreviousButtonDisabled","onClickNext","onClickPrevious","paginationType","jsx","Box","sx","display","gap","alignItems","children","jsxs","Fragment","Button","isDisabled","label","onClick","variant","Support","color","startIcon","ArrowLeftIcon","component","endIcon","ArrowRightIcon","MemoizedDataTablePagination","memo","displayName"],"sources":["../../../src/labs/DataTablePagination.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo } from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated/index.js\";\nimport { Support } from \"../Typography.js\";\n\nexport const paginationTypeValues = [\"paged\", \"loadMore\"] as const;\n\nexport type DataTablePaginationProps = {\n  currentNumberOfResults?: number;\n  currentPage?: number;\n  /**\n   * If `true`, the next-page button is disabled.\n   */\n  isNextButtonDisabled?: boolean;\n  /**\n   * If `true`, the previous-page button is disabled.\n   */\n  isPreviousButtonDisabled?: boolean;\n  onClickNext: () => void;\n  onClickPrevious?: () => void;\n  paginationType?: (typeof paginationTypeValues)[number];\n};\n\nconst DataTablePagination = ({\n  currentPage,\n  currentNumberOfResults,\n  isNextButtonDisabled,\n  isPreviousButtonDisabled,\n  onClickNext,\n  onClickPrevious,\n  paginationType,\n}: DataTablePaginationProps) => {\n  return (\n    <Box sx={{ display: \"flex\", gap: 4, alignItems: \"center\" }}>\n      {paginationType === \"loadMore\" ? (\n        <>\n          <Button\n            isDisabled={isNextButtonDisabled}\n            label=\"Show more\"\n            onClick={onClickNext}\n            variant=\"secondary\"\n          />\n          {currentNumberOfResults && (\n            <Support color=\"textSecondary\">\n              {currentNumberOfResults} results\n            </Support>\n          )}\n        </>\n      ) : (\n        <>\n          <Button\n            isDisabled={isPreviousButtonDisabled}\n            label=\"Previous\"\n            onClick={onClickPrevious}\n            startIcon={<ArrowLeftIcon />}\n            variant=\"secondary\"\n          />\n          {currentPage && (\n            <Box>\n              <Support color=\"textSecondary\" component=\"span\">\n                Page {currentPage}\n              </Support>\n            </Box>\n          )}\n          <Button\n            endIcon={<ArrowRightIcon />}\n            isDisabled={isNextButtonDisabled}\n            label=\"Next\"\n            onClick={onClickNext}\n            variant=\"secondary\"\n          />\n        </>\n      )}\n    </Box>\n  );\n};\n\nconst MemoizedDataTablePagination = memo(DataTablePagination);\nMemoizedDataTablePagination.displayName = \"DataTablePagination\";\n\nexport { MemoizedDataTablePagination as DataTablePagination };\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAA2C,IAAAK,WAAA,GAAAL,OAAA;AAjB3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASO,MAAMM,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU;AAkBlE,MAAME,mBAAmB,GAAGA,CAAC;EAC3BC,WAAW;EACXC,sBAAsB;EACtBC,oBAAoB;EACpBC,wBAAwB;EACxBC,WAAW;EACXC,eAAe;EACfC;AACwB,CAAC,KAAK;EAC9B,OACE,IAAAV,WAAA,CAAAW,GAAA,EAACf,IAAA,CAAAgB,GAAG;IAACC,EAAE,EAAE;MAAEC,OAAO,EAAE,MAAM;MAAEC,GAAG,EAAE,CAAC;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,EACxDP,cAAc,KAAK,UAAU,GAC5B,IAAAV,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;MAAAF,QAAA,GACE,IAAAjB,WAAA,CAAAW,GAAA,EAACd,OAAA,CAAAuB,MAAM;QACLC,UAAU,EAAEf,oBAAqB;QACjCgB,KAAK,EAAC,WAAW;QACjBC,OAAO,EAAEf,WAAY;QACrBgB,OAAO,EAAC;MAAW,CACpB,CAAC,EACDnB,sBAAsB,IACrB,IAAAL,WAAA,CAAAkB,IAAA,EAACnB,WAAA,CAAA0B,OAAO;QAACC,KAAK,EAAC,eAAe;QAAAT,QAAA,GAC3BZ,sBAAsB,EAAC,UAC1B;MAAA,CAAS,CACV;IAAA,CACD,CAAC,GAEH,IAAAL,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;MAAAF,QAAA,GACE,IAAAjB,WAAA,CAAAW,GAAA,EAACd,OAAA,CAAAuB,MAAM;QACLC,UAAU,EAAEd,wBAAyB;QACrCe,KAAK,EAAC,UAAU;QAChBC,OAAO,EAAEd,eAAgB;QACzBkB,SAAS,EAAE,IAAA3B,WAAA,CAAAW,GAAA,EAACb,MAAA,CAAA8B,aAAa,IAAE,CAAE;QAC7BJ,OAAO,EAAC;MAAW,CACpB,CAAC,EACDpB,WAAW,IACV,IAAAJ,WAAA,CAAAW,GAAA,EAACf,IAAA,CAAAgB,GAAG;QAAAK,QAAA,EACF,IAAAjB,WAAA,CAAAkB,IAAA,EAACnB,WAAA,CAAA0B,OAAO;UAACC,KAAK,EAAC,eAAe;UAACG,SAAS,EAAC,MAAM;UAAAZ,QAAA,GAAC,OACzC,EAACb,WAAW;QAAA,CACV;MAAC,CACP,CACN,EACD,IAAAJ,WAAA,CAAAW,GAAA,EAACd,OAAA,CAAAuB,MAAM;QACLU,OAAO,EAAE,IAAA9B,WAAA,CAAAW,GAAA,EAACb,MAAA,CAAAiC,cAAc,IAAE,CAAE;QAC5BV,UAAU,EAAEf,oBAAqB;QACjCgB,KAAK,EAAC,MAAM;QACZC,OAAO,EAAEf,WAAY;QACrBgB,OAAO,EAAC;MAAW,CACpB,CAAC;IAAA,CACF;EACH,CACE,CAAC;AAEV,CAAC;AAED,MAAMQ,2BAA2B,GAAA9B,OAAA,CAAAC,mBAAA,GAAG,IAAA8B,WAAI,EAAC9B,mBAAmB,CAAC;AAC7D6B,2BAA2B,CAACE,WAAW,qDAAwB","ignoreList":[]}