UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

55 lines (52 loc) 1.67 kB
import React from 'react'; import Box from '../Box/Box.js'; import { get } from '../constants.js'; import '@styled-system/css'; import merge from 'deepmerge'; import { clsx } from 'clsx'; import '../FeatureFlags/FeatureFlags.js'; import { useFeatureFlag } from '../FeatureFlags/useFeatureFlag.js'; import '../FeatureFlags/DefaultFeatureFlags.js'; import classes from './ActionList.module.css.js'; import { defaultSxProp } from '../utils/defaultSxProp.js'; import { actionListCssModulesFlag } from './featureflag.js'; /** * Visually separates `Item`s or `Group`s in an `ActionList`. */ const Divider = ({ sx = defaultSxProp, className }) => { const enabled = useFeatureFlag(actionListCssModulesFlag); if (enabled) { if (sx !== defaultSxProp) { return /*#__PURE__*/React.createElement(Box, { className: clsx(className, classes.Divider), as: "li", "aria-hidden": "true", sx: sx, "data-component": "ActionList.Divider" }); } return /*#__PURE__*/React.createElement("li", { className: clsx(className, classes.Divider), "aria-hidden": "true", "data-component": "ActionList.Divider" }); } return /*#__PURE__*/React.createElement(Box, { as: "li", "aria-hidden": "true", sx: merge({ height: 1, backgroundColor: 'actionListItem.inlineDivider', marginTop: theme => `calc(${get('space.2')(theme)} - 1px)`, marginBottom: 2, listStyle: 'none' // hide the ::marker inserted by browser's stylesheet }, sx), className: className, "data-component": "ActionList.Divider" }); }; Divider.displayName = "Divider"; export { Divider };