kamrify commited on
Commit
8d0f3ea
Β·
1 Parent(s): bd90a81

Change style of the close button

Browse files
Files changed (4) hide show
  1. index.html +17 -2
  2. src/config.ts +0 -1
  3. src/popover.ts +4 -10
  4. src/style.css +25 -0
index.html CHANGED
@@ -335,6 +335,23 @@ npm install driver.js</pre
335
  <script type="module">
336
  import { driver } from "./src/driver.ts";
337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
  const basicTourSteps = [
339
  {
340
  element: ".page-header",
@@ -596,7 +613,6 @@ npm install driver.js</pre
596
  const driverObj = driver({
597
  prevBtnText: "<β€”β€”",
598
  nextBtnText: "β€”β€”>",
599
- closeBtnText: "X",
600
  });
601
 
602
  driverObj.highlight({
@@ -605,7 +621,6 @@ npm install driver.js</pre
605
  side: "left",
606
  title: "Button from Config",
607
  showButtons: ["close", "next", "previous"],
608
- closeBtnText: "xx",
609
  nextBtnText: "==>",
610
  prevBtnText: "<==",
611
  description: "These buttons are configured using driver config.",
 
335
  <script type="module">
336
  import { driver } from "./src/driver.ts";
337
 
338
+ const driverObj = driver({
339
+ animate: false,
340
+ });
341
+
342
+ driverObj.highlight({
343
+ element: "h1",
344
+ popover: {
345
+ title: "A popover",
346
+ side: 'bottom',
347
+ description: "Working on the close functionality right now. Turning it into a small cross button on top right corner.",
348
+ showButtons: ["close", "next", "previous"],
349
+ onCloseClick: () => {
350
+ driverObj.destroy();
351
+ }
352
+ }
353
+ });
354
+
355
  const basicTourSteps = [
356
  {
357
  element: ".page-header",
 
613
  const driverObj = driver({
614
  prevBtnText: "<β€”β€”",
615
  nextBtnText: "β€”β€”>",
 
616
  });
617
 
618
  driverObj.highlight({
 
621
  side: "left",
622
  title: "Button from Config",
623
  showButtons: ["close", "next", "previous"],
 
624
  nextBtnText: "==>",
625
  prevBtnText: "<==",
626
  description: "These buttons are configured using driver config.",
src/config.ts CHANGED
@@ -22,7 +22,6 @@ export type Config = {
22
  // Button texts
23
  nextBtnText?: string;
24
  prevBtnText?: string;
25
- closeBtnText?: string;
26
  doneBtnText?: string;
27
 
28
  // Called after the popover is rendered
 
22
  // Button texts
23
  nextBtnText?: string;
24
  prevBtnText?: string;
 
25
  doneBtnText?: string;
26
 
27
  // Called after the popover is rendered
src/popover.ts CHANGED
@@ -22,7 +22,6 @@ export type Popover = {
22
 
23
  // Button texts
24
  doneBtnText?: string;
25
- closeBtnText?: string;
26
  nextBtnText?: string;
27
  prevBtnText?: string;
28
 
@@ -72,15 +71,12 @@ export function renderPopover(element: Element, step: DriveStep) {
72
  showButtons,
73
  disableButtons,
74
 
75
- // doneBtnText = 'Done',
76
- closeBtnText = getConfig("closeBtnText") || "Close",
77
  nextBtnText = getConfig("nextBtnText") || "Next &rarr;",
78
  prevBtnText = getConfig("prevBtnText") || "&larr; Previous",
79
  } = step.popover || {};
80
 
81
  popover.nextButton.innerHTML = nextBtnText;
82
  popover.previousButton.innerHTML = prevBtnText;
83
- popover.closeButton.innerHTML = closeBtnText;
84
 
85
  if (title) {
86
  popover.title.innerText = title;
@@ -98,12 +94,11 @@ export function renderPopover(element: Element, step: DriveStep) {
98
 
99
  const showButtonsConfig: AllowedButtons[] = showButtons || getConfig("showButtons")!;
100
 
101
- if (showButtonsConfig?.length! > 0) {
 
102
  popover.footer.style.display = "flex";
103
-
104
  popover.nextButton.style.display = showButtonsConfig.includes("next") ? 'block' : 'none';
105
  popover.previousButton.style.display = showButtonsConfig.includes("previous") ? 'block' : 'none';
106
- popover.closeButton.style.display = showButtonsConfig.includes("close") ? 'block' : 'none';
107
  } else {
108
  popover.footer.style.display = "none";
109
  }
@@ -576,7 +571,7 @@ function createPopover(): PopoverDOM {
576
 
577
  const closeButton = document.createElement("button");
578
  closeButton.classList.add("driver-popover-close-btn");
579
- closeButton.innerText = "Close";
580
 
581
  const footerButtons = document.createElement("span");
582
  footerButtons.classList.add("driver-popover-navigation-btns");
@@ -591,10 +586,9 @@ function createPopover(): PopoverDOM {
591
 
592
  footerButtons.appendChild(previousButton);
593
  footerButtons.appendChild(nextButton);
594
-
595
- footer.appendChild(closeButton);
596
  footer.appendChild(footerButtons);
597
 
 
598
  wrapper.appendChild(arrow);
599
  wrapper.appendChild(title);
600
  wrapper.appendChild(description);
 
22
 
23
  // Button texts
24
  doneBtnText?: string;
 
25
  nextBtnText?: string;
26
  prevBtnText?: string;
27
 
 
71
  showButtons,
72
  disableButtons,
73
 
 
 
74
  nextBtnText = getConfig("nextBtnText") || "Next &rarr;",
75
  prevBtnText = getConfig("prevBtnText") || "&larr; Previous",
76
  } = step.popover || {};
77
 
78
  popover.nextButton.innerHTML = nextBtnText;
79
  popover.previousButton.innerHTML = prevBtnText;
 
80
 
81
  if (title) {
82
  popover.title.innerText = title;
 
94
 
95
  const showButtonsConfig: AllowedButtons[] = showButtons || getConfig("showButtons")!;
96
 
97
+ popover.closeButton.style.display = showButtonsConfig.includes("close") ? 'block' : 'none';
98
+ if (showButtonsConfig?.includes("next") || showButtonsConfig?.includes("previous")) {
99
  popover.footer.style.display = "flex";
 
100
  popover.nextButton.style.display = showButtonsConfig.includes("next") ? 'block' : 'none';
101
  popover.previousButton.style.display = showButtonsConfig.includes("previous") ? 'block' : 'none';
 
102
  } else {
103
  popover.footer.style.display = "none";
104
  }
 
571
 
572
  const closeButton = document.createElement("button");
573
  closeButton.classList.add("driver-popover-close-btn");
574
+ closeButton.innerHTML = "&times;";
575
 
576
  const footerButtons = document.createElement("span");
577
  footerButtons.classList.add("driver-popover-navigation-btns");
 
586
 
587
  footerButtons.appendChild(previousButton);
588
  footerButtons.appendChild(nextButton);
 
 
589
  footer.appendChild(footerButtons);
590
 
591
+ wrapper.appendChild(closeButton);
592
  wrapper.appendChild(arrow);
593
  wrapper.appendChild(title);
594
  wrapper.appendChild(description);
src/style.css CHANGED
@@ -49,6 +49,10 @@
49
  background-color: #fff;
50
  }
51
 
 
 
 
 
52
  .driver-popover-title {
53
  font: 19px / normal sans-serif;
54
  font-weight: 700;
@@ -59,6 +63,27 @@
59
  margin: 0;
60
  }
61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  .driver-popover-title[style*="block"] + .driver-popover-description {
63
  margin-top: 5px;
64
  }
 
49
  background-color: #fff;
50
  }
51
 
52
+ .driver-popover * {
53
+ font-family: "Helvetica Neue", Inter, ui-sans-serif, "Apple Color Emoji", Helvetica, Arial, sans-serif;
54
+ }
55
+
56
  .driver-popover-title {
57
  font: 19px / normal sans-serif;
58
  font-weight: 700;
 
63
  margin: 0;
64
  }
65
 
66
+ .driver-popover-close-btn {
67
+ all: unset;
68
+ position: absolute;
69
+ top: 0;
70
+ right: 0;
71
+ width: 32px;
72
+ height: 28px;
73
+ cursor: pointer;
74
+ font-size: 18px;
75
+ font-weight: 500;
76
+ color: #d2d2d2;
77
+ z-index: 1;
78
+ text-align: center;
79
+ transition: color;
80
+ transition-duration: 200ms;
81
+ }
82
+
83
+ .driver-popover-close-btn:hover {
84
+ color: #2d2d2d;
85
+ }
86
+
87
  .driver-popover-title[style*="block"] + .driver-popover-description {
88
  margin-top: 5px;
89
  }