1.0.8 • Published 6 months ago

borderline v1.0.8

Weekly downloads
-
License
-
Repository
github
Last release
6 months ago

Borderline

A React component for drawing borders around groups of elements

Try the demo!

Inverted corners are hard. Have you ever wanted to do this?

Three uneven divs with a border around them

Good Luck! 😅

Until now...

Three uneven divs with a border around them, animated gif

Installation

Via NPM:

npm install borderline

Usage

import Borderline from 'borderline'

function App() {
    return (
        <Borderline
            pathStroke="black"
            pathStrokeWidth={2}
            pathFill="transparent"
            cornerRadius={20}
            controlRatio={0.552}
            cornerSharpness={{
                topRight: false,
                topLeft: false,
                bottomRight: false,
                bottomLeft: false
            }}
        >
            <div>One</div>
            <div>Two</div>
            <div>Three</div>
        </Borderline>
    )
}

Props

PropTypeDefaultDescription
pathStrokeWidthnumber2The width of the borderline
pathStrokestring"black"The color of the borderline
pathFillstring"transparent"The color of the fill of the borderline shape
cornerRadiusnumber20The radius of the corners of the elements
controlRationumber0.552The ratio of the control points for the bezier curves. The default point approximates a circle.
cornerSharpnessCornerSharpness{...}Object controlling which corners should be sharp

CornerSharpness Object

type CornerSharpness = {
  topRight?: boolean;
  topLeft?: boolean;
  bottomRight?: boolean;
  bottomLeft?: boolean;
}

Development Props

PropTypeDefaultDescription
skipSmallLedgesbooleanfalseSkip small ledges when traversing the elements
roundedPointsbooleantrueRound the points to the nearest integer

Notes

Thank you to the polygon-clipping library for doing the hard parts.

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago

1.0.8

6 months ago

1.0.7

6 months ago

1.0.3

6 months ago

0.1.0

12 months ago

0.1.1

12 months ago

0.0.1

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.0

1 year ago