GithubHelp home page GithubHelp logo

doc22940 / safari-beauty-toolbar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nespecc/safari-beauty-toolbar

1.0 0.0 0.0 17.17 MB

Make the Safari Toolbar more consistent with your brand colors

License: MIT License

TypeScript 100.00%

safari-beauty-toolbar's Introduction

Safari Beauty Toolbar

Tiny JavaScript module that makes the Safari Toolbar colorful. It uses native toolbar's transparency so there are two restrictions:

  • Works only at the Safari on MacOS or iOS
  • Displays after some scroll offset

Installation

Install module via Yarn, then import to the Code.

yarn add safari-beauty-toolbar

or with NPM

npm i safari-beauty-toolbar --save

You can also download dist/sct.min.js and manually connect it with your project.

import SBToolbar from 'safari-beauty-toolbar';

Usage

Basic usage is quite simple: just pass your brand color to the constructor.

const toolbarColor = new SBToolbar({
  color: "red"
});
param type default description
color string - Toolbar color. Required

This makes the Toolbar colorful. Try to reload the page and scroll it down.

Note. Because of transparency value of the Toolbar, you probably should pass little more saturated color than the usual brand's color.

Note. Place the initialization code at the bottom of <body>-tag or call after document-ready event.

Public methods

There are some additional methods that your can find useful in some cases.

Blinking

blink({interval, transitionSpeed})

Parameters passed as the destructuring assignment.

param type default description
interval number 400 time between transparent and opaque color in ms
transitionSpeed number 500 speed of transparency changing in ms

Usage example

toolbarColor.blink({
  interval: 300,
  transitionSpeed: 1000
});

Animation

animate({colors, speed})

Parameters passed as the destructuring assignment.

param type default description
colors string[] - list of colors to change. Required.
speed number 800 speed of color transition in ms

Usage example

toolbarColor.animate({
  colors: ["#ff0a8a", "blue", "#61ffa7", "yellow"],
  speed: 600
});

Progress

Method allowed to use Toolbar's underlayer as a progressbar.

Before some process starts, call

startProgress({color, estimate})

and after finish, call

stopProgress() 

The first method begins to increase with of the underlayer up to 90% and stop there for waiting stopProgress. For better experience your can pass average time of the process via estimate option.

param type default description
color string #05c7ff loader color
estimate number 3500 average time of the process

Usage example

/**
 * Call before the process (for example, AJAX request)
 */
toolbarPane.startProgress({
  color: "#05c7ff",
  estimate: 3500
});

/**
 * Call after the process will be finished
 * We use the timeout for the demonstration
 */
setTimeout(function(){
  toolbarPane.stopProgress();
}, 4850);

Reinit

Can be used to reinitialize the Module with new options

reinit({color}) 
param type default description
color string - Toolbar color. Required

Stop blinking

Used to stop blinking effect

stopBlinking() 

Stop animation

Used to stop the animation

stopAnimation() 

Stop all effects

Combines stopBlinking, stopAnimation and stopProgress

stopAllEffects() 

Destroy

Totally removes all Module's stuff.

destroy() 

safari-beauty-toolbar's People

Contributors

nespecc avatar rdev avatar

Stargazers

 avatar

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.