-
Notifications
You must be signed in to change notification settings - Fork 30
/
demo.html
142 lines (128 loc) · 7.11 KB
/
demo.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TourGuide JS Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.tailwindcss.com"></script>
<!-- <link rel="stylesheet" href="https://unpkg.com/@sjmc11/tourguidejs/dist/css/tour.min.css">-->
<link rel="stylesheet" href="/dist/css/tour.min.css">
</head>
<body>
<div class="max-w-6xl mx-auto px-6 py-6 lg:pt-12">
<h1 class="text-center text-2xl font-bold shadow-text">
<span class="bg-clip-text text-transparent bg-gradient-to-b from-slate-400/75 to-slate-400" id="title">Basic HTML page for hands on testing</span>
</h1>
<button class="bg-indigo-600 text-white rounded px-4 py-2 mx-auto block hover:bg-indigo-700 mt-12" onclick="openTour()">
<span>Start tour</span>
</button><!-- end btn -->
<div class="lg:grid lg:my-12 grid-cols-3 gap-12" id="grid-wrapper">
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card1">
<h5 class="font-bold block mb-5">Example heading 1</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card2">
<h5 class="font-bold block mb-5">Example heading 2</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card3">
<h5 class="font-bold block mb-5">Example heading 3</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card4" data-tg-tour="Step 1" data-tg-title="Example heading 1">
<h5 class="font-bold block mb-5">Example heading 1</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card5" data-tg-tour="Step 2" data-tg-title="Example heading 2">
<h5 class="font-bold block mb-5">Example heading 2</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card6" data-tg-tour="Step 3" data-tg-title="Example heading 3">
<h5 class="font-bold block mb-5">Example heading 3</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card7" data-tg-tour="Step 1" data-tg-title="Example heading 1">
<h5 class="font-bold block mb-5">Example heading 1</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card8" data-tg-tour="Step 2" data-tg-title="Example heading 2">
<h5 class="font-bold block mb-5">Example heading 2</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
<div class="card rounded bg-slate-100 p-12 my-6 border" id="card9" data-tg-tour="Step 3" data-tg-title="Example heading 3">
<h5 class="font-bold block mb-5">Example heading 3</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias consequuntur cumque deserunt doloribus eos esse ipsam ipsum nam neque nisi odio officiis, pariatur sit tenetur voluptatum. Deserunt facilis quos tempora?</p>
</div><!-- end card -->
</div><!-- end grid -->
</div><!-- end container -->
<script src="dist/tour.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="text/javascript">
const steps = [{
content: "This is the title element",
title: "Welcome aboard 👋",
target: "#title",
order: "",
group: "groupA",
},{
content: "Grid wrapper",
title: "Test positioning of a large element occupying the entire screen",
target: "#grid-wrapper",
dialogTarget: "#card1",
order: "",
group: "groupA"
},{
content: "Card One",
title: "This is the first card",
target: "#card1",
order: "",
group: "groupA",
beforeEnter: ()=>{
console.log('wait 6 seconds')
return new Promise((resolve, reject) => {
setTimeout(function () { resolve(); }, 1000);
})
}
},{
content: "Card Deux",
title: "This is the second card",
target: "#card2",
order: "",
group: "groupA",
beforeEnter: ()=>{
return new Promise((resolve, reject) => {
// Reject entering the step
reject('skip step')
// Prevent loading state from stopping step navigation
tg._promiseWaiting = false
// Get the desired step index based on direction
let skipToIndex = 4
if (tg.activeStep === 4) skipToIndex = 2
// Visit the desired step
tg.visitStep(skipToIndex)
})
}
},{
content: "Card Three",
title: "This is the last card",
target: "#card3",
order: "",
group: "groupA",
}]
const tg = new tourguide.TourGuideClient({
steps: steps,
group: "groupA",
completeOnFinish: true,
allowDialogOverlap: true,
})
// const triggerBtn = document.getElementById('tourTrigger')
// tg.onBeforeStepChange(()=>{
// return new Promise((resolve, reject) => {
// setTimeout(function () { resolve(); }, 6000);
// })
// })
function openTour(){
tg.start()
}
</script>
</body>
</html>