All Projects → bytedance → guide

bytedance / guide

Licence: other
A new feature guide component by react 🧭

Programming Languages

typescript
32286 projects
Less
1899 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to guide

GuideChimp
Create interactive guided product tours in minutes with the most non-technical friendly, lightweight and extendable library.
Stars: ✭ 138 (-76.88%)
Mutual labels:  guide, onboarding, tour
Showcaseview
🔦The ShowcaseView library is designed to highlight and showcase specific parts of apps to the user with an attractive and flat overlay.
Stars: ✭ 281 (-52.93%)
Mutual labels:  guide, onboarding, tour
Lighter
💡A highlight & guide library for android.
Stars: ✭ 260 (-56.45%)
Mutual labels:  guide, highlight
Intro.js
Lightweight, user-friendly onboarding tour library
Stars: ✭ 20,826 (+3388.44%)
Mutual labels:  guide, tour
openui5-tour
OpenUI5 Tour enables an user-friendly way to showcase products and features in your website.
Stars: ✭ 21 (-96.48%)
Mutual labels:  guide, tour
ngx-ui-tour
✈️ UI tour for Angular 9+ apps
Stars: ✭ 36 (-93.97%)
Mutual labels:  onboarding, tour
Ngx Joyride
Angular Joyride/Tour library
Stars: ✭ 135 (-77.39%)
Mutual labels:  onboarding, tour
Core
D Language online tour (https://tour.dlang.org/) and online editor (https://run.dlang.io/)
Stars: ✭ 89 (-85.09%)
Mutual labels:  guide, tour
Swiftyoverlay
Show overlay and info on app components
Stars: ✭ 63 (-89.45%)
Mutual labels:  guide, tour
Enlighten
💡 An integrated spotlight-based onboarding and help library for macOS, written in Swift.
Stars: ✭ 44 (-92.63%)
Mutual labels:  guide, onboarding
Tooltip Sequence
A simple step by step tooltip helper for any site
Stars: ✭ 287 (-51.93%)
Mutual labels:  guide, tour
Reactour
Tourist Guide into your React Components
Stars: ✭ 2,782 (+366%)
Mutual labels:  guide, tour
Highlight Userguideview
用户指引提示view,新特性高亮指示 HighLight
Stars: ✭ 647 (+8.38%)
Mutual labels:  guide, highlight
Guideview
简单易用的高亮引导工具,可高度自定义。
Stars: ✭ 94 (-84.25%)
Mutual labels:  guide, highlight
Pvview
A small library that helps you to make an amazing parallax view
Stars: ✭ 227 (-61.98%)
Mutual labels:  guide, onboarding
Escape From Callback Mountain
Example Project & Guide for mastering Promises in Node/JavaScript. Feat. proposed 'Functional River' pattern
Stars: ✭ 249 (-58.29%)
Mutual labels:  guide
HighlightTranslator
Highlight Translator can help you to translate the words quickly and accurately. By only highlighting, copying, or screenshoting the content you want to translate anywhere on your computer (ex. PDF, PPT, WORD etc.), the translated results will then be automatically displayed before you.
Stars: ✭ 54 (-90.95%)
Mutual labels:  highlight
Free Programming Resources
💎 免费的编程资源大全,持续更新!🔥 覆盖各种语言和方向(Java \ Python \ C++ \ JavaScript \ Golang \ 前端 \ 后端等)的学习路线、贴心教程、项目实战、编程书籍、面试合集、实用资源等,对程序员非常有帮助!
Stars: ✭ 225 (-62.31%)
Mutual labels:  guide
Write Readable Javascript Code
📖 All about writing maintainable JavaScript
Stars: ✭ 244 (-59.13%)
Mutual labels:  guide
CPPNotes
【C++ 面试 + C++ 学习指南】 一份涵盖大部分 C++ 程序员所需要掌握的核心知识。
Stars: ✭ 557 (-6.7%)
Mutual labels:  guide

Introduction

English | 简体中文

When we onboard new users or ship new features, how do we make sure that our audience knows what's in it and get them excited to use our apps? That's where an onboarding sequence comes into play. This React library guide offers an effective way to construct a smooth onboarding experience. mask no mask

Installation

/* install via npm or yarn */
npm i byte-guide
yarn add byte-guide

/* load via umd */
<script src='https://unpkg.com/byte-guide/dist/index.umd.min.js'></script>
/* load via umd and specified version */
<script src='https://unpkg.com/byte-guide@version/dist/index.umd.min.js'></script>

Usage

import Guide from 'byte-guide';
<Guide
  steps={[]}
  localKey="uni-key"
  /* customize styles */
  hotspot
  modalClassName="my-guide-modal"
  maskClassName="my-guide-arrow"
  /* customize callbacks */
  onClose={() => {
    /* do sth */
  }}
  beforeStepChange={(nextIndex, nextStep) => {
    /* do sth */
  }}
  afterStepChange={(nextIndex, nextStep) => {
    /* do sth */
  }}
  /* customize footers */
  stepText={(stepIndex, stepCount) => `Step ${stepIndex} of ${stepCount}`}
  nextText="Next"
  prevText="Previous"
  showPreviousBtn
  okText="Finish"
/>;

API

Component API's

props definition type required defalut value
steps An array of info of each step of the onboarding sequence IStep[] --
localKey A unique key that will be stored in localStorage to indicate if the guide has finished string --
expireDate The expire date of the guide when it will not be displayed anymore string,YYYY-mm-hh --
closable If the guide can be closed before the last step. If false, the close button x will not be displayed on each modal. bool true
closeEle Customize the element that skips the guide string, reactNode
modalClassName The class name of the modal string --
maskClassName The class name of the mask string --
mask Whether or not to display the mask bool false
arrow Whether or not to display the arrow bool true
hotspot Whether or not to display the hotspot bool false
stepText The custom text for the step info (stepIndex, stepCount): string => {} (stepIndex, stepCount) => Step ${stepIndex} of ${stepCount}
nextText The custom text for the Next Step button string Next
prevText The custom text for the Previous step button string Previous
showPreviousBtn Whether or not to display the previous button bool true
okText The custom text for the confirm button at the last step string I know
visible If the guide is visible bool true
lang The language of use 'zh' | 'en' | 'ja' 'zh'
step The first step's number number 0
afterStepChange The callback function when the step changes (nextIndex, nextStep): void=>{} --
beforeStepChange The callback function when the user is about to move to the next step (stepIndex: number, step: IStep) => void --
onClose The callback function when the guide closes */
onClose?: () => void; ():void=> {} --

steps: IStep[]

key definition type required defalut value
selector The CSS Selector of the anchor element or the anchor element itself string | () => reactNode, reactNode --
targetPos If you don't want the modal to be displayed relative to an anchor element, you can pass a targetPos object to indicate the modal's position relative to the document body { top, left, width, height } Required when selector is not defined --
title The title of the modal string --
content The content of the modal string | reactNode --
placement The placement of the modal relative to the selector 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom' 'bottom'
offset The offset of the modal relative to the selector. x indicates the horizontal offset, y the vertical offset { x, y } --
parent The parent component to mount 'body'or null --
visible If this step is visible bool true
skip If this step should be skipped bool false
beforeStepChange The function called when user click "next" and BEFORE going to the next step (curStep: IStep, curStepIndex: number, steps: IStep[]) => void; --
afterStepChange The function called when user click "next" and AFTER going to the next step (curStep: IStep, curStepIndex: number, steps: IStep[]) => void; --

An example of steps

const steps = [
  {
    selector: '#search',
    title: 'Search',
    content: <div>You can now search for your customers using ID or name</div>,
    placement: 'bottom-left',
    offset: {
      x: 20,
    }
    beforeStepChange: () => {
      window.open('https://my.web.net')
    }
  },
  {
    selector: () => {
        const tabs = Array.from(
          document.querySelectorAll('.nav-scroll > div > div > .tab')
        );
        return tabs?.[2];
      },
    title: 'Customer Detail',
    content: 'In this tab, you can read and update customer details.'
    visible: location.pathname === 'customer/detail'
  }
];
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].