UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

61 lines (60 loc) 2.35 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const useForkRef = require("../../hooks/useForkRef.cjs"); const TableContext = require("../TableContext.cjs"); const TableSectionContext = require("../TableSectionContext.cjs"); const TableBody_styles = require("./TableBody.styles.cjs"); const Focus = require("../../Focus/Focus.cjs"); const tableSectionContext = { type: "body", filterClassName: "_trgrid" }; const defaultComponent = "tbody"; const HvTableBody = React.forwardRef( function HvTableBody2(props, externalRef) { const { classes: classesProp, className, component, children, withNavigation = false, ...others } = uikitReactUtils.useDefaultProps("HvTableBody", props); const { classes, cx } = TableBody_styles.useClasses(classesProp); const tableContext = React.useContext(TableContext.default); const bodyRef = React.useRef(null); const handleRef = useForkRef.useForkRef(externalRef, bodyRef); const Component = component || tableContext?.components?.TBody || defaultComponent; return /* @__PURE__ */ jsxRuntime.jsx(TableSectionContext.TableSectionContext.Provider, { value: tableSectionContext, children: /* @__PURE__ */ jsxRuntime.jsx( Component, { className: cx(classes.root, className), ref: handleRef, role: Component === defaultComponent ? null : "rowgroup", ...others, children: withNavigation ? React.Children.map(children, (element) => { if (!React.isValidElement(element)) return void 0; return /* @__PURE__ */ jsxRuntime.jsx( Focus.HvFocus, { id: `my-id-${element.key}`, rootRef: bodyRef, strategy: "grid", filterClass: tableSectionContext.filterClassName, navigationJump: 1, focusDisabled: false, selected: element.props.selected, children: element }, `row-${element.key}` ); }) : children } ) }); } ); exports.tableBodyClasses = TableBody_styles.staticClasses; exports.HvTableBody = HvTableBody;