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

f7-welcomescreen

v3.0.10

Published

This Framework7 plugin will guide the user through a tour of your app.

Downloads

11

Readme

Framework7 Plugin Welcomescreen

This plugin will show a tutorial screen when starting Framework7 apps and websites. (Note: There is also a generic version that does not rely on Framework7 available)

Screenshot

Live demo

You can find a running demo here.

Install

1. Add dependency

With module bundler (Webpack, Vite...)

$ yarn add f7-welcomescreen

In your main js file do:

import F7WelcomescreenPlugin from 'f7-welcomescreen';

In your stylesheet add F7 styles (if not exist yet!). This is when using Webpack:

@import '~f7-welcomescreen/styles.css';

For Vite

@import 'f7-welcomescreen/styles.css';

Alternative: Without bundler (direct linking)

  1. Copy files f7-welcomescreen.min.js and f7-welcomescreen.min.css from dist into your project folder.
  2. Reference the files in HTML like this:
<head>
  <link rel="stylesheet" href="f7-welcomescreen.min.css"></link>
  <script src="f7-welcomescreen.min.js"></script>
</head>

3. Define slides

var welcomescreen_slides = [
  {
    id: 'slide0',
    title: 'Slide 0', // optional
    picture: '<div class="tutorialicon">♥</div>',
    text: 'Welcome to this tutorial. In the next steps we will guide you through a manual that will teach you how to use this app.',
  },
  {
    id: 'slide1',
    title: 'Slide 1', // optional
    picture: '<div class="tutorialicon">✲</div>',
    text: 'This is slide 2',
  },
  {
    id: 'slide2',
    title: 'Slide 2', // optional
    picture: '<div class="tutorialicon">♫</div>',
    text: 'This is slide 3',
  },
  {
    id: 'slide3',
    //title: 'NO TITLE',
    picture: '<div class="tutorialicon">☆</div>',
    text: 'Thanks for reading! Enjoy this app.<br><br><a id="tutorial-close-btn" href="#">End Tutorial</a>',
  },
];

Used parameters are:

  • id Set an id for this slide
  • picture Set free html here
  • text You can set html here but I recommend using just plain text

4. Initialize & options

For Framework7 Core version

Framework7.use(F7WelcomescreenPlugin);

// Define options for welcomescreen plugin
var options = {
  bgcolor: '#0da6ec',
  fontcolor: '#fff',
};

var app = new Framework7({
  root: '#app', // or what ever your root is
  name: 'welcomescreen-demo', // choose a name
  welcomescreen: {
    // Setup welcomescreen plugin
    slides: welcomescreen_slides,
    options: options,
  },
});

For Framework7 React version

app.js

Framework7.use(F7WelcomescreenPlugin);

app.jsx

var options = {
  bgcolor: '#0da6ec',
  fontcolor: '#fff',
};

const f7params = {
  name: 'welcomescreen-demo',
  theme: 'auto',
  store: store,
  routes: routes,
  welcomescreen: {
    slides: welcomescreen_slides,
    options: options,
  },
};

Available options (if not set, default will be used)

  • bgcolor Set background color
  • fontcolor Set font color
  • closeButton (Default: true) Enabled/disable close button
  • closeButtonText (Default: 'Skip') Close button text
  • cssClass (Default: '') Additional class on container
  • pagination (Default: true) Swiper pagination
  • navigation (Default: false) Swiper navigation
  • loop (Default: false) Swiper loop
  • template (Default: String) Pass in a custom Dom7 template to render Welcomescreen
  • open (Default: true) Open welcome screen on init
  • onOpened (Default: none) Callback function when welcomescreen is opened
  • onClosed (Default: none) Callback function when welcomescreen is closed
  • parallax (Default: true), Enable parallax
  • parallaxBackgroundImage (Default: 'http://lorempixel.com/900/600/nightlife/2/') Parallax default background image
  • parallaxBackground (Default percentage: '-23%') Parallax default background speed effect
  • parallaxSlideElements (Default number per element: {title: -100, subtitle: -200, text: -300}) Set speed of each element in parallax mode

Note:

  • number - value in px (as for title, subtitle in example above) to move element depending on progress. In this case such element will be moved on ± this value in px depending on slide position (next or previous)
  • percentage - (as for "parallax-bg") to move element depending on progress and on its size. In this case such element will be moved on ± this percentage of its size (width in horizontal direction, and height in vertical direction) depending on slide position (next or previous). So if element has 400px width and you specified data-swiper-parallax="50%" then it will be moved on ± 200px

API

The following methods are available on a welcomescreen instance

app.welcomescreen.open(); // Open the screen
app.welcomescreen.close(); // Closes it
app.welcomescreen.next(); // Go to next slide
app.welcomescreen.previous(); // Go to previous slide
app.welcomescreen.slideTo(i); // Go to slide with index i

Example project

See demo directory. The demo has the following scripts:

  • yarn start Starts a http server and serves content from demo/build
  • yarn build Creates a new build into the demo/build directory
  • yarn watch Watches for changes in .js files and runs yarn build

I recommend to just run yarn start from the demo directory. Then open http://127.0.0.1:8080 in your browser.

Credits

Made with <3 by www.timo-ernst.net

My YouTube channel about Framework7: http://www.timoernst.tv

Thanks for helping @nolimits4web