Nerds Publishing Monstrosities

    @flourish/pocket-knife

    0.9.0 • Public • Published

    Flourish pocket knife 🇨🇭

    A module with handy tools that you can use in Flourish templates.

    import { isUrl, isImage } from "@flourish/pocket-knife"

    Functions

    isUrl(string)

    Checks if string looks like valid URL. Returns true or false

    isImage(string)

    Checks if string looks like valid image URL. Returns true or false

    getTextDimensions(string, font)

    Gets dimensions of text. First argument contains the text you want to calculate the width for. The second argument is optional and lets you set font settings for the text in the standard css font property, eg. bold 16px arial. If font is empty, it uses 10px sans-serif. Returns an object with properties width and height.

    getTextWidth(string, font)

    Gets width of text. Uses same arguments as getTextDimensions. Returns a number.

    getTextHeight(string, font)

    Gets height of text. Uses same arguments as getTextDimensions. Returns a number.

    hexToColor(hex_string, opacity)

    Converts hex to d3 color object as described here

    hexToColor("#00ff00", 0.5); // {r: 0, g: 255, b: 0, a: 0.5}
    

    hexToRgba(hex_string, opacity)

    Converts hex to rgba string

    hexToRgba("#00ff00", 0.5); // rgba(0, 255, 0, 0.5)
    

    isPale(color_value)

    Returns if color is pale or not

    wrapStringToLines(label, label_styles, text_max_lines, max_width)

    Takes a string, and returns an array of strings where each string is one lines worth of text.

    • Label is a string, that you want to be broken up into lines
    • label_styles is a string that can include font weight, font size and font family in the structure: 'bold 48px serif'. it is what is given to the canvas context font method, and is used to measure the text.
    • text_max_lines is a number that says the maximum amount of lines you want (if you dont have a maximum you can give it null)
    • max_width is a number that states in px the maximum width for the label.

    getUniqueValuesFromBinding(data, binding, index)

    Gets all the unique values in a column associated to a data binding. If it is a multi column binding you can pass in index that is used to work out which of the bound columns it should look at. If you pass it no index and it is a multi column binding it will default to zero.

    Keywords

    none

    Install

    npm i @flourish/pocket-knife

    DownloadsWeekly Downloads

    30

    Version

    0.9.0

    License

    UNLICENSED

    Unpacked Size

    8.63 kB

    Total Files

    6

    Last publish

    Collaborators

    • axwalker
    • shar.k
    • flourish-canva
    • declanvong
    • pinkopunko
    • vee_canva
    • florin.oprina
    • robinhouston
    • duncanclark
    • daanlouter
    • timbrock
    • hughsk
    • mark-kiln
    • animateddata
    • larsvers
    • luptilu
    • bobbysebolao
    • liakouras
    • oliviajanelawlor
    • hrobertson
    • eademoon
    • qubyte
    • chrisnewell
    • oampo
    • sebr
    • alextreppass
    • wearymonkey
    • mattcarter-canva
    • marcfallows
    • mafecafe
    • connormj
    • simonaats