yamlcss 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +12 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +56 -0
- data/LICENSE.txt +59 -0
- data/Rakefile +23 -0
- data/Readme.md +120 -0
- data/VERSIONS.md +5 -0
- data/bin/yamlcss +6 -0
- data/lib/yamlcss.rb +22 -0
- data/lib/yamlcss/engine.rb +7 -0
- data/lib/yamlcss/generator.rb +84 -0
- data/lib/yamlcss/version.rb +4 -0
- data/vendor/assets/stylesheets/_iehacks.scss +3 -0
- data/vendor/assets/stylesheets/_yaml.scss +3 -0
- data/yaml/Gruntfile.js +199 -0
- data/yaml/License.txt +36 -0
- data/yaml/Readme.md +64 -0
- data/yaml/changelog.md +307 -0
- data/yaml/config.rb +25 -0
- data/yaml/demos/css/custom-grids.css +27 -0
- data/yaml/demos/css/flexible-columns.css +26 -0
- data/yaml/demos/css/flexible-grids.css +26 -0
- data/yaml/demos/css/rtl-support.css +31 -0
- data/yaml/demos/css/screen/screen-custom-grids.css +41 -0
- data/yaml/demos/css/screen/screen-rtl-support.css +182 -0
- data/yaml/demos/custom-grid.html +129 -0
- data/yaml/demos/flexible-columns.html +124 -0
- data/yaml/demos/flexible-grid.html +142 -0
- data/yaml/demos/rtl-support.html +127 -0
- data/yaml/docs/assets/css/icons/external_link.png +0 -0
- data/yaml/docs/assets/css/icons/hcalendar.png +0 -0
- data/yaml/docs/assets/css/icons/hcard.png +0 -0
- data/yaml/docs/assets/css/icons/icon-geo.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hatom.png +0 -0
- data/yaml/docs/assets/css/icons/icon-haudio.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hcalendar-add.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hcalendar-download.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hcalendar.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hcard-add.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hcard-download.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hcard.png +0 -0
- data/yaml/docs/assets/css/icons/icon-hresume.png +0 -0
- data/yaml/docs/assets/css/icons/icon-rel-tag.png +0 -0
- data/yaml/docs/assets/css/icons/icon-xfn.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-child.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-colleague-met.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-colleague.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-friend-met.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-friend.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-me.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-parent.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-small.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-spouse.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-sweetheart-met.png +0 -0
- data/yaml/docs/assets/css/icons/xfn/xfn-sweetheart.png +0 -0
- data/yaml/docs/assets/css/layout-min.css +3 -0
- data/yaml/docs/assets/css/layout.css +3262 -0
- data/yaml/docs/assets/images/demo-custom-grid.png +0 -0
- data/yaml/docs/assets/images/demo-flex-column.png +0 -0
- data/yaml/docs/assets/images/demo-flex-grid.png +0 -0
- data/yaml/docs/assets/images/demo-rtl.png +0 -0
- data/yaml/docs/assets/images/yaml-solo-transparent-small.png +0 -0
- data/yaml/docs/assets/images/yaml-solo-transparent.png +0 -0
- data/yaml/docs/assets/js/domscript.js +209 -0
- data/yaml/docs/assets/js/jquery.gridbuilder.js +131 -0
- data/yaml/docs/assets/js/snippet/ZeroClipboard.swf +0 -0
- data/yaml/docs/assets/js/snippet/jquery.snippet.css +116 -0
- data/yaml/docs/assets/js/snippet/jquery.snippet.js +782 -0
- data/yaml/docs/assets/js/snippet/jquery.snippet.min.css +40 -0
- data/yaml/docs/assets/js/snippet/jquery.snippet.min.js +12 -0
- data/yaml/docs/assets/js/snippet/snippet.css +296 -0
- data/yaml/docs/index.html +3845 -0
- data/yaml/lib/html5shiv/html5shiv-printshiv.js +11 -0
- data/yaml/lib/html5shiv/html5shiv.js +8 -0
- data/yaml/lib/jquery-1.10.1.min.js +6 -0
- data/yaml/lib/jquery-migrate-1.2.1.min.js +2 -0
- data/yaml/package.json +20 -0
- data/yaml/sass/docs/assets/css/_screen.scss +786 -0
- data/yaml/sass/docs/assets/css/layout.scss +28 -0
- data/yaml/sass/static-build/add-ons/accessible-tabs/tabs.scss +15 -0
- data/yaml/sass/static-build/add-ons/microformats/microformats.scss +18 -0
- data/yaml/sass/static-build/add-ons/rtl-support/core/base-rtl.scss +20 -0
- data/yaml/sass/static-build/add-ons/rtl-support/forms/gray-theme-rtl.scss +16 -0
- data/yaml/sass/static-build/add-ons/rtl-support/navigation/hlist-rtl.scss +18 -0
- data/yaml/sass/static-build/add-ons/rtl-support/navigation/vlist-rtl.scss +18 -0
- data/yaml/sass/static-build/add-ons/rtl-support/screen/typography-rtl.scss +16 -0
- data/yaml/sass/static-build/core/base.scss +19 -0
- data/yaml/sass/static-build/core/iehacks.scss +19 -0
- data/yaml/sass/static-build/forms/gray-theme.scss +14 -0
- data/yaml/sass/static-build/navigation/hlist.scss +16 -0
- data/yaml/sass/static-build/navigation/vlist.scss +16 -0
- data/yaml/sass/static-build/print/print.scss +15 -0
- data/yaml/sass/static-build/screen/grid-960gs-12.scss +15 -0
- data/yaml/sass/static-build/screen/grid-960gs-16.scss +15 -0
- data/yaml/sass/static-build/screen/grid-blueprint.scss +15 -0
- data/yaml/sass/static-build/screen/grid-fluid-12col.scss +15 -0
- data/yaml/sass/static-build/screen/screen-FULLPAGE-layout.scss +15 -0
- data/yaml/sass/static-build/screen/screen-PAGE-layout.scss +15 -0
- data/yaml/sass/static-build/screen/typography.scss +16 -0
- data/yaml/sass/yaml-sass/_yaml-var-globals.scss +39 -0
- data/yaml/sass/yaml-sass/_yaml-var-typography.scss +80 -0
- data/yaml/sass/yaml-sass/add-ons/accessible-tabs/_tabs.scss +139 -0
- data/yaml/sass/yaml-sass/add-ons/accessible-tabs/jquery.tabs.js +266 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/_microformats.scss +179 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/external_link.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/hcalendar.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/hcard.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-geo.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hatom.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-haudio.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hcalendar-add.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hcalendar-download.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hcalendar.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hcard-add.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hcard-download.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hcard.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-hresume.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-rel-tag.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/icon-xfn.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-child.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-colleague-met.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-colleague.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-friend-met.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-friend.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-me.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-parent.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-small.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-spouse.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-sweetheart-met.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/microformats/icons/xfn/xfn-sweetheart.png +0 -0
- data/yaml/sass/yaml-sass/add-ons/rtl-support/core/_base-rtl.scss +177 -0
- data/yaml/sass/yaml-sass/add-ons/rtl-support/forms/_gray-theme-rtl.scss +34 -0
- data/yaml/sass/yaml-sass/add-ons/rtl-support/navigation/_hlist-rtl.scss +42 -0
- data/yaml/sass/yaml-sass/add-ons/rtl-support/navigation/_vlist-rtl.scss +45 -0
- data/yaml/sass/yaml-sass/add-ons/rtl-support/screen/_typography-rtl.scss +30 -0
- data/yaml/sass/yaml-sass/add-ons/syncheight/jquery.syncheight.js +112 -0
- data/yaml/sass/yaml-sass/core/_base.scss +15 -0
- data/yaml/sass/yaml-sass/core/_iehacks.scss +426 -0
- data/yaml/sass/yaml-sass/core/base-modules/_accessibility.scss +48 -0
- data/yaml/sass/yaml-sass/core/base-modules/_columns.scss +27 -0
- data/yaml/sass/yaml-sass/core/base-modules/_float-handling.scss +32 -0
- data/yaml/sass/yaml-sass/core/base-modules/_forms-core.scss +296 -0
- data/yaml/sass/yaml-sass/core/base-modules/_grids-core.scss +55 -0
- data/yaml/sass/yaml-sass/core/base-modules/_normalization.scss +165 -0
- data/yaml/sass/yaml-sass/core/base-modules/_print-core.scss +36 -0
- data/yaml/sass/yaml-sass/core/js/yaml-focusfix.js +70 -0
- data/yaml/sass/yaml-sass/forms/_gray-theme.scss +475 -0
- data/yaml/sass/yaml-sass/mixins/_yaml-mixins-core.scss +248 -0
- data/yaml/sass/yaml-sass/navigation/_hlist.scss +106 -0
- data/yaml/sass/yaml-sass/navigation/_vlist.scss +129 -0
- data/yaml/sass/yaml-sass/print/_print.scss +61 -0
- data/yaml/sass/yaml-sass/screen/_grid-960gs-12.scss +4 -0
- data/yaml/sass/yaml-sass/screen/_grid-960gs-16.scss +4 -0
- data/yaml/sass/yaml-sass/screen/_grid-blueprint.scss +4 -0
- data/yaml/sass/yaml-sass/screen/_grid-fluid-12col.scss +4 -0
- data/yaml/sass/yaml-sass/screen/_screen-FULLPAGE-layout.scss +171 -0
- data/yaml/sass/yaml-sass/screen/_screen-PAGE-layout.scss +165 -0
- data/yaml/sass/yaml-sass/screen/_typography.scss +485 -0
- data/yaml/yaml/add-ons/accessible-tabs/jquery.tabs.js +266 -0
- data/yaml/yaml/add-ons/accessible-tabs/tabs.css +136 -0
- data/yaml/yaml/add-ons/microformats/icons/external_link.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/hcalendar.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/hcard.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-geo.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hatom.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-haudio.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hcalendar-add.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hcalendar-download.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hcalendar.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hcard-add.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hcard-download.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hcard.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-hresume.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-rel-tag.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/icon-xfn.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-child.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-colleague-met.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-colleague.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-friend-met.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-friend.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-me.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-parent.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-small.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-spouse.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart-met.png +0 -0
- data/yaml/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart.png +0 -0
- data/yaml/yaml/add-ons/microformats/microformats.css +167 -0
- data/yaml/yaml/add-ons/rtl-support/core/base-rtl.css +167 -0
- data/yaml/yaml/add-ons/rtl-support/core/base-rtl.min.css +3 -0
- data/yaml/yaml/add-ons/rtl-support/forms/gray-theme-rtl.css +44 -0
- data/yaml/yaml/add-ons/rtl-support/navigation/hlist-rtl.css +48 -0
- data/yaml/yaml/add-ons/rtl-support/navigation/vlist-rtl.css +54 -0
- data/yaml/yaml/add-ons/rtl-support/screen/typography-rtl.css +38 -0
- data/yaml/yaml/add-ons/syncheight/jquery.syncheight.js +112 -0
- data/yaml/yaml/core/base.css +705 -0
- data/yaml/yaml/core/base.min.css +3 -0
- data/yaml/yaml/core/iehacks.css +468 -0
- data/yaml/yaml/core/iehacks.min.css +3 -0
- data/yaml/yaml/core/js/yaml-focusfix.js +70 -0
- data/yaml/yaml/forms/gray-theme.css +676 -0
- data/yaml/yaml/navigation/hlist.css +109 -0
- data/yaml/yaml/navigation/vlist.css +144 -0
- data/yaml/yaml/print/print.css +42 -0
- data/yaml/yaml/screen/grid-960gs-12.css +164 -0
- data/yaml/yaml/screen/grid-960gs-16.css +212 -0
- data/yaml/yaml/screen/grid-blueprint.css +308 -0
- data/yaml/yaml/screen/grid-fluid-12col.css +164 -0
- data/yaml/yaml/screen/screen-FULLPAGE-layout.css +184 -0
- data/yaml/yaml/screen/screen-PAGE-layout.css +196 -0
- data/yaml/yaml/screen/typography.css +486 -0
- data/yamlcss.gemspec +30 -0
- metadata +314 -0
@@ -0,0 +1,266 @@
|
|
1
|
+
/**
|
2
|
+
* Accessible Tabs - jQuery plugin for accessible, unobtrusive tabs
|
3
|
+
* Build to seemlessly work with the CCS-Framework YAML (yaml.de) not depending on YAML though
|
4
|
+
* @requires jQuery - tested with 1.9.1, 1.7 and 1.4.2 but might as well work with older versions
|
5
|
+
*
|
6
|
+
* english article: http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-How-to-make-tabs-REALLY-accessible.php
|
7
|
+
* german article: http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-Wie-man-Tabs-WIRKLICH-zugaenglich-macht.php
|
8
|
+
*
|
9
|
+
* code: http://github.com/ginader/Accessible-Tabs
|
10
|
+
* please report issues at: http://github.com/ginader/Accessible-Tabs/issues
|
11
|
+
*
|
12
|
+
* Copyright (c) 2007 Dirk Ginader (ginader.de)
|
13
|
+
* Dual licensed under the MIT and GPL licenses:
|
14
|
+
* http://www.opensource.org/licenses/mit-license.php
|
15
|
+
* http://www.gnu.org/licenses/gpl.html
|
16
|
+
*
|
17
|
+
*/
|
18
|
+
|
19
|
+
(function($) {
|
20
|
+
var debugMode = true;
|
21
|
+
$.fn.extend({
|
22
|
+
// We assume there could be multiple sets of tabs on a page, so,
|
23
|
+
// the unique id for each invididual tab's heading is identified with params q and r (e.g., id="accessibletabscontent0-2")
|
24
|
+
getUniqueId: function(p, q, r){
|
25
|
+
if (r===undefined) {r='';} else {r='-'+r;}
|
26
|
+
return p + q + r;
|
27
|
+
},
|
28
|
+
accessibleTabs: function(config) {
|
29
|
+
var defaults = {
|
30
|
+
wrapperClass: 'content', // Classname to apply to the div that is wrapped around the original Markup
|
31
|
+
currentClass: 'current', // Classname to apply to the LI of the selected Tab
|
32
|
+
tabhead: 'h4', // Tag or valid Query Selector of the Elements to Transform the Tabs-Navigation from (originals are removed)
|
33
|
+
tabheadClass: 'tabhead', // Classname to apply to the target heading element for each tab div
|
34
|
+
tabbody: '.tabbody', // Tag or valid Query Selector of the Elements to be treated as the Tab Body
|
35
|
+
fx:'show', // can be "fadeIn", "slideDown", "show"
|
36
|
+
fxspeed: 'normal', // speed (String|Number): "slow", "normal", or "fast") or the number of milliseconds to run the animation
|
37
|
+
currentInfoText: 'current tab: ', // text to indicate for screenreaders which tab is the current one
|
38
|
+
currentInfoPosition: 'prepend', // Definition where to insert the Info Text. Can be either "prepend" or "append"
|
39
|
+
currentInfoClass: 'current-info', // Class to apply to the span wrapping the CurrentInfoText
|
40
|
+
tabsListClass:'tabs-list', // Class to apply to the generated list of tabs above the content
|
41
|
+
syncheights:false, // syncs the heights of the tab contents when the SyncHeight plugin is available http://blog.ginader.de/dev/jquery/syncheight/index.php
|
42
|
+
syncHeightMethodName:'syncHeight', // set the Method name of the plugin you want to use to sync the tab contents. Defaults to the SyncHeight plugin: http://github.com/ginader/syncHeight
|
43
|
+
cssClassAvailable:false, // Enable individual css classes for tabs. Gets the appropriate class name of a tabhead element and apply it to the tab list element. Boolean value
|
44
|
+
saveState:false, // save the selected tab into a cookie so it stays selected after a reload. This requires that the wrapping div needs to have an ID (so we know which tab we're saving)
|
45
|
+
autoAnchor:false, // will move over any existing id of a headline in tabs markup so it can be linked to it
|
46
|
+
pagination:false, // adds buttons to each tab to switch to the next/previous tab
|
47
|
+
position:'top', // can be 'top' or 'bottom'. Defines where the tabs list is inserted.
|
48
|
+
wrapInnerNavLinks: '', // inner wrap for a-tags in tab navigation. See http://api.jquery.com/wrapInner/ for further informations
|
49
|
+
firstNavItemClass: 'first', // Classname of the first list item in the tab navigation
|
50
|
+
lastNavItemClass: 'last', // Classname of the last list item in the tab navigation
|
51
|
+
clearfixClass: 'clearfix' // Name of the Class that is used to clear/contain floats
|
52
|
+
};
|
53
|
+
var keyCodes = {
|
54
|
+
37 : -1, //LEFT
|
55
|
+
38 : -1, //UP
|
56
|
+
39 : +1, //RIGHT
|
57
|
+
40 : +1 //DOWN
|
58
|
+
};
|
59
|
+
var positions = {
|
60
|
+
top : 'prepend',
|
61
|
+
bottom : 'append'
|
62
|
+
};
|
63
|
+
this.options = $.extend(defaults, config);
|
64
|
+
|
65
|
+
var tabsCount = 0;
|
66
|
+
if($("body").data('accessibleTabsCount') !== undefined){
|
67
|
+
tabsCount = $("body").data('accessibleTabsCount');
|
68
|
+
}
|
69
|
+
$("body").data('accessibleTabsCount',this.size()+tabsCount);
|
70
|
+
|
71
|
+
var o = this;
|
72
|
+
return this.each(function(t) {
|
73
|
+
var el = $(this);
|
74
|
+
var list = '';
|
75
|
+
var tabCount = 0;
|
76
|
+
var ids = [];
|
77
|
+
|
78
|
+
$(el).wrapInner('<div class="'+o.options.wrapperClass+'"></div>');
|
79
|
+
|
80
|
+
$(el).find(o.options.tabhead).each(function(i){
|
81
|
+
var id = '';
|
82
|
+
var elId = $(this).attr('id');
|
83
|
+
if(elId){
|
84
|
+
// Skip this item if it already exists.
|
85
|
+
if(elId.indexOf('accessibletabscontent') === 0) {
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
id =' id="'+elId+'"';
|
89
|
+
}
|
90
|
+
var tabId = o.getUniqueId('accessibletabscontent', tabsCount+t, i);//get a unique id to assign to this tab's heading
|
91
|
+
var navItemId = o.getUniqueId('accessibletabsnavigation', tabsCount+t, i);//get a unique id for this navigation item
|
92
|
+
ids.push(tabId);
|
93
|
+
if(o.options.cssClassAvailable === true) {
|
94
|
+
var cssClass = '';
|
95
|
+
if($(this).attr('class')) {
|
96
|
+
cssClass = $(this).attr('class');
|
97
|
+
cssClass = ' class="'+cssClass+'"';
|
98
|
+
}
|
99
|
+
list += '<li id="'+navItemId+'"><a'+id+''+cssClass+' href="#'+tabId+'">'+$(this).html()+'</a></li>';
|
100
|
+
} else {
|
101
|
+
list += '<li id="'+navItemId+'"><a'+id+' href="#'+tabId+'">'+$(this).html()+'</a></li>';
|
102
|
+
}
|
103
|
+
$(this).attr({"id": tabId, "class": o.options.tabheadClass, "tabindex": "-1"});//assign the unique id and the tabheadClass class name to this tab's heading
|
104
|
+
tabCount++;
|
105
|
+
});
|
106
|
+
|
107
|
+
if (o.options.syncheights && $.fn[o.options.syncHeightMethodName]) {
|
108
|
+
$(el).find(o.options.tabbody)[o.options.syncHeightMethodName]();
|
109
|
+
$(window).resize(function(){
|
110
|
+
$(el).find(o.options.tabbody)[o.options.syncHeightMethodName]();
|
111
|
+
});
|
112
|
+
}
|
113
|
+
|
114
|
+
// Ensure that the call to setup tabs is re-runnable
|
115
|
+
var tabs_selector = '.' + o.options.tabsListClass;
|
116
|
+
if(!$(el).find(tabs_selector).length) {
|
117
|
+
$(el)[positions[o.options.position]]('<ul class="'+o.options.clearfixClass+' '+o.options.tabsListClass+' tabamount'+tabCount+'"></ul>');
|
118
|
+
}
|
119
|
+
|
120
|
+
$(el).find(tabs_selector).append(list);
|
121
|
+
|
122
|
+
// initial show first content block and hide the others
|
123
|
+
var content = $(el).find(o.options.tabbody);
|
124
|
+
if (content.length > 0) {
|
125
|
+
$(content).hide();
|
126
|
+
$(content[0]).show();
|
127
|
+
}
|
128
|
+
$(el).find("ul."+o.options.tabsListClass+">li:first").addClass(o.options.currentClass).addClass(o.options.firstNavItemClass)
|
129
|
+
.find('a')[o.options.currentInfoPosition]('<span class="'+o.options.currentInfoClass+'">'+o.options.currentInfoText+'</span>')
|
130
|
+
.parents("ul."+o.options.tabsListClass).children('li:last').addClass(o.options.lastNavItemClass);
|
131
|
+
|
132
|
+
if (o.options.wrapInnerNavLinks) {
|
133
|
+
$(el).find('ul.'+o.options.tabsListClass+'>li>a').wrapInner(o.options.wrapInnerNavLinks);
|
134
|
+
}
|
135
|
+
|
136
|
+
$(el).find('ul.'+o.options.tabsListClass+'>li>a').each(function(i){
|
137
|
+
$(this).click(function(event){
|
138
|
+
event.preventDefault();
|
139
|
+
el.trigger("showTab.accessibleTabs", [$(event.target)]);
|
140
|
+
if(o.options.saveState && $.cookie){
|
141
|
+
$.cookie('accessibletab_'+el.attr('id')+'_active',i);
|
142
|
+
}
|
143
|
+
$(el).find('ul.'+o.options.tabsListClass+'>li.'+o.options.currentClass).removeClass(o.options.currentClass)
|
144
|
+
.find("span."+o.options.currentInfoClass).remove();
|
145
|
+
$(this).blur();
|
146
|
+
$(el).find(o.options.tabbody+':visible').hide();
|
147
|
+
$(el).find(o.options.tabbody).eq(i)[o.options.fx](o.options.fxspeed);
|
148
|
+
$(this)[o.options.currentInfoPosition]('<span class="'+o.options.currentInfoClass+'">'+o.options.currentInfoText+'</span>')
|
149
|
+
.parent().addClass(o.options.currentClass);
|
150
|
+
//now, only after writing the currentInfoText span to the tab list link, set focus to the tab's heading
|
151
|
+
|
152
|
+
$($(this).attr("href")).focus().keyup(function(event){
|
153
|
+
if(keyCodes[event.keyCode]){
|
154
|
+
o.showAccessibleTab(i+keyCodes[event.keyCode]);
|
155
|
+
$(this).unbind( "keyup" );
|
156
|
+
}
|
157
|
+
});
|
158
|
+
|
159
|
+
// $(el).find('.accessibletabsanchor').keyup(function(event){
|
160
|
+
// if(keyCodes[event.keyCode]){
|
161
|
+
// o.showAccessibleTab(i+keyCodes[event.keyCode]);
|
162
|
+
// }
|
163
|
+
// });
|
164
|
+
});
|
165
|
+
|
166
|
+
$(this).focus(function(){
|
167
|
+
$(document).keyup(function(event){
|
168
|
+
if(keyCodes[event.keyCode]){
|
169
|
+
o.showAccessibleTab(i+keyCodes[event.keyCode]);
|
170
|
+
}
|
171
|
+
});
|
172
|
+
});
|
173
|
+
$(this).blur(function(){
|
174
|
+
$(document).unbind( "keyup" );
|
175
|
+
});
|
176
|
+
|
177
|
+
});
|
178
|
+
|
179
|
+
if(o.options.saveState && $.cookie){
|
180
|
+
var savedState = $.cookie('accessibletab_'+el.attr('id')+'_active');
|
181
|
+
debug($.cookie('accessibletab_'+el.attr('id')+'_active'));
|
182
|
+
if(savedState !== null){
|
183
|
+
o.showAccessibleTab(savedState,el.attr('id'));
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
if(o.options.autoAnchor && window.location.hash){
|
188
|
+
var anchorTab = $('.'+o.options.tabsListClass).find(window.location.hash);
|
189
|
+
if(anchorTab.size()){
|
190
|
+
anchorTab.click();
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
194
|
+
if(o.options.pagination){
|
195
|
+
var m = '<ul class="pagination">';
|
196
|
+
m +=' <li class="previous"><a href="#{previousAnchor}"><span>{previousHeadline}</span></a></li>';
|
197
|
+
m +=' <li class="next"><a href="#{nextAnchor}"><span>{nextHeadline}</span></a></li>';
|
198
|
+
m +='</ul>';
|
199
|
+
var tabs = $(el).find('.tabbody');
|
200
|
+
var tabcount = tabs.size();
|
201
|
+
tabs.each(function(idx){
|
202
|
+
$(this).append(m);
|
203
|
+
var next = idx+1;
|
204
|
+
if(next>=tabcount){next = 0;}
|
205
|
+
var previous = idx-1;
|
206
|
+
if(previous<0){previous = tabcount-1;}
|
207
|
+
var p = $(this).find('.pagination');
|
208
|
+
var previousEl = p.find('.previous');
|
209
|
+
previousEl.find('span').text($('#'+ids[previous]).text());
|
210
|
+
previousEl.find('a').attr('href','#'+ids[previous])
|
211
|
+
.click(function(event){
|
212
|
+
event.preventDefault();
|
213
|
+
$(el).find('.tabs-list a').eq(previous).click();
|
214
|
+
});
|
215
|
+
var nextEl = p.find('.next');
|
216
|
+
nextEl.find('span').text($('#'+ids[next]).text());
|
217
|
+
nextEl.find('a').attr('href','#'+ids[next])
|
218
|
+
.click(function(event){
|
219
|
+
event.preventDefault();
|
220
|
+
$(el).find('.tabs-list a').eq(next).click();
|
221
|
+
});
|
222
|
+
});
|
223
|
+
}
|
224
|
+
});
|
225
|
+
},
|
226
|
+
showAccessibleTab: function(index,id){
|
227
|
+
debug('showAccessibleTab');
|
228
|
+
var o = this;
|
229
|
+
if(id) {
|
230
|
+
var el = $('#'+id);
|
231
|
+
var links = el.find('ul.'+o.options.tabsListClass+'>li>a');
|
232
|
+
el.trigger("showTab.accessibleTabs", [links.eq(index)]);
|
233
|
+
links.eq(index).click();
|
234
|
+
} else {
|
235
|
+
return this.each(function() {
|
236
|
+
var el = $(this);
|
237
|
+
el.trigger("showTab.accessibleTabs");
|
238
|
+
var links = el.find('ul.'+o.options.tabsListClass+'>li>a');
|
239
|
+
el.trigger("showTab.accessibleTabs", [links.eq(index)]);
|
240
|
+
links.eq(index).click();
|
241
|
+
});
|
242
|
+
}
|
243
|
+
},
|
244
|
+
showAccessibleTabSelector: function(selector){
|
245
|
+
debug('showAccessibleTabSelector');
|
246
|
+
var el = $(selector);
|
247
|
+
if(el){
|
248
|
+
if(el.get(0).nodeName.toLowerCase() === 'a'){
|
249
|
+
el.click();
|
250
|
+
}else{
|
251
|
+
debug('the selector of a showAccessibleTabSelector() call needs to point to a tabs headline!');
|
252
|
+
}
|
253
|
+
}
|
254
|
+
}
|
255
|
+
});
|
256
|
+
// private Methods
|
257
|
+
function debug(msg,info){
|
258
|
+
if(debugMode && window.console && window.console.log){
|
259
|
+
if(info){
|
260
|
+
window.console.log(info+': ',msg);
|
261
|
+
}else{
|
262
|
+
window.console.log(msg);
|
263
|
+
}
|
264
|
+
}
|
265
|
+
}
|
266
|
+
})(jQuery);
|
@@ -0,0 +1,136 @@
|
|
1
|
+
/**
|
2
|
+
* "Yet Another Multicolumn Layout" - YAML CSS Framework
|
3
|
+
* (en) Styles for Accessible-Tabs plugin for jQuery
|
4
|
+
* (de) Gestaltung des Acessible-Tabs Plugins für jQuery
|
5
|
+
*
|
6
|
+
* @copyright © 2005-2013, Dirk Jesse
|
7
|
+
* @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
8
|
+
* YAML-CDL (http://www.yaml.de/license.html)
|
9
|
+
* @link http://www.yaml.de
|
10
|
+
* @package yaml
|
11
|
+
* @version 4.1.2
|
12
|
+
*/
|
13
|
+
@media screen, projection {
|
14
|
+
.jquery_tabs {
|
15
|
+
margin: 0 0 1.5em 0;
|
16
|
+
}
|
17
|
+
.jquery_tabs ul.tabs-list {
|
18
|
+
font-size: 1em;
|
19
|
+
display: table;
|
20
|
+
table-layout: fixed;
|
21
|
+
list-style-type: none;
|
22
|
+
margin: 0;
|
23
|
+
position: relative;
|
24
|
+
z-index: 1;
|
25
|
+
}
|
26
|
+
.jquery_tabs ul.tabs-list li {
|
27
|
+
margin: 0 4px 0 0;
|
28
|
+
border: 0 none;
|
29
|
+
display: inline;
|
30
|
+
float: left;
|
31
|
+
padding: 0;
|
32
|
+
}
|
33
|
+
.jquery_tabs ul.tabs-list li a {
|
34
|
+
font-size: 1em;
|
35
|
+
line-height: 1.5;
|
36
|
+
padding: 0.75em;
|
37
|
+
background: transparent;
|
38
|
+
display: block;
|
39
|
+
float: left;
|
40
|
+
font-weight: normal;
|
41
|
+
margin: 0;
|
42
|
+
}
|
43
|
+
.jquery_tabs ul.tabs-list li a:focus, .jquery_tabs ul.tabs-list li a:hover, .jquery_tabs ul.tabs-list li a:active {
|
44
|
+
background: #eee;
|
45
|
+
border-radius: 0.2em 0.2em 0 0;
|
46
|
+
color: #000;
|
47
|
+
font-weight: normal;
|
48
|
+
outline: 0 none;
|
49
|
+
text-decoration: none;
|
50
|
+
}
|
51
|
+
.jquery_tabs ul.tabs-list li.current a,
|
52
|
+
.jquery_tabs ul.tabs-list li.current a:focus,
|
53
|
+
.jquery_tabs ul.tabs-list li.current a:hover,
|
54
|
+
.jquery_tabs ul.tabs-list li.current a:active {
|
55
|
+
background: #fff;
|
56
|
+
border: 1px #ccc solid;
|
57
|
+
border-radius: 0.2em 0.2em 0 0;
|
58
|
+
color: #000;
|
59
|
+
border-bottom: 0 none;
|
60
|
+
font-weight: bold;
|
61
|
+
text-decoration: none;
|
62
|
+
}
|
63
|
+
.jquery_tabs .content {
|
64
|
+
border-top: 1px #ccc solid;
|
65
|
+
clear: both;
|
66
|
+
padding: 0;
|
67
|
+
position: relative;
|
68
|
+
top: -1px;
|
69
|
+
margin-bottom: -1px;
|
70
|
+
}
|
71
|
+
|
72
|
+
/* hiding texts visually */
|
73
|
+
.jquery_tabs .tabhead {
|
74
|
+
position: absolute;
|
75
|
+
left: -32768px;
|
76
|
+
}
|
77
|
+
|
78
|
+
.jquery_tabs .current-info,
|
79
|
+
.jquery_tabs .accessibletabsanchor {
|
80
|
+
left: -999em;
|
81
|
+
position: absolute;
|
82
|
+
}
|
83
|
+
|
84
|
+
/** Avoid margin collapsing to enable correct sync of all tabs
|
85
|
+
*
|
86
|
+
* @workaround
|
87
|
+
* @affected all browsers
|
88
|
+
* @css-for all browsers
|
89
|
+
* @valid yes
|
90
|
+
*/
|
91
|
+
.jquery_tabs .tab-content {
|
92
|
+
border-bottom: 1px transparent solid;
|
93
|
+
border-top: 1px transparent solid;
|
94
|
+
padding-top: 1.5em;
|
95
|
+
*overflow: hidden;
|
96
|
+
}
|
97
|
+
|
98
|
+
/** Containing floats adjustment and stability fixes for Internet Explorer
|
99
|
+
*
|
100
|
+
* @workaround
|
101
|
+
* @affected IE 5.x/Win, IE6, IE7
|
102
|
+
* @css-for IE 5.x/Win, IE6, IE7
|
103
|
+
* @valid no
|
104
|
+
*/
|
105
|
+
* html .jquery_tabs {
|
106
|
+
zoom: 1;
|
107
|
+
width: auto;
|
108
|
+
position: relative;
|
109
|
+
}
|
110
|
+
* html .jquery_tabs .tab-content {
|
111
|
+
border-bottom: 1px #fff solid;
|
112
|
+
border-top: 1px #fff solid;
|
113
|
+
}
|
114
|
+
* html .jquery_tabs .content {
|
115
|
+
z-index: -1;
|
116
|
+
}
|
117
|
+
|
118
|
+
* + html .jquery_tabs {
|
119
|
+
zoom: 1;
|
120
|
+
width: auto;
|
121
|
+
}
|
122
|
+
|
123
|
+
.jquery_tabs * {
|
124
|
+
zoom: 1;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
/* Make tabs printable */
|
128
|
+
@media print {
|
129
|
+
.jquery_tabs .tabs-list {
|
130
|
+
display: none !important;
|
131
|
+
}
|
132
|
+
.jquery_tabs .tabbody,
|
133
|
+
.jquery_tabs .tabhead {
|
134
|
+
display: block !important;
|
135
|
+
}
|
136
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|