TokiCLI 0.1.1 → 0.2.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 +4 -4
- data/.gitignore +2 -0
- data/CHANGELOG.md +7 -0
- data/README.md +56 -10
- data/TokiCLI.gemspec +5 -2
- data/lib/API/dbapi.rb +104 -67
- data/lib/API/helpers.rb +47 -3
- data/lib/TokiCLI/app.rb +88 -12
- data/lib/TokiCLI/version.rb +1 -1
- data/lib/TokiCLI/view.rb +5 -1
- data/lib/TokiServer/Gemfile +6 -0
- data/lib/TokiServer/README.md +37 -0
- data/lib/TokiServer/bower.json +8 -0
- data/lib/TokiServer/bower_components/fastclick/.bower.json +23 -0
- data/lib/TokiServer/bower_components/fastclick/LICENSE +22 -0
- data/lib/TokiServer/bower_components/fastclick/README.md +133 -0
- data/lib/TokiServer/bower_components/fastclick/bower.json +13 -0
- data/lib/TokiServer/bower_components/fastclick/lib/fastclick.js +790 -0
- data/lib/TokiServer/bower_components/foundation/.bower.json +30 -0
- data/lib/TokiServer/bower_components/foundation/bower.json +20 -0
- data/lib/TokiServer/bower_components/foundation/css/foundation.css +4860 -0
- data/lib/TokiServer/bower_components/foundation/css/normalize.css +320 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation.js +5543 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation.min.js +3 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.abide.js +299 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.accordion.js +59 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.alert.js +43 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.clearing.js +534 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.dropdown.js +311 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.equalizer.js +74 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.interchange.js +331 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.joyride.js +843 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.js +611 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.magellan.js +178 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.offcanvas.js +108 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.orbit.js +610 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.reveal.js +437 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.slider.js +199 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.tab.js +167 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.tooltip.js +298 -0
- data/lib/TokiServer/bower_components/foundation/js/foundation/foundation.topbar.js +425 -0
- data/lib/TokiServer/bower_components/foundation/js/vendor/fastclick.js +9 -0
- data/lib/TokiServer/bower_components/foundation/js/vendor/jquery.cookie.js +8 -0
- data/lib/TokiServer/bower_components/foundation/js/vendor/jquery.js +26 -0
- data/lib/TokiServer/bower_components/foundation/js/vendor/modernizr.js +8 -0
- data/lib/TokiServer/bower_components/foundation/js/vendor/placeholder.js +2 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation.scss +45 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/_functions.scss +101 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/_settings.scss +1289 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_accordion.scss +53 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +126 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_block-grid.scss +132 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +127 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_button-groups.scss +108 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_buttons.scss +222 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_clearing.scss +247 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +129 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_dropdown.scss +248 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_flex-video.scss +51 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_forms.scss +498 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_global.scss +429 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_grid.scss +260 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_inline-lists.scss +57 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_joyride.scss +220 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_keystrokes.scss +61 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_labels.scss +104 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_magellan.scss +34 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_offcanvas.scss +355 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_orbit.scss +423 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_pagination.scss +150 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_panels.scss +90 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +150 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_progress-bars.scss +79 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_range-slider.scss +148 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_reveal-new.scss +0 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_reveal.scss +216 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_side-nav.scss +115 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_split-buttons.scss +191 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_sub-nav.scss +125 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_switch.scss +294 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tables.scss +129 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tabs.scss +109 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_thumbs.scss +68 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_tooltips.scss +140 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_top-bar.scss +644 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_type.scss +511 -0
- data/lib/TokiServer/bower_components/foundation/scss/foundation/components/_visibility.scss +408 -0
- data/lib/TokiServer/bower_components/foundation/scss/normalize.scss +425 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/.bower.json +17 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/.gitattributes +1 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/.gitignore +1 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/LICENSE-MIT.txt +20 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/README.md +76 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/bower.json +5 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/demo.html +55 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/jquery.placeholder.js +185 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/tests/index.html +32 -0
- data/lib/TokiServer/bower_components/jquery-placeholder/tests/tests.js +134 -0
- data/lib/TokiServer/bower_components/jquery.cookie/.bower.json +28 -0
- data/lib/TokiServer/bower_components/jquery.cookie/jquery.cookie.js +117 -0
- data/lib/TokiServer/bower_components/jquery/.bower.json +37 -0
- data/lib/TokiServer/bower_components/jquery/MIT-LICENSE.txt +21 -0
- data/lib/TokiServer/bower_components/jquery/bower.json +27 -0
- data/lib/TokiServer/bower_components/jquery/dist/jquery.js +9190 -0
- data/lib/TokiServer/bower_components/jquery/dist/jquery.min.js +5 -0
- data/lib/TokiServer/bower_components/jquery/dist/jquery.min.map +1 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax.js +806 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/jsonp.js +89 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/load.js +75 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/parseJSON.js +13 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/parseXML.js +28 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/script.js +64 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/var/nonce.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/var/rquery.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/ajax/xhr.js +135 -0
- data/lib/TokiServer/bower_components/jquery/src/attributes.js +11 -0
- data/lib/TokiServer/bower_components/jquery/src/attributes/attr.js +143 -0
- data/lib/TokiServer/bower_components/jquery/src/attributes/classes.js +158 -0
- data/lib/TokiServer/bower_components/jquery/src/attributes/prop.js +96 -0
- data/lib/TokiServer/bower_components/jquery/src/attributes/support.js +35 -0
- data/lib/TokiServer/bower_components/jquery/src/attributes/val.js +163 -0
- data/lib/TokiServer/bower_components/jquery/src/callbacks.js +205 -0
- data/lib/TokiServer/bower_components/jquery/src/core.js +498 -0
- data/lib/TokiServer/bower_components/jquery/src/core/access.js +60 -0
- data/lib/TokiServer/bower_components/jquery/src/core/init.js +123 -0
- data/lib/TokiServer/bower_components/jquery/src/core/parseHTML.js +39 -0
- data/lib/TokiServer/bower_components/jquery/src/core/ready.js +97 -0
- data/lib/TokiServer/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
- data/lib/TokiServer/bower_components/jquery/src/css.js +451 -0
- data/lib/TokiServer/bower_components/jquery/src/css/addGetHookIf.js +24 -0
- data/lib/TokiServer/bower_components/jquery/src/css/curCSS.js +57 -0
- data/lib/TokiServer/bower_components/jquery/src/css/defaultDisplay.js +70 -0
- data/lib/TokiServer/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/lib/TokiServer/bower_components/jquery/src/css/support.js +91 -0
- data/lib/TokiServer/bower_components/jquery/src/css/swap.js +28 -0
- data/lib/TokiServer/bower_components/jquery/src/css/var/cssExpand.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/css/var/getStyles.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/css/var/isHidden.js +13 -0
- data/lib/TokiServer/bower_components/jquery/src/css/var/rmargin.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/data.js +179 -0
- data/lib/TokiServer/bower_components/jquery/src/data/Data.js +181 -0
- data/lib/TokiServer/bower_components/jquery/src/data/accepts.js +20 -0
- data/lib/TokiServer/bower_components/jquery/src/data/var/data_priv.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/data/var/data_user.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/deferred.js +149 -0
- data/lib/TokiServer/bower_components/jquery/src/deprecated.js +13 -0
- data/lib/TokiServer/bower_components/jquery/src/dimensions.js +50 -0
- data/lib/TokiServer/bower_components/jquery/src/effects.js +649 -0
- data/lib/TokiServer/bower_components/jquery/src/effects/Tween.js +114 -0
- data/lib/TokiServer/bower_components/jquery/src/effects/animatedSelector.js +13 -0
- data/lib/TokiServer/bower_components/jquery/src/event.js +868 -0
- data/lib/TokiServer/bower_components/jquery/src/event/alias.js +39 -0
- data/lib/TokiServer/bower_components/jquery/src/event/support.js +9 -0
- data/lib/TokiServer/bower_components/jquery/src/exports/amd.js +24 -0
- data/lib/TokiServer/bower_components/jquery/src/exports/global.js +32 -0
- data/lib/TokiServer/bower_components/jquery/src/intro.js +44 -0
- data/lib/TokiServer/bower_components/jquery/src/jquery.js +36 -0
- data/lib/TokiServer/bower_components/jquery/src/manipulation.js +582 -0
- data/lib/TokiServer/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
- data/lib/TokiServer/bower_components/jquery/src/manipulation/support.js +31 -0
- data/lib/TokiServer/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/offset.js +204 -0
- data/lib/TokiServer/bower_components/jquery/src/outro.js +1 -0
- data/lib/TokiServer/bower_components/jquery/src/queue.js +142 -0
- data/lib/TokiServer/bower_components/jquery/src/queue/delay.js +22 -0
- data/lib/TokiServer/bower_components/jquery/src/selector-native.js +172 -0
- data/lib/TokiServer/bower_components/jquery/src/selector-sizzle.js +14 -0
- data/lib/TokiServer/bower_components/jquery/src/selector.js +1 -0
- data/lib/TokiServer/bower_components/jquery/src/serialize.js +111 -0
- data/lib/TokiServer/bower_components/jquery/src/sizzle/dist/sizzle.js +2044 -0
- data/lib/TokiServer/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
- data/lib/TokiServer/bower_components/jquery/src/traversing.js +200 -0
- data/lib/TokiServer/bower_components/jquery/src/traversing/findFilter.js +100 -0
- data/lib/TokiServer/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
- data/lib/TokiServer/bower_components/jquery/src/var/arr.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/var/class2type.js +4 -0
- data/lib/TokiServer/bower_components/jquery/src/var/concat.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/var/hasOwn.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/var/indexOf.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/var/pnum.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/var/push.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/var/rnotwhite.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/var/slice.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/var/strundefined.js +3 -0
- data/lib/TokiServer/bower_components/jquery/src/var/support.js +4 -0
- data/lib/TokiServer/bower_components/jquery/src/var/toString.js +5 -0
- data/lib/TokiServer/bower_components/jquery/src/wrap.js +78 -0
- data/lib/TokiServer/bower_components/modernizr/.bower.json +14 -0
- data/lib/TokiServer/bower_components/modernizr/.editorconfig +10 -0
- data/lib/TokiServer/bower_components/modernizr/.gitignore +2 -0
- data/lib/TokiServer/bower_components/modernizr/.travis.yml +6 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/a-download.js +8 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/audio-audiodata-api.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/audio-webaudio-api.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/battery-api.js +8 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/battery-level.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/blob-constructor.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/canvas-todataurl-type.js +28 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/contenteditable.js +9 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/contentsecuritypolicy.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/contextmenu.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/cookies.js +15 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/cors.js +3 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundposition-shorthand.js +19 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundposition-xy.js +15 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundrepeat.js +31 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-backgroundsizecover.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-boxsizing.js +9 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-calc.js +12 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-cubicbezierrange.js +8 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-displayrunin.js +18 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-displaytable.js +27 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-filters.js +7 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-hyphens.js +205 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-lastchild.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-mask.js +12 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-mediaqueries.js +3 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-objectfit.js +6 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-overflow-scrolling.js +9 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-pointerevents.js +25 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-positionsticky.js +13 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-regions.js +55 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-remunit.js +19 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-resize.js +8 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-scrollbars.js +19 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-shapes.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-subpixelfont.js +23 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-supports.js +6 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-userselect.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vhunit.js +14 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vmaxunit.js +14 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vminunit.js +14 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/css-vwunit.js +14 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/custom-protocol-handler.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/dart.js +6 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/dataview-api.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-classlist.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-createElement-attrs.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-dataset.js +9 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/dom-microdata.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-datalist.js +12 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-details.js +25 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-output.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-progress-meter.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-ruby.js +53 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-time.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/elem-track.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/emoji.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/es5-strictmode.js +7 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/event-deviceorientation-motion.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/exif-orientation.js +32 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/file-api.js +12 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/file-filesystem.js +9 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-fileinput.js +13 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-formattribute.js +29 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js +32 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-placeholder.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-speechinput.js +19 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/forms-validation.js +62 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/fullscreen-api.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/gamepad.js +12 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/getusermedia.js +5 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/ie8compat.js +12 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/iframe-sandbox.js +5 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/iframe-seamless.js +5 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/iframe-srcdoc.js +5 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/img-apng.js +26 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/img-webp.js +20 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/json.js +7 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/lists-reversed.js +6 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/mathml.js +23 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/network-connection.js +22 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/network-eventsource.js +5 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/network-xhr2.js +13 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/notification.js +10 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/performance.js +5 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/pointerlock-api.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/quota-management-api.js +11 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/requestanimationframe.js +7 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/script-async.js +3 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/script-defer.js +3 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/style-scoped.js +6 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/svg-filters.js +13 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/unicode.js +32 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/url-data-uri.js +26 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/userdata.js +7 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/vibration.js +4 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/web-intents.js +6 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/webgl-extensions.js +42 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/websockets-binary.js +20 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/window-framed.js +8 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/workers-blobworkers.js +66 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/workers-dataworkers.js +34 -0
- data/lib/TokiServer/bower_components/modernizr/feature-detects/workers-sharedworkers.js +3 -0
- data/lib/TokiServer/bower_components/modernizr/grunt.js +69 -0
- data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.ai +292 -1
- data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.eps +0 -0
- data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.pdf +292 -1
- data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/media/Modernizr 2 Logo.svg +35 -0
- data/lib/TokiServer/bower_components/modernizr/modernizr.js +1406 -0
- data/lib/TokiServer/bower_components/modernizr/readme.md +28 -0
- data/lib/TokiServer/bower_components/modernizr/test/basic.html +65 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse.html +1451 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.eot +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.otf +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.svg +147 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.ttf +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/Windsong-webfont.woff +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/alpha.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/apng_test.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/before-after.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/form_validation.html +15 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/ga.js +43 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/green5x5.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/hashchange.html +16 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/jquery.min.js +18 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/mathml.html +120 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/mathml_ref.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/modernizr-1.7.min.js +2 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/png_alpha_result.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/pushstate.html +40 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/red30x30.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/ruby.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/stroked-text.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/style.css +168 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg-html-blur.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg-img.svg +5 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg-img.svg.1 +5 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/svg_blur.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/table.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/text-shadow1.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/text-shadow2.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/windsong_font.png +0 -0
- data/lib/TokiServer/bower_components/modernizr/test/caniuse_files/xhtml.html +14 -0
- data/lib/TokiServer/bower_components/modernizr/test/index.html +104 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/basic.html +65 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/dumpdata.js +75 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/lib/detect-global.js +153 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/lib/jquery-1.7b2.js +9279 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/lib/jsonselect.js +279 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/lib/polyfills.js +96 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/lib/uaparser.js +215 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/setup.js +44 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/unit-caniuse.js +191 -0
- data/lib/TokiServer/bower_components/modernizr/test/js/unit.js +669 -0
- data/lib/TokiServer/bower_components/modernizr/test/qunit/qunit.css +231 -0
- data/lib/TokiServer/bower_components/modernizr/test/qunit/qunit.js +1932 -0
- data/lib/TokiServer/bower_components/modernizr/test/qunit/run-qunit.js +72 -0
- data/lib/TokiServer/config.rb +25 -0
- data/lib/TokiServer/humans.txt +8 -0
- data/lib/TokiServer/itunesicon.rb +60 -0
- data/lib/TokiServer/js/app.js +3 -0
- data/lib/TokiServer/public/stylesheets/app.css +8094 -0
- data/lib/TokiServer/robots.txt +4 -0
- data/lib/TokiServer/scss/_settings.scss +1240 -0
- data/lib/TokiServer/scss/app.scss +102 -0
- data/lib/TokiServer/tokiserver.rb +377 -0
- data/lib/TokiServer/views/apps_total.erb +28 -0
- data/lib/TokiServer/views/error.erb +25 -0
- data/lib/TokiServer/views/index.erb +191 -0
- data/lib/TokiServer/views/layout.erb +20 -0
- data/lib/TokiServer/views/name_log.erb +50 -0
- data/lib/TokiServer/views/name_split.erb +37 -0
- data/lib/TokiServer/views/name_total.erb +34 -0
- metadata +416 -4
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Track element + Timed Text Track API
|
|
2
|
+
// http://www.w3.org/TR/html5/video.html#the-track-element
|
|
3
|
+
// http://www.w3.org/TR/html5/media-elements.html#text-track-api
|
|
4
|
+
//
|
|
5
|
+
// While IE10 has implemented the track element, IE10 does not expose the underlying APIs to create timed text tracks by JS (really sad)
|
|
6
|
+
// By Addy Osmani
|
|
7
|
+
Modernizr.addTest({
|
|
8
|
+
texttrackapi: (typeof (document.createElement('video').addTextTrack) === 'function'),
|
|
9
|
+
// a more strict test for track including UI support: document.createElement('track').kind === 'subtitles'
|
|
10
|
+
track: ('kind' in document.createElement('track'))
|
|
11
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Requires a Modernizr build with `canvastext` included
|
|
2
|
+
// http://www.modernizr.com/download/#-canvas-canvastext
|
|
3
|
+
Modernizr.addTest('emoji', function() {
|
|
4
|
+
if (!Modernizr.canvastext) return false;
|
|
5
|
+
var node = document.createElement('canvas'),
|
|
6
|
+
ctx = node.getContext('2d');
|
|
7
|
+
ctx.textBaseline = 'top';
|
|
8
|
+
ctx.font = '32px Arial';
|
|
9
|
+
ctx.fillText('\ud83d\ude03', 0, 0); // "smiling face with open mouth" emoji
|
|
10
|
+
return ctx.getImageData(16, 16, 1, 1).data[0] !== 0;
|
|
11
|
+
});
|
data/lib/TokiServer/bower_components/modernizr/feature-detects/event-deviceorientation-motion.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//By Shi Chuan
|
|
2
|
+
//Part of Device Access aspect of HTML5, same category as geolocation
|
|
3
|
+
//W3C Editor's Draft at http://dev.w3.org/geo/api/spec-source-orientation.html
|
|
4
|
+
//Implementation by iOS Safari at http://goo.gl/fhce3 and http://goo.gl/rLKz8
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
//test for Device Motion Event support, returns boolean value true/false
|
|
8
|
+
Modernizr.addTest('devicemotion', ('DeviceMotionEvent' in window) );
|
|
9
|
+
|
|
10
|
+
//test for Device Orientation Event support, returns boolean value true/false
|
|
11
|
+
Modernizr.addTest('deviceorientation', ('DeviceOrientationEvent' in window) );
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// EXIF Orientation test
|
|
2
|
+
|
|
3
|
+
// iOS looks at the EXIF Orientation flag in jpgs and rotates the image
|
|
4
|
+
// accordingly. Looks like most desktop browsers just ignore this data.
|
|
5
|
+
|
|
6
|
+
// description: www.impulseadventure.com/photo/exif-orientation.html
|
|
7
|
+
|
|
8
|
+
// Bug trackers:
|
|
9
|
+
// bugzil.la/298619 (unimplemented)
|
|
10
|
+
// crbug.com/56845 (looks incomplete)
|
|
11
|
+
// webk.it/19688 (available upstream but its up all ports to turn on individually)
|
|
12
|
+
//
|
|
13
|
+
|
|
14
|
+
// detect by Paul Sayre
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
(function(){
|
|
18
|
+
|
|
19
|
+
var img = new Image();
|
|
20
|
+
|
|
21
|
+
img.onerror = function() {
|
|
22
|
+
Modernizr.addTest('exif-orientation', function () { return false; });
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
img.onload = function() {
|
|
26
|
+
Modernizr.addTest('exif-orientation', function () { return img.width !== 2; });
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// There may be a way to shrink this more, it's a 1x2 white jpg with the orientation flag set to 6
|
|
30
|
+
img.src = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAASUkqAAgAAAABABIBAwABAAAABgASAAAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAABAAIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigD/2Q==";
|
|
31
|
+
|
|
32
|
+
})();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* file tests for the File API specification
|
|
3
|
+
* Tests for objects specific to the File API W3C specification without
|
|
4
|
+
* being redundant (don't bother testing for Blob since it is assumed
|
|
5
|
+
* to be the File object's prototype.
|
|
6
|
+
*
|
|
7
|
+
* Will fail in Safari 5 due to its lack of support for the standards
|
|
8
|
+
* defined FileReader object
|
|
9
|
+
*/
|
|
10
|
+
Modernizr.addTest('filereader', function () {
|
|
11
|
+
return !!(window.File && window.FileList && window.FileReader);
|
|
12
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Filesystem API
|
|
2
|
+
// dev.w3.org/2009/dap/file-system/file-dir-sys.html
|
|
3
|
+
|
|
4
|
+
// The API will be present in Chrome incognito, but will throw an exception.
|
|
5
|
+
// See crbug.com/93417
|
|
6
|
+
//
|
|
7
|
+
// By Eric Bidelman (@ebidel)
|
|
8
|
+
|
|
9
|
+
Modernizr.addTest('filesystem', !!Modernizr.prefixed('requestFileSystem', window));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
// Detects whether input type="file" is available on the platform
|
|
4
|
+
// E.g. iOS < 6 and some android version don't support this
|
|
5
|
+
|
|
6
|
+
// It's useful if you want to hide the upload feature of your app on devices that
|
|
7
|
+
// don't support it (iphone, ipad, etc).
|
|
8
|
+
|
|
9
|
+
Modernizr.addTest('fileinput', function() {
|
|
10
|
+
var elem = document.createElement('input');
|
|
11
|
+
elem.type = 'file';
|
|
12
|
+
return !elem.disabled;
|
|
13
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Detects whether input form="form_id" is available on the platform
|
|
2
|
+
// E.g. IE 10 (and below), don't support this
|
|
3
|
+
Modernizr.addTest("formattribute", function() {
|
|
4
|
+
var form = document.createElement("form"),
|
|
5
|
+
input = document.createElement("input"),
|
|
6
|
+
div = document.createElement("div"),
|
|
7
|
+
id = "formtest"+(new Date().getTime()),
|
|
8
|
+
attr,
|
|
9
|
+
bool = false;
|
|
10
|
+
|
|
11
|
+
form.id = id;
|
|
12
|
+
|
|
13
|
+
//IE6/7 confuses the form idl attribute and the form content attribute
|
|
14
|
+
if(document.createAttribute){
|
|
15
|
+
attr = document.createAttribute("form");
|
|
16
|
+
attr.nodeValue = id;
|
|
17
|
+
input.setAttributeNode(attr);
|
|
18
|
+
div.appendChild(form);
|
|
19
|
+
div.appendChild(input);
|
|
20
|
+
|
|
21
|
+
document.documentElement.appendChild(div);
|
|
22
|
+
|
|
23
|
+
bool = form.elements.length === 1 && input.form == form;
|
|
24
|
+
|
|
25
|
+
div.parentNode.removeChild(div);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return bool;
|
|
29
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// input[type="number"] localized input/output
|
|
2
|
+
// // Detects whether input type="number" is capable of receiving and
|
|
3
|
+
// // displaying localized numbers, e.g. with comma separator
|
|
4
|
+
// // https://bugs.webkit.org/show_bug.cgi?id=42484
|
|
5
|
+
// // Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/forms/script-tests/input-number-keyoperation.js?rev=80096#L9
|
|
6
|
+
// // By Peter Janes
|
|
7
|
+
|
|
8
|
+
Modernizr.addTest('localizedNumber', function() {
|
|
9
|
+
var doc = document,
|
|
10
|
+
el = document.createElement('div'),
|
|
11
|
+
fake,
|
|
12
|
+
root,
|
|
13
|
+
input,
|
|
14
|
+
diff;
|
|
15
|
+
root = doc.body || (function() {
|
|
16
|
+
var de = doc.documentElement;
|
|
17
|
+
fake = true;
|
|
18
|
+
return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild);
|
|
19
|
+
}());
|
|
20
|
+
el.innerHTML = '<input type="number" value="1.0" step="0.1"/>';
|
|
21
|
+
input = el.childNodes[0];
|
|
22
|
+
root.appendChild(el);
|
|
23
|
+
input.focus();
|
|
24
|
+
try {
|
|
25
|
+
doc.execCommand('InsertText', false, '1,1');
|
|
26
|
+
} catch(e) { // prevent warnings in IE
|
|
27
|
+
}
|
|
28
|
+
diff = input.type === 'number' && input.valueAsNumber === 1.1 && input.checkValidity();
|
|
29
|
+
root.removeChild(el);
|
|
30
|
+
fake && root.parentNode.removeChild(root);
|
|
31
|
+
return diff;
|
|
32
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// testing for placeholder attribute in inputs and textareas
|
|
2
|
+
// re-using Modernizr.input if available
|
|
3
|
+
|
|
4
|
+
Modernizr.addTest('placeholder', function(){
|
|
5
|
+
|
|
6
|
+
return !!( 'placeholder' in ( Modernizr.input || document.createElement('input') ) &&
|
|
7
|
+
'placeholder' in ( Modernizr.textarea || document.createElement('textarea') )
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// speech input for inputs
|
|
2
|
+
// by @alrra
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
// `webkitSpeech` in elem
|
|
6
|
+
// doesn`t work correctly in all versions of Chromium based browsers.
|
|
7
|
+
// It can return false even if they have support for speech i.imgur.com/2Y40n.png
|
|
8
|
+
// Testing with 'onwebkitspeechchange' seems to fix this problem
|
|
9
|
+
|
|
10
|
+
// this detect only checks the webkit version because
|
|
11
|
+
// the speech attribute is likely to be deprecated in favor of a JavaScript API.
|
|
12
|
+
// http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/att-1696/speechapi.html
|
|
13
|
+
|
|
14
|
+
// FIXME: add support for detecting the new spec'd behavior
|
|
15
|
+
|
|
16
|
+
Modernizr.addTest('speechinput', function(){
|
|
17
|
+
var elem = document.createElement('input');
|
|
18
|
+
return 'speech' in elem || 'onwebkitspeechchange' in elem;
|
|
19
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// This implementation only tests support for interactive form validation.
|
|
2
|
+
// To check validation for a specific type or a specific other constraint,
|
|
3
|
+
// the test can be combined:
|
|
4
|
+
// - Modernizr.inputtypes.numer && Modernizr.formvalidation (browser supports rangeOverflow, typeMismatch etc. for type=number)
|
|
5
|
+
// - Modernizr.input.required && Modernizr.formvalidation (browser supports valueMissing)
|
|
6
|
+
//
|
|
7
|
+
(function(document, Modernizr){
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Modernizr.formvalidationapi = false;
|
|
11
|
+
Modernizr.formvalidationmessage = false;
|
|
12
|
+
|
|
13
|
+
Modernizr.addTest('formvalidation', function() {
|
|
14
|
+
var form = document.createElement('form');
|
|
15
|
+
if ( !('checkValidity' in form) || !('addEventListener' in form) ) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if ('reportValidity' in form) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
var invalidFired = false;
|
|
22
|
+
var input;
|
|
23
|
+
|
|
24
|
+
Modernizr.formvalidationapi = true;
|
|
25
|
+
|
|
26
|
+
// Prevent form from being submitted
|
|
27
|
+
form.addEventListener('submit', function(e) {
|
|
28
|
+
//Opera does not validate form, if submit is prevented
|
|
29
|
+
if ( !window.opera ) {
|
|
30
|
+
e.preventDefault();
|
|
31
|
+
}
|
|
32
|
+
e.stopPropagation();
|
|
33
|
+
}, false);
|
|
34
|
+
|
|
35
|
+
// Calling form.submit() doesn't trigger interactive validation,
|
|
36
|
+
// use a submit button instead
|
|
37
|
+
//older opera browsers need a name attribute
|
|
38
|
+
form.innerHTML = '<input name="modTest" required><button></button>';
|
|
39
|
+
|
|
40
|
+
Modernizr.testStyles('#modernizr form{position:absolute;top:-99999em}', function( node ) {
|
|
41
|
+
node.appendChild(form);
|
|
42
|
+
|
|
43
|
+
input = form.getElementsByTagName('input')[0];
|
|
44
|
+
|
|
45
|
+
// Record whether "invalid" event is fired
|
|
46
|
+
input.addEventListener('invalid', function(e) {
|
|
47
|
+
invalidFired = true;
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
e.stopPropagation();
|
|
50
|
+
}, false);
|
|
51
|
+
|
|
52
|
+
//Opera does not fully support the validationMessage property
|
|
53
|
+
Modernizr.formvalidationmessage = !!input.validationMessage;
|
|
54
|
+
|
|
55
|
+
// Submit form by clicking submit button
|
|
56
|
+
form.getElementsByTagName('button')[0].click();
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
return invalidFired;
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
})(document, window.Modernizr);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Modernizr.addTest('fullscreen',function(){
|
|
2
|
+
for(var i = 0; i < Modernizr._domPrefixes.length; i++) {
|
|
3
|
+
if( document[Modernizr._domPrefixes[i].toLowerCase() + 'CancelFullScreen'])
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
return !!document['cancelFullScreen'] || false;
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// http://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/ControllingMediaWithJavaScript/ControllingMediaWithJavaScript.html#//apple_ref/doc/uid/TP40009523-CH3-SW20
|
|
10
|
+
// https://developer.mozilla.org/en/API/Fullscreen
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// GamePad API
|
|
2
|
+
// https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html
|
|
3
|
+
// By Eric Bidelman
|
|
4
|
+
|
|
5
|
+
// FF has Gamepad API support only in special builds, but not in any release (even behind a flag)
|
|
6
|
+
// Their current implementation has no way to feature detect, only events to bind to.
|
|
7
|
+
// http://www.html5rocks.com/en/tutorials/doodles/gamepad/#toc-featuredetect
|
|
8
|
+
|
|
9
|
+
// but a patch will bring them up to date with the spec when it lands (and they'll pass this test)
|
|
10
|
+
// https://bugzilla.mozilla.org/show_bug.cgi?id=690935
|
|
11
|
+
|
|
12
|
+
Modernizr.addTest('gamepads', !!Modernizr.prefixed('getGamepads', navigator));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
// IE8 compat mode aka Fake IE7
|
|
3
|
+
// by Erich Ocean
|
|
4
|
+
|
|
5
|
+
// In this case, IE8 will be acting as IE7. You may choose to remove features in this case.
|
|
6
|
+
|
|
7
|
+
// related:
|
|
8
|
+
// james.padolsey.com/javascript/detect-ie-in-js-using-conditional-comments/
|
|
9
|
+
|
|
10
|
+
Modernizr.addTest('ie8compat',function(){
|
|
11
|
+
return (!window.addEventListener && document.documentMode && document.documentMode === 7);
|
|
12
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Animated PNG
|
|
2
|
+
// http://en.wikipedia.org/wiki/APNG
|
|
3
|
+
// By Addy Osmani
|
|
4
|
+
(function () {
|
|
5
|
+
|
|
6
|
+
if (!Modernizr.canvas) return false;
|
|
7
|
+
|
|
8
|
+
var image = new Image(),
|
|
9
|
+
canvas = document.createElement('canvas'),
|
|
10
|
+
ctx = canvas.getContext('2d');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
image.onload = function () {
|
|
14
|
+
Modernizr.addTest('apng', function () {
|
|
15
|
+
if (typeof canvas.getContext == 'undefined') {
|
|
16
|
+
return false;
|
|
17
|
+
} else {
|
|
18
|
+
ctx.drawImage(image, 0, 0);
|
|
19
|
+
return ctx.getImageData(0, 0, 1, 1).data[3] === 0;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACGFjVEwAAAABAAAAAcMq2TYAAAANSURBVAiZY2BgYPgPAAEEAQB9ssjfAAAAGmZjVEwAAAAAAAAAAQAAAAEAAAAAAAAAAAD6A+gBAbNU+2sAAAARZmRBVAAAAAEImWNgYGBgAAAABQAB6MzFdgAAAABJRU5ErkJggg==";
|
|
25
|
+
|
|
26
|
+
}());
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// code.google.com/speed/webp/
|
|
2
|
+
// by rich bradshaw, ryan seddon, and paul irish
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
// This test is asynchronous. Watch out.
|
|
6
|
+
|
|
7
|
+
(function(){
|
|
8
|
+
|
|
9
|
+
var image = new Image();
|
|
10
|
+
|
|
11
|
+
image.onerror = function() {
|
|
12
|
+
Modernizr.addTest('webp', false);
|
|
13
|
+
};
|
|
14
|
+
image.onload = function() {
|
|
15
|
+
Modernizr.addTest('webp', function() { return image.width == 1; });
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
image.src = 'data:image/webp;base64,UklGRiwAAABXRUJQVlA4ICAAAAAUAgCdASoBAAEAL/3+/3+CAB/AAAFzrNsAAP5QAAAAAA==';
|
|
19
|
+
|
|
20
|
+
}());
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// MathML
|
|
2
|
+
// http://www.w3.org/Math/
|
|
3
|
+
// By Addy Osmani
|
|
4
|
+
// Based on work by Davide (@dpvc) and David (@davidcarlisle)
|
|
5
|
+
// in https://github.com/mathjax/MathJax/issues/182
|
|
6
|
+
|
|
7
|
+
Modernizr.addTest('mathml', function(){
|
|
8
|
+
var hasMathML = false;
|
|
9
|
+
if ( document.createElementNS ) {
|
|
10
|
+
var ns = "http://www.w3.org/1998/Math/MathML",
|
|
11
|
+
div = document.createElement("div");
|
|
12
|
+
div.style.position = "absolute";
|
|
13
|
+
var mfrac = div.appendChild(document.createElementNS(ns,"math"))
|
|
14
|
+
.appendChild(document.createElementNS(ns,"mfrac"));
|
|
15
|
+
mfrac.appendChild(document.createElementNS(ns,"mi"))
|
|
16
|
+
.appendChild(document.createTextNode("xx"));
|
|
17
|
+
mfrac.appendChild(document.createElementNS(ns,"mi"))
|
|
18
|
+
.appendChild(document.createTextNode("yy"));
|
|
19
|
+
document.body.appendChild(div);
|
|
20
|
+
hasMathML = div.offsetHeight > div.offsetWidth;
|
|
21
|
+
}
|
|
22
|
+
return hasMathML;
|
|
23
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// determining low-bandwidth via navigator.connection
|
|
2
|
+
|
|
3
|
+
// There are two iterations of the navigator.connection interface:
|
|
4
|
+
|
|
5
|
+
// The first is present in Android 2.2+ and only in the Browser (not WebView)
|
|
6
|
+
// : docs.phonegap.com/en/1.2.0/phonegap_connection_connection.md.html#connection.type
|
|
7
|
+
// : davidbcalhoun.com/2010/using-navigator-connection-android
|
|
8
|
+
|
|
9
|
+
// The second is specced at dev.w3.org/2009/dap/netinfo/ and perhaps landing in WebKit
|
|
10
|
+
// : bugs.webkit.org/show_bug.cgi?id=73528
|
|
11
|
+
|
|
12
|
+
// unknown devices are assumed as fast
|
|
13
|
+
// for more rigorous network testing, consider boomerang.js: github.com/bluesmoon/boomerang/
|
|
14
|
+
|
|
15
|
+
Modernizr.addTest('lowbandwidth', function() {
|
|
16
|
+
|
|
17
|
+
var connection = navigator.connection || { type: 0 }; // polyfill
|
|
18
|
+
|
|
19
|
+
return connection.type == 3 || // connection.CELL_2G
|
|
20
|
+
connection.type == 4 || // connection.CELL_3G
|
|
21
|
+
/^[23]g$/.test(connection.type); // string value in new spec
|
|
22
|
+
});
|