npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

qa-spin

v1.0.0

Published

一套纯css开发的快应用加载动画库,从[SpinKit](https://github.com/tobiasahlin/SpinKit.git)项目完整适配而来。查看预览[效果DEMO](https://editor.quickapp.cn/editor/2102p01tfGhl)。

Downloads

13

Readme

qa-spin快应用加载动画库

一套纯css开发的快应用加载动画库,从SpinKit项目完整适配而来。查看预览效果DEMO

注意:个别动画用到了position:absolute属性,如果需要正常展示,快应用项目的manifest.json中的minPlatformVersion需要不低于1060

用法

提供多种使用用法

  • 使用已经封装好的快应用组件。
  • 直接复制style文件夹下的spin.cssspin.scss或者spin.less到自己的项目中,直接import到需要使用的文件里。

你可以通过yarn安装qa-spin到你的项目中:

yarn add qa-spin -S

或者使用npm:

npm install qa-spin --save

使用封装好的加载动画组件

为了更方便的使用这一组加载动画,已经封装好了一个组件,可以通过快应用组件的方式使用,更加方便通用。也是最推荐的使用方法。下面举例使用方法:

<import name="spin" src="qa-spin/component/spin.ux"></import>
<template>
  <spin type="chase" size="120" color="red"></spin>
</template>
<script>export default {}</script>

直接使用样式文件

在需要使用的ux文件的style标签中引入文件

<style>
@import url('path/to/spin.less')
</style>
  • 使用spin.css

由于快应用暂不支持css变量,所以此处不推荐直接spin.css文件,因为没法快速统一修改默认的宽度和颜色,当然如果愿意为每个加载覆盖写一些样式也是可以的。

下面举例使用方法:

<template>
  <div class="sk-plane"></div>
</template>
<script>export default {}</script>
<style>
@import url('path/to/spin.css');
  .sk-plane {
    height: 60px;
    width: 60px;
    background-color: red;
  }
</style>
  • 使用spin.scss

如果你的快应用项目使用sass作为css 的预处理工具,那么你可以引入spin.scss。scss样式文件定义了两个用于控制加载动画的大小和颜色的变量,分别为$sk-size$sk-color,你可以通过覆盖这两个变量来统一控制加载动画的大小,这种场景下可以在app.ux中引入样式,修改覆盖样式变量,即可在整个应用所有文件中直接使用而不需要重复引入。

下面举例使用方法:

<template>
  <div class="sk-plane"></div>
</template>
<script>export default {}</script>
<style lang="scss">
@import url('path/to/spin.scss');
  $sk-size: 60px;
  $sk-color: red;
</style>
  • 使用spin.less

同scss文件一样,这个文件是为你项目使用less作为css预处理工具准备的。less的控制变量为@sk-size@sk-color

下面举例在app.ux中的使用:

<script>export default {}</script>
<style lang="scss">
@import url('path/to/spin.less');
  @sk-size: 60px;
  @sk-color: red;
</style>

动画类型及API

使用快应用组件的API

| 属性 | 类型 | 默认值 | 说明 | | ----- | ------ | --------- | -------- | | type | string | 'plane' | 动画类型 | | size | number | '100' | 动画大小 | | color | string | '#333333' | 动画颜色 |

type值枚举:'plane','chase','bounce','wave','pulse','flow','swing','circle','circle-fade','grid','fold','wander'。

使用样式文件引入

Plane

<div class="sk-plane"></div>

Chase

<div class="sk-chase">
  <div class="sk-chase-dot sk-chase-dot-1">
    <div class="sk-chase-dot-before sk-chase-dot-before-1"></div>
  </div>
  <div class="sk-chase-dot sk-chase-dot-2">
    <div class="sk-chase-dot-before sk-chase-dot-before-2"></div>
  </div>
  <div class="sk-chase-dot sk-chase-dot-3">
    <div class="sk-chase-dot-before sk-chase-dot-before-3"></div>
  </div>
  <div class="sk-chase-dot sk-chase-dot-4">
    <div class="sk-chase-dot-before sk-chase-dot-before-4"></div>
  </div>
  <div class="sk-chase-dot sk-chase-dot-5">
    <div class="sk-chase-dot-before sk-chase-dot-before-5"></div>
  </div>
  <div class="sk-chase-dot sk-chase-dot-6">
    <div class="sk-chase-dot-before sk-chase-dot-before-6"></div>
  </div>
</div>

Bounce

<stack class="sk-bounce">
  <div class="sk-bounce-dot"></div>
  <div class="sk-bounce-dot sk-bounce-dot-2"></div>
</stack>

Wave

<div class="sk-wave">
  <div class="sk-wave-rect sk-wave-rect-1"></div>
  <div class="sk-wave-rect sk-wave-rect-2"></div>
  <div class="sk-wave-rect sk-wave-rect-3"></div>
  <div class="sk-wave-rect sk-wave-rect-4"></div>
  <div class="sk-wave-rect sk-wave-rect-5"></div>
</div>

Pulse

<div class="sk-pulse"></div>

Flow

<div class="sk-flow">
  <div class="sk-flow-dot"></div>
  <div class="sk-flow-dot sk-flow-dot-2"></div>
  <div class="sk-flow-dot sk-flow-dot-1"></div>
</div>

Swing

<div class="sk-swing">
  <div class="sk-swing-dot sk-swing-dot-1"></div>
  <div class="sk-swing-dot"></div>
</div>

Circle

<div class="sk-circle">
  <div class="sk-circle-dot sk-circle-dot-1">
    <div class="sk-circle-dot-before sk-circle-dot-before-1"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-2">
    <div class="sk-circle-dot-before sk-circle-dot-before-2"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-3">
    <div class="sk-circle-dot-before sk-circle-dot-before-3"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-4">
    <div class="sk-circle-dot-before sk-circle-dot-before-4"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-5">
    <div class="sk-circle-dot-before sk-circle-dot-before-5"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-6">
    <div class="sk-circle-dot-before sk-circle-dot-before-6"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-7">
    <div class="sk-circle-dot-before sk-circle-dot-before-7"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-8">
    <div class="sk-circle-dot-before sk-circle-dot-before-8"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-9">
    <div class="sk-circle-dot-before sk-circle-dot-before-9"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-10">
    <div class="sk-circle-dot-before sk-circle-dot-before-10"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-11">
    <div class="sk-circle-dot-before sk-circle-dot-before-11"></div>
  </div>
  <div class="sk-circle-dot sk-circle-dot-12">
    <div class="sk-circle-dot-before sk-circle-dot-before-12"></div>
  </div>
</div>

Circle Fade

<div class="sk-circle-fade">
  <div class="sk-circle-fade-dot sk-circle-fade-dot-1">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-1"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-2">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-2"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-3">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-3"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-4">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-4"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-5">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-5"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-6">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-6"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-7">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-7"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-8">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-8"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-9">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-9"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-10">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-10"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-11">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-11"></div>
  </div>
  <div class="sk-circle-fade-dot sk-circle-fade-dot-12">
    <div class="sk-circle-fade-dot-before sk-circle-fade-dot-before-12"></div>
  </div>
</div>

Grid

<div class="sk-grid">
  <div class="sk-grid-cube sk-grid-cube-1"></div>
  <div class="sk-grid-cube sk-grid-cube-2"></div>
  <div class="sk-grid-cube sk-grid-cube-3"></div>
  <div class="sk-grid-cube sk-grid-cube-4"></div>
  <div class="sk-grid-cube sk-grid-cube-5"></div>
  <div class="sk-grid-cube sk-grid-cube-6"></div>
  <div class="sk-grid-cube sk-grid-cube-7"></div>
  <div class="sk-grid-cube sk-grid-cube-8"></div>
  <div class="sk-grid-cube sk-grid-cube-9"></div>
</div>

Fold

<div class="sk-fold">
  <div class="sk-fold-cube">
    <div class="sk-fold-cube-before"></div>
  </div>
  <div class="sk-fold-cube sk-fold-cube-2">
    <div class="sk-fold-cube-before sk-fold-cube-before-2"></div>
  </div>
  <div class="sk-fold-cube sk-fold-cube-3">
    <div class="sk-fold-cube-before sk-fold-cube-before-3"></div>
  </div>
  <div class="sk-fold-cube sk-fold-cube-4">
    <div class="sk-fold-cube-before sk-fold-cube-before-4"></div>
  </div>
</div>

Wander

<div class="sk-wander">
  <div class="sk-wander-cube"></div>
  <div class="sk-wander-cube sk-wander-cube-2"></div>
  <div class="sk-wander-cube sk-wander-cube-3"></div>
  <div class="sk-wander-cube sk-wander-cube-4"></div>
</div>