Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@adiynil/tourjs

adiynil13MIT0.0.3TypeScript support: included

一个轻量级的页面引导库,帮助用户快速了解网页功能。

tour, guide, tutorial, onboarding, tooltip, highlight, intro, introduction, step-by-step, feature-tour

readme

TourJS

🎯 一个轻量级的页面引导库,帮助用户快速了解网页功能。

✨ 特性

  • 🚀 轻量级: 无依赖,体积小巧
  • 🎨 可定制: 支持自定义样式和动画
  • 🎯 智能定位: 自动计算最佳显示位置
  • ⚡️ 性能优化: 智能的 z-index 管理和动画性能优化
  • 📱 响应式: 自适应不同屏幕尺寸
  • 🔧 易配置: 丰富的配置选项

📦 安装

npm install @adiynil/tourjs

🚀 快速开始

import { Tour } from '@adiynil/tourjs';

// 创建引导实例
const tour = new Tour({
  steps: [
    {
      target: '#step1',
      content: '这是第一步引导'
    },
    {
      target: '.step2',
      content: '这是第二步引导',
      placement: 'right'
    }
  ],
  config: {
    autoStart: true,
    zIndex: 'auto'
  }
});

// 开始引导
tour.run();

⚙️ 配置项

Tour 配置

interface TourConfig {
  // 是否自动跳过未找到的元素
  autoSkipInvalid: boolean;
  // 是否自动开始执行
  autoStart: boolean;
  // 基础层级,可以是具体数值或 'auto'
  zIndex: number | 'auto';
  // 滚动配置
  scroll?: {
    offset?: number;
    duration?: number;
  };
  // tooltip 配置
  tooltip?: {
    minWidth?: number;
    maxWidth?: number;
    defaultPlacement?: 'top' | 'right' | 'bottom' | 'left';
    defaultOffset?: number;
  };
  // 动画配置
  animation?: {
    duration?: number;
    easing?: string;
  };
}

步骤配置

interface TourStep {
  // 目标元素的选择器
  target: string;
  // 提示内容
  content: string;
  // 自定义样式
  style?: Partial<CSSStyleDeclaration>;
  // 定位配置
  placement?: 'top' | 'right' | 'bottom' | 'left';
  // 偏移量配置
  offset?: {
    mainAxis?: number;
    crossAxis?: number;
  };
}

📖 API

实例方法

  • next(): 进入下一步
  • previous(): 返回上一步
  • skip(): 跳过引导
  • cleanup(): 清理引导
  • goTo(index): 跳转到指定步骤
  • getCurrentStep(): 获取当前步骤索引
  • getTotalSteps(): 获取总步骤数
  • isFirst(): 是否是第一步
  • isLast(): 是否是最后一步
  • run(): 开始执行引导

静态方法

  • Tour.configure(options): 配置全局设置

📄 许可证

MIT License

changelog

TourJS 更新日志

[v0.0.2] - 2024-01-18

改进

  • 🔧 优化包名为作用域包 @adiynil/tourjs
  • ⚡️ 改进发布脚本的错误处理机制
  • 🛠️ 优化构建流程,使用跨平台的清理命令
  • 📝 完善项目文档和配置

修复

  • 🐛 修复 Windows 环境下的构建问题
  • 🚀 修复发布脚本在不同系统下的兼容性问题

TourJS v0.0.1 发布日志

这是 TourJS 的首个测试版本,实现了基础的页面引导功能。

核心功能

基础功能

  • ✨ 实现多步骤引导功能
  • ✨ 支持自定义引导内容和样式
  • ✨ 提供完整的步骤控制 API(next、previous、skip 等)
  • ✨ 支持全局配置和实例配置

交互体验

  • 🎨 实现平滑的过渡动画效果
  • 🎨 支持自定义动画时长和缓动函数
  • 🎯 智能计算 tooltip 位置,确保最佳显示效果
  • 🎯 支持自定义 tooltip 位置和偏移量

视觉效果

  • 💫 实现目标元素高亮效果
  • 💫 支持自定义 z-index 层级(auto/具体数值)
  • 💫 优化 tooltip 显示动画,提供更流畅的过渡效果

性能优化

  • ⚡️ 优化 z-index 计算逻辑,提供 auto 和固定值两种模式
  • ⚡️ 使用 requestAnimationFrame 优化动画性能
  • ⚡️ 智能清理机制,避免内存泄漏

配置项

  • ⚙️ 支持自动跳过无效步骤(autoSkipInvalid)
  • ⚙️ 支持自动开始执行(autoStart)
  • ⚙️ 灵活的滚动配置(offset、duration)
  • ⚙️ 可自定义 tooltip 样式(minWidth、maxWidth)
  • ⚙️ 支持自定义定位(placement)和偏移(offset)

技术细节

TypeScript 支持

  • 📝 完整的类型定义
  • 📝 详细的接口文档
  • 📝 类型安全的 API 设计

代码质量

  • 📚 完整的代码注释
  • 📚 清晰的函数文档
  • 📚 规范的代码风格

注意事项

  • 这是首个测试版本,API 可能在后续版本中有所调整
  • z-index auto 模式在大型页面上可能会有轻微性能影响