GithubHelp home page GithubHelp logo

seemly's Introduction

seemly

Util functions for creating user interface.

Installation

npm install --save-dev seemly

Usage

import { xxx } from 'seemly'

API

Animation

beforeNextFrame(callback: Function): void

Call the callback function before next frame.

beforeNextFrameOnce(callback: Function): void

Call the callback function before next frame. Same function won't be called more than once.

Color

In the following functions, RGBA is [number, number, number, number], RGB is [number, number, number].

rgba (color: string): RGBA

Get the rgba value of a string color.

Color could only be #000, #0000, #000000, #00000000, rgb(0, 0, 0), rgba(0, 0, 0, 0) formatted.

composite (background: string | RGB | RGBA, overlay: string | RGB | RGBA): string

Get the rgba formatted string of composited color of the two color.

For example: composite('#FFF', 'rgba(0, 0, 0, .5)') === 'rgba(127, 127, 127, 1)', composite('rgba(255, 255, 255, .5)', 'rgba(0, 0, 0, .5)') === 'rgba(85, 85, 85, 0.75)'.

CSS

depx (value: string | number): number

Remove the 'px' of the input value and get the number value of it.

For example: depx('1px') === 1, depx('1') === 1, depx(1) === 1.

pxfy (value: string | number): string

Append the 'px' on the input value.

For example: pxfy(1) === '1px', pxfy('1') === '1px', 'pxfy('1px') === '1px').

parseResponsiveProp (responsiveProp: string): Record<string, string>

Transform a css utility class to a js object.

For example: parseResponsiveProp('6 m:12 l:24') is { '': 6, m: '12', l: '24' }

parseResponsivePropValue (responsiveProp: string, activeKey: string): string | undefined

Get corresponding value by key.

For example: parseResponsiveProp('6 m:12 l:24', 'l') is '24'. parseResponsiveProp('6 m:12 l:24'), parseResponsiveProp('6 m:12 l:24', 'x') are '6'.

DOM

getScrollParent (node: Node | null): HTMLElement | Document | null

Get the scrollable parent node of current node.

unwrapElement (target: HTMLElement | string | () => HTMLElement): HTMLElement | null

Unwrap the HTMLElement from a element getter function or a element selector.

If the target is already a HTMLElement, the same value will be returned.

Misc

createId (length: number = 8): string

Get a unique random id with length of length.

seemly's People

Contributors

07akioni avatar dependabot-preview[bot] avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

seemly's Issues

Should rgba() silently fail if input is a CSS variable?

[seemly/rgba]: Invalid color value var(--colors-primary).

Coming from naive-ui I want to use CSS vars instead of hard coded colors.
Would it make sense to silently fail the rgba() function, or just trigger a warning instead of an error?

common: {
    primaryColor: 'var(--colors-primary)',
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.