All files / web/styled-system/patterns divider.mjs

40% Statements 10/25
100% Branches 0/0
0% Functions 0/3
40% Lines 10/25

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251x 1x 1x 1x                         1x 1x 1x       1x 1x 1x
import { getPatternStyles, patternFns } from '../helpers.mjs';
import { css } from '../css/index.mjs';
 
const dividerConfig = {
transform(props, { map }) {
  const { orientation, thickness, color, ...rest } = props;
  return {
    "--thickness": thickness,
    width: map(orientation, (v) => v === "vertical" ? void 0 : "100%"),
    height: map(orientation, (v) => v === "horizontal" ? void 0 : "100%"),
    borderBlockEndWidth: map(orientation, (v) => v === "horizontal" ? "var(--thickness)" : void 0),
    borderInlineEndWidth: map(orientation, (v) => v === "vertical" ? "var(--thickness)" : void 0),
    borderColor: color,
    ...rest
  };
},
defaultValues:{orientation:'horizontal',thickness:'1px'}}
 
export const getDividerStyle = (styles = {}) => {
  const _styles = getPatternStyles(dividerConfig, styles)
  return dividerConfig.transform(_styles, patternFns)
}
 
export const divider = (styles) => css(getDividerStyle(styles))
divider.raw = getDividerStyle