sideshow 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/.csslintrc +37 -0
  4. data/.editorconfig +27 -0
  5. data/.gitattributes +1 -0
  6. data/.gitignore +23 -0
  7. data/BUILDING.md +4 -0
  8. data/CHANGELOG.md +47 -0
  9. data/Gulpfile.js +404 -0
  10. data/LICENSE +191 -0
  11. data/README.md +342 -0
  12. data/VERSION +1 -0
  13. data/bower.json +61 -0
  14. data/distr/dependencies/jazz.min.js +8 -0
  15. data/distr/dependencies/jquery.min.js +5 -0
  16. data/distr/dependencies/pagedown.min.js +1 -0
  17. data/distr/fonts/open-sans-family/opensans-bold.eot +0 -0
  18. data/distr/fonts/open-sans-family/opensans-bold.svg +1825 -0
  19. data/distr/fonts/open-sans-family/opensans-bold.ttf +0 -0
  20. data/distr/fonts/open-sans-family/opensans-bold.woff +0 -0
  21. data/distr/fonts/open-sans-family/opensans-bolditalic.eot +0 -0
  22. data/distr/fonts/open-sans-family/opensans-bolditalic.svg +1825 -0
  23. data/distr/fonts/open-sans-family/opensans-bolditalic.ttf +0 -0
  24. data/distr/fonts/open-sans-family/opensans-bolditalic.woff +0 -0
  25. data/distr/fonts/open-sans-family/opensans-extrabold.eot +0 -0
  26. data/distr/fonts/open-sans-family/opensans-extrabold.svg +1825 -0
  27. data/distr/fonts/open-sans-family/opensans-extrabold.ttf +0 -0
  28. data/distr/fonts/open-sans-family/opensans-extrabold.woff +0 -0
  29. data/distr/fonts/open-sans-family/opensans-extrabolditalic.eot +0 -0
  30. data/distr/fonts/open-sans-family/opensans-extrabolditalic.svg +1825 -0
  31. data/distr/fonts/open-sans-family/opensans-extrabolditalic.ttf +0 -0
  32. data/distr/fonts/open-sans-family/opensans-extrabolditalic.woff +0 -0
  33. data/distr/fonts/open-sans-family/opensans-italic.eot +0 -0
  34. data/distr/fonts/open-sans-family/opensans-italic.svg +1825 -0
  35. data/distr/fonts/open-sans-family/opensans-italic.ttf +0 -0
  36. data/distr/fonts/open-sans-family/opensans-italic.woff +0 -0
  37. data/distr/fonts/open-sans-family/opensans-light.eot +0 -0
  38. data/distr/fonts/open-sans-family/opensans-light.svg +1825 -0
  39. data/distr/fonts/open-sans-family/opensans-light.ttf +0 -0
  40. data/distr/fonts/open-sans-family/opensans-light.woff +0 -0
  41. data/distr/fonts/open-sans-family/opensans-lightitalic.eot +0 -0
  42. data/distr/fonts/open-sans-family/opensans-lightitalic.svg +1825 -0
  43. data/distr/fonts/open-sans-family/opensans-lightitalic.ttf +0 -0
  44. data/distr/fonts/open-sans-family/opensans-lightitalic.woff +0 -0
  45. data/distr/fonts/open-sans-family/opensans-regular.eot +0 -0
  46. data/distr/fonts/open-sans-family/opensans-regular.svg +1825 -0
  47. data/distr/fonts/open-sans-family/opensans-regular.ttf +0 -0
  48. data/distr/fonts/open-sans-family/opensans-regular.woff +0 -0
  49. data/distr/fonts/open-sans-family/opensans-semibold.eot +0 -0
  50. data/distr/fonts/open-sans-family/opensans-semibold.svg +1825 -0
  51. data/distr/fonts/open-sans-family/opensans-semibold.ttf +0 -0
  52. data/distr/fonts/open-sans-family/opensans-semibold.woff +0 -0
  53. data/distr/fonts/open-sans-family/opensans-semibolditalic.eot +0 -0
  54. data/distr/fonts/open-sans-family/opensans-semibolditalic.svg +1825 -0
  55. data/distr/fonts/open-sans-family/opensans-semibolditalic.ttf +0 -0
  56. data/distr/fonts/open-sans-family/opensans-semibolditalic.woff +0 -0
  57. data/distr/fonts/sideshow-fontface.min.css +1 -0
  58. data/distr/fonts/sideshow-icons/sideshow-icons.eot +0 -0
  59. data/distr/fonts/sideshow-icons/sideshow-icons.svg +16 -0
  60. data/distr/fonts/sideshow-icons/sideshow-icons.ttf +0 -0
  61. data/distr/fonts/sideshow-icons/sideshow-icons.woff +0 -0
  62. data/distr/sideshow.js +2510 -0
  63. data/distr/sideshow.min.js +10 -0
  64. data/distr/stylesheets/sideshow.min.css +1 -0
  65. data/docs/api.js +29 -0
  66. data/docs/assets/css/external-small.png +0 -0
  67. data/docs/assets/css/logo.png +0 -0
  68. data/docs/assets/css/main.css +783 -0
  69. data/docs/assets/favicon.png +0 -0
  70. data/docs/assets/img/spinner.gif +0 -0
  71. data/docs/assets/index.html +10 -0
  72. data/docs/assets/js/api-filter.js +52 -0
  73. data/docs/assets/js/api-list.js +251 -0
  74. data/docs/assets/js/api-search.js +98 -0
  75. data/docs/assets/js/apidocs.js +370 -0
  76. data/docs/assets/js/yui-prettify.js +17 -0
  77. data/docs/assets/vendor/prettify/CHANGES.html +130 -0
  78. data/docs/assets/vendor/prettify/COPYING +202 -0
  79. data/docs/assets/vendor/prettify/README.html +203 -0
  80. data/docs/assets/vendor/prettify/prettify-min.css +1 -0
  81. data/docs/assets/vendor/prettify/prettify-min.js +1 -0
  82. data/docs/classes/Arrow.html +541 -0
  83. data/docs/classes/Arrows.html +805 -0
  84. data/docs/classes/ControlVariables.html +1005 -0
  85. data/docs/classes/DetailsPanel.html +672 -0
  86. data/docs/classes/FadableItem.html +613 -0
  87. data/docs/classes/HidableItem.html +495 -0
  88. data/docs/classes/Mask.CloseButton.html +706 -0
  89. data/docs/classes/Mask.CompositeMask.html +721 -0
  90. data/docs/classes/Mask.CornerPart.html +613 -0
  91. data/docs/classes/Mask.Part.html +395 -0
  92. data/docs/classes/Mask.Polling.html +809 -0
  93. data/docs/classes/Mask.Subject.html +199 -0
  94. data/docs/classes/Mask.SubjectMask.html +417 -0
  95. data/docs/classes/Mask.WizardMenu.html +1401 -0
  96. data/docs/classes/SS.html +267 -0
  97. data/docs/classes/SSException.html +203 -0
  98. data/docs/classes/Screen.html +363 -0
  99. data/docs/classes/StepDescription.html +1025 -0
  100. data/docs/classes/StepDescriptionNextButton.html +746 -0
  101. data/docs/classes/VisualItem.html +339 -0
  102. data/docs/classes/Wizard.html +967 -0
  103. data/docs/files/c +0 -0
  104. data/docs/index.html +162 -0
  105. data/example.html +81 -0
  106. data/examples/images/clemenza.jpg +0 -0
  107. data/examples/images/doc_brown.png +0 -0
  108. data/examples/images/forkme.png +0 -0
  109. data/examples/images/fortes-logo.png +0 -0
  110. data/examples/images/sideshow-logo.png +0 -0
  111. data/examples/images/sideshow-logo.svg +155 -0
  112. data/examples/scripts/sideshow.config.js +2 -0
  113. data/examples/scripts/tutorials/introducing_sideshow.js +259 -0
  114. data/examples/stylesheets/example.min.css +1 -0
  115. data/examples/stylesheets/styl/example.styl +272 -0
  116. data/gulp/config.js +0 -0
  117. data/gulp/extensions/gulp-html-extend.js +151 -0
  118. data/gulp/tasks/.gitkeep +0 -0
  119. data/icons/iconfont.zip +0 -0
  120. data/package.json +56 -0
  121. data/sideshow.gemspec +20 -0
  122. data/sideshow.nuspec +72 -0
  123. data/sideshow.sublime-project +22 -0
  124. data/src/copyright_info.js +8 -0
  125. data/src/general/config.js +42 -0
  126. data/src/general/dictionary.js +42 -0
  127. data/src/general/exception.js +15 -0
  128. data/src/general/global_object.js +287 -0
  129. data/src/general/polling.js +151 -0
  130. data/src/general/screen.js +39 -0
  131. data/src/general/utility_functions.js +88 -0
  132. data/src/general/variables.js +42 -0
  133. data/src/interface_itens/fadable_item.js +55 -0
  134. data/src/interface_itens/hidable_item.js +32 -0
  135. data/src/interface_itens/visual_item.js +42 -0
  136. data/src/main.js +52 -0
  137. data/src/mask/composite_mask.js +193 -0
  138. data/src/mask/composite_mask_corner_part.js +105 -0
  139. data/src/mask/composite_mask_part.js +51 -0
  140. data/src/mask/mask.js +6 -0
  141. data/src/mask/subject_mask.js +34 -0
  142. data/src/step/arrow.js +88 -0
  143. data/src/step/arrows.js +155 -0
  144. data/src/step/step_description.js +165 -0
  145. data/src/step/step_description_next_button.js +55 -0
  146. data/src/step/step_details_panel.js +87 -0
  147. data/src/step/subject.js +100 -0
  148. data/src/wizard/wizard.js +395 -0
  149. data/src/wizard/wizard_control_variables.js +95 -0
  150. data/src/wizard/wizard_menu.js +101 -0
  151. data/stylesheets/_animations.styl +87 -0
  152. data/stylesheets/_font-face.styl +135 -0
  153. data/stylesheets/_icons.styl +27 -0
  154. data/stylesheets/_layout.styl +362 -0
  155. data/stylesheets/_mixins.styl +52 -0
  156. data/stylesheets/_variables.styl +35 -0
  157. data/stylesheets/sideshow-fontface.styl +4 -0
  158. data/stylesheets/sideshow.styl +7 -0
  159. data/yuidoc.json +15 -0
  160. metadata +246 -0
@@ -0,0 +1,101 @@
1
+ /**
2
+ The main menu, where the available wizards are listed
3
+
4
+ @class WizardMenu
5
+ @static
6
+ **/
7
+ var WizardMenu = {};
8
+
9
+ /**
10
+ Renders the wizard menu
11
+
12
+ @method render
13
+ @param {Array} wizards The wizards list
14
+ @static
15
+ **/
16
+ WizardMenu.render = function(wizards) {
17
+ var $menu = $("<div>").addClass("sideshow-wizard-menu");
18
+ this.$el = $menu;
19
+ var $title = $("<h1>").addClass("sideshow-wizard-menu-title");
20
+ $menu.append($title);
21
+
22
+ if (wizards.length > 0) {
23
+ var $wizardsList = $("<ul>");
24
+
25
+ //Extracting this function to avoid the JSHint warning W083
26
+ function setClick($wiz, wizard) {
27
+ $wiz.click(function() {
28
+ WizardMenu.hide(function() {
29
+ wizard.prepareAndPlay();
30
+ });
31
+ });
32
+ }
33
+
34
+ for (var w = 0; w < wizards.length; w++) {
35
+ var wiz = wizards[w];
36
+ var $wiz = $("<li>");
37
+ var $wizTitle = $("<h2>").text(wiz.title);
38
+
39
+ var description = wiz.description;
40
+ description.length > 100 && (description = description.substr(0, 100) + "...");
41
+
42
+ var $wizDescription = $("<span>").addClass("sideshow-wizard-menu-item-description").text(description);
43
+ var $wizEstimatedTime = $("<span>").addClass("sideshow-wizard-menu-item-estimated-time").text(wiz.estimatedTime);
44
+ $wiz.append($wizEstimatedTime, $wizTitle, $wizDescription);
45
+ $wizardsList.append($wiz);
46
+
47
+ setClick($wiz, wiz);
48
+ }
49
+ $menu.append($wizardsList);
50
+ } else {
51
+ $("<div>").addClass("sideshow-no-wizards-available").text(getString(strings.noAvailableWizards)).appendTo($menu);
52
+ }
53
+
54
+ $body.append($menu);
55
+ };
56
+
57
+ /**
58
+ Shows the wizard menu
59
+
60
+ @method show
61
+ @param {Array} wizards The wizards list
62
+ @static
63
+ **/
64
+ WizardMenu.show = function(wizards, title) {
65
+ if(wizards.length == 1 && SS.config.autoSkipIntro)
66
+ wizards[0].prepareAndPlay();
67
+ else{
68
+ SS.setEmptySubject();
69
+ Mask.CompositeMask.singleInstance.update(Subject.position, Subject.dimension, Subject.borderRadius);
70
+ Mask.CompositeMask.singleInstance.fadeIn();
71
+
72
+ WizardMenu.render(wizards);
73
+
74
+ if (title)
75
+ this.setTitle(title);
76
+ else
77
+ this.setTitle(getString(strings.availableWizards));
78
+ }
79
+ };
80
+
81
+ /**
82
+ Hides the wizard menu
83
+
84
+ @method hide
85
+ @param {Function} callback The callback to be called after hiding the menu
86
+ @static
87
+ **/
88
+ WizardMenu.hide = function(callback) {
89
+ var menu = this,
90
+ $el = menu.$el;
91
+
92
+ $el && $el.addClass("sideshow-menu-closed");
93
+ setTimeout(function() {
94
+ $el && $el.hide();
95
+ if (callback) callback();
96
+ }, longAnimationDuration);
97
+ };
98
+
99
+ WizardMenu.setTitle = function(title) {
100
+ this.$el.find(".sideshow-wizard-menu-title").text(title);
101
+ };
@@ -0,0 +1,87 @@
1
+ +keyframes(sideshow-wizard-menu-title-slideright){
2
+ 0% {
3
+ opacity: 0;
4
+ left: -30px;
5
+ }
6
+
7
+ 30% {
8
+ opacity: 0;
9
+ left: -30px;
10
+ }
11
+
12
+ 100% {
13
+ opacity: 1;
14
+ left: 0;
15
+ }
16
+ }
17
+
18
+ +keyframes(sideshow-wizard-menu-title-fadeout){
19
+ 0% {
20
+ opacity: 1;
21
+ text-shadow: none;
22
+ }
23
+
24
+ 30% {
25
+ opacity: 1;
26
+ text-shadow: none;
27
+ }
28
+
29
+ 100% {
30
+ opacity: 0;
31
+ text-shadow: 0 0 7px sideshow-wizard-menu-item-foreground-color, 0 0 3px sideshow-wizard-menu-item-foreground-color;
32
+ }
33
+ }
34
+
35
+ aaaa{
36
+ color: blue;
37
+ }
38
+
39
+ +keyframes(sideshow-wizard-menu-item-slidedown){
40
+ 0% {
41
+ opacity: 0;
42
+ top: -100px;
43
+ }
44
+
45
+ 30% {
46
+ opacity: 0;
47
+ top: -100px;
48
+ }
49
+
50
+ 100% {
51
+ opacity: 1;
52
+ top: 0;
53
+ }
54
+ }
55
+
56
+ +keyframes(sideshow-wizard-menu-item-slideleft){
57
+ 0% {
58
+ opacity: 1;
59
+ left: -90px;
60
+ }
61
+
62
+ 0% {
63
+ opacity: 1;
64
+ left: -90px;
65
+ }
66
+
67
+ 100% {
68
+ opacity: 0;
69
+ left: -190px;
70
+ }
71
+ }
72
+
73
+
74
+ +keyframes(sideshow-subject-arrow-animation){
75
+ 0% {
76
+ margin-top: 0;
77
+ }
78
+
79
+ 50% {
80
+ transform: scale(1, 0.7);
81
+ margin-top: 10px;
82
+ }
83
+
84
+ 100% {
85
+ margin-top: 0;
86
+ }
87
+ }
@@ -0,0 +1,135 @@
1
+ @font-face {
2
+ font-family: 'sideshow-icons';
3
+ src: url(sideshow-fonts-path + 'sideshow-icons/sideshow-icons.eot');
4
+ src: url(sideshow-fonts-path + 'sideshow-icons/sideshow-icons.eot?#iefix') format('embedded-opentype'),
5
+ url(sideshow-fonts-path + 'sideshow-icons/sideshow-icons.woff') format('woff'),
6
+ url(sideshow-fonts-path + 'sideshow-icons/sideshow-icons.ttf') format('truetype'),
7
+ url(sideshow-fonts-path + 'sideshow-icons/sideshow-icons.svg#sideshow-icons') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ @font-face {
13
+ font-family: 'OpenSans Light';
14
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-light.eot');
15
+ src: local('☺'),
16
+ url(sideshow-fonts-path + 'open-sans-family/opensans-light.eot?#iefix') format('embedded-opentype'),
17
+ url(sideshow-fonts-path + 'open-sans-family/opensans-light.woff') format('woff'),
18
+ url(sideshow-fonts-path + 'open-sans-family/opensans-light.ttf') format('truetype'),
19
+ url(sideshow-fonts-path + 'open-sans-family/opensans-light.svg#open_sanslight') format('svg');
20
+ font-weight: normal;
21
+ font-style: normal;
22
+ }
23
+
24
+ @font-face {
25
+ font-family: 'OpenSans Semibold';
26
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-semibold.eot');
27
+ src: local('☺'),
28
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibold.eot?#iefix') format('embedded-opentype'),
29
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibold.woff') format('woff'),
30
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibold.ttf') format('truetype'),
31
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibold.svg#open_sanssemibold') format('svg');
32
+ font-weight: normal;
33
+ font-style: normal;
34
+ }
35
+
36
+
37
+
38
+ if sideshow-enable-whole-opensans-family {
39
+ @font-face {
40
+ font-family: 'OpenSans Bold Italic';
41
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-bolditalic.eot');
42
+ src: local('☺'),
43
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bolditalic.eot?#iefix') format('embedded-opentype'),
44
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bolditalic.woff') format('woff'),
45
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bolditalic.ttf') format('truetype'),
46
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bolditalic.svg#open_sansbold_italic') format('svg');
47
+ font-weight: normal;
48
+ font-style: normal;
49
+ }
50
+
51
+ @font-face {
52
+ font-family: 'OpenSans Bold';
53
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-bold.eot');
54
+ src: local('☺'),
55
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bold.eot?#iefix') format('embedded-opentype'),
56
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bold.woff') format('woff'),
57
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bold.ttf') format('truetype'),
58
+ url(sideshow-fonts-path + 'open-sans-family/opensans-bold.svg#open_sansbold') format('svg');
59
+ font-weight: normal;
60
+ font-style: normal;
61
+ }
62
+
63
+ @font-face {
64
+ font-family: 'OpenSans Extra Bold';
65
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-extrabold.eot');
66
+ src: local('☺'),
67
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabold.eot?#iefix') format('embedded-opentype'),
68
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabold.woff') format('woff'),
69
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabold.ttf') format('truetype'),
70
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabold.svg#open_sansextrabold') format('svg');
71
+ font-weight: normal;
72
+ font-style: normal;
73
+ }
74
+
75
+ @font-face {
76
+ font-family: 'OpenSans Extra Bold Italic';
77
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-extrabolditalic.eot');
78
+ src: local('☺'),
79
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabolditalic.eot?#iefix') format('embedded-opentype'),
80
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabolditalic.woff') format('woff'),
81
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabolditalic.ttf') format('truetype'),
82
+ url(sideshow-fonts-path + 'open-sans-family/opensans-extrabolditalic.svg#open_sansextrabold_italic') format('svg');
83
+ font-weight: normal;
84
+ font-style: normal;
85
+ }
86
+
87
+ @font-face {
88
+ font-family: 'OpenSans Bold Italic';
89
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-italic.eot');
90
+ src: local('☺'),
91
+ url(sideshow-fonts-path + 'open-sans-family/opensans-italic.eot?#iefix') format('embedded-opentype'),
92
+ url(sideshow-fonts-path + 'open-sans-family/opensans-italic.woff') format('woff'),
93
+ url(sideshow-fonts-path + 'open-sans-family/opensans-italic.ttf') format('truetype'),
94
+ url(sideshow-fonts-path + 'open-sans-family/opensans-italic.svg#open_sansitalic') format('svg');
95
+ font-weight: normal;
96
+ font-style: normal;
97
+ }
98
+
99
+
100
+ @font-face {
101
+ font-family: 'OpenSans Light Italic';
102
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-lightitalic.eot');
103
+ src: local('☺'),
104
+ url(sideshow-fonts-path + 'open-sans-family/opensans-lightitalic.eot?#iefix') format('embedded-opentype'),
105
+ url(sideshow-fonts-path + 'open-sans-family/opensans-lightitalic.woff') format('woff'),
106
+ url(sideshow-fonts-path + 'open-sans-family/opensans-lightitalic.ttf') format('truetype'),
107
+ url(sideshow-fonts-path + 'open-sans-family/opensans-lightitalic.svg#open_sanslight_italic') format('svg');
108
+ font-weight: normal;
109
+ font-style: normal;
110
+ }
111
+
112
+ @font-face {
113
+ font-family: 'OpenSans Regular';
114
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-regular.eot');
115
+ src: local('☺'),
116
+ url(sideshow-fonts-path + 'open-sans-family/opensans-regular.eot?#iefix') format('embedded-opentype'),
117
+ url(sideshow-fonts-path + 'open-sans-family/opensans-regular.woff') format('woff'),
118
+ url(sideshow-fonts-path + 'open-sans-family/opensans-regular.ttf') format('truetype'),
119
+ url(sideshow-fonts-path + 'open-sans-family/opensans-regular.svg#open_sansregular') format('svg');
120
+ font-weight: normal;
121
+ font-style: normal;
122
+ }
123
+
124
+ @font-face {
125
+ font-family: 'OpenSans SemiBold Italic';
126
+ src: url(sideshow-fonts-path + 'open-sans-family/opensans-semibolditalic.eot');
127
+ src: local('☺'),
128
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibolditalic.eot?#iefix') format('embedded-opentype'),
129
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibolditalic.woff') format('woff'),
130
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibolditalic.ttf') format('truetype'),
131
+ url(sideshow-fonts-path + 'open-sans-family/opensans-semibolditalic.svg#open_sanssemibold_italic') format('svg');
132
+ font-weight: normal;
133
+ font-style: normal;
134
+ }
135
+ }
@@ -0,0 +1,27 @@
1
+ sideshow-icon(unicode, pseudo-element)
2
+ &:{pseudo-element}
3
+ font-family: "sideshow-icons";
4
+ font-style: normal;
5
+ font-weight: normal;
6
+ speak: none;
7
+
8
+ display: inline-block;
9
+ text-decoration: inherit;
10
+ width: 1em;
11
+ text-align: center;
12
+ if(pseudo-element == before){
13
+ margin-right: .4em;
14
+ } else {
15
+ margin-left: .4em;
16
+ }
17
+
18
+ font-variant: normal;
19
+ text-transform: none;
20
+ content: unicode;
21
+
22
+
23
+ icon-play(pseudo-element = before) { sideshow-icon('\e800', pseudo-element); }
24
+ icon-warning(pseudo-element = before) { sideshow-icon('\e801', pseudo-element); }
25
+ icon-caret-down(pseudo-element = before) { sideshow-icon('\e802', pseudo-element); }
26
+ icon-clock(pseudo-element = before) { sideshow-icon('\e803', pseudo-element); }
27
+ icon-close(pseudo-element = before) { sideshow-icon('\e804', pseudo-element); }
@@ -0,0 +1,362 @@
1
+ //Elements which can fade
2
+ //@abstract
3
+ $sideshow-fadable-element{
4
+ transition: opacity sideshow-long-transition-duration ease;
5
+ }
6
+
7
+ //A Sideshow mask
8
+ //@abstract
9
+ $sideshow-mask{
10
+ @extends $sideshow-fadable-element;
11
+ position: fixed;
12
+ opacity: sideshow-mask-opacity;
13
+ background-color: sideshow-mask-background-color;
14
+ }
15
+
16
+ $sideshow-button{
17
+ border-radius: 3px;
18
+ transition: background-color sideshow-fast-transition-duration ease;
19
+ background-color: sideshow-button-background-color;
20
+ border: solid 1px darken(sideshow-button-background-color, 10);
21
+ padding: 5px;
22
+ text-transform: uppercase;
23
+ color: sideshow-button-foreground-color;
24
+ &:hover{
25
+ background-color: darken(sideshow-button-background-color, 10);
26
+ }
27
+ &:disabled{
28
+ background-color: #BBB !important; //No fade effects here
29
+ border-color: #999;
30
+ }
31
+ }
32
+
33
+ //Masks a subject
34
+ //@extends $sideshow-mask
35
+ .sideshow-subject-mask{
36
+ @extends $sideshow-mask;
37
+ absolute-full-size();
38
+ position: fixed;
39
+ z-index: 14999;
40
+ width: 0;
41
+ height: 0;
42
+ }
43
+
44
+ //A part of the composite mask (the mask used by Sideshow to surround a subject)
45
+ //@extend $sideshow-mask
46
+ .sideshow-mask-part{
47
+ @extends $sideshow-mask;
48
+ z-index: 15000;
49
+ }
50
+
51
+ //A part of the composite mask to be positionated at the corners of a subject (if the subject has rounded corners)
52
+ //It uses a dynamically generated SVG to cover the white hole which remains when masking rounded corner subjects
53
+ //@extends $sideshow-mask
54
+ .sideshow-mask-corner-part{
55
+ @extends $sideshow-mask;
56
+ background-color: transparent;
57
+ z-index: 15001;
58
+ overflow: hidden;
59
+ svg{
60
+ position: absolute;
61
+ left: 0;
62
+ top: 0;
63
+ path {
64
+ fill: sideshow-mask-background-color;
65
+ }
66
+ }
67
+
68
+ &.leftTop{
69
+ transform: rotate(0deg);
70
+ }
71
+
72
+ &.rightTop{
73
+ transform: rotate(90deg);
74
+ }
75
+
76
+ &.leftBottom{
77
+ transform: rotate(270deg);
78
+ }
79
+
80
+ &.rightBottom{
81
+ transform: rotate(180deg);
82
+ }
83
+ }
84
+
85
+ //CSS way to make something invisible but holding space
86
+ .sideshow-invisible{
87
+ opacity: 0 !important;
88
+ }
89
+
90
+ //CSS way to avoid rendering something
91
+ .sideshow-hidden{
92
+ display: none !important;
93
+ }
94
+
95
+ //Occupying the biggest of the four parts of the composite mask
96
+ .sideshow-details-panel{
97
+ position: fixed;
98
+ z-index: 15001;
99
+ }
100
+
101
+ //An area positionaed over the .sideshow-details-panel where the step description text is shown
102
+ //@extends $sideshow-fadable-element
103
+ .sideshow-step-description{
104
+ @extends $sideshow-fadable-element;
105
+ position: absolute;
106
+ display: inline-block;
107
+ background-color: rgba(sideshow-step-description-background-color, 0.7);
108
+ padding: 21px;
109
+ font-size: 14px;
110
+
111
+ //The step title
112
+ h2{
113
+ display: inline-block;
114
+ font-size: sideshow-big-font-size;
115
+ text-transform: uppercase;
116
+ color: sideshow-step-description-title-color;
117
+ margin-bottom: 10px;
118
+ }
119
+
120
+ //The step position indicator (e.g. 3/11 -> The step 3 of 11)
121
+ .sideshow-step-position{
122
+ display: inline-block;
123
+ font-family: sideshow-default-semibold-font-family;
124
+ font-size: sideshow-big-font-size;
125
+ color: sideshow-step-position-color;
126
+ margin-right: 10px;
127
+ }
128
+
129
+ //The description itself
130
+ .sideshow-step-text{
131
+ clear: both;
132
+ display: block;
133
+ color: sideshow-step-text-color;
134
+ line-height: sideshow-default-font-size + 10px;
135
+
136
+ code{
137
+ font-family: monospace, courier;
138
+ }
139
+ }
140
+
141
+ //The "next/finish" button
142
+ .sideshow-next-step-button{
143
+ @extends $sideshow-button;
144
+ icon-play();
145
+ float: right;
146
+ margin-top: 10px;
147
+ }
148
+
149
+ //Lists (when using Markdown Syntax you can use lists in the step description)
150
+ ul, ol{
151
+ padding-left: 40px;
152
+ }
153
+
154
+ //An unordered list (when using Markdown Syntax you can use lists in the step description)
155
+ ul{
156
+ list-style-type: disc;
157
+ }
158
+
159
+ //An ordered list (when using Markdown Syntax you can use lists in the step description)
160
+ ol{
161
+ list-style-type: decimal;
162
+ }
163
+ }
164
+
165
+ //An arrow used for pointing to an item inside the highlighted subject which deserves attention at the moment
166
+ //@extends $sideshow-fadable-element;
167
+ .sideshow-subject-arrow{
168
+ @extends $sideshow-fadable-element;
169
+ icon-caret-down();
170
+ icon-font-size(40px);
171
+ only-icon-button();
172
+ color: sideshow-subject-arrow-color;
173
+ position: fixed;
174
+ z-index: 15003;
175
+ opacity: 0.8;
176
+ animation( name: sideshow-subject-arrow-animation,
177
+ duration: sideshow-long-transition-duration,
178
+ timing-function: ease,
179
+ iteration-count: infinite);
180
+
181
+ &:before{
182
+ line-height: 0.5;
183
+ }
184
+ }
185
+
186
+ //The initial sideshow menu where user chooses a tutorial
187
+ .sideshow-wizard-menu{
188
+ absolute-full-size();
189
+ position: fixed;
190
+ margin: auto;
191
+ width: 750px;
192
+ height: 400px;
193
+ z-index: 15002;
194
+
195
+ //The initial menu title
196
+ .sideshow-wizard-menu-title{
197
+ animation( name: sideshow-wizard-menu-title-slideright,
198
+ duration: 2s,
199
+ timing-function: ease,
200
+ iteration-count: 1,
201
+ fill-mode: forwards);
202
+
203
+ text-transform: uppercase;
204
+ color: sideshow-wizard-menu-title-color;
205
+ font-size: 32px;
206
+ font-family: sideshow-default-light-font-family;
207
+ position: relative;
208
+ font-weight: normal;
209
+ }
210
+
211
+ //The initial menu tutorial list
212
+ ul{
213
+ padding: 0;
214
+ margin: 0;
215
+ li{
216
+ clearfix();
217
+ list-style-type: none;
218
+ cursor: pointer;
219
+ opacity: 0;
220
+ position: relative;
221
+ left: -90px;
222
+ animation( name: sideshow-wizard-menu-item-slidedown,
223
+ duration: 2s,
224
+ timing-function: ease,
225
+ iteration-count: 1,
226
+ fill-mode: forwards);
227
+
228
+ height: 50px;
229
+ overflow: hidden;
230
+ margin-top: 20px;
231
+
232
+ for i in (1..15){
233
+ &:nth-child({i}){
234
+ animation-delay: 300ms + (i * 300ms);
235
+ -webkit-animation-delay: 300ms + (i * 300ms);
236
+ }
237
+ }
238
+
239
+ h2{
240
+ transition: color sideshow-default-transition-duration ease;
241
+ font-family: sideshow-default-light-font-family;
242
+ font-size: 12px;
243
+ font-weight: normal;
244
+ text-transform: uppercase;
245
+ color: sideshow-wizard-menu-item-foreground-color;
246
+ margin: 0;
247
+ }
248
+
249
+ .sideshow-wizard-menu-item-description{
250
+ color: sideshow-wizard-menu-item-foreground-color;
251
+ font-size: 12px;
252
+ }
253
+
254
+ .sideshow-wizard-menu-item-estimated-time{
255
+ icon-clock();
256
+ transition: border-right sideshow-default-transition-duration ease;
257
+ border-right: solid 0 sideshow-wizard-menu-item-foreground-color;
258
+ opacity: 0.5;
259
+ font-size: 10px;
260
+ color: sideshow-wizard-menu-item-foreground-color;
261
+ float: left;
262
+ height: 50px;
263
+ width: 80px;
264
+ margin-right: 10px;
265
+ position: relative;
266
+ &:before{
267
+ margin-right: 5px;
268
+ }
269
+ }
270
+
271
+ &:hover{
272
+ h2{
273
+ color: sideshow-wizard-menu-item-hover-foreground-color;
274
+ }
275
+ .sideshow-wizard-menu-item-estimated-time{
276
+ border-right: solid 20px sideshow-wizard-menu-item-foreground-color;
277
+ }
278
+ }
279
+ }
280
+ }
281
+
282
+ //This class rule defines the closing animation for Sideshow menu
283
+ &.sideshow-menu-closed{
284
+ h1{
285
+ animation( name: sideshow-wizard-menu-title-fadeout,
286
+ duration: sideshow-long-transition-duration,
287
+ timing-function: ease,
288
+ iteration-count: 1,
289
+ fill-mode: forwards);
290
+ }
291
+
292
+ ul{
293
+ li{
294
+ opacity: 1;
295
+ animation( name: sideshow-wizard-menu-item-slideleft,
296
+ duration: sideshow-long-transition-duration,
297
+ timing-function: ease,
298
+ iteration-count: 1,
299
+ fill-mode: forwards);
300
+
301
+ for i in (1..15){
302
+ &:nth-child({i}){
303
+ animation-delay: 150ms + (i * 100ms);
304
+ -webkit-animation-delay: 150ms + (i * 100ms);
305
+ }
306
+ }
307
+ }
308
+ }
309
+ }
310
+ }
311
+
312
+ //The Sideshow close button
313
+ .sideshow-close-button{
314
+ icon-close();
315
+ icon-font-size(sideshow-medium-font-size);
316
+ text-shadow: 0 0 5px #030, 0 0 3px #000, 0 2px 3px #000;
317
+ transition: text-shadow sideshow-default-transition-duration ease;
318
+ border-width: 0;
319
+ background-color: transparent !important;
320
+ z-index: 15005;
321
+ position: fixed;
322
+ color: sideshow-close-button-foreground-color;
323
+ font-size: sideshow-medium-font-size;
324
+ bottom: 25px;
325
+ right: 25px;
326
+ cursor: pointer;
327
+ text-transform: uppercase;
328
+
329
+ &:hover{
330
+ text-shadow: 0 0 10px #030, 0 0 6px #000, 0 2px 5px #000, 0 0 7px #000;
331
+ background-color: transparent !important;
332
+ left: auto;
333
+ top: auto;
334
+ }
335
+
336
+ &:active{
337
+ outline-width: 0 !important;
338
+ }
339
+
340
+ &:before{
341
+ margin-right: 5px;
342
+ }
343
+ }
344
+
345
+ //The Sideshow initial menu style when no tutorials are available
346
+ .sideshow-no-wizards-available{
347
+ animation( name: sideshow-wizard-menu-item-slidedown,
348
+ duration: 2s,
349
+ timing-function: ease,
350
+ iteration-count: 1,
351
+ fill-mode: forwards);
352
+ color: sideshow-wizard-menu-item-foreground-color;
353
+ opacity: 0;
354
+ position: relative;
355
+ height: 50px;
356
+ margin-top: 20px;
357
+ }
358
+
359
+ body{
360
+ margin: 0;
361
+ height: 100%;
362
+ }