yamlcss 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|