{"version":3,"sources":["../src/TableFooterPagination/TableFooterPagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clsx } from 'clsx';\nimport { ChevronDown } from 'lucide-react';\n\nexport interface TableFooterPaginationProps {\n  /**\n   * Current page number (1-indexed)\n   */\n  currentPage: number;\n  /**\n   * Total number of pages\n   */\n  totalPages: number;\n  /**\n   * Callback when page changes\n   */\n  onPageChange: (page: number) => void;\n  /**\n   * Total number of results\n   */\n  totalResults: number;\n  /**\n   * Number of results currently showing\n   */\n  currentResults: number;\n  /**\n   * Items per page\n   */\n  itemsPerPage: number;\n  /**\n   * Callback when items per page changes\n   */\n  onItemsPerPageChange?: (itemsPerPage: number) => void;\n  /**\n   * Callback when expand table is clicked\n   */\n  onExpandTable?: () => void;\n  /**\n   * Custom className\n   */\n  className?: string;\n  /**\n   * Custom style\n   */\n  style?: React.CSSProperties;\n  /**\n   * Test ID for testing\n   */\n  'data-testid'?: string;\n}\n\nconst containerStyles: React.CSSProperties = {\n  display: 'flex',\n  alignItems: 'center',\n  justifyContent: 'space-between',\n  backgroundColor: 'white',\n  paddingTop: '4px',\n  paddingBottom: 0,\n  paddingLeft: 0,\n  paddingRight: 0,\n  fontFamily: \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\n};\n\nconst textStyles: React.CSSProperties = {\n  fontSize: '13px',\n  fontWeight: 400,\n  lineHeight: '1.5',\n  color: '#2f2f2f',\n  minWidth: '165px',\n};\n\nconst paginationWrapperStyles: React.CSSProperties = {\n  display: 'flex',\n  alignItems: 'center',\n  justifyContent: 'center',\n  gap: '8px',\n  minWidth: '165px',\n  flexWrap: 'wrap',\n};\n\nconst paginationButtonStyles: React.CSSProperties = {\n  width: '32px',\n  height: '32px',\n  minWidth: '32px',\n  minHeight: '32px',\n  maxWidth: '32px',\n  maxHeight: '32px',\n  borderRadius: '99px',\n  border: 'none',\n  background: 'white',\n  cursor: 'pointer',\n  display: 'flex',\n  alignItems: 'center',\n  justifyContent: 'center',\n  padding: 0,\n  transition: 'background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out',\n  flexShrink: 0,\n  WebkitTapHighlightColor: 'transparent',\n  outline: 'none',\n};\n\nconst paginationButtonDisabledStyles: React.CSSProperties = {\n  cursor: 'not-allowed',\n  opacity: 0.5,\n};\n\nconst paginationLabelStyles: React.CSSProperties = {\n  fontSize: '13px',\n  fontWeight: 400,\n  lineHeight: '1.5',\n  color: '#2f2f2f',\n};\n\nconst paginationInputWrapperStyles: React.CSSProperties = {\n  display: 'flex',\n  alignItems: 'center',\n  gap: '8px',\n};\n\nconst paginationInputStyles: React.CSSProperties = {\n  width: '60px',\n  paddingTop: '12px',\n  paddingBottom: '12px',\n  paddingLeft: '16px',\n  paddingRight: '16px',\n  fontSize: '13px',\n  fontWeight: 400,\n  lineHeight: '1.5',\n  color: '#2f2f2f',\n  backgroundColor: 'white',\n  border: '1px solid #dfdfdf',\n  borderRadius: '8px',\n  fontFamily: 'inherit',\n  textAlign: 'center',\n  outline: 'none',\n};\n\nconst paginationInputFocusStyles: React.CSSProperties = {\n  boxShadow: '0px 0px 0px 3px #3cad51',\n};\n\nconst rightAlignedStyles: React.CSSProperties = {\n  display: 'flex',\n  gap: '16px',\n  alignItems: 'center',\n  justifyContent: 'flex-end',\n  minWidth: '165px',\n};\n\nconst perPageButtonStyles: React.CSSProperties = {\n  height: '32px',\n  backgroundColor: 'white',\n  border: '1px solid #d1d1d1',\n  borderRadius: '8px',\n  display: 'flex',\n  alignItems: 'center',\n  gap: '8px',\n  paddingLeft: '12px',\n  paddingRight: '8px',\n  paddingTop: '8px',\n  paddingBottom: '8px',\n  cursor: 'pointer',\n  transition: 'background-color 0.2s ease-in-out',\n  outline: 'none',\n};\n\nconst perPageTextStyles: React.CSSProperties = {\n  fontSize: '13px',\n  fontWeight: 600,\n  lineHeight: '1.5',\n  color: '#2f2f2f',\n  textAlign: 'center',\n};\n\nconst expandButtonStyles: React.CSSProperties = {\n  height: '32px',\n  minHeight: '32px',\n  backgroundColor: '#efefef',\n  border: 'none',\n  borderRadius: '99px',\n  display: 'flex',\n  alignItems: 'center',\n  justifyContent: 'center',\n  paddingLeft: '16px',\n  paddingRight: '16px',\n  paddingTop: 0,\n  paddingBottom: 0,\n  gap: 0,\n  cursor: 'pointer',\n  transition: 'background-color 0.2s ease-in-out',\n  outline: 'none',\n};\n\nconst expandButtonTextStyles: React.CSSProperties = {\n  fontSize: '13px',\n  fontWeight: 600,\n  lineHeight: '1.5',\n  color: '#2f2f2f',\n  textAlign: 'center',\n};\n\n/**\n * TableFooterPagination component - Arbor Design System\n *\n * A table footer component with result count, pagination, and table controls.\n */\nexport const TableFooterPagination = React.forwardRef<\n  HTMLDivElement,\n  TableFooterPaginationProps\n>(\n  (\n    {\n      currentPage,\n      totalPages,\n      onPageChange,\n      totalResults,\n      currentResults,\n      itemsPerPage,\n      onItemsPerPageChange,\n      onExpandTable,\n      className,\n      style,\n      'data-testid': dataTestId,\n    },\n    ref\n  ) => {\n    const [inputValue, setInputValue] = React.useState(currentPage.toString());\n    const [focusedButton, setFocusedButton] = React.useState<string | null>(null);\n    const [hoveredButton, setHoveredButton] = React.useState<string | null>(null);\n    const [activeButton, setActiveButton] = React.useState<string | null>(null);\n    const [inputFocused, setInputFocused] = React.useState(false);\n    const [perPageHovered, setPerPageHovered] = React.useState(false);\n    const [expandHovered, setExpandHovered] = React.useState(false);\n\n    React.useEffect(() => {\n      setInputValue(currentPage.toString());\n    }, [currentPage]);\n\n    const handleFirstPage = () => {\n      if (currentPage !== 1) {\n        onPageChange(1);\n      }\n    };\n\n    const handlePreviousPage = () => {\n      if (currentPage > 1) {\n        onPageChange(currentPage - 1);\n      }\n    };\n\n    const handleNextPage = () => {\n      if (currentPage < totalPages) {\n        onPageChange(currentPage + 1);\n      }\n    };\n\n    const handleLastPage = () => {\n      if (currentPage !== totalPages) {\n        onPageChange(totalPages);\n      }\n    };\n\n    const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n      const value = e.target.value;\n      if (value === '' || /^\\d+$/.test(value)) {\n        setInputValue(value);\n      }\n    };\n\n    const handleInputBlur = () => {\n      setInputFocused(false);\n      const pageNumber = parseInt(inputValue, 10);\n      if (isNaN(pageNumber) || pageNumber < 1) {\n        setInputValue(currentPage.toString());\n      } else if (pageNumber > totalPages) {\n        setInputValue(totalPages.toString());\n        onPageChange(totalPages);\n      } else if (pageNumber !== currentPage) {\n        onPageChange(pageNumber);\n      }\n    };\n\n    const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n      if (e.key === 'Enter') {\n        handleInputBlur();\n        (e.target as HTMLInputElement).blur();\n      }\n    };\n\n    const getButtonStyle = (\n      buttonName: string,\n      disabled: boolean\n    ): React.CSSProperties => {\n      if (disabled) {\n        return { ...paginationButtonStyles, ...paginationButtonDisabledStyles };\n      }\n\n      const isHovered = hoveredButton === buttonName;\n      const isFocused = focusedButton === buttonName;\n      const isActive = activeButton === buttonName;\n\n      const style: React.CSSProperties = {\n        ...paginationButtonStyles,\n      };\n\n      if (isHovered && !isFocused && !isActive) {\n        style.backgroundColor = '#efefef';\n      }\n\n      if (isActive && !isFocused) {\n        style.backgroundColor = 'transparent';\n      }\n\n      if (isFocused) {\n        style.boxShadow = '0px 0px 0px 3px #3cad51';\n        style.backgroundColor = 'rgba(255, 255, 255, 0.01)';\n      }\n\n      return style;\n    };\n\n    const isFirstDisabled = currentPage === 1;\n    const isPreviousDisabled = currentPage === 1;\n    const isNextDisabled = currentPage === totalPages;\n    const isLastDisabled = currentPage === totalPages;\n\n    const resultText =\n      currentResults === totalResults\n        ? `Showing ${totalResults} results`\n        : `Showing ${currentResults} of ${totalResults} results`;\n\n    return (\n      <div\n        ref={ref}\n        className={clsx('arbor-table-footer-pagination', className)}\n        style={{ ...containerStyles, ...style }}\n        data-testid={dataTestId}\n      >\n        {/* Left section - Results count */}\n        <div style={textStyles}>{resultText}</div>\n\n        {/* Middle section - Pagination */}\n        <div style={paginationWrapperStyles}>\n          <button\n            type=\"button\"\n            onClick={handleFirstPage}\n            disabled={isFirstDisabled}\n            onMouseEnter={() => setHoveredButton('first')}\n            onMouseLeave={() => setHoveredButton(null)}\n            onMouseDown={() => setActiveButton('first')}\n            onMouseUp={() => setActiveButton(null)}\n            onFocus={() => setFocusedButton('first')}\n            onBlur={() => setFocusedButton(null)}\n            style={getButtonStyle('first', isFirstDisabled)}\n            aria-label=\"Go to first page\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 16 16\"\n              fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                d=\"M7 12L3 8L7 4M11 12L7 8L11 4\"\n                stroke=\"#2f2f2f\"\n                strokeWidth=\"1.5\"\n                strokeLinecap=\"round\"\n                strokeLinejoin=\"round\"\n              />\n            </svg>\n          </button>\n\n          <button\n            type=\"button\"\n            onClick={handlePreviousPage}\n            disabled={isPreviousDisabled}\n            onMouseEnter={() => setHoveredButton('previous')}\n            onMouseLeave={() => setHoveredButton(null)}\n            onMouseDown={() => setActiveButton('previous')}\n            onMouseUp={() => setActiveButton(null)}\n            onFocus={() => setFocusedButton('previous')}\n            onBlur={() => setFocusedButton(null)}\n            style={getButtonStyle('previous', isPreviousDisabled)}\n            aria-label=\"Go to previous page\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 16 16\"\n              fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                d=\"M10 12L6 8L10 4\"\n                stroke=\"#2f2f2f\"\n                strokeWidth=\"1.5\"\n                strokeLinecap=\"round\"\n                strokeLinejoin=\"round\"\n              />\n            </svg>\n          </button>\n\n          <div style={paginationInputWrapperStyles}>\n            <span style={paginationLabelStyles}>Page</span>\n            <input\n              type=\"text\"\n              value={inputValue}\n              onChange={handleInputChange}\n              onBlur={handleInputBlur}\n              onFocus={() => setInputFocused(true)}\n              onKeyDown={handleInputKeyDown}\n              style={{\n                ...paginationInputStyles,\n                ...(inputFocused && paginationInputFocusStyles),\n              }}\n              aria-label={`Page ${currentPage} of ${totalPages}`}\n            />\n            <span style={paginationLabelStyles}>of {totalPages}</span>\n          </div>\n\n          <button\n            type=\"button\"\n            onClick={handleNextPage}\n            disabled={isNextDisabled}\n            onMouseEnter={() => setHoveredButton('next')}\n            onMouseLeave={() => setHoveredButton(null)}\n            onMouseDown={() => setActiveButton('next')}\n            onMouseUp={() => setActiveButton(null)}\n            onFocus={() => setFocusedButton('next')}\n            onBlur={() => setFocusedButton(null)}\n            style={getButtonStyle('next', isNextDisabled)}\n            aria-label=\"Go to next page\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 16 16\"\n              fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                d=\"M6 4L10 8L6 12\"\n                stroke=\"#2f2f2f\"\n                strokeWidth=\"1.5\"\n                strokeLinecap=\"round\"\n                strokeLinejoin=\"round\"\n              />\n            </svg>\n          </button>\n\n          <button\n            type=\"button\"\n            onClick={handleLastPage}\n            disabled={isLastDisabled}\n            onMouseEnter={() => setHoveredButton('last')}\n            onMouseLeave={() => setHoveredButton(null)}\n            onMouseDown={() => setActiveButton('last')}\n            onMouseUp={() => setActiveButton(null)}\n            onFocus={() => setFocusedButton('last')}\n            onBlur={() => setFocusedButton(null)}\n            style={getButtonStyle('last', isLastDisabled)}\n            aria-label=\"Go to last page\"\n          >\n            <svg\n              width=\"16\"\n              height=\"16\"\n              viewBox=\"0 0 16 16\"\n              fill=\"none\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                d=\"M9 4L13 8L9 12M5 4L9 8L5 12\"\n                stroke=\"#2f2f2f\"\n                strokeWidth=\"1.5\"\n                strokeLinecap=\"round\"\n                strokeLinejoin=\"round\"\n              />\n            </svg>\n          </button>\n        </div>\n\n        {/* Right section - Controls */}\n        <div style={rightAlignedStyles}>\n          {onItemsPerPageChange && (\n            <button\n              type=\"button\"\n              onClick={() => onItemsPerPageChange(itemsPerPage)}\n              onMouseEnter={() => setPerPageHovered(true)}\n              onMouseLeave={() => setPerPageHovered(false)}\n              style={{\n                ...perPageButtonStyles,\n                backgroundColor: perPageHovered ? '#f5f5f5' : 'white',\n              }}\n              aria-label=\"Items per page\"\n            >\n              <span style={perPageTextStyles}>{itemsPerPage} per page</span>\n              <ChevronDown size={16} color=\"#2f2f2f\" />\n            </button>\n          )}\n\n          {onExpandTable && (\n            <button\n              type=\"button\"\n              onClick={onExpandTable}\n              onMouseEnter={() => setExpandHovered(true)}\n              onMouseLeave={() => setExpandHovered(false)}\n              style={{\n                ...expandButtonStyles,\n                backgroundColor: expandHovered ? '#e5e5e5' : '#efefef',\n              }}\n              aria-label=\"Expand table\"\n            >\n              <span style={expandButtonTextStyles}>Expand table</span>\n            </button>\n          )}\n        </div>\n      </div>\n    );\n  }\n);\n\nTableFooterPagination.displayName = 'TableFooterPagination';\n"],"mappings":"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","names":["style"]}