svelte-content-loader

Svelte Content Loader for Svelte 3

  • Owner: PaulMaly/svelte-content-loader
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Svelte Content Loader for Svelte 3

NPM version NPM downloads

SVG component to create placeholder loading, like Facebook cards loading.

preview

Features

This is a Svelte port for vue-content-loader.

  • Completely customizable: you can change the colors, speed and sizes.
  • You can use it right now: there are a lot of presets already.
  • Performance:
    • Tree-shakable and highly optimized bundle.
    • Pure SVG, so it's works without any javascript, canvas, etc.
    • Vanilla JS components.

Install

npm i svelte-content-loader --save
yarn add svelte-content-loader

CDN: UNPKG, jsDelivr (available as window.ContentLoader)

Usage

<ContentLoader/>

<script>
import ContentLoader from 'svelte-content-loader';
</script>

Built-in loaders

import {
  FacebookLoader,
  CodeLoader,
  BulletListLoader,
  InstagramLoader,
  ListLoader
} from 'svelte-content-loader'

ContentLoader is a meta loader while other loaders are just higher-order components of it. By default ContentLoader only displays a simple rectangle, here's how you can use it to create custom loaders:

<ContentLoader>
  <rect x="0" y="0" rx="3" ry="3" width="250" height="10" />
  <rect x="20" y="20" rx="3" ry="3" width="220" height="10" />
  <rect x="20" y="40" rx="3" ry="3" width="170" height="10" />
  <rect x="0" y="60" rx="3" ry="3" width="250" height="10" />
  <rect x="20" y="80" rx="3" ry="3" width="200" height="10" />
  <rect x="20" y="100" rx="3" ry="3" width="80" height="10" />
</ContentLoader>

This is also how ListLoader is created.

If you are not using using es6, instead of importing add

<script src="/path/to/svelte-content-loader/index.js"></script>

just before closing body tag.

API

Props, Name, Type, Default, Description, ---, ---, ---, ---, width, number, 400, height, number, 130, speed, number, 2, preserveAspectRatio, string, 'xMidYMid meet', primaryColor, string, '#f9f9f9', secondaryColor, string, '#ecebeb', uniqueKey, string, randomId(), Unique ID, you need to make it consistent for SSR, animate, boolean, true, baseUrl, string, empty string, Required if you're using in your . Defaults to an empty string. This prop is common used as: which will fill the SVG attribute with the relative path., primaryOpacity, number, 1, Background opacity (0 = transparent, 1 = opaque) used to solve an issue in Safari, secondaryOpacity, number, 1, Background opacity (0 = transparent, 1 = opaque) used to solve an issue in Safari, ## Credits

This is basically a Svelte port for vue-content-loader.

License

MIT © PaulMaly

Main metrics

Overview
Name With OwnerPaulMaly/svelte-content-loader
Primary LanguageSvelte
Program languageJavaScript (Language Count: 2)
Platform
License:
所有者活动
Created At2019-01-30 20:15:19
Pushed At2023-02-14 12:48:28
Last Commit At2023-02-14 15:48:28
Release Count0
用户参与
Stargazers Count156
Watchers Count3
Fork Count9
Commits Count15
Has Issues Enabled
Issues Count4
Issue Open Count3
Pull Requests Count1
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private