diff --git a/.gitignore b/.gitignore index 499d6298e..43e31c448 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /.nyc_output/ /coverage/ /cypress/ +/docs/ /dist/ /node_modules/ /test/unit/dist diff --git a/.jsdoc.js b/.jsdoc.js index 413a2339c..936fb02f5 100644 --- a/.jsdoc.js +++ b/.jsdoc.js @@ -23,10 +23,10 @@ module.exports = { // Do not disable sorting disableSort: false, // Do not collapse, show all methods - collapse: false - // 'resources': { - // 'google': 'https://www.google.com/' - // } + collapse: false, + resources: { + Demo: 'https://shepherdjs.dev/demo/' + } }, opts: { destination: './docs/', diff --git a/docs/Step.html b/docs/Step.html deleted file mode 100644 index 90104e206..000000000 --- a/docs/Step.html +++ /dev/null @@ -1,1729 +0,0 @@ - - - - - - - - - Step - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- Step -

- - - - -
-
- -

- - Step - -

- - -
-

A class representing steps to be added to a tour.

-
- - -
- -
-
- - - - - -

Constructor

- - - - - - - - -

- new Step(tour, options) → {Step} -

-
- - - - - -
-

Create a step

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
tour - - - - Tour - - - - - - - -

The tour for the step

- -
options - - - - Object - - - - - - - -

The options for the step

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
attachTo - - - - Object - - - - - - - -

What element the step should be attached to on the page. -It should be an object with the properties element and on, where element is an element selector string -or a DOM element and on is the optional direction to place the Tippy tooltip.

-
const new Step(tour, {
-  attachTo: { element: '.some .selector-path', on: 'left' },
-  ...moreOptions
-})'
-
-

If you don’t specify an attachTo the element will appear in the middle of the screen. -If you omit the on portion of attachTo, the element will still be highlighted, but the tooltip will appear -in the middle of the screen, without an arrow pointing to the target.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
element - - - - HTMLElement - - - | - - - string - - - - - - - - - -
on - - - - string - - - - - - - - - -
- - -
advanceOn - - - - Object - - - - - - - -

An action on the page which should advance shepherd to the next step. -It should be an object with a string selector and an event name

-
const new Step(tour, {
-  advanceOn: { selector: '.some .selector-path', event: 'click' },
-  ...moreOptions
-})'
-
-

event doesn’t have to be an event inside the tour, it can be any event fired on any element on the page. -You can also always manually advance the Tour by calling myTour.next().

- -
beforeShowPromise - - - - function - - - - - - - -

A function that returns a promise. -When the promise resolves, the rest of the show code for the step will execute.

- -
buttons - - - - Array.<Object> - - - - - - - -

An array of buttons to add to the step. These will be rendered in a -footer below the main body text.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
button.action - - - - function - - - - - - - -

A function executed when the button is clicked on

- -
button.classes - - - - string - - - - - - - -

Extra classes to apply to the <a>

- -
button.events - - - - Object - - - - - - - -

A hash of events to bind onto the button, for example -{'mouseover': function(){}}. Adding a click event to events when you already have an action specified is not supported. -You can use events to skip steps or navigate to specific steps, with something like:

-
events: {
-  click: function() {
-    return Shepherd.activeTour.show('some_step_name');
-  }
-}
-
- -
button.text - - - - string - - - - - - - -

The HTML text of the button

- -
- - -
classes - - - - string - - - - - - - -

A string of extra classes to add to the step's content element.

- -
highlightClass - - - - string - - - - - - - -

An extra class to apply to the attachTo element when it is -highlighted (that is, when its step is active). You can then target that selector in your CSS.

- -
tippyOptions - - - - Object - - - - - - - -

Extra options to pass to tippy.js

- -
scrollTo - - - - boolean - - - | - - - Object - - - - - - - -

Should the element be scrolled to when this step is shown? If true, uses the default scrollIntoView, -if an object, passes that object as the params to scrollIntoView i.e. {behavior: 'smooth', block: 'center'}

- -
scrollToHandler - - - - function - - - - - - - -

A function that lets you override the default scrollTo behavior and -define a custom action to do the scrolling, and possibly other logic.

- -
showCancelLink - - - - boolean - - - - - - - -

Should a cancel “✕” be shown in the header of the step?

- -
showOn - - - - function - - - - - - - -

A function that, when it returns true, will show the step. -If it returns false, the step will be skipped.

- -
text - - - - string - - - - - - - -

The text in the body of the step. It can be one of three types:

-
- HTML string
-- `HTMLElement` object
-- `Function` to be executed when the step is built. It must return one the two options above.
-
- -
title - - - - string - - - - - - - -

The step's title. It becomes an h3 at the top of the step.

- -
when - - - - Object - - - - - - - -

You can define show, hide, etc events inside when. For example:

-
when: {
-  show: function() {
-    window.scrollTo(0, 0);
-  }
-}
-
- -
modalOverlayOpeningPadding - - - - Number - - - - - - - -

An amount of padding to add around the modal overlay opening

- -
- - -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - -

Extends

- - - - -
    -
  • Evented
  • -
- - - - - - - -

Classes

- -
- -
- Step -
-
- -
- -
- - - - - - - - - -

Methods

- - - - - - - - - - - - - -

- cancel() -

-
- - - - - -
-

Cancel the tour -Triggers the cancel event

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- complete() -

-
- - - - - -
-

Complete the tour -Triggers the complete event

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- destroy() -

-
- - - - - -
-

Remove the step, delete the step's element, and destroy the tippy instance for the step -Triggers destroy event

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- getTour() → {Tour} -

-
- - - - - -
-

Returns the tour for the step

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- hide() -

-
- - - - - -
-

Hide the step and destroy the tippy instance

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- isOpen() → {boolean} -

-
- - - - - -
-

Check if the step is open and visible

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- show() → {*|Promise} -

-
- - - - - -
-

Wraps _show and ensures beforeShowPromise resolves before calling show

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
-
- - - - -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/docs/Tour.html b/docs/Tour.html deleted file mode 100644 index 048a6b051..000000000 --- a/docs/Tour.html +++ /dev/null @@ -1,1914 +0,0 @@ - - - - - - - - - Tour - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- Tour -

- - - - -
-
- -

- - Tour - -

- - -
-

Class representing the site tour

-
- - -
- -
-
- - - - - -

Constructor

- - - - - - - - -

- new Tour(options) → {Tour} -

-
- - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
options - - - - Object - - - - - - - -

The options for the tour

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
defaultStepOptions - - - - Object - - - - - - - -

Default options for Steps (Step#constructor), created through addStep

- -
disableScroll - - - - boolean - - - - - - - -

When set to true, will keep the user from scrolling with the scrollbar, -mousewheel, arrow keys, etc. You may want to use this to ensure you are driving the scroll position with the tour.

- -
steps - - - - Array.<Step> - - - - - - - -

An array of Step instances to initialize the tour with

- -
tourName - - - - string - - - - - - - -

An optional "name" for the tour. This will be appended to the the tour's -dynamically generated id property -- which is also set on the body element as the data-shepherd-active-tour attribute -whenever the tour becomes active.

- -
useModalOverlay - - - - boolean - - - - - - - -

Whether or not steps should be placed above a darkened -modal overlay. If true, the overlay will create an opening around the target element so that it -can remain interactive

- -
- - -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - -

Extends

- - - - -
    -
  • Evented
  • -
- - - - - - - -

Classes

- -
- -
- Tour -
-
- -
- -
- - - - - - - - - -

Methods

- - - - - - - - - - - - - -

- addStep(arg1, arg2) → {Step} -

-
- - - - - -
-

Adds a new step to the tour

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
arg1 - - - - Object - - - | - - - Number - - - | - - - Step - - - | - - - String - - - - - - - -

When arg2 is defined, arg1 can either be a string or number, to use for the id for the step -When arg2 is undefined, arg1 is either an object containing step options or a Step instance

- -
arg2 - - - - Object - - - | - - - Step - - - - - - - -

An object containing step options or a Step instance

- -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- back() -

-
- - - - - -
-

Go to the previous step in the tour

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- cancel() -

-
- - - - - -
-

Calls _done() triggering the 'cancel' event -If confirmCancel is true, will show a window.confirm before cancelling

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- complete() -

-
- - - - - -
-

Calls _done() triggering the complete event

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- getById(id) → {Step} -

-
- - - - - -
-

Gets the step from a given id

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
id - - - - Number - - - | - - - String - - - - - - - -

The id of the step to retrieve

- -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- getCurrentStep() → {Step|null} -

-
- - - - - -
-

Gets the current step

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- hide() -

-
- - - - - -
-

Hide the current step

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- isActive() → {boolean} -

-
- - - - - -
-

Check if the tour is active

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- next() -

-
- - - - - -
-

Go to the next step in the tour -If we are at the end, call complete

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- removeStep(name) -

-
- - - - - -
-

Removes the step from the tour

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - - - String - - - - - - - -

The id for the step to remove

- -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- show(key, forward) -

-
- - - - - -
-

Show a specific step in the tour

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDefaultDescription
key - - - - Number - - - | - - - String - - - - - - - - - 0 - - -

The key to look up the step by

- -
forward - - - - Boolean - - - - - - - - - true - - -

True if we are going forward, false if backward

- -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- start() -

-
- - - - - -
-

Start the tour

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
-
- - - - -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Bold-webfont.eot b/docs/fonts/OpenSans-Bold-webfont.eot deleted file mode 100644 index 5d20d9163..000000000 Binary files a/docs/fonts/OpenSans-Bold-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Bold-webfont.svg b/docs/fonts/OpenSans-Bold-webfont.svg deleted file mode 100644 index 3ed7be4bc..000000000 --- a/docs/fonts/OpenSans-Bold-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Bold-webfont.woff b/docs/fonts/OpenSans-Bold-webfont.woff deleted file mode 100644 index 1205787b0..000000000 Binary files a/docs/fonts/OpenSans-Bold-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.eot b/docs/fonts/OpenSans-BoldItalic-webfont.eot deleted file mode 100644 index 1f639a15f..000000000 Binary files a/docs/fonts/OpenSans-BoldItalic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.svg b/docs/fonts/OpenSans-BoldItalic-webfont.svg deleted file mode 100644 index 6a2607b9d..000000000 --- a/docs/fonts/OpenSans-BoldItalic-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.woff b/docs/fonts/OpenSans-BoldItalic-webfont.woff deleted file mode 100644 index ed760c062..000000000 Binary files a/docs/fonts/OpenSans-BoldItalic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Italic-webfont.eot b/docs/fonts/OpenSans-Italic-webfont.eot deleted file mode 100644 index 0c8a0ae06..000000000 Binary files a/docs/fonts/OpenSans-Italic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Italic-webfont.svg b/docs/fonts/OpenSans-Italic-webfont.svg deleted file mode 100644 index e1075dcc2..000000000 --- a/docs/fonts/OpenSans-Italic-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Italic-webfont.woff b/docs/fonts/OpenSans-Italic-webfont.woff deleted file mode 100644 index ff652e643..000000000 Binary files a/docs/fonts/OpenSans-Italic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Light-webfont.eot b/docs/fonts/OpenSans-Light-webfont.eot deleted file mode 100644 index 14868406a..000000000 Binary files a/docs/fonts/OpenSans-Light-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Light-webfont.svg b/docs/fonts/OpenSans-Light-webfont.svg deleted file mode 100644 index 11a472ca8..000000000 --- a/docs/fonts/OpenSans-Light-webfont.svg +++ /dev/null @@ -1,1831 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Light-webfont.woff b/docs/fonts/OpenSans-Light-webfont.woff deleted file mode 100644 index e78607481..000000000 Binary files a/docs/fonts/OpenSans-Light-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.eot b/docs/fonts/OpenSans-LightItalic-webfont.eot deleted file mode 100644 index 8f445929f..000000000 Binary files a/docs/fonts/OpenSans-LightItalic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.svg b/docs/fonts/OpenSans-LightItalic-webfont.svg deleted file mode 100644 index 431d7e354..000000000 --- a/docs/fonts/OpenSans-LightItalic-webfont.svg +++ /dev/null @@ -1,1835 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-LightItalic-webfont.woff b/docs/fonts/OpenSans-LightItalic-webfont.woff deleted file mode 100644 index 43e8b9e6c..000000000 Binary files a/docs/fonts/OpenSans-LightItalic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Regular-webfont.eot b/docs/fonts/OpenSans-Regular-webfont.eot deleted file mode 100644 index 6bbc3cf58..000000000 Binary files a/docs/fonts/OpenSans-Regular-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Regular-webfont.svg b/docs/fonts/OpenSans-Regular-webfont.svg deleted file mode 100644 index 25a395234..000000000 --- a/docs/fonts/OpenSans-Regular-webfont.svg +++ /dev/null @@ -1,1831 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Regular-webfont.woff b/docs/fonts/OpenSans-Regular-webfont.woff deleted file mode 100644 index e231183dc..000000000 Binary files a/docs/fonts/OpenSans-Regular-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Semibold-webfont.eot b/docs/fonts/OpenSans-Semibold-webfont.eot deleted file mode 100755 index d8375dd0a..000000000 Binary files a/docs/fonts/OpenSans-Semibold-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Semibold-webfont.svg b/docs/fonts/OpenSans-Semibold-webfont.svg deleted file mode 100755 index eec4db8bd..000000000 --- a/docs/fonts/OpenSans-Semibold-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Semibold-webfont.ttf b/docs/fonts/OpenSans-Semibold-webfont.ttf deleted file mode 100755 index b3290843a..000000000 Binary files a/docs/fonts/OpenSans-Semibold-webfont.ttf and /dev/null differ diff --git a/docs/fonts/OpenSans-Semibold-webfont.woff b/docs/fonts/OpenSans-Semibold-webfont.woff deleted file mode 100755 index 28d6adee0..000000000 Binary files a/docs/fonts/OpenSans-Semibold-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.eot b/docs/fonts/OpenSans-SemiboldItalic-webfont.eot deleted file mode 100755 index 0ab1db22e..000000000 Binary files a/docs/fonts/OpenSans-SemiboldItalic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.svg b/docs/fonts/OpenSans-SemiboldItalic-webfont.svg deleted file mode 100755 index 7166ec1b9..000000000 --- a/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf b/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf deleted file mode 100755 index d2d6318f6..000000000 Binary files a/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf and /dev/null differ diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.woff b/docs/fonts/OpenSans-SemiboldItalic-webfont.woff deleted file mode 100755 index d4dfca402..000000000 Binary files a/docs/fonts/OpenSans-SemiboldItalic-webfont.woff and /dev/null differ diff --git a/docs/icons/home.svg b/docs/icons/home.svg deleted file mode 100644 index 676d2d385..000000000 --- a/docs/icons/home.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/docs/icons/search.svg b/docs/icons/search.svg deleted file mode 100644 index ccc84b62c..000000000 --- a/docs/icons/search.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 534d92efc..000000000 --- a/docs/index.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - Home - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - - - - - - - - - - -
-
-

Shepherd

-

Ship Shape

-

Shepherd is maintained by Ship Shape. Contact us for Ember.js consulting, development, and training for your project.

-

npm version -Download count all time -npm -npm bundle size -Build Status -Maintainability -Test Coverage -Greenkeeper badge

-

Guide your users through a tour of your app

-

Browsers support

- - - - - - - - - - - - - - - - - -
IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
IE11, Edgelast 2 versionslast 2 versionslast 2 versions
-

Documentation

-

API documentation

-

Demo

-

Demo

-

Contributing

-

We encourage contributions of all kinds. If you would like to contribute in some way, please review our guidelines for contributing.

-

License

-

MIT License

-

Projects Using Shepherd

-

Here we showcase some of the awesome libraries built using Shepherd.

-

JS Framework Wrappers

-

ember-shepherd

-

Ember addon for the site tour library Shepherd

-

angular-shepherd

-

An Angular wrapper for the site tour library Shepherd

-

react-shepherd

-

A React wrapper for the site tour library Shepherd

-

vue-shepherd

-

A Vue wrapper for the site tour library Shepherd

-

Websites and Apps

-

SimplePlanner

-

SimplePlanner uses Shepherd to help new users get familiar with its collaborative scheduling approach. -You do need to sign up via OAuth or email to see the scheduling tour. -Check out the Envato Tuts+ Startup Series on its codebase which describes how Simple Planner was built.

-

Brokermate

-

Brokermate uses Shepherd to guide users through initial setup steps.

-

Your Project Here

-

If you have a cool open-source library built on Shepherd, PR this doc.

-
-
- - - - - -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/docs/scripts/linenumber.js b/docs/scripts/linenumber.js deleted file mode 100644 index ff6c0693b..000000000 --- a/docs/scripts/linenumber.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -/* global document */ -(function () { - var lineId, lines, totalLines, anchorHash; - var source = document.getElementsByClassName('prettyprint source linenums'); - var i = 0; - var lineNumber = 0; - - if (source && source[0]) { - anchorHash = document.location.hash.substring(1); - lines = source[0].getElementsByTagName('li'); - totalLines = lines.length; - - for (; i < totalLines; i++) { - lineNumber++; - lineId = 'line' + lineNumber; - lines[i].id = lineId; - if (lineId === anchorHash) { - lines[i].className += ' selected'; - } - } - } -})(); diff --git a/docs/scripts/pagelocation.js b/docs/scripts/pagelocation.js deleted file mode 100644 index e1383680c..000000000 --- a/docs/scripts/pagelocation.js +++ /dev/null @@ -1,89 +0,0 @@ -'use strict'; - -$(document).ready(function () { - var currentSectionNav, target; - - // If an anchor hash is in the URL highlight the menu item - highlightActiveHash(); - // If a specific page section is in the URL highlight the menu item - highlightActiveSection(); - - // If a specific page section is in the URL scroll that section up to the top - currentSectionNav = $('#' + getCurrentSectionName() + '-nav'); - - if (currentSectionNav.position()) { - $('nav').scrollTop(currentSectionNav.position().top); - } - - // function to scroll to anchor when clicking an anchor linl - $('a[href*="#"]:not([href="#"])').click(function () { - /* eslint-disable no-invalid-this */ - if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') && location.hostname === this.hostname) { - target = $(this.hash); - target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); - if (target.length) { - $('html, body').animate({ - scrollTop: target.offset().top - }, 1000); - } - } - /* eslint-enable no-invalid-this */ - }); -}); - -// If a new anchor section is selected, change the hightlighted menu item -$(window).bind('hashchange', function (event) { - highlightActiveHash(event); -}); - -function highlightActiveHash(event) { - var oldUrl, oldSubSectionElement; - - // check for and remove old hash active state - if (event && event.originalEvent.oldURL) { - oldUrl = event.originalEvent.oldURL; - - if (oldUrl.indexOf('#') > -1) { - oldSubSectionElement = $('#' + getCurrentSectionName() + '-' + oldUrl.substring(oldUrl.indexOf('#') + 1) + '-nav'); - - if (oldSubSectionElement) { - oldSubSectionElement.removeClass('active'); - } - } - } - - if (getCurrentHashName()) { - $('#' + getCurrentSectionName() + '-' + getCurrentHashName() + '-nav').addClass('active'); - } -} - -function highlightActiveSection() { - var pageId = getCurrentSectionName(); - - $('#' + pageId + '-nav').addClass('active'); -} - -function getCurrentSectionName() { - var path = window.location.pathname; - var pageUrl = path.split('/').pop(); - - var sectionName = pageUrl.substring(0, pageUrl.indexOf('.')); - - // remove the wodr module- if its in the url - sectionName = sectionName.replace('module-', ''); - - return sectionName; -} - -function getCurrentHashName() { - var pageSubSectionId; - var pageSubSectionHash = window.location.hash; - - if (pageSubSectionHash) { - pageSubSectionId = pageSubSectionHash.substring(1).replace('.', ''); - - return pageSubSectionId; - } - - return false; -} diff --git a/docs/step.js.html b/docs/step.js.html deleted file mode 100644 index 64a66bfab..000000000 --- a/docs/step.js.html +++ /dev/null @@ -1,597 +0,0 @@ - - - - - - - - - - - step.js - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- step.js -

- - - - - -
-
-
import { isElement, isFunction, isUndefined } from './utils/type-check';
-import { Evented } from './evented.js';
-import { bindAdvance, bindButtonEvents, bindCancelLink, bindMethods } from './utils/bind.js';
-import { createFromHTML, setupTooltip, parseAttachTo } from './utils/general.js';
-
-// Polyfills
-import 'element-matches';
-import smoothscroll from 'smoothscroll-polyfill';
-
-smoothscroll.polyfill();
-
-/**
- * Creates incremented ID for each newly created step
- *
- * @return {Function} A function that returns the unique id for the step
- * @private
- */
-const uniqueId = (function() {
-  let id = 0;
-  return function() {
-    return ++id;
-  };
-})();
-
-/**
- * A class representing steps to be added to a tour.
- * @extends {Evented}
- */
-export class Step extends Evented {
-  /**
-   * Create a step
-   * @param {Tour} tour The tour for the step
-   * @param {Object} options The options for the step
-   * @param {Object} options.attachTo What element the step should be attached to on the page.
-   * It should be an object with the properties `element` and `on`, where `element` is an element selector string
-   * or a DOM element and `on` is the optional direction to place the Tippy tooltip.
-   *
-   * ```js
-   * const new Step(tour, {
-   *   attachTo: { element: '.some .selector-path', on: 'left' },
-   *   ...moreOptions
-   * })'
-   * ```
-   *
-   * If you don’t specify an attachTo the element will appear in the middle of the screen.
-   * If you omit the `on` portion of `attachTo`, the element will still be highlighted, but the tooltip will appear
-   * in the middle of the screen, without an arrow pointing to the target.
-   * @param {HTMLElement|string} options.attachTo.element
-   * @param {string} options.attachTo.on
-   * @param {Object} options.advanceOn An action on the page which should advance shepherd to the next step.
-   * It should be an object with a string `selector` and an `event` name
-   * ```js
-   * const new Step(tour, {
-   *   advanceOn: { selector: '.some .selector-path', event: 'click' },
-   *   ...moreOptions
-   * })'
-   * ```
-   * `event` doesn’t have to be an event inside the tour, it can be any event fired on any element on the page.
-   * You can also always manually advance the Tour by calling `myTour.next()`.
-   * @param {function} options.beforeShowPromise A function that returns a promise.
-   * When the promise resolves, the rest of the `show` code for the step will execute.
-   * @param {Object[]} options.buttons An array of buttons to add to the step. These will be rendered in a
-   * footer below the main body text.
-   * @param {function} options.buttons.button.action A function executed when the button is clicked on
-   * @param {string} options.buttons.button.classes Extra classes to apply to the `<a>`
-   * @param {Object} options.buttons.button.events A hash of events to bind onto the button, for example
-   * `{'mouseover': function(){}}`. Adding a `click` event to events when you already have an `action` specified is not supported.
-   * You can use events to skip steps or navigate to specific steps, with something like:
-   * ```js
-   * events: {
-   *   click: function() {
-   *     return Shepherd.activeTour.show('some_step_name');
-   *   }
-   * }
-   * ```
-   * @param {string} options.buttons.button.text The HTML text of the button
-   * @param {string} options.classes A string of extra classes to add to the step's content element.
-   * @param {string} options.highlightClass An extra class to apply to the `attachTo` element when it is
-   * highlighted (that is, when its step is active). You can then target that selector in your CSS.
-   * @param {Object} options.tippyOptions Extra [options to pass to tippy.js]{@link https://atomiks.github.io/tippyjs/#all-options}
-   * @param {boolean|Object} options.scrollTo Should the element be scrolled to when this step is shown? If true, uses the default `scrollIntoView`,
-   * if an object, passes that object as the params to `scrollIntoView` i.e. `{behavior: 'smooth', block: 'center'}`
-   * @param {function} options.scrollToHandler A function that lets you override the default scrollTo behavior and
-   * define a custom action to do the scrolling, and possibly other logic.
-   * @param {boolean} options.showCancelLink Should a cancel “✕” be shown in the header of the step?
-   * @param {function} options.showOn A function that, when it returns `true`, will show the step.
-   * If it returns false, the step will be skipped.
-   * @param {string} options.text The text in the body of the step. It can be one of three types:
-   * ```
-   * - HTML string
-   * - `HTMLElement` object
-   * - `Function` to be executed when the step is built. It must return one the two options above.
-   * ```
-   * @param {string} options.title The step's title. It becomes an `h3` at the top of the step.
-   * @param {Object} options.when You can define `show`, `hide`, etc events inside `when`. For example:
-   * ```js
-   * when: {
-   *   show: function() {
-   *     window.scrollTo(0, 0);
-   *   }
-   * }
-   * ```
-   * @param {Number} options.modalOverlayOpeningPadding An amount of padding to add around the modal overlay opening
-   * @return {Step} The newly created Step instance
-   */
-  constructor(tour, options) {
-    super(tour, options);
-    this.tour = tour;
-    bindMethods.call(this, [
-      '_scrollTo',
-      '_setupElements',
-      '_show',
-      'cancel',
-      'complete',
-      'destroy',
-      'hide',
-      'isOpen',
-      'show'
-    ]);
-    this._setOptions(options);
-    this.bindAdvance = bindAdvance.bind(this);
-    this.bindButtonEvents = bindButtonEvents.bind(this);
-    this.bindCancelLink = bindCancelLink.bind(this);
-    this.setupTooltip = setupTooltip.bind(this);
-    this.parseAttachTo = parseAttachTo.bind(this);
-
-    return this;
-  }
-
-  /**
-   * Cancel the tour
-   * Triggers the `cancel` event
-   */
-  cancel() {
-    this.tour.cancel();
-    this.trigger('cancel');
-  }
-
-  /**
-   * Complete the tour
-   * Triggers the `complete` event
-   */
-  complete() {
-    this.tour.complete();
-    this.trigger('complete');
-  }
-
-  /**
-   * Remove the step, delete the step's element, and destroy the tippy instance for the step
-   * Triggers `destroy` event
-   */
-  destroy() {
-    if (this.tooltip) {
-      this.tooltip.destroy();
-      this.tooltip = null;
-    }
-
-    if (isElement(this.el) && this.el.parentNode) {
-      this.el.parentNode.removeChild(this.el);
-      this.el = null;
-    }
-
-    if (this.target) {
-      this._updateStepTargetOnHide();
-    }
-
-    this.trigger('destroy');
-  }
-
-  /**
-   * Returns the tour for the step
-   * @return {Tour} The tour instance
-   */
-  getTour() {
-    return this.tour;
-  }
-
-  /**
-   * Hide the step and destroy the tippy instance
-   */
-  hide() {
-    this.tour.modal.hide();
-
-    this.trigger('before-hide');
-
-    document.body.removeAttribute('data-shepherd-step');
-
-    if (this.target) {
-      this._updateStepTargetOnHide();
-    }
-
-    if (this.tooltip) {
-      this.tooltip.hide();
-    }
-
-    this.trigger('hide');
-  }
-
-  /**
-   * Check if the step is open and visible
-   * @return {boolean} True if the step is open and visible
-   */
-  isOpen() {
-    return Boolean(
-      this.tooltip &&
-      this.tooltip.state &&
-      this.tooltip.state.isVisible
-    );
-  }
-
-  /**
-   * Wraps `_show` and ensures `beforeShowPromise` resolves before calling show
-   * @return {*|Promise}
-   */
-  show() {
-    if (isFunction(this.options.beforeShowPromise)) {
-      const beforeShowPromise = this.options.beforeShowPromise();
-      if (!isUndefined(beforeShowPromise)) {
-        return beforeShowPromise.then(() => this._show());
-      }
-    }
-    this._show();
-  }
-
-  /**
-   * Adds buttons to the step as passed into options
-   *
-   * @param {HTMLElement} content The element for the step, to append the footer with buttons to
-   * @private
-   */
-  _addButtons(content) {
-    if (Array.isArray(this.options.buttons) && this.options.buttons.length) {
-      const footer = document.createElement('footer');
-
-      footer.classList.add('shepherd-footer');
-
-      this.options.buttons.map((cfg) => {
-        const button = createFromHTML(
-          `<button class="shepherd-button ${cfg.classes || ''}" tabindex="0">${cfg.text}</button>`
-        );
-        footer.appendChild(button);
-        this.bindButtonEvents(cfg, button);
-      });
-
-      content.appendChild(footer);
-    }
-  }
-
-  /**
-   * Adds the "x" button to cancel the tour
-   * @param {HTMLElement} element The step element
-   * @param {HTMLElement} header The header element for the step
-   * @private
-   */
-  _addCancelLink(element, header) {
-    if (this.options.showCancelLink) {
-      const link = createFromHTML('<a href class="shepherd-cancel-link"></a>');
-      header.appendChild(link);
-
-      element.classList.add('shepherd-has-cancel-link');
-      this.bindCancelLink(link);
-    }
-  }
-
-  /**
-   * Adds text passed in as options
-   *
-   * @param {HTMLElement} content The content to append the text to
-   * @param {string} descriptionId The id to set on the shepherd-text element
-   * for the parent element to use for aria-describedby
-   * @private
-   */
-  _addContent(content, descriptionId) {
-    const textContainer = createFromHTML(
-      `<div class="shepherd-text"
-       id="${descriptionId}"
-       ></div>`
-    );
-
-    let { text } = this.options;
-
-    if (isFunction(text)) {
-      text = text.call(this, textContainer);
-    }
-
-    // If the test is already and HTMLElement, we append it, if it is a string, we add it to `innerHTML`
-    isElement(text) ? textContainer.appendChild(text) : textContainer.innerHTML += text;
-
-    content.appendChild(textContainer);
-  }
-
-  /**
-   * Setup keydown events to allow closing the modal with ESC
-   *
-   * Borrowed from this great post! https://bitsofco.de/accessible-modal-dialog/
-   *
-   * @param {HTMLElement} element The element for the tooltip
-   * @private
-   */
-  _addKeyDownHandler(element) {
-    const KEY_TAB = 9;
-    const KEY_ESC = 27;
-    const LEFT_ARROW = 37;
-    const RIGHT_ARROW = 39;
-
-    // Get all elements that are focusable
-    const focusableElements = element.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]');
-    const [firstFocusableElement] = focusableElements;
-    const lastFocusableElement = focusableElements[focusableElements.length - 1];
-
-    element.addEventListener('keydown', (e) => {
-      switch (e.keyCode) {
-        case KEY_TAB:
-          if (focusableElements.length === 1) {
-            e.preventDefault();
-            break;
-          }
-          // Backward tab
-          if (e.shiftKey) {
-            if (document.activeElement === firstFocusableElement) {
-              e.preventDefault();
-              lastFocusableElement.focus();
-            }
-          } else {
-            if (document.activeElement === lastFocusableElement) {
-              e.preventDefault();
-              firstFocusableElement.focus();
-            }
-          }
-          break;
-        case KEY_ESC:
-          this.cancel();
-          break;
-        case LEFT_ARROW:
-          this.tour.back();
-          break;
-        case RIGHT_ARROW:
-          this.tour.next();
-          break;
-        default:
-          break;
-      }
-    });
-  }
-
-  /**
-   * Creates Shepherd element for step based on options
-   *
-   * @return {HTMLElement} The DOM element for the step tooltip
-   * @private
-   */
-  _createTooltipContent() {
-    const content = document.createElement('div');
-    const classes = this.options.classes || '';
-    const descriptionId = `${this.id}-description`;
-    const labelId = `${this.id}-label`;
-    const element = createFromHTML(
-      `<div class="${classes}"
-       data-shepherd-step-id="${this.id}"
-       role="dialog"
-       tabindex="0">`
-    );
-    const header = document.createElement('header');
-
-    if (this.options.title) {
-      const title = document.createElement('h3');
-      title.classList.add('shepherd-title');
-      title.innerHTML = `${this.options.title}`;
-      title.id = labelId;
-      element.setAttribute('aria-labeledby', labelId);
-      header.appendChild(title);
-    }
-
-    content.classList.add('shepherd-content');
-    header.classList.add('shepherd-header');
-    element.appendChild(content);
-    content.appendChild(header);
-
-    if (!isUndefined(this.options.text)) {
-      this._addContent(content, descriptionId);
-      element.setAttribute('aria-describedby', descriptionId);
-    }
-
-    this._addButtons(content);
-    this._addCancelLink(element, header);
-
-    return element;
-  }
-
-  /**
-   * If a custom scrollToHandler is defined, call that, otherwise do the generic
-   * scrollIntoView call.
-   *
-   * @param {boolean|Object} scrollToOptions If true, uses the default `scrollIntoView`,
-   * if an object, passes that object as the params to `scrollIntoView` i.e. `{ behavior: 'smooth', block: 'center' }`
-   * @private
-   */
-  _scrollTo(scrollToOptions) {
-    const { element } = this.parseAttachTo();
-
-    if (isFunction(this.options.scrollToHandler)) {
-      this.options.scrollToHandler(element);
-    } else if (isElement(element)) {
-      element.scrollIntoView(scrollToOptions);
-    }
-  }
-
-  /**
-   * Sets the options for the step, maps `when` to events, sets up buttons
-   * @param {Object} options The options for the step
-   * @private
-   */
-  _setOptions(options = {}) {
-    this.options = options;
-    const { when } = this.options;
-
-    this.destroy();
-    this.id = this.options.id || `step-${uniqueId()}`;
-
-    if (when) {
-      Object.entries(when).forEach(([event, handler]) => {
-        this.on(event, handler, this);
-      });
-    }
-  }
-
-  /**
-   * Create the element and set up the tippy instance
-   * @private
-   */
-  _setupElements() {
-    if (!isUndefined(this.el)) {
-      this.destroy();
-    }
-
-    this.el = this._createTooltipContent();
-
-    this._addKeyDownHandler(this.el);
-
-    if (this.options.advanceOn) {
-      this.bindAdvance();
-    }
-
-    this.setupTooltip();
-  }
-
-  /**
-   * Triggers `before-show`, generates the tooltip DOM content,
-   * sets up a tippy instance for the tooltip, then triggers `show`.
-   * @private
-   */
-  _show() {
-    this.tour.beforeShowStep(this);
-    this.trigger('before-show');
-
-    if (!this.el) {
-      this._setupElements();
-    }
-
-    this.target.classList.add('shepherd-enabled', 'shepherd-target');
-
-    document.body.setAttribute('data-shepherd-step', this.id);
-
-    if (this.options.scrollTo) {
-      setTimeout(() => {
-        this._scrollTo(this.options.scrollTo);
-      });
-    }
-
-    this.tooltip.show();
-    this.trigger('show');
-    this.el.focus();
-  }
-
-  /**
-   * When a step is hidden, remove the highlightClass and 'shepherd-enabled'
-   * and 'shepherd-target' classes
-   * @private
-   */
-  _updateStepTargetOnHide() {
-    if (this.options.highlightClass) {
-      this.target.classList.remove(this.options.highlightClass);
-    }
-
-    this.target.classList.remove('shepherd-enabled', 'shepherd-target');
-  }
-}
-
-
-
- - - - -
- -
- - - - - - - - - - diff --git a/docs/styles/collapse.css b/docs/styles/collapse.css deleted file mode 100644 index 4dc412147..000000000 --- a/docs/styles/collapse.css +++ /dev/null @@ -1,27 +0,0 @@ -@media only screen and (min-width: 681px) { - nav > ul > li:hover .methods, - .active .methods { - display: block; - } - - .methods { - display: none; - } - - nav > ul > li { - padding: 20px 0; - } - - nav > ul > li > a { - padding: 0; - } - - nav > ul > li.active a { - margin-bottom: 10px; - } - - nav > ul > li:hover > a, - nav > ul > li.active > a { - margin-bottom: 15px; - } -} diff --git a/docs/styles/jsdoc-default.css b/docs/styles/jsdoc-default.css deleted file mode 100644 index c873f1914..000000000 --- a/docs/styles/jsdoc-default.css +++ /dev/null @@ -1,953 +0,0 @@ -@font-face { - font-family: "Avenir Next W01"; - font-style: normal; - font-weight: 600; - src: url("https://fast.fonts.net/dv2/14/14c73713-e4df-4dba-933b-057feeac8dd1.woff2?d44f19a684109620e484167ba790e8180fd9e29df91d80ce3d096f014db863074e1ea706cf5ed4e1c042492e76df291ce1d24ec684d3d9da9684f55406b9f22bce02f0f30f556681593dafea074d7bd44e28a680d083ccfd44ed4f8a3087a20c56147c11f917ed1dbd85c4a18cf38da25e6ac78f008f472262304d50e7e0cb7541ef1642c676db6e4bde4924846f5daf486fbde9335e98f6a20f6664bc4525253d1d4fca42cf1c490483c8daf0237f6a0fd292563417ad80ca3e69321417747bdc6f0969f34b2a0401b5e2b9a4dfd5b06d9710850900c66b34870aef&projectId=f750d5c7-baa2-4767-afd7-45484f47fe17") format('woff2'); -} - -@font-face { - font-family: "Avenir Next W01"; - font-style: normal; - font-weight: 500; - src: url("https://fast.fonts.net/dv2/14/627fbb5a-3bae-4cd9-b617-2f923e29d55e.woff2?d44f19a684109620e484167ba790e8180fd9e29df91d80ce3d096f014db863074e1ea706cf5ed4e1c042492e76df291ce1d24ec684d3d9da9684f55406b9f22bce02f0f30f556681593dafea074d7bd44e28a680d083ccfd44ed4f8a3087a20c56147c11f917ed1dbd85c4a18cf38da25e6ac78f008f472262304d50e7e0cb7541ef1642c676db6e4bde4924846f5daf486fbde9335e98f6a20f6664bc4525253d1d4fca42cf1c490483c8daf0237f6a0fd292563417ad80ca3e69321417747bdc6f0969f34b2a0401b5e2b9a4dfd5b06d9710850900c66b34870aef&projectId=f750d5c7-baa2-4767-afd7-45484f47fe17") format('woff2'); -} - -@font-face { - font-family: "Avenir Next W01"; - font-style: normal; - font-weight: 400; - src: url("https://fast.fonts.net/dv2/14/2cd55546-ec00-4af9-aeca-4a3cd186da53.woff2?d44f19a684109620e484167ba790e8180fd9e29df91d80ce3d096f014db863074e1ea706cf5ed4e1c042492e76df291ce1d24ec684d3d9da9684f55406b9f22bce02f0f30f556681593dafea074d7bd44e28a680d083ccfd44ed4f8a3087a20c56147c11f917ed1dbd85c4a18cf38da25e6ac78f008f472262304d50e7e0cb7541ef1642c676db6e4bde4924846f5daf486fbde9335e98f6a20f6664bc4525253d1d4fca42cf1c490483c8daf0237f6a0fd292563417ad80ca3e69321417747bdc6f0969f34b2a0401b5e2b9a4dfd5b06d9710850900c66b34870aef&projectId=f750d5c7-baa2-4767-afd7-45484f47fe17") format('woff2'); -} - -@font-face { - font-family: 'bt_mono'; - font-style: normal; - font-weight: 400; - src: url('https://assets.braintreegateway.com/fonts/bt_mono_regular-webfont.eot'); - src: url('https://assets.braintreegateway.com/fonts/bt_mono_regular-webfont.woff2') format('woff2'), url('https://assets.braintreegateway.com/fonts/bt_mono_regular-webfont.woff') format('woff'), url('https://assets.braintreegateway.com/fonts/bt_mono_regular-webfont.ttf') format('truetype'), url('https://assets.braintreegateway.com/fonts/bt_mono_regular-webfont.svg#bt_mono_reqular-webfont') format('svg'); -} - -@font-face { - font-family: 'bt_mono'; - font-style: normal; - font-weight: 500; - src: url('https://assets.braintreegateway.com/fonts/bt_mono_medium-webfont.eot'); - src: url('https://assets.braintreegateway.com/fonts/bt_mono_medium-webfont.woff2') format('woff2'), url('https://assets.braintreegateway.com/fonts/bt_mono_medium-webfont.woff') format('woff'), url('https://assets.braintreegateway.com/fonts/bt_mono_medium-webfont.ttf') format('truetype'), url('https://assets.braintreegateway.com/fonts/bt_mono_medium-webfont.svg#bt_mono_medium-webfont') format('svg'); -} - -@font-face { - font-family: 'bt_mono'; - font-style: normal; - font-weight: 600; - src: url('https://assets.braintreegateway.com/fonts/bt_mono_bold-webfont.eot'); - src: url('https://assets.braintreegateway.com/fonts/bt_mono_bold-webfont.woff2') format('woff2'), url('https://assets.braintreegateway.com/fonts/bt_mono_bold-webfont.woff') format('woff'), url('https://assets.braintreegateway.com/fonts/bt_mono_bold-webfont.ttf') format('truetype'), url('https://assets.braintreegateway.com/fonts/bt_mono_bold-webfont.svg#bt_mono_bold-webfont') format('svg'); -} - -@font-face { - font-family: 'bt_mono'; - font-style: normal; - font-weight: 900; - src: url('https://assets.braintreegateway.com/fonts/bt_mono_heavy-webfont.eot'); - src: url('https://assets.braintreegateway.com/fonts/bt_mono_heavy-webfont.woff2') format('woff2'), url('https://assets.braintreegateway.com/fonts/bt_mono_heavy-webfont.woff') format('woff'), url('https://assets.braintreegateway.com/fonts/bt_mono_heavy-webfont.ttf') format('truetype'), url('https://assets.braintreegateway.com/fonts/bt_mono_heavy-webfont.svg#bt_mono_heavy-webfont') format('svg'); -} - -* { - box-sizing: border-box -} - -html, body { - height: 100%; - width: 100%; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - color: #3e3c42; - text-rendering: optimizeLegibility; - margin: 0; -} - -body { - color: #3e3c42; - background-color: #f3f3f3; - width: 100%; - font: 16px/1.875 "Avenir Next W01", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; - font-size: 16px; - line-height: 160%; -} - -a, a:active { - color: #0095dd; - text-decoration: none; -} - -a:hover { - text-decoration: underline -} - -p, ul, ol, blockquote { - margin-bottom: 1em; -} - -p { - max-width: 800px; -} - -h1, h2, h3, h4, h5, h6 { - color: #706d77; - font-weight: 500; - margin: 0; - line-height: 1; -} - -h1 { - color: #4b484f; - font-weight: 500; - font-size: 40px; - display: block; -} - -h1 span { - color: #999; - font-size: 32px; - display: block; - line-height: 1.5; -} - -h1.page-title { - border-bottom: 1px dashed #ccc; - margin-bottom: 20px; - padding-bottom: 30px; -} - -h2 { - font-size: 30px; - margin: 1.5em 0 0; -} - -h3 { - font-size: 20px; - margin: 1.5em 0 0; - text-transform: uppercase; -} - -h3.reference-title { - display: block; - font-weight: 400; - margin-top: 2em; - max-width: 200px; -} - -h3.reference-title small { - display: inline-block; - color: #0095dd; - margin-left: 5px; - font-weight: 500; -} - -h3.subsection-title { - border-bottom: 1px solid #ececec; - padding-bottom: 20px; - margin-top: 3em; - margin-bottom: 1em; -} - -h4 { - font-size: 16px; - margin: 1em 0 0; - font-weight: bold; -} - -h4.name { - font-size: 20px; - margin-top: 0; - font-weight: 500; -} - -h5 { - margin: 2em 0 0.5em 0; - font-size: 14px; - font-weight: 500; - text-transform: uppercase; -} - -.container-overview .subsection-title { - font-size: 14px; - text-transform: uppercase; - margin: 8px 0 15px 0; - font-weight: bold; - color: #4D4E53; - padding-top: 10px; -} - -h6 { - font-size: 100%; - letter-spacing: -0.01em; - margin: 6px 0 3px 0; - font-style: italic; - text-transform: uppercase; - font-weight: 500; -} - -tt, code, kbd, samp { - font-family: "Source Code Pro", monospace; - background: #f4f4f4; - padding: 1px 5px; - border-radius: 5px; -} - -.class-description { - margin-bottom: 1em; - margin-top: 1em; - padding: 10px 20px; - background-color: rgba(26, 159, 224, 0.1); -} - -.class-description:empty { - margin: 0 -} - -#main { - background-color: white; - float: right; - min-width: 360px; - width: calc(100% - 300px); - padding: 30px; - z-index: 100; -} - -header { - display: block; - max-width: 1400px; -} - -section { - display: block; - max-width: 1400px; - background-color: #fff; -} - -.variation { - display: none -} - -.signature-attributes { - font-size: 60%; - color: #aaa; - font-style: italic; - font-weight: lighter; -} - -.rule { - width: 100%; - margin-top: 20px; - display: block; - border-top: 1px solid #ccc; -} - -ul { - list-style-type: none; - padding-left: 0; -} - -ul li a { - font-weight: 500; -} - -ul ul { - padding-top: 5px; -} - -ul li ul { - padding-left: 20px; -} - -ul li ul li a { - font-weight: normal; -} - -nav { - float: left; - display: block; - width: 300px; - background: #f7f7f7; - overflow-x: visible; - overflow-y: auto; - height: 100%; - padding: 0px 30px 100px 30px; - height: 100%; - position: fixed; - transition: left 0.2s; - z-index: 998; - margin-top: 0px; - top: 43px; -} - -.navicon-button { - display: inline-block; - position: fixed; - bottom: 1.5em; - right: 1.5em; - z-index: 2; -} - -nav h3 { - font-size: 13px; - text-transform: uppercase; - letter-spacing: 1px; - font-weight: bold; - line-height: 24px; - margin: 40px 0 10px 0; - padding: 0; -} - -nav ul { - font-size: 100%; - line-height: 17px; - padding: 0; - margin: 0; - list-style-type: none; - border: none; - padding-left: 0; -} - -nav ul a { - font-size: 16px; -} - -nav ul a, nav ul a:active { - display: block; -} - -nav ul a:hover, nav ul a:active { - color: hsl(200, 100%, 43%); - text-decoration: none; -} - -nav>ul { - padding: 0 10px; -} - -nav>ul li:first-child { - padding-top: 0; -} - -nav ul li ul { - padding-left: 0; -} - -nav>ul>li { - border-bottom: 1px solid #e2e2e2; - padding: 10px 0 20px 0; -} - -nav>ul>li.active ul { - border-left: 3px solid #0095dd; - padding-left: 15px; -} - -nav>ul>li.active ul li.active a { - font-weight: bold; -} - -nav>ul>li.active a { - color: #0095dd; -} - -nav>ul>li>a { - color: #706d77; - padding: 20px 0; - font-size: 18px; -} - -nav ul ul { - margin-bottom: 10px; - padding-left: 0; -} - -nav ul ul a { - color: #5f5c63; -} - -nav ul ul a, nav ul ul a:active { - font-family: 'bt_mono', monospace; - font-size: 14px; - padding-left: 20px; - padding-top: 3px; - padding-bottom: 9px; -} - -nav h2 { - font-size: 12px; - margin: 0; - padding: 0; -} - -nav>h2>a { - color: hsl(202, 71%, 50%); - border-bottom: 1px solid hsl(202, 71%, 50%); - padding-bottom: 5px; -} - -nav>h2>a:hover { - font-weight: 500; - text-decoration: none; -} - -footer { - background-color: #fff; - color: hsl(0, 0%, 28%); - margin-left: 300px; - display: block; - font-style: italic; - font-size: 12px; - padding: 30px; - text-align: center; -} - -.ancestors { - color: #999; -} - -.ancestors a { - color: #999 !important; - text-decoration: none; -} - -.clear { - clear: both; -} - -.important { - font-weight: bold; - color: #950B02; -} - -.yes-def { - text-indent: -1000px; -} - -.type-signature { - color: #aaa; -} - -.name, .signature { - font-family: 'bt_mono', monospace; - word-wrap: break-word; -} - -.details { - margin-top: 14px; - font-size: 13px; - text-align: right; - background: #ffffff; - /* Old browsers */ - background: -moz-linear-gradient(left, #ffffff 0%, #fafafa 100%); - /* FF3.6-15 */ - background: -webkit-linear-gradient(left, #ffffff 0%, #fafafa 100%); - /* Chrome10-25,Safari5.1-6 */ - background: linear-gradient(to right, #ffffff 0%, #fafafa 100%); - /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ - filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fafafa', GradientType=1); - padding-right: 5px; -} - -.details dt { - display: inline-block; -} - -.details dd { - display: inline-block; - margin: 0; -} - -.details dd a { - font-style: italic; - font-weight: normal; - line-height: 1; -} - -.details ul { - list-style-type: none; - margin: 0; -} - -.details pre.prettyprint { - margin: 0 -} - -.details .object-value { - padding-top: 0 -} - -.description { - margin-bottom: 1em; - margin-top: 1em; -} - -.code-caption { - font-style: italic; - margin: 0; - font-size: 16px; - color: #545454; -} - -.prettyprint { - font-size: 13px; - border: 1px solid #ddd; - border-radius: 3px; - overflow: auto; - background-color: #fbfbfb; -} - -.prettyprint.source { - width: inherit; -} - -.prettyprint code { - font-size: 100%; - line-height: 18px; - display: block; - margin: 0 30px; - background-color: #fbfbfb; - color: #4D4E53; -} - -.prettyprint>code { - padding: 30px 15px; -} - -.prettyprint .linenums code { - padding: 0 15px; -} - -.prettyprint .linenums li:first-of-type code { - padding-top: 15px; -} - -.prettyprint code span.line { - display: inline-block; -} - -.prettyprint.linenums { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.prettyprint.linenums ol { - padding-left: 0 -} - -.prettyprint.linenums li { - border-left: 3px #ddd solid -} - -.prettyprint.linenums li.selected, .prettyprint.linenums li.selected * { - background-color: lightyellow -} - -.prettyprint.linenums li * { - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; -} - -.readme .prettyprint { - max-width: 800px; -} - -.params, .props { - border-spacing: 0; - border: 1px solid #ddd; - border-radius: 3px; - width: 100%; - font-size: 14px; -} - -.params .name, .props .name, .name code { - color: #4D4E53; - font-family: 'bt_mono', monospace; - font-size: 100%; -} - -.params td, .params th, .props td, .props th { - margin: 0px; - text-align: left; - vertical-align: top; - padding: 10px; - display: table-cell; -} - -.params td { - border-top: 1px solid #eee; -} - -.params thead tr, .props thead tr { - background-color: #fff; - font-weight: bold; -} - -.params .params thead tr, .props .props thead tr { - background-color: #fff; - font-weight: bold; -} - -.params td.description>p:first-child, .props td.description>p:first-child { - margin-top: 0; - padding-top: 0; -} - -.params td.description>p:last-child, .props td.description>p:last-child { - margin-bottom: 0; - padding-bottom: 0; -} - -dl.param-type { - margin-top: 5px; -} - -.param-type dt, .param-type dd { - display: inline-block -} - -.param-type dd { - font-family: Consolas, Monaco, 'Andale Mono', monospace -} - -.disabled { - color: #454545 -} - - -/* tag source style */ - -.tag-deprecated { - padding-right: 5px; -} - -.tag-source { - border-bottom: 1px solid rgba(28, 160, 224, 0.35); -} - -.tag-source:first-child { - border-bottom: 1px solid rgba(28, 160, 224, 1); -} - - -/* navicon button */ - -.navicon-button { - position: relative; - transition: 0.25s; - cursor: pointer; - user-select: none; - opacity: .8; - background-color: white; - border-radius: 100%; - width: 50px; - height: 50px; - -webkit-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.31); - -moz-box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.31); - box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.31); -} - -.navicon-button .navicon:before, .navicon-button .navicon:after { - transition: 0.25s; -} - -.navicon-button:hover { - transition: 0.5s; - opacity: 1; -} - -.navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after { - transition: 0.25s; -} - -.navicon-button:hover .navicon:before { - top: .425rem; -} - -.navicon-button:hover .navicon:after { - top: -.425rem; -} - - -/* navicon */ - -.navicon { - position: relative; - width: 1.5em; - height: .195rem; - background: #000; - top: calc(50% - .09rem); - left: calc(50% - .75rem); - transition: 0.3s; - border-radius: 5px; -} - -.navicon:before, .navicon:after { - display: block; - content: ""; - height: .195rem; - width: 1.5rem; - background: #000; - position: absolute; - z-index: -1; - transition: 0.3s 0.25s; -} - -.navicon:before { - top: 0.425rem; - height: .195rem; - border-radius: 5px; -} - -.navicon:after { - top: -0.425rem; - border-radius: 5px; -} - - -/* open */ - -.nav-trigger:checked+label:not(.steps) .navicon:before, .nav-trigger:checked+label:not(.steps) .navicon:after { - top: 0 !important; -} - -.nav-trigger:checked+label .navicon:before, .nav-trigger:checked+label .navicon:after { - transition: 0.5s; -} - - -/* Minus */ - -.nav-trigger:checked+label { - transform: scale(0.75); -} - - -/* × and + */ - -.nav-trigger:checked+label.plus .navicon, .nav-trigger:checked+label.x .navicon { - background: transparent; -} - -.nav-trigger:checked+label.plus .navicon:before, .nav-trigger:checked+label.x .navicon:before { - transform: rotate(-45deg); - background: #000; -} - -.nav-trigger:checked+label.plus .navicon:after, .nav-trigger:checked+label.x .navicon:after { - transform: rotate(45deg); - background: #000; -} - -.nav-trigger:checked+label.plus { - transform: scale(0.75) rotate(45deg); -} - -.nav-trigger:checked~nav { - left: 0 !important; -} - -.nav-trigger:checked~.overlay { - display: block; -} - -.nav-trigger { - position: fixed; - top: 0; - clip: rect(0, 0, 0, 0); -} - -.overlay { - display: none; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - width: 100%; - height: 100%; - background: hsla(0, 0%, 0%, 0.5); - z-index: 1; -} - -table { - border-collapse: separate; - ; - display: block; - overflow-x: auto; - /*table-layout:fixed;*/ -} - -table tbody td { - border-top: 1px solid hsl(207, 10%, 86%); - border-right: 1px solid #eee; - padding: 5px; - /*word-wrap: break-word;*/ -} - -td table.params, td table.props { - border: 0; -} - -@media only screen and (min-width: 320px) and (max-width: 680px) { - body { - overflow-x: hidden; - } - #main { - padding: 30px 30px; - width: 100%; - min-width: 360px; - } - nav { - background: #FFF; - width: 300px; - height: 100%; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: -300px; - z-index: 3; - padding: 0 10px; - transition: left 0.2s; - margin-top: 0; - } - .navicon-button { - display: inline-block; - position: fixed; - bottom: 1.5em; - right: 20px; - z-index: 1000; - } - .top-nav-wrapper { - display: none; - } - #main h1.page-title { - margin: 0.5em 0; - } - footer { - margin-left: 0; - margin-bottom: 30px; - } -} - -.top-nav-wrapper { - background-color: #ececec; - position: fixed; - top: 0px; - left: 0px; - padding: 10px 10px 0 10px; - z-index: 999; - width: 300px; -} - -.top-nav-wrapper ul { - margin: 0; -} - -.top-nav-wrapper ul li { - display: inline-block; - padding: 0 10px; - vertical-align: top; -} - -.top-nav-wrapper ul li.active { - border-bottom: 2px solid rgba(28, 160, 224, 1); -} - -.search-wrapper { - display: inline-block; - position: relative; -} - -.search-wrapper svg { - position: absolute; - left: 0px; -} - -input.search-input { - background: transparent; - box-shadow: 0; - border: 0; - border-bottom: 1px solid #c7c7c7; - padding: 7px 15px 12px 35px; - margin: 0 auto; -} - - -/* Smooth outline with box-shadow: */ - -input.search-input:focus { - border-bottom: 2px solid rgba(28, 160, 224, 1); - outline: none; -} - - -/* Hightlight JS Paradiso Light Theme */ - -.hljs-comment, .hljs-quote { - color: #776e71 -} - -.hljs-variable, .hljs-template-variable, .hljs-tag, .hljs-name, .hljs-selector-id, .hljs-selector-class, .hljs-regexp, .hljs-link, .hljs-meta { - color: #ef6155 -} - -.hljs-number, .hljs-built_in, .hljs-builtin-name, .hljs-literal, .hljs-type, .hljs-params, .hljs-deletion { - color: #f99b15 -} - -.hljs-title, .hljs-section, .hljs-attribute { - color: #fec418 -} - -.hljs-string, .hljs-symbol, .hljs-bullet, .hljs-addition { - color: #48b685 -} - -.hljs-keyword, .hljs-selector-tag { - color: #815ba4 -} - -.hljs { - display: block; - overflow-x: auto; - background: #e7e9db; - color: #4f424c; - padding: 0.5em -} - -.hljs-emphasis { - font-style: italic -} - -.hljs-strong { - font-weight: bold -} - -.link-icon { - opacity: 0; - position: absolute; - margin-left: -25px; - padding-right: 5px; - padding-top: 2px; -} - -.example-container .link-icon { - margin-top: -6px; -} - -.example-container:hover .link-icon, -.name-container:hover .link-icon { - opacity: .5; -} - -.name-container { - display: flex; - padding-top: 1em; -} diff --git a/docs/styles/prettify-jsdoc.css b/docs/styles/prettify-jsdoc.css deleted file mode 100644 index 834a866d4..000000000 --- a/docs/styles/prettify-jsdoc.css +++ /dev/null @@ -1,111 +0,0 @@ -/* JSDoc prettify.js theme */ - -/* plain text */ -.pln { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* string content */ -.str { - color: hsl(104, 100%, 24%); - font-weight: normal; - font-style: normal; -} - -/* a keyword */ -.kwd { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a comment */ -.com { - font-weight: normal; - font-style: italic; -} - -/* a type name */ -.typ { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a literal value */ -.lit { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* punctuation */ -.pun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp open bracket */ -.opn { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp close bracket */ -.clo { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a markup tag name */ -.tag { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute name */ -.atn { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute value */ -.atv { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a declaration */ -.dec { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a variable name */ -.var { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a function name */ -.fun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; -} diff --git a/docs/styles/prettify-tomorrow.css b/docs/styles/prettify-tomorrow.css deleted file mode 100644 index eaf125103..000000000 --- a/docs/styles/prettify-tomorrow.css +++ /dev/null @@ -1,138 +0,0 @@ -/* Tomorrow Theme */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* Pretty printing styles. Used with prettify.js. */ -/* SPAN elements with the classes below are added by prettyprint. */ -/* plain text */ -.pln { - color: #4d4d4c; } - -@media screen { - /* string content */ - .str { - color: hsl(104, 100%, 24%); } - - /* a keyword */ - .kwd { - color: hsl(240, 100%, 50%); } - - /* a comment */ - .com { - color: hsl(0, 0%, 60%); } - - /* a type name */ - .typ { - color: hsl(240, 100%, 32%); } - - /* a literal value */ - .lit { - color: hsl(240, 100%, 40%); } - - /* punctuation */ - .pun { - color: #000000; } - - /* lisp open bracket */ - .opn { - color: #000000; } - - /* lisp close bracket */ - .clo { - color: #000000; } - - /* a markup tag name */ - .tag { - color: #c82829; } - - /* a markup attribute name */ - .atn { - color: #f5871f; } - - /* a markup attribute value */ - .atv { - color: #3e999f; } - - /* a declaration */ - .dec { - color: #f5871f; } - - /* a variable name */ - .var { - color: #c82829; } - - /* a function name */ - .fun { - color: #4271ae; } } -/* Use higher contrast and text-weight for printable form. */ -@media print, projection { - .str { - color: #060; } - - .kwd { - color: #006; - font-weight: bold; } - - .com { - color: #600; - font-style: italic; } - - .typ { - color: #404; - font-weight: bold; } - - .lit { - color: #044; } - - .pun, .opn, .clo { - color: #440; } - - .tag { - color: #006; - font-weight: bold; } - - .atn { - color: #404; } - - .atv { - color: #060; } } -/* Style */ -/* -pre.prettyprint { - background: white; - font-family: Consolas, Monaco, 'Andale Mono', monospace; - font-size: 12px; - line-height: 1.5; - border: 1px solid #ccc; - padding: 10px; } -*/ - -/* Get LI elements to show when they are in the main article */ -article ul li { - list-style-type: circle; - margin-left: 25px; -} - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; } - -/* IE indents via margin-left */ -li.L0, -li.L1, -li.L2, -li.L3, -li.L4, -li.L5, -li.L6, -li.L7, -li.L8, -li.L9 { - /* */ } - -/* Alternate shading for lines */ -li.L1, -li.L3, -li.L5, -li.L7, -li.L9 { - /* */ } diff --git a/docs/tour.js.html b/docs/tour.js.html deleted file mode 100644 index fa80c10c5..000000000 --- a/docs/tour.js.html +++ /dev/null @@ -1,527 +0,0 @@ - - - - - - - - - - - tour.js - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- tour.js -

- - - - - -
-
-
import { isFunction, isNumber, isString, isUndefined } from './utils/type-check';
-import { Evented } from './evented.js';
-import { Modal } from './modal.js';
-import { Step } from './step.js';
-import { bindMethods } from './utils/bind.js';
-import tippy from 'tippy.js';
-import { disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock/lib/bodyScrollLock.es6.js';
-import { defaults as tooltipDefaults } from './utils/tooltip-defaults';
-
-import { cleanupSteps, cleanupStepEventListeners } from './utils/cleanup';
-import { getElementForStep } from './utils/dom';
-import { toggleShepherdModalClass } from './utils/modal';
-
-/**
- * Creates incremented ID for each newly created tour
- *
- * @return {Function} A function that returns the unique id for the tour
- * @private
- */
-const uniqueId = (function() {
-  let id = 0;
-  return function() {
-    return ++id;
-  };
-})();
-
-const Shepherd = new Evented();
-
-/**
- * Class representing the site tour
- * @extends {Evented}
- */
-export class Tour extends Evented {
-  /**
-   * @param {Object} options The options for the tour
-   * @param {Object} options.defaultStepOptions Default options for Steps ({@link Step#constructor}), created through `addStep`
-   * @param {boolean} options.disableScroll When set to true, will keep the user from scrolling with the scrollbar,
-   * mousewheel, arrow keys, etc. You may want to use this to ensure you are driving the scroll position with the tour.
-   * @param {Step[]} options.steps An array of Step instances to initialize the tour with
-   * @param {string} options.tourName An optional "name" for the tour. This will be appended to the the tour's
-   * dynamically generated `id` property -- which is also set on the `body` element as the `data-shepherd-active-tour` attribute
-   * whenever the tour becomes active.
-   * @param {boolean} options.useModalOverlay Whether or not steps should be placed above a darkened
-   * modal overlay. If true, the overlay will create an opening around the target element so that it
-   * can remain interactive
-   * @returns {Tour}
-   */
-  constructor(options = {}) {
-    super(options);
-    bindMethods.call(this, [
-      'back',
-      'cancel',
-      'complete',
-      'hide',
-      'next'
-    ]);
-    this.options = options;
-    this.steps = this.options.steps || [];
-
-    // Pass these events onto the global Shepherd object
-    const events = ['active', 'cancel', 'complete', 'inactive', 'show', 'start'];
-    events.map((event) => {
-      ((e) => {
-        this.on(e, (opts) => {
-          opts = opts || {};
-          opts.tour = this;
-          Shepherd.trigger(e, opts);
-        });
-      })(event);
-    });
-
-    this.modal = new Modal(options);
-
-    this._setTooltipDefaults();
-    this._setTourID();
-
-    return this;
-  }
-
-  /**
-   * Adds a new step to the tour
-   * @param {Object|Number|Step|String} arg1
-   * When arg2 is defined, arg1 can either be a string or number, to use for the `id` for the step
-   * When arg2 is undefined, arg1 is either an object containing step options or a Step instance
-   * @param {Object|Step} arg2 An object containing step options or a Step instance
-   * @return {Step} The newly added step
-   */
-  addStep(arg1, arg2) {
-    let name, step;
-
-    // If we just have one argument, we can assume it is an object of step options, with an id
-    if (isUndefined(arg2)) {
-      step = arg1;
-    } else {
-      name = arg1;
-      step = arg2;
-    }
-
-    if (!(step instanceof Step)) {
-      step = this._setupStep(step, name);
-    } else {
-      step.tour = this;
-    }
-
-    this.steps.push(step);
-    return step;
-  }
-
-  /**
-   * Go to the previous step in the tour
-   */
-  back() {
-    const index = this.steps.indexOf(this.currentStep);
-    this.show(index - 1, false);
-  }
-
-  /**
-   * Calls _done() triggering the 'cancel' event
-   * If `confirmCancel` is true, will show a window.confirm before cancelling
-   */
-  cancel() {
-    if (this.options.confirmCancel) {
-      const cancelMessage = this.options.confirmCancelMessage || 'Are you sure you want to stop the tour?';
-      const stopTour = window.confirm(cancelMessage);
-      if (stopTour) {
-        this._done('cancel');
-      }
-    } else {
-      this._done('cancel');
-    }
-  }
-
-  /**
-   * Calls _done() triggering the `complete` event
-   */
-  complete() {
-    this._done('complete');
-  }
-
-  /**
-   * Gets the step from a given id
-   * @param {Number|String} id The id of the step to retrieve
-   * @return {Step} The step corresponding to the `id`
-   */
-  getById(id) {
-    return this.steps.find((step) => {
-      return step.id === id;
-    });
-  }
-
-  /**
-   * Gets the current step
-   * @returns {Step|null}
-   */
-  getCurrentStep() {
-    return this.currentStep;
-  }
-
-  /**
-   * Hide the current step
-   */
-  hide() {
-    const currentStep = this.getCurrentStep();
-
-    if (currentStep) {
-      return currentStep.hide();
-    }
-  }
-
-  /**
-   * Check if the tour is active
-   * @return {boolean}
-   */
-  isActive() {
-    return Shepherd.activeTour === this;
-  }
-
-  /**
-   * Go to the next step in the tour
-   * If we are at the end, call `complete`
-   */
-  next() {
-    const index = this.steps.indexOf(this.currentStep);
-
-    if (index === this.steps.length - 1) {
-      this.complete();
-    } else {
-      this.show(index + 1, true);
-    }
-  }
-
-  /**
-   * Removes the step from the tour
-   * @param {String} name The id for the step to remove
-   */
-  removeStep(name) {
-    const current = this.getCurrentStep();
-
-    // Find the step, destroy it and remove it from this.steps
-    this.steps.some((step, i) => {
-      if (step.id === name) {
-        if (step.isOpen()) {
-          step.hide();
-        }
-
-        step.destroy();
-        this.steps.splice(i, 1);
-
-        return true;
-      }
-    });
-
-    if (current && current.id === name) {
-      this.currentStep = undefined;
-
-      // If we have steps left, show the first one, otherwise just cancel the tour
-      this.steps.length ? this.show(0) : this.cancel();
-    }
-  }
-
-  beforeShowStep(step) {
-    this.modal.setupForStep(step);
-    this._styleTargetElementForStep(step);
-  }
-
-  /**
-   * Show a specific step in the tour
-   * @param {Number|String} key The key to look up the step by
-   * @param {Boolean} forward True if we are going forward, false if backward
-   */
-  show(key = 0, forward = true) {
-    const step = isString(key) ? this.getById(key) : this.steps[key];
-
-    if (step) {
-      this._updateStateBeforeShow();
-
-      const shouldSkipStep = isFunction(step.options.showOn) && !step.options.showOn();
-
-      // If `showOn` returns false, we want to skip the step, otherwise, show the step like normal
-      if (shouldSkipStep) {
-        this._skipStep(step, forward);
-      } else {
-        this.trigger('show', {
-          step,
-          previous: this.currentStep
-        });
-
-        this.currentStep = step;
-        step.show();
-      }
-    }
-  }
-
-  /**
-   * Start the tour
-   */
-  start() {
-    this.trigger('start');
-
-    if (this.options.disableScroll) {
-      disableBodyScroll();
-    }
-
-    this.currentStep = null;
-    this._setupActiveTour();
-    this.next();
-  }
-
-  /**
-   * Called whenever the tour is cancelled or completed, basically anytime we exit the tour
-   * @param {String} event The event name to trigger
-   * @private
-   */
-  _done(event) {
-    if (Array.isArray(this.steps)) {
-      this.steps.forEach((step) => step.destroy());
-    }
-
-    cleanupStepEventListeners.call(this);
-    cleanupSteps(this.tourObject);
-
-    this.trigger(event);
-
-    Shepherd.activeTour = null;
-    this._removeBodyAttrs();
-    this.trigger('inactive', { tour: this });
-
-    if (this.options.disableScroll) {
-      clearAllBodyScrollLocks();
-    }
-
-    this.modal.cleanup();
-  }
-
-  /**
-   * Make this tour "active"
-   * @private
-   */
-  _setupActiveTour() {
-    this.modal.createModalOverlay();
-    this._addBodyAttrs();
-    this.trigger('active', { tour: this });
-
-    Shepherd.activeTour = this;
-  }
-
-  /**
-   * Setup a new step object
-   * @param {Object} stepOptions The object describing the options for the step
-   * @param {String|Number} name The string or number to use as the `id` for the step
-   * @return {Step} The step instance
-   * @private
-   */
-  _setupStep(stepOptions, name) {
-    if (isString(name) || isNumber(name)) {
-      stepOptions.id = name.toString();
-    }
-
-    stepOptions = Object.assign({}, this.options.defaultStepOptions, stepOptions);
-
-    return new Step(this, stepOptions);
-  }
-
-  /**
-   * Modulates the styles of the passed step's target element, based on the step's options and
-   * the tour's `modal` option, to visually emphasize the element
-   *
-   * @param step The step object that attaches to the element
-   * @private
-   */
-  _styleTargetElementForStep(step) {
-    const targetElement = getElementForStep(step);
-
-    if (!targetElement) {
-      return;
-    }
-
-    toggleShepherdModalClass(targetElement);
-
-    if (step.options.highlightClass) {
-      targetElement.classList.add(step.options.highlightClass);
-    }
-
-    if (step.options.canClickTarget === false) {
-      targetElement.style.pointerEvents = 'none';
-    }
-  }
-
-  /**
-   * Called when `showOn` evaluates to false, to skip the step
-   * @param {Step} step The step to skip
-   * @param {Boolean} forward True if we are going forward, false if backward
-   * @private
-   */
-  _skipStep(step, forward) {
-    const index = this.steps.indexOf(step);
-    const nextIndex = forward ? index + 1 : index - 1;
-    this.show(nextIndex, forward);
-  }
-
-  /**
-   * Set the tippy defaults
-   * @private
-   */
-  _setTooltipDefaults() {
-    tippy.setDefaultProps(tooltipDefaults);
-  }
-
-  /**
-   * Before showing, hide the current step and if the tour is not
-   * already active, call `this._setupActiveTour`.
-   * @private
-   */
-  _updateStateBeforeShow() {
-    if (this.currentStep) {
-      this.currentStep.hide();
-    }
-
-    if (!this.isActive()) {
-      this._setupActiveTour();
-    }
-  }
-
-  /**
-   * Sets this.id to `${tourName}--${uuid}`
-   * @private
-   */
-  _setTourID() {
-    const tourName = this.options.tourName || 'tour';
-    const uuid = uniqueId();
-
-    this.id = `${tourName}--${uuid}`;
-  }
-
-  /**
-   * Adds the data-shepherd-active-tour attribute and the 'shepherd-active'
-   * class to the body.
-   * @private
-   */
-  _addBodyAttrs() {
-    document.body.setAttribute('data-shepherd-active-tour', this.id);
-    document.body.classList.add('shepherd-active');
-  }
-
-  /**
-   * Removes the data-shepherd-active-tour attribute and the 'shepherd-active'
-   * class from the body.
-   * @private
-   */
-  _removeBodyAttrs() {
-    document.body.removeAttribute('data-shepherd-active-tour');
-    document.body.classList.remove('shepherd-active');
-  }
-
-}
-
-export { Shepherd };
-
-
-
- - - - -
- -
- - - - - - - - - - diff --git a/docs/tutorial-01-install.html b/docs/tutorial-01-install.html deleted file mode 100644 index a2bda9c55..000000000 --- a/docs/tutorial-01-install.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - Tutorial: Install - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- Tutorial: Install -

- - -
-
- - -

- Install -

-
- -
-

JS Framework Wrappers

-

We strive to make it easy to use Shepherd in all the major frameworks, and have written wrappers to facilitate this.

- -

Install Directly

-

npm

-
npm install shepherd.js --save
-
-

yarn

-
yarn add shepherd.js
-
-

GitHub Releases

-

Whenever we release a new version, the contents of the dist are uploaded -to the release in GitHub. You can find those assets here.

-

Install with Eager

-

Note: Eager is now Cloudflare Apps and likely does not currently work.

-
-
- -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/docs/tutorial-02-usage.html b/docs/tutorial-02-usage.html deleted file mode 100644 index 6ade822bf..000000000 --- a/docs/tutorial-02-usage.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - - - Tutorial: Usage - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- Tutorial: Usage -

- - -
-
- - -

- Usage -

-
- -
-

Rollup/Webpack Based Builds

-

The latest versions of Rollup and Webpack support ES6 imports. We have an ES module -exported to dist/js/shepherd.esm.js. This is also specified as "module" in -package.json, which should allow you to import using standard ES import syntax.

-

i.e.

-
import Shepherd from 'shepherd.js';
-
-

First create a new Tour instance for your tour:

-
const tour = new Shepherd.Tour({
-  defaultStepOptions: {
-    classes: 'shadow-md bg-purple-dark',
-    scrollTo: true
-  }
-});
-
-

The defaultStepOptions option allows you to specify any options which should be applied -to all this tour's steps by default.

-

Next, add your steps:

-
tour.addStep('example-step', {
-  text: 'This step is attached to the bottom of the <code>.example-css-selector</code> element.',
-  attachTo: { 
-    element: '.example-css-selector', 
-    on: 'bottom'
-  },
-  classes: 'example-step-extra-class',
-  buttons: [
-    {
-      text: 'Next',
-      action: tour.next
-    }
-  ]
-});
-
-

Finally, to start the tour, just call start on your Tour instance:

-
tour.start();
-
-

If you need to remove a step from your tour, call removeStep on your Tour instance. If the step currently being displayed is the one you're removing, and there are steps left in the tour, then the first one will be shown, otherwise, the tour will be cancelled.

-
tour.removeStep('example-step');
-
-

API

-

Global Shepherd Object

-

Shepherd exposes a single object onto the window, Shepherd.

-

That global object fires several events to let you link up actions with events -occurring in any tour:

-
Methods
-
    -
  • Shepherd.on(eventName, handler, [context]): Bind an event
  • -
  • Shepherd.off(eventName, [handler]): Unbind an event
  • -
  • Shepherd.once(eventName, handler, [context]): Bind just the next instance of an event
  • -
-
Events
-

The global Shepherd fires the following events whenever a Tour instance fires them. It adds to the object passed to the -event handlers a tour key pointing to the instance which fired the event:

-
    -
  • complete
  • -
  • cancel
  • -
  • hide
  • -
  • show
  • -
  • start
  • -
  • active
  • -
  • inactive
  • -
-
Current Tour
-

The global Shepherd includes a property which is always set to the currently active tour, or null if there is no active tour:

-
    -
  • Shepherd.activeTour
  • -
-

Tour Instances

-
Creation
-

You create a Tour object for each tour you'd like to create.

-

Tour's constructor accepts a hash of options:

-
const myTour = new Shepherd.Tour(options);
-
-
Tour Options
-
    -
  • steps: An array of Step instances to initialize the tour with
  • -
  • defaultStepOptions: Default options for Steps created through addStep
  • -
  • tourName: An optional "name" for the tour. This will be appended to the the tour's -dynamically generated id property -- which is also set on the body element as the data-shepherd-active-tour attribute whenever the tour becomes active.
  • -
  • useModalOverlay: Whether or not steps should be placed above a darkened modal overlay. If true, the overlay will create an opening around the target element so that it can remain interactive.
  • -
  • confirmCancel: If true, will issue a window.confirm before cancelling
  • -
  • confirmCancelMessage: The message to display in the confirm dialog
  • -
-
Tour Methods
-
    -
  • addStep(id, options): Creates a new Step object with options, and returns the Step instance it created. If you'd like you can also just pass an options hash which includes id as a key. -If the options hash doesn't include an id, one will be generated. -You can also pass an existing Step instance rather than options, but note that Shepherd does not support a Step being attached to multiple Tours.
  • -
  • getById(id): Return a step with a specific id
  • -
  • next(): Advance to the next step, in the order they were added
  • -
  • back(): Show the previous step, in the order they were added
  • -
  • cancel(): Trigger cancel on the current step, hiding it without advancing
  • -
  • hide(): Hide the current step
  • -
  • show([id]): Show the step specified by id (if it's a string), or index (if it's a number) provided. Defaults to the first step.
  • -
  • start(): Show the first step and begin the tour
  • -
  • getCurrentStep(): Returns the currently shown step
  • -
  • on(eventName, handler, [context]): Bind an event
  • -
  • off(eventName, [handler]): Unbind an event
  • -
  • once(eventName, handler, [context]): Bind just the next instance of an event
  • -
-
Tour Events
-
    -
  • complete: Triggered when the last step is advanced
  • -
  • cancel
  • -
  • hide
  • -
  • show: Triggered with a hash of the step and the previous step
  • -
  • start
  • -
-

Steps are instances of the Step object. They are generally created by the Tour::addStep method, which returns the Step instance it -created.

-

Steps

-
Step Options
-
    -
  • text: The text in the body of the step. It can be one of three types: -
      -
    • HTML string
    • -
    • HTMLElement object
    • -
    • Function to be executed when the step is built. It must return one the two options above.
    • -
    -
  • -
  • title: The step's title. It becomes an h3 at the top of the step.
  • -
  • attachTo: What element the step should be attached to on the page. -It should be an object with the properties element and on, where element is an element selector string -or a DOM element and on is the optional direction to place the Tippy tooltip.
  • -
-
const new Step(tour, {
-  attachTo: { element: '.some .selector-path', on: 'left' },
-  ...moreOptions
-});
-
-

If you don’t specify an attachTo the element will appear in the middle of the screen. -If you omit the on portion of attachTo, the element will still be highlighted, but the tooltip will appear -in the middle of the screen, without an arrow pointing to the target.

-
    -
  • beforeShowPromise: A function that returns a promise. When the promise resolves, the rest of the show code for -the step will execute. For example:
    beforeShowPromise: function() {
    -  return new Promise(function(resolve) {
    -    $('#my-bootstrap-modal').on('shown.bs.modal', function () {
    -      resolve();
    -    });
    -  });
    -},
    -
    -
  • -
  • classes: A string of extra classes to add to the step's content element.
  • -
  • buttons: An array of buttons to add to the step. These will be rendered in a footer below the main body text. Each button in the array is an object of the format: -
      -
    • text: The HTML text of the button
    • -
    • classes: Extra classes to apply to the <a>
    • -
    • action: A function executed when the button is clicked on
    • -
    • events: A hash of events to bind onto the button, for example {'mouseover': function(){}}. Adding a click event to events when you -already have an action specified is not supported. -You can use events to skip steps or navigate to specific steps, with something like:
    • -
    -
    events: {
    -  click: function() {
    -    return Shepherd.activeTour.show('some_step_name');
    -  }
    -}
    -
    -
  • -
  • advanceOn: An action on the page which should advance shepherd to the next step. It should be an object with a string selector and an event name. -For example: {selector: '.some-element', event: 'click'}. It doesn't have to be an event inside the tour, it can be any event fired on any element on the page.
    -You can also always manually advance the Tour by calling myTour.next().
  • -
  • highlightClass: An extra class to apply to the attachTo element when it is highlighted (that is, when its step is active). You can then target that selector in your CSS.
  • -
  • showCancelLink: Should a cancel "✕" be shown in the header of the step?
  • -
  • showOn: A function that, when it returns true, will show the step. If it returns false, the step will be skipped.
  • -
  • scrollTo: Should the element be scrolled to when this step is shown?
  • -
  • scrollToHandler: A function that lets you override the default scrollTo behavior and define a custom action to do the scrolling, -and possibly other logic.
  • -
  • when: You can define show, hide, etc events inside when. For example:
  • -
-
when: {
-  show: function() {
-    window.scrollTo(0, 0);
-  }
-}
-
- -
Step Methods
-
    -
  • show(): Show this step
  • -
  • hide(): Hide this step
  • -
  • cancel(): Hide this step and trigger the cancel event
  • -
  • complete(): Hide this step and trigger the complete event
  • -
  • scrollTo(): Scroll to this step's element
  • -
  • isOpen(): Returns true if the step is currently shown
  • -
  • destroy(): Remove the element
  • -
  • on(eventName, handler, [context]): Bind an event
  • -
  • off(eventName, [handler]): Unbind an event
  • -
  • once(eventName, handler, [context]): Bind just the next instance of an event
  • -
-
Step Events
-
    -
  • before-show
  • -
  • show
  • -
  • before-hide
  • -
  • hide
  • -
  • complete
  • -
  • cancel
  • -
  • destroy
  • -
-

Please note that complete and cancel are only ever triggered if you call the associated methods in your code.

-

Advancing on Actions

-

You can use the advanceOn option, or the Next button, to advance steps. If you would like however to have a step advance on a -complex user action, you can do the following:

-
const myStep = myTour.addStep('my-step', options);
-
-yourApp.on('some-event', () => {
-  if (myStep.isOpen()){
-    Shepherd.activeTour.next();
-  }
-});
-
-

It's strongly recommended that you use some sort of event mediator to connect your app's actions with Shepherd, to prevent -having to sprinkle Shepherd code throughout your codebase, and to keep things loosely coupled. You can create a basic -mediator if need be using the Evented object which is provided with Shepherd:

-
const mediator = new Shepherd.Evented();
-
-

You can then trigger events in one part of your app:

-
mediator.trigger('user-create');
-
-

And listen for them in other areas:

-
mediator.on('user-create', () => {});
-
-

Rendering Tours in Specific Locations

-

By default, tour steps will append their elements to the body element of the DOM. This is perfect for most use cases, but not always. If you need to have steps appended elsewhere you can take advantage of Tippy's -appendTo option by defining it on the -tippyOptions hash inside of each Step's options hash.

-

🔼 Displaying Arrows

-

By default, Shepherd will generate and position an "arrow" element that points to the target -of a step. This is done by setting Tippy's arrow option to true on each ``Step.options.tippyOptions` — but you can disable the arrow manually by setting it to false:

-
myTour.addStep('Step 1', {
-  tippyOptions: {
-    arrow: false
-  }
-});
-
-

Furthermore, while each of Shepherd's themes provides some basic arrow styling, you can style it as you wish by targeting the markup that's genereated by Tippy.

-
-
- -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/docs/tutorial-03-styling.html b/docs/tutorial-03-styling.html deleted file mode 100644 index 70ec939ee..000000000 --- a/docs/tutorial-03-styling.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - Tutorial: Theming and Styling - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- Tutorial: Theming and Styling -

- - -
-
- - - - -

- Theming and Styling -

-
- -
-

We deliver some predefined themes (e.g., shepherd-theme-default or shepherd-theme-square). You are welcome to use one of them by embedding its stylesheet into your app.

-
<head>
-  <link rel="stylesheet" href="shepherd-theme-default.css">
-</head>
-
-

If you'd like to extend a theme within your own CSS, you can pass custom class names to the tour instance — or, as part of the options for each step — and use them as hooks for your own styling rules.

-
let tour = new Shepherd.Tour({
-  defaultStepOptions: {
-    classes: 'shepherd-theme-custom'
-  }
-});
-
-

Leveraging Sass Variables

-

We use SASS as pre-processor for CSS. This allows us to extend the CSS language with various syntax techniques — including variables and color functions that can be used to control theming.

-

These values and variables can be found in _variables.scss, and the ones that can be adjusted for theming are listed below.

-

🎨 Color Settings

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VariablePurposeDefault
$shepherd-theme-primaryPrimary or brand color. The primary button gets this color.#3288e6
$shepherd-theme-secondarySecondary color. If it is not set explicitly, it is calculated using the primary color.desaturate(lighten($shepherd-theme-primary, 40), 70)
$shepherd-text-backgroundBackground color of the text area.#ffffff
$shepherd-header-backgroundBackground color of the header element. If it is not set explicitly, it is calculated using the text background color.darken($shepherd-text-background, 10)
-

⚙️ Options

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VariablePurposeDefault
$shepherd-element-widthWidth of the step element400px
$shepherd-element-border-radiusSet radius of rounded corners. 0 means (sharp) pointed corners.5px
$shepherd-element-max-heightMaximum height of the element100%
$shepherd-element-max-widthMaximum width of the element100%
$shepherd-element-z-indexMove the element forward or backward9999
$shepherd-text-line-heightDetermine the line height of the body text1.3em
$shepherd-button-border-radiusDecide whether the buttons should have rounded or pointed corners. 0 means (sharp) pointed corners.3px
$use-drop-shadowThe element casts a shadowtrue
-

The example below is intended to illustrate the individual customizations. Please make sure that the values are set before the import of the base-theme.

-
$shepherd-theme-primary: #9b59b6 !default;
-$shepherd-theme-secondary: desaturate(lighten($shepherd-theme-primary, 30), 70) !default;
-$shepherd-header-background: #eeeeee !default;
-$shepherd-element-border-radius: 0 !default;
-$shepherd-button-border-radius: 0 !default;
-$use-drop-shadow: true !default;
-
-@import 'base';
-
-

As a result you get a squared theme with a purple primary button. The individual steps cast a shadow on the underlying elements. The header is colored in a light gray tone.

-
-
- -
- -
- - - - - - - - - - \ No newline at end of file diff --git a/docs/tutorial-predefined-themes.html b/docs/tutorial-predefined-themes.html deleted file mode 100644 index 8b7395bf0..000000000 --- a/docs/tutorial-predefined-themes.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - Tutorial: Predefined Themes - Documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- Tutorial: Predefined Themes -

- - -
-
- - -

- Predefined Themes -

-
- -
-

Shepherd Themes

-

Shepherd ships with a set of themes for you to choose from.

-

👀 Take a look!

-

shepherd-theme-default

-
<head>
-  <link rel="stylesheet" href="shepherd-theme-default.css">
-</head>
-
-

default

-

shepherd-theme-dark

-
<head>
-  <link rel="stylesheet" href="shepherd-theme-dark.css">
-</head>
-
-

dark

-

shepherd-theme-square

-
<head>
-  <link rel="stylesheet" href="shepherd-theme-square.css">
-</head>
-
-

square

-

shepherd-theme-square-dark

-
<head>
-  <link rel="stylesheet" href="shepherd-theme-square-dark.css">
-</head>
-
-

square-dark

-
-
- -
- -
- - - - - - - - - - \ No newline at end of file