0.2.0 • Published 3 years ago

ell-radial-text v0.2.0

Weekly downloads
13
License
MIT
Repository
github
Last release
3 years ago

<ell-radial-text>

A simple webcomponent that wraps text around a circle.

Demo!

Examples

The image above can be set up like so:

<script type="module">
  // will require resolving
  import 'ell-radial-text';
</script>
<ell-radial-text
    text="<ell-radial-text>"
    radius="172"
    step="6"
    center-direction="UP">
</ell-radial-text>

API

Props

PropertyAttributeTypeDefaultDescription
texttextstring''The text to be wrapped.
radiusradiusnumber0The radius of the circle in pixels.
stepstepnumber0The radial step between characters in degrees (NOTE: This is overriden by autoStep).
startstartnumber0The start position of the text in degrees where 0 is the point at cooridnate (0, radius) and positive is clockwise (NOTE: This is overriden by centerDirection).
autoStepauto-stepbooleanfalseWill wrap the text all the way around the circle by automatically calculating step (NOTE: overrides step value).
centerDirectioncenter-directionCenterDirection*'AUTO'Will center your text around the given direction (NOTE: overrides start value).

* CenterDirection is equal to type 'UP' | 'DOWN' | 'LEFT' | 'RIGHT' | 'AUTO' and is exported by the main file.

Styling

Custom PropertyDefaultDescription
--ell-font-familyui-monospace, monospaceThe font-family of the text

It is HIGHLY recommended to use a monospace font-face.

This component renders the text inside the Shadow DOM, but common properties cascade though Shadow DOM regardless such as font and color. Though, font-family is explicitly defined on this component and can be overridden with a css selector that is specific to this component or via a custom property e.g.

ell-radial-text, .radialText, #radialText /* etc */ {
  font-family: 'Apercu Mono', Monaco, monospace;
}

/* for global or imprecise styling you can use CSS Custom Properties */
body {
  --ell-font-family: 'Apercu Mono', Monaco, monospace;
}