├── demo
├── img
│ ├── chrome-16.png
│ ├── opera-16.png
│ ├── safari-16.png
│ ├── firefox-16.png
│ ├── glyphicons-halflings.png
│ └── glyphicons-halflings-white.png
├── js
│ ├── scripts.js
│ ├── bootstrap.min.js
│ └── jquery.snippet.min.js
├── css
│ ├── jquery.snippet.min.css
│ └── styles.css
└── index.html
├── README.md
└── lib
└── jquery.easyWizard.js
/demo/img/chrome-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/objects/jquery.easyWizard/master/demo/img/chrome-16.png
--------------------------------------------------------------------------------
/demo/img/opera-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/objects/jquery.easyWizard/master/demo/img/opera-16.png
--------------------------------------------------------------------------------
/demo/img/safari-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/objects/jquery.easyWizard/master/demo/img/safari-16.png
--------------------------------------------------------------------------------
/demo/img/firefox-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/objects/jquery.easyWizard/master/demo/img/firefox-16.png
--------------------------------------------------------------------------------
/demo/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/objects/jquery.easyWizard/master/demo/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/demo/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/objects/jquery.easyWizard/master/demo/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | jquery.easyWizard
2 | =================
3 |
4 | Documentation
5 | ---------------------
6 | Check out the [documentation](http://st3ph.github.com/jquery.easyWizard/) to find out how easyWizard works.
7 |
8 | About
9 | ---------------------
10 | easyWizard is a [jQuery](http://jquery.com) plugin who try to help you building fast and easy wizards for your website.
11 |
12 | Compatibility
13 | -------------
14 | Testing and working well with Chrome, Opera, Firefox, Safari and Internet Explorer
15 |
16 | License
17 | ---------------------
18 | Dual licensed under the MIT or GPL Version 2 licenses :
19 | [http://www.opensource.org/licenses/mit-license.php](http://www.opensource.org/licenses/mit-license.php)
20 | [http://www.opensource.org/licenses/GPL-2.0](http://www.opensource.org/licenses/GPL-2.0)
--------------------------------------------------------------------------------
/demo/js/scripts.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 | $('#navbar').affix({
3 | offset: {
4 | top: 200
5 | }
6 | });
7 |
8 | $("pre.html").snippet("html", {style:'matlab'});
9 | $("pre.css").snippet("css", {style:'matlab'});
10 | $("pre.javascript").snippet("javascript", {style:'matlab'});
11 |
12 | $('#myWizard').easyWizard({
13 | buttonsClass: 'btn',
14 | submitButtonClass: 'btn btn-info'
15 | });
16 |
17 | $('#myWizard2').easyWizard({
18 | buttonsClass: 'btn',
19 | submitButtonClass: 'btn btn-info',
20 | before: function(wizardObj, currentStepObj, nextStepObj) {
21 | alert('Hello, I\'am the before callback');
22 | },
23 | after: function(wizardObj, prevStepObj, currentStepObj) {
24 | alert('Hello, I\'am the after callback');
25 | },
26 | beforeSubmit: function(wizardObj) {
27 | alert('Hello, I\'am the beforeSubmit callback');
28 | }
29 | });
30 |
31 | $('#myWizard3').easyWizard({
32 | showSteps: false,
33 | showButtons: false,
34 | submitButton: false
35 | });
36 | $('#myWizard3Pager .previous a').bind('click', function(e) {
37 | e.preventDefault();
38 | $('#myWizard3').easyWizard('prevStep');
39 | });
40 | $('#myWizard3Pager .page a').bind('click', function(e) {
41 | e.preventDefault();
42 | $('#myWizard3').easyWizard('goToStep', $(this).attr('rel'));
43 | });
44 | $('#myWizard3Pager .next a').bind('click', function(e) {
45 | e.preventDefault();
46 | $('#myWizard3').easyWizard('nextStep');
47 | });
48 | });
--------------------------------------------------------------------------------
/demo/css/jquery.snippet.min.css:
--------------------------------------------------------------------------------
1 | /*---------- matlab Styles ---------*/
2 | .sh_matlab{background:none; padding:0; margin:0; border:0 none;}.sh_matlab .sh_sourceCode{background-color:#fff;color:#000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_keyword{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_type{color:#000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_string{color:#800000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_regexp{color:#800000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_specialchar{color:#000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_number{color:#000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_function{color:#000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_url{color:#800000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_date{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_time{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_file{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_ip{color:#800000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_name{color:#800000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_variable{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_oldfile{color:#000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_newfile{color:#800000;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_difflines{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_selector{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_property{color:#00f;font-weight:normal;font-style:normal;}.sh_matlab .sh_sourceCode .sh_value{color:#800000;font-weight:normal;font-style:normal;}
3 |
4 | /*-------- Snippet Base Styles ----------*/
5 | .snippet-wrap {position:relative;}
6 | *:first-child+html .snippet-wrap {display:inline-block;}
7 | * html .snippet-wrap {display:inline-block;}
8 | .snippet-reveal{text-decoration:underline;}
9 | .snippet-wrap .snippet-menu, .snippet-wrap .snippet-hide {position:absolute; top:10px; right:15px; font-size:.9em;z-index:1;background-color:transparent;}
10 | .snippet-wrap .snippet-hide {top:auto; bottom:10px;}
11 | *:first-child+html .snippet-wrap .snippet-hide {bottom:25px;}
12 | * html .snippet-wrap .snippet-hide {bottom:25px;}
13 | .snippet-wrap .snippet-menu pre, .snippet-wrap .snippet-hide pre {background-color:transparent; margin:0; padding:0;}
14 | .snippet-wrap .snippet-menu a, .snippet-wrap .snippet-hide a {padding:0 5px; text-decoration:underline;}
15 | .snippet-wrap pre.sh_sourceCode{padding:1em;line-height:1.8em;overflow:auto;position:relative;
16 | -moz-border-radius:15px;
17 | -webkit-border-radius:15px;
18 | border-radius:15px;
19 | box-shadow: 2px 2px 5px #000;
20 | -moz-box-shadow: 2px 2px 5px #000;
21 | -webkit-box-shadow: 2px 2px 5px #000;}
22 | .snippet-wrap pre.snippet-textonly {padding:2em;}
23 | *:first-child+html .snippet-wrap pre.snippet-formatted {padding:2em 1em;}
24 | * html .snippet-wrap pre.snippet-formatted {padding:2em 1em;}
25 | .snippet-reveal pre.sh_sourceCode {padding:.5em 1em; text-align:right;}
26 | .snippet-wrap .snippet-num li{padding-left:1.5em;}
27 | .snippet-wrap .snippet-no-num{list-style:none; padding:.6em 1em; margin:0;}
28 | .snippet-wrap .snippet-no-num li {list-style:none; padding-left:0;}
29 | .snippet-wrap .snippet-num {margin:1em 0 1em 1em; padding-left:3em;}
30 | .snippet-wrap .snippet-num li {list-style:decimal-leading-zero outside none;}
31 | .snippet-wrap .snippet-no-num li.box {padding:0 6px; margin-left:-6px;}
32 | .snippet-wrap .snippet-num li.box {border:1px solid; list-style-position:inside; margin-left:-3em; padding-left:6px;}
33 | *:first-child+html .snippet-wrap .snippet-num li.box {margin-left:-2.4em;}
34 | * html .snippet-wrap .snippet-num li.box {margin-left:-2.4em;}
35 | .snippet-wrap li.box-top {border-width:1px 1px 0 !important;}
36 | .snippet-wrap li.box-bot {border-width:0 1px 1px !important;}
37 | .snippet-wrap li.box-mid {border-width:0 1px !important;}
38 | .snippet-wrap .snippet-num li .box-sp {width:18px; display:inline-block;}
39 | *:first-child+html .snippet-wrap .snippet-num li .box-sp {width:27px;}
40 | * html .snippet-wrap .snippet-num li .box-sp {width:27px;}
41 | .snippet-wrap .snippet-no-num li.box {border:1px solid;}
42 | .snippet-wrap .snippet-no-num li .box-sp {display:none;}
43 |
--------------------------------------------------------------------------------
/lib/jquery.easyWizard.js:
--------------------------------------------------------------------------------
1 | /* ========================================================
2 | * easyWizard v1.1.1
3 | * http://st3ph.github.com/jquery.easyWizard
4 | * ========================================================
5 | * Copyright 2012 - 214 Stéphane Litou
6 | * http://stephane-litou.com
7 | *
8 | * Dual licensed under the MIT or GPL Version 2 licenses.
9 | * http://www.opensource.org/licenses/mit-license.php
10 | * http://www.opensource.org/licenses/GPL-2.0
11 | * ======================================================== */
12 | (function( $ ) {
13 | var arrSettings = [];
14 | var easyWizardMethods = {
15 | init : function(options) {
16 | var settings = $.extend( {
17 | 'stepClassName' : 'step',
18 | 'showSteps' : true,
19 | 'stepsText' : '{n}. {t}',
20 | 'showButtons' : true,
21 | 'buttonsClass' : '',
22 | 'prevButton' : '< Back',
23 | 'nextButton' : 'Next >',
24 | 'debug' : false,
25 | 'submitButton': true,
26 | 'submitButtonText': 'Submit',
27 | 'submitButtonClass': '',
28 | before: function(wizardObj, currentStepObj, nextStepObj) {},
29 | after: function(wizardObj, prevStepObj, currentStepObj) {},
30 | beforeSubmit: function(wizardObj) {
31 | wizardObj.find('input, textarea').each(function() {
32 | if(!this.checkValidity()) {
33 | this.focus();
34 | step = $(this).parents('.'+thisSettings.stepClassName).attr('data-step');
35 | easyWizardMethods.goToStep.call(wizardObj, step);
36 |
37 | return false;
38 | }
39 | });
40 | }
41 | }, options);
42 |
43 | arrSettings[this.index()] = settings;
44 |
45 | return this.each(function() {
46 | thisSettings = settings;
47 |
48 | $this = $(this); // Wizard Obj
49 | $this.addClass('easyWizardElement');
50 | $steps = $this.find('.'+thisSettings.stepClassName);
51 | thisSettings.steps = $steps.length;
52 | thisSettings.width = $(this).width();
53 |
54 | if(thisSettings.steps > 1) {
55 | // Create UI
56 | $this.wrapInner('
');
57 | $this.find('.easyWizardWrapper').width(thisSettings.width * thisSettings.steps);
58 | $this.css({
59 | 'position': 'relative',
60 | 'overflow': 'hidden'
61 | }).addClass('easyPager');
62 |
63 | $stepsHtml = $('');
64 |
65 | $steps.each(function(index) {
66 | step = index + 1;
67 | $(this).css({
68 | 'float': 'left',
69 | 'width': thisSettings.width,
70 | 'height': '1px'
71 | }).attr('data-step', step);
72 |
73 | if(!index) {
74 | $(this).addClass('active').css('height', '');
75 | }else {
76 | $(this).find('input, textarea, select, button').attr('tabindex', '-1');
77 | }
78 |
79 | stepText = thisSettings.stepsText.replace('{n}', ''+step+' ');
80 | stepText = stepText.replace('{t}', $(this).attr('data-step-title'));
81 | $stepsHtml.append(''+stepText+' ');
82 | });
83 |
84 | if(thisSettings.showSteps) {
85 | $this.prepend($stepsHtml);
86 | }
87 |
88 | if(thisSettings.showButtons) {
89 | paginationHtml = '';
90 | paginationHtml += ''+thisSettings.prevButton+' ';
91 | paginationHtml += ''+thisSettings.nextButton+' ';
92 | paginationHtml += thisSettings.submitButton?''+thisSettings.submitButtonText+' ':'';
93 | paginationHtml += '
';
94 | $paginationBloc = $(paginationHtml);
95 | $paginationBloc.css('clear', 'both');
96 | $paginationBloc.find('.prev, .submit').hide();
97 | $paginationBloc.find('.prev').bind('click.easyWizard', function(e) {
98 | e.preventDefault();
99 |
100 | $wizard = $(this).parents('.easyWizardElement');
101 | easyWizardMethods.prevStep.apply($wizard);
102 | });
103 |
104 | $paginationBloc.find('.next').bind('click.easyWizard', function(e) {
105 | e.preventDefault();
106 |
107 | $wizard = $(this).parents('.easyWizardElement');
108 | easyWizardMethods.nextStep.apply($wizard);
109 | });
110 | $this.append($paginationBloc);
111 | }
112 |
113 | $formObj = $this.is('form')?$this:$(this).find('form');
114 |
115 | // beforeSubmit Callback
116 | $this.find('[type="submit"]').bind('click.easyWizard', function(e) {
117 | $wizard = $(this).parents('.easyWizardElement');
118 | var beforeSubmitValue = thisSettings.beforeSubmit($wizard);
119 | if(beforeSubmitValue === false) {
120 | return false;
121 | }
122 | return true;
123 | });
124 | }else if(thisSettings.debug) {
125 | console.log('Can\'t make a wizard with only one step oO');
126 | }
127 | });
128 | },
129 | prevStep : function( ) {
130 | thisSettings = arrSettings[this.index()];
131 | $activeStep = this.find('.'+ thisSettings.stepClassName +'.active');
132 | if($activeStep.prev('.'+thisSettings.stepClassName).length) {
133 | prevStep = parseInt($activeStep.attr('data-step')) - 1;
134 | easyWizardMethods.goToStep.call(this, prevStep);
135 | }
136 | },
137 | nextStep : function( ) {
138 | thisSettings = arrSettings[this.index()];
139 | $activeStep = this.find('.'+ thisSettings.stepClassName +'.active');
140 | if($activeStep.next('.'+thisSettings.stepClassName).length) {
141 | nextStep = parseInt($activeStep.attr('data-step')) + 1;
142 | easyWizardMethods.goToStep.call(this, nextStep);
143 | }
144 | },
145 | goToStep : function(step) {
146 | thisSettings = arrSettings[this.index()];
147 | $activeStep = this.find('.'+ thisSettings.stepClassName +'.active');
148 | $nextStep = this.find('.'+thisSettings.stepClassName+'[data-step="'+step+'"]');
149 | currentStep = $activeStep.attr('data-step');
150 |
151 | // Prevent sliding same step
152 | if (currentStep == step) return;
153 |
154 | // Before callBack
155 | var beforeValue = thisSettings.before(this, $activeStep, $nextStep);
156 | if(beforeValue === false) {
157 | return false;
158 | }
159 |
160 | // Define direction for sliding
161 | if(currentStep < step) { // forward
162 | leftValue = thisSettings.width * -1;
163 | }else { // backward
164 | leftValue = thisSettings.width;
165 | }
166 |
167 | // Slide !
168 | $activeStep.removeClass('active');
169 | $activeStep.find('input, textarea, select, button').attr('tabindex', '-1');
170 |
171 | $nextStep.css('height', '').addClass('active');
172 | $nextStep.find('input, textarea, select, button').removeAttr('tabindex');
173 |
174 | this.find('.easyWizardWrapper').stop(true, true).animate({
175 | 'margin-left': thisSettings.width * (step - 1) * -1
176 | }, function () {
177 | $activeStep.css({ height: '1px' });
178 | });
179 |
180 | // Defines steps
181 | this.find('.easyWizardSteps .current').removeClass('current');
182 | this.find('.easyWizardSteps li[data-step="'+step+'"]').addClass('current');
183 |
184 | // Define buttons
185 | $paginationBloc = this.find('.easyWizardButtons');
186 | if($paginationBloc.length) {
187 | if(step == 1) {
188 | $paginationBloc.find('.prev, .submit').hide();
189 | $paginationBloc.find('.next').show();
190 | }else if(step < thisSettings.steps) {
191 | $paginationBloc.find('.submit').hide();
192 | $paginationBloc.find('.prev, .next').show();
193 | }else {
194 | if($nextStep.prev('.'+thisSettings.stepClassName).length) { // If there is a previous step, must be always the case but... you know =)
195 | $paginationBloc.find('.prev').show();
196 | }
197 | $paginationBloc.find('.next').hide();
198 | $paginationBloc.find('.submit').show();
199 | }
200 | }
201 |
202 | // After callBack
203 | thisSettings.after(this, $activeStep, $nextStep);
204 | }
205 | };
206 |
207 | $.fn.easyWizard = function(method) {
208 | if ( easyWizardMethods[method] ) {
209 | return easyWizardMethods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
210 | } else if ( typeof method === 'object' || ! method ) {
211 | return easyWizardMethods.init.apply( this, arguments );
212 | } else {
213 | $.error( 'Method ' + method + ' does not exist on jQuery.easyWizard' );
214 | }
215 | };
216 | })(jQuery);
217 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | easyWizard :: Easiest way to make wizard :: powered by jQuery
5 |
6 |
7 |
8 |
9 |
10 |
11 |
15 |
16 |
33 |
34 |
43 |
44 |
45 | Getting Started
46 |
47 | Download the code here (github repo)
48 | Then, include jQuery and the jquery.easyWizard.js code you just download into your page like this :
49 |
50 |
51 | <script src="http://code.jquery.com/jquery-latest.js"></script>
52 | <script src="jquery.easyWizard.js"></script>
53 |
54 |
55 |
56 |
57 | HTML
58 |
59 | This is a little exemple, you can make a wizard with far less elements but I need them to keep is nice with twitter bootstrap.
60 | The minimum is a main container and some sub container to separate each steps, yeah that's all.
61 |
62 |
63 | <form id="myWizard" type="get" action="" class="form-horizontal">
64 | <section class="step" data-step-title="The first">
65 | <div class="control-group">
66 | <label class="control-label" for="inputEmail">Email</label>
67 | <div class="controls">
68 | <input type="text" id="inputEmail" placeholder="Email" class="input-xlarge" title="Email is required !" required >
69 | </div>
70 | </div>
71 | <div class="control-group">
72 | <label class="control-label" for="inputPassword">Password</label>
73 | <div class="controls">
74 | <input type="password" id="inputPassword" placeholder="Password" class="input-xlarge">
75 | </div>
76 | </div>
77 | </section>
78 | <section class="step" data-step-title="The second">
79 | <div class="control-group">
80 | <label class="control-label" for="inputUsername">Username</label>
81 | <div class="controls">
82 | <input type="text" id="inputUsername" placeholder="Username" class="input-xlarge">
83 | </div>
84 | </div>
85 | </section>
86 | <section class="step" data-step-title="The third">
87 | <div class="control-group">
88 | <label class="control-label" for="inputFirstname">Firstname</label>
89 | <div class="controls">
90 | <input type="text" id="inputFirstname" placeholder="Firstname" class="input-xlarge">
91 | </div>
92 | </div>
93 | <div class="control-group">
94 | <label class="control-label" for="inputCity">City</label>
95 | <div class="controls">
96 | <input type="text" id="inputCity" placeholder="City" class="input-xlarge">
97 | </div>
98 | </div>
99 | </section>
100 | </form>
101 |
102 |
103 |
104 |
105 | CSS
106 |
107 | You only need css to personnalize the buttons and the "Navigation Bar" on top (if you enable those, offcourse). Anyway, here is a small exemple :
108 |
109 |
110 | .easyWizardSteps {list-style:none;width:100%;overflow:hidden;margin:0;padding:0;border-bottom:1px solid #ccc;margin-bottom:20px}
111 | .easyWizardSteps li {font-size:18px;display:inline-block;padding:10px;color:#B0B1B3;margin-right:20px;}
112 | .easyWizardSteps li span {font-size:24px}
113 | .easyWizardSteps li.current {color:#000}
114 |
115 | .easyWizardButtons {overflow:hidden;padding:10px;}
116 | .easyWizardButtons button, .easyWizardButtons .submit {cursor:pointer}
117 | .easyWizardButtons .prev {float:left}
118 | .easyWizardButtons .next, .easyWizardButtons .submit {float:right}
119 |
120 |
121 |
122 |
123 | Javascript
124 |
125 | $('#myWizard').easyWizard();
126 |
127 |
128 |
129 |
130 | Demos
131 |
132 | Basic exemple
133 |
134 | Using the same code above
135 | We just add some class to the buttons to make them nicer (thanks Twitter bootstrap)
136 |
137 |
175 |
176 | Using callbacks
177 |
178 | $('#myWizard2').easyWizard({
179 | buttonsClass: 'btn',
180 | submitButtonClass: 'btn btn-info',
181 | before: function(wizardObj, currentStepObj, nextStepObj) {
182 | alert('Hello, I\'am the before callback');
183 | },
184 | after: function(wizardObj, prevStepObj, currentStepObj) {
185 | alert('Hello, I\'am the after callback');
186 | },
187 | beforeSubmit: function(wizardObj) {
188 | alert('Hello, I\'am the beforeSubmit callback');
189 | }
190 | });
191 |
192 |
230 |
231 | Using own buttons
232 |
233 | $('#myWizard3').easyWizard({
234 | showSteps: false,
235 | showButtons: false,
236 | submitButton: false
237 | });
238 | $('#myWizard3Pager .previous a').bind('click', function(e) {
239 | e.preventDefault();
240 | $('#myWizard3').easyWizard('prevStep');
241 | });
242 | $('#myWizard3Pager .page a').bind('click', function(e) {
243 | e.preventDefault();
244 | $('#myWizard3').easyWizard('goToStep', $(this).attr('rel'));
245 | });
246 | $('#myWizard3Pager .next a').bind('click', function(e) {
247 | e.preventDefault();
248 | $('#myWizard3').easyWizard('nextStep');
249 | });
250 |
251 |
252 |
263 |
264 |
265 |
Here it is
266 |
Soon this product for you (and only you)
267 |
268 |
269 |
280 |
281 |
290 |
291 |
292 |
293 | Options
294 |
295 | Yeah cause it's easy, but there is some options to make it your own
296 |
297 |
298 |
299 | Option
300 | Type
301 | Description
302 |
303 |
304 |
305 | stepClassName
306 | string
307 | class of the element to separate each step (default : 'step')
308 |
309 |
310 | showStep
311 | boolean
312 | display the steps top nav or not (default : true)
313 |
314 |
315 | stepsText
316 | string
317 |
318 | Usefull to overide the step nav
319 | {n} will be replaced by the step's number
320 | {t} will be replaced by the step's title defined by the "data-step-title" attribute of the element
321 | (default : '{n}. {t}')
322 |
323 |
324 |
325 | showButtons
326 | boolean
327 | display the nav buttons or not (default : true)
328 |
329 |
330 | buttonsClass
331 | string
332 | class of the buttons (default : '')
333 |
334 |
335 | prevButton
336 | string
337 | text for the "previous" button (default : '< Back')
338 |
339 |
340 | nextButton
341 | string
342 | text for the "next" button (default : 'Next >')
343 |
344 |
345 | submitButton
346 | boolean
347 | add a submit button in the last step or not (default : true)
348 |
349 |
350 | submitButtonText
351 | string
352 | text for the "submit" button (default : 'Submit')
353 |
354 |
355 | submitButtonClass
356 | string
357 | class of the "submit" button (default : '')
358 |
359 |
360 | debug
361 | boolean
362 | activate debug in console or not (default : false)
363 |
364 |
365 | before
366 | function
367 |
368 | before callback
369 | called just before the slide effect
370 | params : (in right order)
371 | wizardObj : object of the wizard
372 | currentStepObj : object of the current step
373 | nextStepObj : object of the next step
374 | return : return false to stay in current step (for form validation for example)
375 |
376 |
377 |
378 | after
379 | function
380 |
381 | after callback
382 | called just after the slide effect
383 | params : (in right order)
384 | wizardObj : object of the wizard
385 | prevStepObj : object of the previous step
386 | currentStepObj : object of the current step
387 |
388 |
389 |
390 | beforeSubmit
391 | function
392 |
393 | beforeSubmit callback
394 | called just before the form submit (if there is a form)
395 | params :
396 | wizardObj : object of the wizard
397 | return : return false to stay in current step (for form validation for example)
398 | default : check for HTML5 form validation error, and slide to the error if found
399 |
400 | function(wizardObj) {
401 | wizardObj.find('input, textarea').each(function() {
402 | if(!this.checkValidity()) {
403 | step = $(this).parents('.'+thisSettings.stepClassName).attr('data-step');
404 | easyWizardMethods.goToStep.call(wizardObj, step);
405 |
406 | return false;
407 | }
408 | });
409 | }
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
434 |
435 |
436 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
--------------------------------------------------------------------------------
/demo/js/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Bootstrap.js by @fat & @mdo
3 | * plugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-affix.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js
4 | * Copyright 2012 Twitter, Inc.
5 | * http://www.apache.org/licenses/LICENSE-2.0.txt
6 | */
7 | !function(a){a(function(){a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;a("body").addClass("modal-open"),this.isShown=!0,this.escape(),this.backdrop(function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in").attr("aria-hidden",!1).focus(),b.enforceFocus(),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();var c=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,a("body").removeClass("modal-open"),this.escape(),a(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var b=this;a(document).on("focusin.modal",function(a){b.$element[0]!==a.target&&!b.$element.has(a.target).length&&b.$element.focus()})},escape:function(){var a=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(b){b.which==27&&a.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),b.hideModal()},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),b.hideModal()})},hideModal:function(a){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('
').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(this.removeBackdrop,this)):this.removeBackdrop()):b&&b()}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f).one("hide",function(){c.focus()})})})}(window.jQuery),!function(a){function d(){e(a(b)).removeClass("open")}function e(b){var c=b.attr("data-target"),d;return c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,"")),d=a(c),d.length||(d=b.parent()),d}var b="[data-toggle=dropdown]",c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),f,g;if(c.is(".disabled, :disabled"))return;return f=e(c),g=f.hasClass("open"),d(),g||(f.toggleClass("open"),c.focus()),!1},keydown:function(b){var c,d,f,g,h,i;if(!/(38|40|27)/.test(b.keyCode))return;c=a(this),b.preventDefault(),b.stopPropagation();if(c.is(".disabled, :disabled"))return;g=e(c),h=g.hasClass("open");if(!h||h&&b.keyCode==27)return c.click();d=a("[role=menu] li:not(.divider) a",g);if(!d.length)return;i=d.index(d.filter(":focus")),b.keyCode==38&&i>0&&i--,b.keyCode==40&&i a",this.$body=a("body"),this.refresh(),this.process()}b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var b=a(this),c=b.data("target")||b.attr("href"),d=/^#\w/.test(c)&&a(c);return d&&d.length&&[[d.position().top,c]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu").length&&(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove(),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover",title:"",delay:0,html:!0}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content > *")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''})}(window.jQuery),!function(a){var b=function(b,c){this.options=a.extend({},a.fn.affix.defaults,c),this.$window=a(window).on("scroll.affix.data-api",a.proxy(this.checkPosition,this)),this.$element=a(b),this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var b=a(document).height(),c=this.$window.scrollTop(),d=this.$element.offset(),e=this.options.offset,f=e.bottom,g=e.top,h="affix affix-top affix-bottom",i;typeof e!="object"&&(f=g=e),typeof g=="function"&&(g=e.top()),typeof f=="function"&&(f=e.bottom()),i=this.unpin!=null&&c+this.unpin<=d.top?!1:f!=null&&d.top+this.$element.height()>=b-f?"bottom":g!=null&&c<=g?"top":!1;if(this.affixed===i)return;this.affixed=i,this.unpin=i=="bottom"?d.top-c:null,this.$element.removeClass(h).addClass("affix"+(i?"-"+i:""))},a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("affix"),f=typeof c=="object"&&c;e||d.data("affix",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.defaults={offset:0},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery),!function(a){var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning)return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),a.support.transition&&this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning)return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();c[a(e).hasClass("in")?"addClass":"removeClass"]("collapsed"),a(e).collapse(f)})})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=c,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},to:function(b){var c=this.$element.find(".item.active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j=a.Event("slide",{relatedTarget:e[0]});this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();if(e.hasClass("active"))return;if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c),g=typeof c=="string"?c:f.slide;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):g?e[g]():f.interval&&e.cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c;return this.query=this.$element.val(),!this.query||this.query.length"+b+""})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.chrome||a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keydown,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},move:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}a.stopPropagation()},keydown:function(b){this.suppressKeyPressRepeat=!~a.inArray(b.keyCode,[40,38,9,13,27]),this.move(b)},keypress:function(a){if(this.suppressKeyPressRepeat)return;this.move(a)},keyup:function(a){switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery)
--------------------------------------------------------------------------------
/demo/css/styles.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'FuturaExtraBold';
3 | src: url(data:font/truetype;charset=utf-8;base64,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AGEAIABwAHIAbwB0AGUAYwB0AGUAZAAgAHcAZQBiAGYAbwBuAHQAIABhAG4AZAAgAGkAcwAgAGkAbgB0AGUAbgBkAGUAZAAgAGYAbwByACAAQwBTAFMAIABAAGYAbwBuAHQALQBmAGEAYwBlACAAdQBzAGUAIABPAE4ATABZAC4AIABSAGUAdgBlAHIAcwBlACAAZQBuAGcAaQBuAGUAZQByAGkAbgBnACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABzAHQAcgBpAGMAdABsAHkAIABwAHIAbwBoAGkAYgBpAHQAZQBkAC4AVABoAGkAcwAgAGkAcwAgAGEAIABwAHIAbwB0AGUAYwB0AGUAZAAgAHcAZQBiAGYAbwBuAHQAIABhAG4AZAAgAGkAcwAgAGkAbgB0AGUAbgBkAGUAZAAgAGYAbwByACAAQwBTAFMAIABAAGYAbwBuAHQALQBmAGEAYwBlACAAdQBzAGUAIABPAE4ATABZAC4AIABSAGUAdgBlAHIAcwBlACAAZQBuAGcAaQBuAGUAZQByAGkAbgBnACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABzAHQAcgBpAGMAdABsAHkAIABwAHIAbwBoAGkAYgBpAHQAZQBkAC4AVwBlAGIAZgBvAG4AdAAgADEALgAwAFQAdQBlACAASgB1AG4AIAAyADYAIAAwADkAOgAzADEAOgA1ADYAIAAyADAAMQAyAAAAAgAAAAAAAP9nAGYAAAAAAAAAAAAAAAAAAAAAAAAAAADrAAABAgEDAQQAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQUAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBBgCKANoAgwCTAQcBCACNAQkAiADDAN4BCgCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6ALAAsQC7ANgA2QELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgAsgCzALYAtwDEALQAtQDFAIcAqwEZAL4AvwEaARsAjAEcAR0BHgEfASAGZ2x5cGgxBmdseXBoMgd1bmkwMDBEB3VuaTAwQTAHdW5pMDBBRAd1bmkwMEIyB3VuaTAwQjMHdW5pMDBCNQd1bmkwMEI5B3VuaTIwMDAHdW5pMjAwMQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwNwd1bmkyMDA4B3VuaTIwMDkHdW5pMjAwQQd1bmkyMDEwB3VuaTIwMTEKZmlndXJlZGFzaAd1bmkyMDJGB3VuaTIwNUYERXVybwd1bmlFMDAwB3VuaUZCMDEHdW5pRkIwMgd1bmlGQjAzB3VuaUZCMDQAALgB/4WwAY0AS7AIUFixAQGOWbFGBitYIbAQWUuwFFJYIbCAWR2wBitcWACwAyBFsAMrRLAEIEWyAxECK7ADK0SwBSBFsgQTAiuwAytEsAYgRbIFZgIrsAMrRLAHIEWyBkMCK7ADK0SwCCBFsgcWAiuwAytEsAkgRbIIFQIrsAMrRLAKIEWyCXwCK7ADK0SwCyBFsgoYAiuwAytEAbAMIEWwAytEsA0gRbIMagIrsQNGditEsA4gRbINjwIrsQNGditEsA8gRbIOkgIrsQNGditEsBAgRbIPPAIrsQNGditEsBEgRbIQOAIrsQNGditEsBIgRbIRLAIrsQNGditEsBMgRbISHQIrsQNGditEWbAUKwAAAAABT+m5zAAA) format('truetype'),
4 | url('http://www.mojotech.com/assets/fonts/futurastd-extrabold-webfont.eot?#iefix') format('embedded-opentype'),
5 | url('http://www.mojotech.com/assets/fonts/futurastd-extrabold-webfont.woff') format('woff'),
6 | url('http://www.mojotech.com/assets/fonts/futurastd-extrabold-webfont.ttf') format('truetype'),
7 | url('http://www.mojotech.com/assets/fonts/futurastd-extrabold-webfont.svgg#din-med') format('svg');
8 | }
9 |
10 | body {border-top:5px solid #08c;padding-top:50px}
11 | #wrapper {margin:0 auto;float:none}
12 | #navbar {z-index:1000}
13 | #navbar.affix {top:0}
14 | h1 {
15 | color: #08c;
16 | font-family: 'FuturaExtraBold';
17 | font-size: 55px;
18 | font-weight: bolder;
19 | letter-spacing: 4px;
20 | margin-bottom: 20px;
21 | text-shadow: 2px 1px #2870F0;
22 | text-align:center
23 | }
24 |
25 | h2 {margin-top:50px}
26 |
27 | header p {
28 | text-align:center
29 | }
30 |
31 |
32 |
33 | #myWizard {zwidth:600px;border:1px solid #ccc}
34 |
35 | .easyWizardSteps {list-style:none;width:100%;overflow:hidden;margin:0;padding:0;border-bottom:1px solid #ccc;margin-bottom:20px}
36 | .easyWizardSteps li {font-size:18px;display:inline-block;padding:10px;color:#B0B1B3;margin-right:20px;}
37 | .easyWizardSteps li span {font-size:24px}
38 | .easyWizardSteps li.current {color:#000}
39 |
40 | .easyWizardButtons {overflow:hidden;padding:10px;}
41 | .easyWizardButtons button, .easyWizardButtons .submit {cursor:pointer}
42 | .easyWizardButtons .prev {float:left}
43 | .easyWizardButtons .next, .easyWizardButtons .submit {float:right}
44 |
45 | #myWizard3Pager {margin-top:-10px}
46 |
47 | form label {display:block}
48 |
49 | footer {
50 | text-align:center;
51 | background:#08c;
52 | border-top:1px dashed #fff;
53 | padding:15px 0;
54 | margin-top:20px;
55 | color:#fff;
56 | }
57 |
58 | footer a {
59 | color:#fff;
60 | padding:3px 5px;
61 | text-decoration:underline;
62 | -webkit-transition:all .5s;
63 | -moz-transition:all .5s;
64 | -o-transition:all .5s;
65 | -ms-transition:all .5s;
66 | transition:all .5s;
67 | }
68 | footer a:hover {
69 | background:#fff;
70 | color:#08c;
71 | text-decoration:none;
72 | transform: rotate(45deg);
73 | -ms-transform: rotate(45deg);
74 | -webkit-transform: rotate(45deg);
75 | -o-transform: rotate(45deg);
76 | -moz-transform: rotate(45deg);
77 | }
--------------------------------------------------------------------------------
/demo/js/jquery.snippet.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Snippet :: jQuery Syntax Highlighter v2.0.0
3 | * http://steamdev.com/snippet
4 | *
5 | * Copyright 2011, SteamDev
6 | * Released under the MIT license.
7 | * http://www.opensource.org/licenses/mit-license.php
8 | *
9 | * Date: Wed Jan 19, 2011
10 | */
11 |
12 | (function(a){window.log=function(){log.history=log.history||[];log.history.push(arguments);if(this.console){console.log(Array.prototype.slice.call(arguments))}};a.fn.snippet=function(e,c){if(typeof e=="object"){c=e}if(typeof e=="string"){e=e.toLowerCase()}var d={style:"random",showNum:true,transparent:false,collapse:false,menu:true,showMsg:"Expand Code",hideMsg:"Collapse Code",clipboard:"",startCollapsed:true,startText:false,box:"",boxColor:"",boxFill:""};var b=["acid","berries-dark","berries-light","bipolar","blacknblue","bright","contrast","darkblue","darkness","desert","dull","easter","emacs","golden","greenlcd","ide-anjuta","ide-codewarrior","ide-devcpp","ide-eclipse","ide-kdev","ide-msvcpp","kwrite","matlab","navy","nedit","neon","night","pablo","peachpuff","print","rand01","the","typical","vampire","vim","vim-dark","whatis","whitengrey","zellner"];if(c){a.extend(d,c)}return this.each(function(){var H=d.style.toLowerCase();if(d.style=="random"){var D=Math.floor(Math.random()*(b.length));H=b[D]}var u=a(this);var y=this.nodeName.toLowerCase();if(y=="pre"){if(u.data("orgHtml")==undefined||u.data("orgHtml")==null){var f=u.html();u.data("orgHtml",f)}if(!u.parent().hasClass("snippet-wrap")){if(typeof e!="string"){if(u.attr("class").length>0){var t=' class="'+u.attr("class")+'"'}else{var t=""}if(u.attr("id").length>0){var J=' id="'+u.attr("id")+'"'}else{var J=""}var A="Snippet Error: You must specify a language on inital usage of Snippet. Reference ";console.log(A);return false}u.addClass("sh_"+e).addClass("snippet-formatted").wrap("");u.removeAttr("style");sh_highlightDocument();if(d.showNum){var v=u.html();v=v.replace(/\n/g," ");v=""+v+" ";while(v.indexOf(" ")!=-1){v=v.replace(" ","")}}else{var v=u.html();v=v.replace(/\n/g,"");v="";while(v.indexOf(" ")!=-1){v=v.replace(" ","")}}v=v.replace(/\t/g," ");u.html(v);while(u.find("li").eq(0).html()==""){u.find("li").eq(0).remove()}u.find("li").each(function(){if(a(this).html().length<2){var i=(a(this).html()).replace(/\s/g,"");if(i==""){if(a.browser.opera){a(this).html(" ")}else{a(this).html(" ")}}}});var w=""+u.data("orgHtml")+" ";var r="";u.parent().append(w);u.parent().prepend(r);u.parent().hover(function(){a(this).find(".snippet-menu").fadeIn("fast")},function(){a(this).find(".snippet-menu").fadeOut("fast")});if(d.clipboard!=""&&d.clipboard!=false){var j=u.parent().find("a.snippet-copy");j.show();j.parents(".snippet-menu").show();var s=u.parents(".snippet-wrap").find(".snippet-textonly").text();ZeroClipboard.setMoviePath(d.clipboard);var G=new ZeroClipboard.Client();G.setText(s);G.glue(j[0],j.parents(".snippet-menu")[0]);G.addEventListener("complete",function(i,o){if(o.length>500){o=o.substr(0,500)+"...\n\n("+(o.length-500)+" characters not shown)"}alert("Copied text to clipboard:\n\n "+o)});j.parents(".snippet-menu").hide()}else{u.parent().find("a.snippet-copy").hide()}u.parent().find("a.snippet-text").click(function(){var o=a(this).parents(".snippet-wrap").find(".snippet-formatted");var i=a(this).parents(".snippet-wrap").find(".snippet-textonly");o.toggle();i.toggle();if(i.is(":visible")){a(this).html("html")}else{a(this).html("text")}a(this).blur();return false});u.parent().find("a.snippet-window").click(function(){var i=a(this).parents(".snippet-wrap").find(".snippet-textonly").html();snippetPopup(i);a(this).blur();return false});if(!d.menu){u.prev(".snippet-menu").find("pre,.snippet-clipboard").hide()}if(d.collapse){var n=u.parent().attr("class");var h="";var E="";u.parents(".snippet-container").append(h);u.parent().append(E);var z=u.parents(".snippet-container");if(d.startCollapsed){z.find(".snippet-reveal").show();z.find(".snippet-wrap").eq(0).hide()}else{z.find(".snippet-reveal").hide();z.find(".snippet-wrap").eq(0).show()}z.find("a.snippet-toggle").click(function(){z.find(".snippet-wrap").toggle();return false})}if(d.transparent){var k={"background-color":"transparent","box-shadow":"none","-moz-box-shadow":"none","-webkit-box-shadow":"none"};u.css(k);u.next(".snippet-textonly").css(k);u.parents(".snippet-container").find(".snippet-reveal pre").css(k)}if(d.startText){u.hide();u.next(".snippet-textonly").show();u.parent().find(".snippet-text").html("html")}if(d.box!=""){var m=" ";var C=d.box.split(",");for(var B=0;B");var q=u.find("li").eq(0);q.unwrap()}}else{var F=u.find("li").eq(0).parent();if(F.hasClass("snippet-num")){F.wrap("");var q=u.find("li").eq(0);q.unwrap()}}if(d.box!=""){var m=" ";var C=d.box.split(",");for(var B=0;B' elements are currently unsupported.";console.log(A);return false}})}})(jQuery);function snippetPopup(a){top.consoleRef=window.open("","myconsole","width=600,height=300,left=50,top=50,menubar=0,toolbar=0,location=0,status=0,scrollbars=1,resizable=1");top.consoleRef.document.writeln("Snippet :: Code View :: "+location.href+' '+a+" ");top.consoleRef.document.close()}var ZeroClipboard={version:"1.0.7",clients:{},moviePath:"ZeroClipboard.swf",nextId:1,$:function(a){if(typeof(a)=="string"){a=document.getElementById(a)}if(!a.addClass){a.hide=function(){this.style.display="none"};a.show=function(){this.style.display=""};a.addClass=function(b){this.removeClass(b);this.className+=" "+b};a.removeClass=function(d){var e=this.className.split(/\s+/);var b=-1;for(var c=0;c-1){e.splice(b,1);this.className=e.join(" ")}return this};a.hasClass=function(b){return !!this.className.match(new RegExp("\\s*"+b+"\\s*"))}}return a},setMoviePath:function(a){this.moviePath=a},dispatch:function(d,b,c){var a=this.clients[d];if(a){a.receiveEvent(b,c)}},register:function(b,a){this.clients[b]=a},getDOMObjectPosition:function(c,a){var b={left:0,top:0,width:c.width?c.width:c.offsetWidth,height:c.height?c.height:c.offsetHeight};while(c&&(c!=a)){b.left+=c.offsetLeft;b.top+=c.offsetTop;c=c.offsetParent}return b},Client:function(a){this.handlers={};this.id=ZeroClipboard.nextId++;this.movieId="ZeroClipboardMovie_"+this.id;ZeroClipboard.register(this.id,this);if(a){this.glue(a)}}};ZeroClipboard.Client.prototype={id:0,ready:false,movie:null,clipText:"",handCursorEnabled:true,cssEffects:true,handlers:null,glue:function(d,b,e){this.domElement=ZeroClipboard.$(d);var f=99;if(this.domElement.style.zIndex){f=parseInt(this.domElement.style.zIndex,10)+1}if(typeof(b)=="string"){b=ZeroClipboard.$(b)}else{if(typeof(b)=="undefined"){b=document.getElementsByTagName("body")[0]}}var c=ZeroClipboard.getDOMObjectPosition(this.domElement,b);this.div=document.createElement("div");this.div.className="snippet-clipboard";var a=this.div.style;a.position="absolute";a.left=""+c.left+"px";a.top=""+c.top+"px";a.width=""+c.width+"px";a.height=""+c.height+"px";a.zIndex=f;if(typeof(e)=="object"){for(addedStyle in e){a[addedStyle]=e[addedStyle]}}b.appendChild(this.div);this.div.innerHTML=this.getHTML(c.width,c.height)},getHTML:function(d,a){var c="";var b="id="+this.id+"&width="+d+"&height="+a;if(navigator.userAgent.match(/MSIE/)){var e=location.href.match(/^https/i)?"https://":"http://";c+=' '}else{c+=' '}return c},hide:function(){if(this.div){this.div.style.left="-2000px"}},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide();this.div.innerHTML="";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.domElement=null;this.div=null}},reposition:function(c){if(c){this.domElement=ZeroClipboard.$(c);if(!this.domElement){this.hide()}}if(this.domElement&&this.div){var b=ZeroClipboard.getDOMObjectPosition(this.domElement);var a=this.div.style;a.left=""+b.left+"px";a.top=""+b.top+"px"}},setText:function(a){this.clipText=a;if(this.ready){this.movie.setText(a)}},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");if(!this.handlers[a]){this.handlers[a]=[]}this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled=a;if(this.ready){this.movie.setHandCursor(a)}},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(d,f){d=d.toString().toLowerCase().replace(/^on/,"");switch(d){case"load":this.movie=document.getElementById(this.movieId);if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){var c=this;setTimeout(function(){c.receiveEvent("load",null)},100);this.ready=true;return}this.ready=true;try{this.movie.setText(this.clipText)}catch(h){}try{this.movie.setHandCursor(this.handCursorEnabled)}catch(h){}break;case"mouseover":if(this.domElement&&this.cssEffects){this.domElement.addClass("hover");if(this.recoverActive){this.domElement.addClass("active")}}break;case"mouseout":if(this.domElement&&this.cssEffects){this.recoverActive=false;if(this.domElement.hasClass("active")){this.domElement.removeClass("active");this.recoverActive=true}this.domElement.removeClass("hover")}break;case"mousedown":if(this.domElement&&this.cssEffects){this.domElement.addClass("active")}break;case"mouseup":if(this.domElement&&this.cssEffects){this.domElement.removeClass("active");this.recoverActive=false}break}if(this.handlers[d]){for(var b=0,a=this.handlers[d].length;b=2&&f.charAt(0)==="<"&&f.charAt(f.length-1)===">"){f=f.substr(1,f.length-2)}if(sh_isEmailAddress(f)){f="mailto:"+f}e[h-2].node.href=f}function sh_konquerorExec(c){var d=[""];d.index=c.length;d.input=c;return d}function sh_highlightString(X,ah){if(/Konqueror/.test(navigator.userAgent)){if(!ah.konquered){for(var T=0;TQ){ab(ao.substring(Q,U.index),null)}var aq=a[ae];var P=aq[1];var au;if(P instanceof Array){for(var r=0;r0){var h=f.split(" ");for(var j=0;j0){g.push(h[j])}}}return g}function sh_addClass(h,f){var g=sh_getClasses(h);for(var e=0;e element with class="'+a+'", but no such language exists');continue}}break}}}if(!this.sh_languages){this.sh_languages={}}sh_languages.c=[[[/\/\/\//g,"sh_comment",1],[/\/\//g,"sh_comment",7],[/\/\*\*/g,"sh_comment",8],[/\/\*/g,"sh_comment",9],[/(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,["sh_keyword","sh_normal","sh_classname"],-1],[/^[ \t]*#(?:[ \t]*include)/g,"sh_preproc",10,1],[/^[ \t]*#(?:[ \t]*[A-Za-z0-9_]*)/g,"sh_preproc",-1],[/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,"sh_number",-1],[/"/g,"sh_string",13],[/'/g,"sh_string",14],[/\b(?:__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|break|case|catch|cdecl|const|continue|default|do|else|enum|extern|for|goto|if|pascal|register|return|sizeof|static|struct|switch|typedef|union|volatile|while)\b/g,"sh_keyword",-1],[/\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,"sh_type",-1],[/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,"sh_symbol",-1],[/\{|\}/g,"sh_cbracket",-1],[/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,"sh_function",-1],[/([A-Za-z](?:[^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\[\]]+))/g,["sh_usertype","sh_usertype","sh_normal"],-1]],[[/$/g,null,-2],[/(?:)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,"sh_url",-1],[/<\?xml/g,"sh_preproc",2,1],[//g,"sh_keyword",-1],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,"sh_keyword",6,1],[/&(?:[A-Za-z0-9]+);/g,"sh_preproc",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,"sh_keyword",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,"sh_keyword",6,1],[/@[A-Za-z]+/g,"sh_type",-1],[/(?:TODO|FIXME|BUG)(?:[:]?)/g,"sh_todo",-1]],[[/\?>/g,"sh_preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh_type","sh_normal","sh_symbol"],-1],[/"/g,"sh_string",3]],[[/\\(?:\\|")/g,null,-1],[/"/g,"sh_string",-2]],[[/>/g,"sh_preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh_type","sh_normal","sh_symbol"],-1],[/"/g,"sh_string",3]],[[/-->/g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[/