Sha256: 30929c47e4845c1da2fa9ebbb7d45b0cffe9a7d6fa903ce2ad6fac56442532e7

Contents?: true

Size: 1.45 KB

Versions: 465

Compression:

Stored size: 1.45 KB

Contents

import React from "react";
import classnames from "classnames";
import {
  buildAriaProps,
  buildDataProps,
  buildHtmlProps,
} from "../../utilities/props";
import { globalProps } from "../../utilities/globalProps";

type TableCellPropTypes = {
  aria?: { [key: string]: string };
  children: React.ReactNode[] | React.ReactNode;
  className: string;
  data?: { [key: string]: string };
  htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
  id?: string;
  tag?: "table" | "div";
  text?: string
};

const TableCell = (props: TableCellPropTypes): React.ReactElement => {
  const {
    aria = {},
    children,
    className,
    data = {},
    htmlOptions = {},
    id,
    tag = "table",
    text,
  } = props;

  const ariaProps = buildAriaProps(aria);
  const dataProps = buildDataProps(data);
  const htmlProps = buildHtmlProps(htmlOptions);
  const classes = classnames("pb_table_td", globalProps(props), className);
  const isTableTag = tag === "table";

  return (
    <>
      {isTableTag ? (
        <td
            {...ariaProps}
            {...dataProps}
            {...htmlProps}
            className={classes}
            id={id}
        >
          {text || children}
        </td>
      ) : (
        <div
            {...ariaProps}
            {...dataProps}
            {...htmlProps}
            className={classes}
            id={id}
        >
          {text || children}
        </div>
      )}
    </>
  );
};

export default TableCell;

Version data entries

465 entries across 465 versions & 1 rubygems

Version Path
playbook_ui-14.11.1.pre.alpha.PLAY1720phonenumberinputformatAsYouType5377 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.play17725374 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.play17725372 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.12.0.pre.rc.4 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.hfhbrakemanplaybook5370 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.responsivetablerails5364 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.responsivetablerails5362 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR769sticky5359 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.PBNTR573datepickerinvestigation5355 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5341 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5340 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5339 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.12.0.pre.rc.3 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.12.0.pre.rc.2 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.12.0.pre.rc.1 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.12.0.pre.rc.0 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.10.0.pre.alpha.PLAY1774timelinelabelstepspacing5315 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.10.0.pre.alpha.PLAY1774timelinelabelstepspacing5314 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.10.0.pre.alpha.PLAY1750pbcontenttagkitbutton5308 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx
playbook_ui-14.11.1 app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx