@payfit/unity-components
Version:
37 lines (36 loc) • 1.41 kB
JavaScript
import e, { Children as t, cloneElement as n, forwardRef as r, memo as i, useMemo as a } from "react";
import { uyTv as o } from "@payfit/unity-themes";
import { jsx as s } from "react/jsx-runtime";
//#region src/components/table/parts/TableRow.tsx
var c = o({ base: [
"uy:group uy:h-500",
"uy:bg-surface-neutral uy:border-b uy:border-solid uy:border-b-border-neutral-enabled",
"uy:transition-colors uy:duration-200 uy:ease-in-out",
"uy:hover:border-b-border-neutral-hover uy:hover:bg-surface-neutral-low-hover",
"uy:aria-[selected=true]:bg-surface-neutral-selected uy:aria-[selected=true]:border-b-border-neutral-selected",
"uy:focus-visible:outline-2 uy:focus-visible:outline-solid uy:focus-visible:outline-offset-[-2px] uy:focus-visible:outline-utility-focus-ring"
] }), l = i(r(({ children: r, className: i, rowIndex: o = 0, onKeyDown: l, isSelected: u, ...d }, f) => {
let p = a(() => c({ className: i }), [i]), m = a(() => t.map(r, (t, r) => e.isValidElement(t) ? n(t, {
rowIndex: o,
colIndex: r,
...t.props
}) : t), [r, o]);
return /* @__PURE__ */ s("tr", {
ref: f,
role: "row",
className: p,
"aria-rowindex": o + 1,
"data-index": o + 1,
"aria-selected": u,
onKeyDown: (e) => {
l?.(e);
},
"data-dd-privacy": "mask",
"data-selectable": u !== void 0,
...d,
children: m
});
}));
l.displayName = "TableRow";
//#endregion
export { l as TableRow, c as tableRow };