From fb4df44e75d055bca06d447ebeef4cf9ba88ce1f Mon Sep 17 00:00:00 2001 From: Gena Date: Mon, 15 Jun 2015 11:28:52 +0600 Subject: [PATCH] no message --- batiskaf/templates/jinja2/base.jinja | 12 +- batiskaf/templates/jinja2/product.jinja | 1 - static/js/_.js | 22 +- static/js/formstone/css/background.css | 123 ++++ static/js/formstone/css/carousel.css | 286 ++++++++ static/js/formstone/css/checkbox.css | 296 ++++++++ static/js/formstone/css/dropdown.css | 357 ++++++++++ static/js/formstone/css/grid.css | 863 ++++++++++++++++++++++++ static/js/formstone/css/grid.ie.css | 288 ++++++++ static/js/formstone/css/lightbox.css | 663 ++++++++++++++++++ static/js/formstone/css/navigation.css | 526 +++++++++++++++ static/js/formstone/css/number.css | 158 +++++ static/js/formstone/css/pagination.css | 138 ++++ static/js/formstone/css/range.css | 132 ++++ static/js/formstone/css/scrollbar.css | 154 +++++ static/js/formstone/css/tabs.css | 110 +++ static/js/formstone/css/tooltip.css | 151 +++++ static/js/formstone/css/upload.css | 80 +++ static/js/formstone/js/analytics.js | 3 + static/js/formstone/js/asap.js | 3 + static/js/formstone/js/background.js | 3 + static/js/formstone/js/carousel.js | 3 + static/js/formstone/js/checkbox.js | 3 + static/js/formstone/js/cookie.js | 3 + static/js/formstone/js/core.js | 3 + static/js/formstone/js/dropdown.js | 3 + static/js/formstone/js/equalize.js | 3 + static/js/formstone/js/lightbox.js | 3 + static/js/formstone/js/mediaquery.js | 3 + static/js/formstone/js/navigation.js | 3 + static/js/formstone/js/number.js | 3 + static/js/formstone/js/pagination.js | 3 + static/js/formstone/js/range.js | 3 + static/js/formstone/js/scrollbar.js | 3 + static/js/formstone/js/swap.js | 3 + static/js/formstone/js/tabs.js | 3 + static/js/formstone/js/tooltip.js | 3 + static/js/formstone/js/touch.js | 3 + static/js/formstone/js/transition.js | 3 + static/js/formstone/js/upload.js | 3 + 40 files changed, 4410 insertions(+), 16 deletions(-) create mode 100644 static/js/formstone/css/background.css create mode 100644 static/js/formstone/css/carousel.css create mode 100644 static/js/formstone/css/checkbox.css create mode 100644 static/js/formstone/css/dropdown.css create mode 100644 static/js/formstone/css/grid.css create mode 100644 static/js/formstone/css/grid.ie.css create mode 100644 static/js/formstone/css/lightbox.css create mode 100644 static/js/formstone/css/navigation.css create mode 100644 static/js/formstone/css/number.css create mode 100644 static/js/formstone/css/pagination.css create mode 100644 static/js/formstone/css/range.css create mode 100644 static/js/formstone/css/scrollbar.css create mode 100644 static/js/formstone/css/tabs.css create mode 100644 static/js/formstone/css/tooltip.css create mode 100644 static/js/formstone/css/upload.css create mode 100644 static/js/formstone/js/analytics.js create mode 100644 static/js/formstone/js/asap.js create mode 100644 static/js/formstone/js/background.js create mode 100644 static/js/formstone/js/carousel.js create mode 100644 static/js/formstone/js/checkbox.js create mode 100644 static/js/formstone/js/cookie.js create mode 100644 static/js/formstone/js/core.js create mode 100644 static/js/formstone/js/dropdown.js create mode 100644 static/js/formstone/js/equalize.js create mode 100644 static/js/formstone/js/lightbox.js create mode 100644 static/js/formstone/js/mediaquery.js create mode 100644 static/js/formstone/js/navigation.js create mode 100644 static/js/formstone/js/number.js create mode 100644 static/js/formstone/js/pagination.js create mode 100644 static/js/formstone/js/range.js create mode 100644 static/js/formstone/js/scrollbar.js create mode 100644 static/js/formstone/js/swap.js create mode 100644 static/js/formstone/js/tabs.js create mode 100644 static/js/formstone/js/tooltip.js create mode 100644 static/js/formstone/js/touch.js create mode 100644 static/js/formstone/js/transition.js create mode 100644 static/js/formstone/js/upload.js diff --git a/batiskaf/templates/jinja2/base.jinja b/batiskaf/templates/jinja2/base.jinja index 6868d42..6cd716c 100644 --- a/batiskaf/templates/jinja2/base.jinja +++ b/batiskaf/templates/jinja2/base.jinja @@ -12,11 +12,12 @@ + - + {% block stylesheet %}{% endblock stylesheet %} @@ -307,17 +308,16 @@ {% block footer_scripts %} - - - - - + + + + {% endblock footer_scripts %} {% block jss %}{% endblock jss %} {% if messages %} diff --git a/batiskaf/templates/jinja2/product.jinja b/batiskaf/templates/jinja2/product.jinja index b0dab57..c327036 100644 --- a/batiskaf/templates/jinja2/product.jinja +++ b/batiskaf/templates/jinja2/product.jinja @@ -53,7 +53,6 @@ {% endfor %} -
diff --git a/static/js/_.js b/static/js/_.js index 6128d6f..46b54b5 100644 --- a/static/js/_.js +++ b/static/js/_.js @@ -108,7 +108,7 @@ $(document).ready(function () { var in_stock = $('.product-variations-selecter option[value=' + value + ']').attr('data-count'); $('.product-detail-price-span').html(price); if (in_stock > 0) { - $(".product-count-selecter").selecter('destroy'); + $(".product-count-selecter").dropdown('destroy'); $('.product-in-stock').show(); $('.product-not-in-stock').hide(); $('.product-count-selecter').html(''); @@ -117,23 +117,26 @@ $(document).ready(function () { option.attr({'value': i + 1}).text((i + 1) + ' шт.'); $('.product-count-selecter').append(option); } - $(".product-count-selecter").selecter({ - callback: selectCount + //$(".product-count-selecter") + $(".product-count-selecter").dropdown(); + $(".product-count-selecter").on("change", function () { + selectCount($(this).val(), $(this).index()); }); selectCount(1, index); $('#product-add-to-cart-link').prop('href', create_cart_add_link($('.product-variations-selecter').val(), $('.product-count-selecter').val())); } else { - $('.product-count-selecter').selecter('destroy'); + $('.product-count-selecter').dropdown('destroy'); $('.product-in-stock').hide(); $('.product-not-in-stock').show(); } } - $(".product-variations-selecter").selecter({ - callback: selectVariation + $(".product-variations-selecter").dropdown(); + $(".product-variations-selecter").on("change", function () { + selectVariation($(this).val(), $(this).index()); }); function selectCount(value, index) { @@ -144,8 +147,9 @@ $(document).ready(function () { $('.product-count-selecter').val())); } - $(".product-count-selecter").selecter({ - callback: selectCount + $(".product-count-selecter").dropdown(); + $(".product-count-selecter").on("change", function () { + selectCount($(this).val(), $(this).index()); }); @@ -154,7 +158,7 @@ $(document).ready(function () { $('.product-not-in-stock').show(); } else { - $(".product-count-selecter").selecter(); + $(".product-count-selecter").dropdown(); } $('ul.messages li').each(function () { diff --git a/static/js/formstone/css/background.css b/static/js/formstone/css/background.css new file mode 100644 index 0000000..f064348 --- /dev/null +++ b/static/js/formstone/css/background.css @@ -0,0 +1,123 @@ +/*! formstone v0.6.7 [background.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-background-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-background + * @type element + * @description Base widget class + */ +.fs-background { + overflow: hidden; + position: relative; + /** + * @class + * @name .fs-background-container + * @type element + * @description Container element + */ + /** + * @class + * @name .fs-background-media + * @type element + * @description Media element + */ + /** + * @class + * @name .fs-background-media.fs-background-animated + * @type modifier + * @description Indicates animated state + */ + /** + * @class + * @name .fs-background-media.fs-background-navtive + * @type modifier + * @description Indicates native support + */ + /** + * @class + * @name .fs-background-media.fs-background-fixed + * @type modifier + * @description Indicates fixed positioning + */ + /** + * @class + * @name .fs-background-embed + * @type element + * @description Embed/iFrame element + */ + /** + * @class + * @name .fs-background-embed.fs-background-embed-ready + * @type modifier + * @description Indicates ready state + */ +} +.fs-background, +.fs-background-container, +.fs-background-media { + -webkit-transition: none; + transition: none; +} +.fs-background-container { + width: 100%; + height: 100%; + position: absolute; + top: 0; + z-index: 0; + overflow: hidden; +} +.fs-background-media { + position: absolute; + top: 0; + bottom: 0; + opacity: 0; +} +.fs-background-media.fs-background-animated { + -webkit-transition: opacity 0.5s linear; + transition: opacity 0.5s linear; +} +.fs-background-media img, +.fs-background-media video, +.fs-background-media iframe { + width: 100%; + height: 100%; + display: block; + -webkit-user-drag: none; +} +.fs-background-media.fs-background-native, +.fs-background-media.fs-background-fixed { + width: 100%; + height: 100%; +} +.fs-background-media.fs-background-native img, +.fs-background-media.fs-background-fixed img { + display: none; +} +.fs-background-media.fs-background-native { + background-position: center; + background-size: cover; +} +.fs-background-media.fs-background-fixed { + background-position: center; + background-attachment: fixed; +} +.fs-background-embed.fs-background-ready:after { + width: 100%; + height: 100%; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ''; +} +.fs-background-embed.fs-background-ready iframe { + z-index: 0; +} diff --git a/static/js/formstone/css/carousel.css b/static/js/formstone/css/carousel.css new file mode 100644 index 0000000..489399c --- /dev/null +++ b/static/js/formstone/css/carousel.css @@ -0,0 +1,286 @@ +/*! formstone v0.6.7 [carousel.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-carousel-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-carousel + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-carousel.fs-enabled + * @type modifier + * @description Indicates enabled state + */ +.fs-carousel { + /** + * @class + * @name .fs-carousel-viewport + * @type element + * @description Carousel container + */ + /** + * @class + * @name .fs-carousel-wrapper + * @type element + * @description Carousel container + */ + /** + * @class + * @name .fs-carousel-container + * @type element + * @description Canister container + */ + /** + * @class + * @name .fs-carousel-canister + * @type element + * @description Item container + */ + /** + * @class + * @name .fs-carousel-item + * @type element + * @description Individual item + */ + /** + * @class + * @name .fs-carousel-controls + * @type element + * @description Controls container + */ + /** + * @class + * @name .fs-carousel-controls.fs-carousel-visible + * @type modifier + * @description Indicates visible state + */ + /** + * @class + * @name .fs-carousel-control + * @type element + * @description Control element + */ + /** + * @class + * @name .fs-carousel-control.fs-carousel-control_previous + * @type modifier + * @description Indicates previous control + */ + /** + * @class + * @name .fs-carousel-control.fs-carousel-control_next + * @type modifier + * @description Indicates next control + */ + /** + * @class + * @name .fs-carousel-control.fs-carousel-control_disabled + * @type modifier + * @description Indicates disbaled state + */ + /** + * @class + * @name .fs-carousel-pagination + * @type element + * @description Item element + */ + /** + * @class + * @name .fs-carousel-pagination.fs-carousel-visible + * @type modifier + * @description Indicates visible state + */ + /** + * @class + * @name .fs-carousel-page + * @type element + * @description Pagiantion item element + */ + /** + * @class + * @name .fs-carousel-page.fs-carousel-active + * @type modifier + * @description Indicates active state + */ +} +.fs-carousel.fs-carousel-enabled { + width: 100%; + position: relative; + overflow: hidden; +} +.fs-carousel.fs-carousel-enabled:after { + clear: both; + content: ''; + display: table; +} +.fs-carousel, +.fs-carousel:after, +.fs-carousel:before, +.fs-carousel *, +.fs-carousel *:after, +.fs-carousel *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-carousel-enabled .fs-carousel-viewport { + position: relative; + overflow: hidden; +} +.fs-carousel-enabled .fs-carousel-viewport:after { + clear: both; + content: ''; + display: table; +} +.fs-carousel-enabled .fs-carousel-wrapper { + position: relative; + overflow: hidden; +} +.fs-carousel-enabled .fs-carousel-wrapper:after { + clear: both; + content: ''; + display: table; +} +.fs-carousel-enabled .fs-carousel-container { + position: relative; + overflow: hidden; +} +.fs-carousel-enabled .fs-carousel-container:after { + clear: both; + content: ''; + display: table; +} +.fs-carousel-enabled .fs-carousel-canister { + position: relative; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + margin: 0; + overflow: hidden; + -webkit-transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.fs-carousel-enabled .fs-carousel-item { + display: block; + float: left; +} +.fs-carousel-enabled .fs-carousel-item img { + -webkit-user-drag: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.fs-carousel-controls { + display: none; +} +.fs-carousel-enabled .fs-carousel-controls { + width: 100%; + margin: 0; + padding: 0; +} +.fs-carousel-enabled .fs-carousel-controls.fs-carousel-visible { + display: block; +} +.fs-carousel-enabled .fs-carousel-control { + position: absolute; + top: 0; + bottom: 0; + cursor: pointer; + display: block; + visibility: hidden; + width: 40px; + height: 40px; + background: #ffffff; + border-radius: 100%; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); + margin: auto; + opacity: 0; + overflow: hidden; + text-indent: 200%; + -webkit-transition: opacity 0.15s ease, visibility 0.15s ease; + transition: opacity 0.15s ease, visibility 0.15s ease; + white-space: nowrap; +} +.fs-carousel-enabled .fs-carousel-control:before { + width: 0; + height: 0; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + content: ''; + margin: auto; +} +.no-opacity .fs-carousel-enabled .fs-carousel-control { + text-indent: -999px; +} +.fs-carousel-enabled .fs-carousel-control.fs-carousel-visible { + visibility: visible; + opacity: 1; +} +.fs-carousel-enabled .fs-carousel-control_previous { + left: 20px; +} +.fs-carousel-enabled .fs-carousel-control_previous:before { + border-top: 7px solid transparent; + border-bottom: 7px solid transparent; + border-right: 10.5px solid #333333; + margin-left: 13.7px; +} +.fs-carousel-enabled .fs-carousel-control_next { + right: 20px; +} +.fs-carousel-enabled .fs-carousel-control_next:before { + border-top: 7px solid transparent; + border-bottom: 7px solid transparent; + border-left: 10.5px solid #333333; + margin-right: 13.7px; +} +.fs-carousel-enabled .fs-carousel-control_disabled { + opacity: 0; +} +.fs-carousel-pagination { + display: none; +} +.fs-carousel-enabled .fs-carousel-pagination { + width: 100%; + margin: 10px 0 0; + padding: 0; + text-align: center; +} +.fs-carousel-enabled .fs-carousel-pagination.fs-carousel-visible { + display: block; +} +.fs-carousel-enabled .fs-carousel-page { + cursor: pointer; + display: inline-block; + width: 10px; + height: 10px; + background: #333333; + border-radius: 100%; + margin: 0 3px; + opacity: 0.5; + overflow: hidden; + text-indent: 200%; + white-space: nowrap; +} +.no-opacity .fs-carousel-enabled .fs-carousel-page { + text-indent: -999px; +} +.fs-carousel-enabled .fs-carousel-page.fs-carousel-active { + opacity: 1; +} diff --git a/static/js/formstone/css/checkbox.css b/static/js/formstone/css/checkbox.css new file mode 100644 index 0000000..45be6fa --- /dev/null +++ b/static/js/formstone/css/checkbox.css @@ -0,0 +1,296 @@ +/*! formstone v0.6.7 [checkbox.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-checkbox-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-checkbox + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-checkbox.fs-checkbox-checked + * @type modifier + * @description Indicates checked state + */ +/** + * @class + * @name .fs-checkbox.fs-checkbox-radio + * @type modifier + * @description Indicates radio interface + */ +/** + * @class + * @name .fs-checkbox.fs-checkbox-toggle + * @type modifier + * @description Indicates toggle interface + */ +/** + * @class + * @name .fs-checkbox.fs-checkbox-focus + * @type modifier + * @description Indicates focused state + */ +/** + * @class + * @name .fs-checkbox.fs-checkbox-disabled + * @type modifier + * @description Indicates disabled state + */ +.fs-checkbox { + /** + * @class + * @name .fs-checkbox-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-checkbox-label + * @type element + * @description Label element + */ + /** + * @class + * @name .fs-checkbox-marker + * @type element + * @description Marker element + */ + /** + * @class + * @name .fs-checkbox-flag + * @type element + * @description Flag element + */ +} +.fs-checkbox.fs-checkbox-enabled { + cursor: pointer; + margin: 0 0 10px 0; + overflow: hidden; +} +.fs-checkbox.fs-checkbox-enabled:focus { + box-shadow: none; + outline: none; +} +.fs-checkbox, +.fs-checkbox:after, +.fs-checkbox:before, +.fs-checkbox *, +.fs-checkbox *:after, +.fs-checkbox *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-checkbox-element_wrapper { + position: relative; + border: 0; + height: 0; + margin: 0; + opacity: 0; + overflow: hidden; + padding: 0; + width: 0; +} +.fs-checkbox-element { + position: absolute; + top: 0; + left: 0; + z-index: -1; + pointer-events: none; + -webkit-transition: none; + transition: none; +} +.fs-checkbox-label { + color: #666666; + cursor: pointer; + display: block; + font-size: 14px; + line-height: 20px; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.fs-checkbox-marker { + width: 20px; + height: 20px; + background: #ffffff; + border: 1px solid #cccccc; + border-radius: 3px; + cursor: pointer; + display: block; + float: left; + margin: 0 10px 0 0; +} +.fs-checkbox-flag { + width: 100%; + height: 100%; + margin: 0; +} +.fs-checkbox-flag:before { + width: 5px; + height: 10px; + border: 2px solid #999999; + border-top: 0; + border-left: 0; + content: ''; + display: block; + margin: 3px 0 0 6px; + -webkit-transition: -webkit-transform 0.15s ease; + transition: transform 0.15s ease; + -webkit-transform: rotate(45deg) scale(0); + -ms-transform: rotate(45deg) scale(0); + transform: rotate(45deg) scale(0); +} +.fs-checkbox-checked .fs-checkbox-flag:before { + -webkit-transform: rotate(45deg) scale(1); + -ms-transform: rotate(45deg) scale(1); + transform: rotate(45deg) scale(1); +} +.no-csstransforms .fs-checkbox-flag:before { + width: 100%; + height: 100%; + content: "\2713"; + display: none; + line-height: 1; + text-align: center; +} +.no-csstransforms .fs-checkbox-checked .fs-checkbox-flag:before { + display: block; +} +.fs-checkbox-radio .fs-checkbox-marker { + border-radius: 100%; +} +.fs-checkbox-radio .fs-checkbox-flag { + background: #999999; + border: 3px solid #ffffff; + border-radius: 100%; + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transition: -webkit-transform 0.15s ease; + transition: transform 0.15s ease; +} +.fs-checkbox-radio .fs-checkbox-flag:before { + display: none; +} +.fs-checkbox-radio.fs-checkbox-checked .fs-checkbox-flag { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} +.fs-checkbox-radio.fs-checkbox-checked .fs-checkbox-flag:before { + display: none; +} +.no-csstransforms .fs-checkbox-radio .fs-checkbox-flag:before { + display: none; +} +.no-csstransforms .fs-checkbox-radio.fs-checkbox-checked .fs-checkbox-flag:before { + display: block; +} +.fs-checkbox-focus .fs-checkbox-label { + color: #333333; +} +.fs-checkbox-focus .fs-checkbox-marker { + border-color: #999999; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); +} +.fs-checkbox-disabled { + cursor: default; + opacity: 0.5; +} +.fs-checkbox-disabled .fs-checkbox-label { + color: #666666; + cursor: default; +} +.fs-checkbox-disabled .fs-checkbox-marker { + border-color: #cccccc; + cursor: default; +} +.fs-checkbox-toggle { + position: relative; +} +.fs-checkbox-toggle .fs-checkbox-label { + line-height: 40px; +} +.fs-checkbox-toggle .fs-checkbox-marker { + width: 100px; + height: 40px; + position: relative; + border-radius: 3px; +} +.fs-checkbox-toggle .fs-checkbox-marker:after { + clear: both; + content: ''; + display: table; +} +.fs-checkbox-toggle .fs-checkbox-flag { + width: 50%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background: #999999; + border: 2px solid #ffffff; + border-radius: 3px; + display: block; + margin: 0; + -webkit-transition: left 0.15s ease; + transition: left 0.15s ease; +} +.fs-checkbox-toggle .fs-checkbox-flag:before { + display: none; +} +.fs-checkbox-toggle .fs-checkbox-flag:after { + width: 2px; + height: 10px; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: #ffffff; + box-shadow: 3px 0 0 #ffffff, -3px 0 0 #ffffff; + content: ''; + margin: auto; + opacity: 0.75; +} +.no-touch .fs-checkbox-toggle:hover .fs-checkbox-flag:after { + opacity: 1; +} +.fs-checkbox-toggle.fs-checkbox-checked .fs-checkbox-flag { + left: 50%; +} +.fs-checkbox-toggle.fs-checkbox-checked .fs-checkbox-flag:before { + display: none; +} +.fs-checkbox-toggle.fs-checkbox-disabled .fs-checkbox-flag:after { + display: none; +} +.fs-checkbox-toggle .fs-checkbox-state { + width: 50%; + color: #666666; + display: block; + font-size: 12px; + line-height: 40px; + margin: 0; + text-align: center; + text-transform: uppercase; +} +.fs-checkbox-toggle .fs-checkbox-state_on { + float: left; +} +.fs-checkbox-toggle .fs-checkbox-state_off { + float: right; +} diff --git a/static/js/formstone/css/dropdown.css b/static/js/formstone/css/dropdown.css new file mode 100644 index 0000000..e0f17fe --- /dev/null +++ b/static/js/formstone/css/dropdown.css @@ -0,0 +1,357 @@ +/*! formstone v0.6.7 [dropdown.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-dropdown-element + * @type element + * @description Target element + */ +/** + * @class + * @name .fs-dropdown + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-dropdown.fs-dropdown-multiple + * @type modifer + * @description Indicates multi-selected element + */ +/** + * @class + * @name .fs-dropdown.fs-dropdown-cover + * @type modifer + * @description Indicates cover positioning + */ +/** + * @class + * @name .fs-dropdown.fs-dropdown-bottom + * @type modifer + * @description Indicates bottom positioning + */ +/** + * @class + * @name .fs-dropdown.fs-dropdown-disabled + * @type modifer + * @description Indicates disabled state + */ +/** + * @class + * @name .fs-dropdown.fs-dropdown-open + * @type modifer + * @description Indicates open state + */ +/** + * @class + * @name .fs-dropdown.fs-dropdown-focus + * @type modifer + * @description Indicates focus state + */ +.fs-dropdown { + position: relative; + z-index: 1; + display: block; + margin: 10px 0; + max-width: 100%; + /* + @media screen and (min-width: 740px) { + max-width: 30%; + } + */ + /** + * @class + * @name .fs-dropdown-selected + * @type element + * @description Handle item + */ + /** + * @class + * @name .fs-dropdown-options + * @type element + * @description Options container + */ + /** + * @class + * @name .fs-dropdown-group + * @type element + * @description Option group label + */ + /** + * @class + * @name .fs-dropdown-item + * @type element + * @description Option item + */ + /* + &-options.fs-scrollbar { + overflow: hidden; + } + + &-options.fs-scrollbar-content { + max-height: @fs-dropdown-max-height; + + padding: 0; + } +*/ +} +.fs-dropdown:focus { + box-shadow: none; + outline: none; +} +.fs-dropdown, +.fs-dropdown:after, +.fs-dropdown:before, +.fs-dropdown *, +.fs-dropdown *:after, +.fs-dropdown *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-dropdown-element { + width: 100%; + height: 100%; + position: absolute; + left: 0; + opacity: 0; + z-index: -1; +} +.fs-dropdown-element, +.fs-dropdown-element:focus { + outline: none; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + -webkit-tap-highlight-color: transparent; +} +.no-opacity .fs-dropdown-element { + left: -999999px; +} +.fs-dropdown-selected { + width: 100%; + position: relative; + background: #ffffff; + border: 1px solid #cccccc; + border-radius: 3px; + color: #222222; + cursor: pointer; + display: block; + font-size: 14px; + height: 40px; + line-height: 40px; + margin: 0; + overflow: hidden; + padding: 0 40px 0 15px; + text-align: left; + text-overflow: clip; + z-index: 2; +} +.fs-dropdown-selected:after { + height: 0; + width: 0; + position: absolute; + top: 0; + right: 15px; + bottom: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid #cccccc; + content: ''; + display: block; + margin: auto 0; +} +.no-touch .fs-dropdown-selected:hover { + color: #222222; +} +.no-touch .fs-dropdown-disabled .fs-dropdown-selected:hover { + color: #cccccc; +} +.fs-dropdown-options { + width: 100%; + max-height: 260px; + position: absolute; + top: 100%; + left: 0; + border: 1px solid #cccccc !important; + border-width: 0 1px 1px !important; + border-radius: 0 0 3px 3px; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); + background-color: #ffffff; + display: none; + margin: 0; + overflow: auto; + overflow-x: hidden; + padding: 0; + z-index: 50; +} +.fs-dropdown-options.fs-scrollbar { + position: absolute; +} +.no-opacity .fs-dropdown-options { + width: auto; +} +.fs-dropdown-group { + border-bottom: 1px solid #cccccc; + color: #999999; + display: block; + font-size: 11px; + padding: 10px 15px; + text-transform: uppercase; +} +.fs-dropdown-item { + border: none; + width: 100%; + background: #ffffff; + border-bottom: 1px solid #cccccc; + color: #222222; + cursor: pointer; + display: block; + font-size: 14px; + margin: 0; + height: 40px; + line-height: 40px; + overflow: hidden; + padding: 0 15px; + text-align: left; + text-decoration: none; + text-overflow: ellipsis; + /** + * @class + * @name .fs-dropdown-item.fs-dropdown-item_placeholder + * @type modifier + * @description Indicates placeholder item + */ + /** + * @class + * @name .fs-dropdown-item.fs-dropdown-item_selected + * @type modifier + * @description Indicates selected item + */ + /** + * @class + * @name .fs-dropdown-item.fs-dropdown-item_disabled + * @type modifier + * @description Indicates disabled item + */ +} +.fs-dropdown-item_placeholder { + display: none; +} +.fs-dropdown-item_selected { + background: #eeeeee; +} +.fs-dropdown-item_disabled { + color: #999999; + cursor: default; +} +.fs-dropdown-item:first-child { + border-radius: 0; +} +.fs-dropdown-item:last-child { + border-bottom: 0; + border-radius: 0 0 3px 3px; +} +.no-touch .fs-dropdown-item:hover, +.no-touch .fs-dropdown-item_selected:hover { + color: #222222; + background-color: #dddddd; + border-color: #cccccc; +} +.fs-dropdown-item:hover, .fs-dropdown-item_selected:hover { + color: #222222; + background-color: #dddddd; + border-color: #cccccc; +} +.fs-dropdown-item_disabled, +.no-touch .fs-dropdown-item_disabled:hover { + color: #cccccc; + background-color: #ffffff; + border-color: #cccccc; +} +.fs-dropdown-open { + z-index: 3; +} +.fs-dropdown-open .fs-dropdown-options { + display: block; + border-radius: 0 0 3px 3px; +} +.fs-dropdown-open .fs-dropdown-selected { + z-index: 51; + border-radius: 3px 3px 0 0; +} +.fs-dropdown-open .fs-dropdown-selected, +.fs-dropdown-focus .fs-dropdown-selected { + background-color: #ffffff; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); +} +.fs-dropdown-cover.fs-dropdown-open .fs-dropdown-selected { + z-index: 49; +} +.fs-dropdown-cover .fs-dropdown-options { + top: 0; + border-radius: 3px; + border-width: 1px; +} +.fs-dropdown-cover .fs-dropdown-item:first-child { + border-radius: 3px 3px 0 0; +} +.fs-dropdown-bottom .fs-dropdown-options { + top: auto; + bottom: 100%; + border-width: 1px 1px 0; +} +.fs-dropdown-bottom .fs-dropdown-item:last-child { + border: none; +} +.fs-dropdown-bottom.fs-dropdown-open .fs-dropdown-selected { + border-radius: 0 0 3px 3px; +} +.fs-dropdown-bottom.fs-dropdown-open .fs-dropdown-options { + border-radius: 3px 3px 0 0; +} +.fs-dropdown-bottom.fs-dropdown-cover .fs-dropdown-options { + top: auto; + bottom: 0; +} +.fs-dropdown-bottom.fs-dropdown-cover.fs-dropdown-open .fs-dropdown-selected { + border-radius: 3px; +} +.fs-dropdown-bottom.fs-dropdown-cover.fs-dropdown-open .fs-dropdown-options { + border-radius: 3px; +} +.fs-dropdown-multiple .fs-dropdown-options { + width: 100%; + position: static; + border-radius: 3px; + border-width: 1px; + box-shadow: none; + display: block; +} +.fs-dropdown-disabled .fs-dropdown-selected { + background: #ffffff; + border-color: #cccccc; + color: #cccccc; + cursor: default; +} +.fs-dropdown-disabled .fs-dropdown-options { + background: #ffffff; + border-color: #cccccc; +} +.fs-dropdown-disabled .fs-dropdown-group, +.fs-dropdown-disabled .fs-dropdown-item { + border-color: #cccccc; + color: #cccccc; + cursor: default; +} +.fs-dropdown-disabled .fs-dropdown-item, +.no-touch .fs-dropdown-disabled .fs-dropdown-item:hover { + color: #cccccc; + background-color: #ffffff; +} +.fs-dropdown-disabled .fs-dropdown-item_selected, +.no-touch .fs-dropdown-disabled .fs-dropdown-item_selected:hover { + background: #fafafa; +} diff --git a/static/js/formstone/css/grid.css b/static/js/formstone/css/grid.css new file mode 100644 index 0000000..6f9b5c4 --- /dev/null +++ b/static/js/formstone/css/grid.css @@ -0,0 +1,863 @@ +/*! formstone v0.6.7 [grid.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @grid + * @name Grid + * @description A responsive CSS grid. + */ +.fs_grid_row, +.fs-grid .fs-row { + width: 300px; + margin-left: auto; + margin-right: auto; +} +@media screen and (min-width: 500px) { + .fs_grid_row, + .fs-grid .fs-row { + width: 480px; + } +} +@media screen and (min-width: 740px) { + .fs_grid_row, + .fs-grid .fs-row { + width: 720px; + } +} +@media screen and (min-width: 980px) { + .fs_grid_row, + .fs-grid .fs-row { + width: 960px; + } +} +@media screen and (min-width: 1220px) { + .fs_grid_row, + .fs-grid .fs-row { + width: 1200px; + } +} +.fs_grid_row:after, +.fs-grid .fs-row:after { + height: 0; + clear: both; + content: "."; + display: block; + line-height: 0; + visibility: hidden; +} +.fs_grid_row_fluid, +.fs-grid-fluid .fs-row { + width: 96%; + width: -webkit-calc(100% - 40px); + width: calc(100% - 40px); +} +@media screen and (max-width: 739px) { + .fs_grid_row_fluid_sm, + .fs-grid-sm-fluid .fs-row { + width: 96%; + width: -webkit-calc(100% - 40px); + width: calc(100% - 40px); + } +} +.fs_grid_row_row, +.fs-grid .fs-row .fs-row { + width: 102.08333333%; + margin-left: -1.04166667%; + margin-right: -1.04166667%; +} +.fs_grid_row_row_contained, +.fs-grid .fs-row [class*="fs-cell"][class*="-contained"] .fs-row { + width: 100%; + margin-left: 0; + margin-right: 0; +} +.fs_grid_cell, +.fs-grid .fs-row [class*="fs-cell"] { + width: 97.91666667%; + float: left; + margin-left: 1.04166667%; + margin-right: 1.04166667%; +} +.fs_grid_cell_centered, +.fs-grid .fs-row [class*="fs-cell"][class*="-centered"] { + float: none; + margin-left: auto; + margin-right: auto; +} +.fs_grid_cell_padded, +.fs-grid .fs-row [class*="fs-cell"][class*="-padded"] { + box-sizing: content-box; + margin-left: 0; + margin-right: 0; + padding-left: 1.04166667%; + padding-right: 1.04166667%; +} +.fs_grid_cell_contained, +.fs-grid .fs-row [class*="fs-cell"][class*="-contained"] { + margin-left: 0; + margin-right: 0; +} +.fs_grid_cell_right, +.fs-grid .fs-row [class*="fs-cell"][class*="-right"] { + float: right; +} +* { + box-sizing: border-box; +} +*:before, +*:after { + box-sizing: inherit; +} +.fs-grid .fs-row .fs-all-fifth { + width: 17.91666667%; +} +.fs-grid .fs-row .fs-all-fourth { + width: 22.91666667%; +} +.fs-grid .fs-row .fs-all-third { + width: 31.25%; +} +.fs-grid .fs-row .fs-all-half { + width: 47.91666667%; +} +.fs-grid .fs-row .fs-all-full { + width: 97.91666667%; +} +.fs-grid .fs-row .fs-all-push-fifth { + margin-left: 21.04166667%; +} +.fs-grid .fs-row .fs-all-push-fourth { + margin-left: 26.04166667%; +} +.fs-grid .fs-row .fs-all-push-third { + margin-left: 34.375%; +} +.fs-grid .fs-row .fs-all-push-half { + margin-left: 51.04166667%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-fifth { + width: 20%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-fourth { + width: 25%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-third { + width: 33.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-half { + width: 50%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-full { + width: 100%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-push-fifth { + margin-left: 20%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-push-fourth { + margin-left: 25%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-push-third { + margin-left: 33.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-all-push-half { + margin-left: 50%; +} +.fs-grid .fs-row .fs-all-hide { + display: none; +} +@media screen and (max-width: 739px) { + .fs-grid .fs-row .fs-sm-1 { + width: 31.25%; + } + .fs-grid .fs-row .fs-sm-2 { + width: 64.58333333%; + } + .fs-grid .fs-row .fs-sm-3 { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-sm-push-1 { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-sm-push-2 { + margin-left: 67.70833333%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-1 { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-2 { + width: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-3 { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-push-1 { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-push-2 { + margin-left: 66.66666667%; + } + .fs-grid .fs-row .fs-sm-fifth { + width: 17.91666667%; + } + .fs-grid .fs-row .fs-sm-fourth { + width: 22.91666667%; + } + .fs-grid .fs-row .fs-sm-third { + width: 31.25%; + } + .fs-grid .fs-row .fs-sm-half { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-sm-full { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-sm-push-fifth { + margin-left: 21.04166667%; + } + .fs-grid .fs-row .fs-sm-push-fourth { + margin-left: 26.04166667%; + } + .fs-grid .fs-row .fs-sm-push-third { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-sm-push-half { + margin-left: 51.04166667%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-fifth { + width: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-fourth { + width: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-third { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-half { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-full { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-push-fifth { + margin-left: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-push-fourth { + margin-left: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-push-third { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-sm-push-half { + margin-left: 50%; + } + .fs-grid .fs-row .fs-sm-hide { + display: none; + } +} +@media screen and (max-width: 499px) { + .fs-grid .fs-row .fs-xs-1 { + width: 31.25%; + } + .fs-grid .fs-row .fs-xs-2 { + width: 64.58333333%; + } + .fs-grid .fs-row .fs-xs-3 { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-xs-push-1 { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-xs-push-2 { + margin-left: 67.70833333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-1 { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-2 { + width: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-3 { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-push-1 { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-push-2 { + margin-left: 66.66666667%; + } + .fs-grid .fs-row .fs-xs-fifth { + width: 17.91666667%; + } + .fs-grid .fs-row .fs-xs-fourth { + width: 22.91666667%; + } + .fs-grid .fs-row .fs-xs-third { + width: 31.25%; + } + .fs-grid .fs-row .fs-xs-half { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-xs-full { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-xs-push-fifth { + margin-left: 21.04166667%; + } + .fs-grid .fs-row .fs-xs-push-fourth { + margin-left: 26.04166667%; + } + .fs-grid .fs-row .fs-xs-push-third { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-xs-push-half { + margin-left: 51.04166667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-fifth { + width: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-fourth { + width: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-third { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-half { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-full { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-push-fifth { + margin-left: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-push-fourth { + margin-left: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-push-third { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xs-push-half { + margin-left: 50%; + } + .fs-grid .fs-row .fs-xs-hide { + display: none; + } +} +@media screen and (min-width: 740px) and (max-width: 979px) { + .fs-grid .fs-row .fs-md-1 { + width: 14.58333333%; + } + .fs-grid .fs-row .fs-md-2 { + width: 31.25%; + } + .fs-grid .fs-row .fs-md-3 { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-md-4 { + width: 64.58333333%; + } + .fs-grid .fs-row .fs-md-5 { + width: 81.25%; + } + .fs-grid .fs-row .fs-md-6 { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-md-push-1 { + margin-left: 17.70833333%; + } + .fs-grid .fs-row .fs-md-push-2 { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-md-push-3 { + margin-left: 51.04166667%; + } + .fs-grid .fs-row .fs-md-push-4 { + margin-left: 67.70833333%; + } + .fs-grid .fs-row .fs-md-push-5 { + margin-left: 84.375%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-1 { + width: 16.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-2 { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-3 { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-4 { + width: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-5 { + width: 83.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-6 { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-1 { + margin-left: 16.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-2 { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-3 { + margin-left: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-4 { + margin-left: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-5 { + margin-left: 83.33333333%; + } + .fs-grid .fs-row .fs-md-fifth { + width: 17.91666667%; + } + .fs-grid .fs-row .fs-md-fourth { + width: 22.91666667%; + } + .fs-grid .fs-row .fs-md-third { + width: 31.25%; + } + .fs-grid .fs-row .fs-md-half { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-md-full { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-md-push-fifth { + margin-left: 21.04166667%; + } + .fs-grid .fs-row .fs-md-push-fourth { + margin-left: 26.04166667%; + } + .fs-grid .fs-row .fs-md-push-third { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-md-push-half { + margin-left: 51.04166667%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-fifth { + width: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-fourth { + width: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-third { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-half { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-full { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-fifth { + margin-left: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-fourth { + margin-left: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-third { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-md-push-half { + margin-left: 50%; + } + .fs-grid .fs-row .fs-md-hide { + display: none; + } +} +@media screen and (min-width: 980px) { + .fs-grid .fs-row .fs-lg-1 { + width: 6.25%; + } + .fs-grid .fs-row .fs-lg-2 { + width: 14.58333333%; + } + .fs-grid .fs-row .fs-lg-3 { + width: 22.91666667%; + } + .fs-grid .fs-row .fs-lg-4 { + width: 31.25%; + } + .fs-grid .fs-row .fs-lg-5 { + width: 39.58333333%; + } + .fs-grid .fs-row .fs-lg-6 { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-lg-7 { + width: 56.25%; + } + .fs-grid .fs-row .fs-lg-8 { + width: 64.58333333%; + } + .fs-grid .fs-row .fs-lg-9 { + width: 72.91666667%; + } + .fs-grid .fs-row .fs-lg-10 { + width: 81.25%; + } + .fs-grid .fs-row .fs-lg-11 { + width: 89.58333333%; + } + .fs-grid .fs-row .fs-lg-12 { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-lg-push-1 { + margin-left: 9.375%; + } + .fs-grid .fs-row .fs-lg-push-2 { + margin-left: 17.70833333%; + } + .fs-grid .fs-row .fs-lg-push-3 { + margin-left: 26.04166667%; + } + .fs-grid .fs-row .fs-lg-push-4 { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-lg-push-5 { + margin-left: 42.70833333%; + } + .fs-grid .fs-row .fs-lg-push-6 { + margin-left: 51.04166667%; + } + .fs-grid .fs-row .fs-lg-push-7 { + margin-left: 59.375%; + } + .fs-grid .fs-row .fs-lg-push-8 { + margin-left: 67.70833333%; + } + .fs-grid .fs-row .fs-lg-push-9 { + margin-left: 76.04166667%; + } + .fs-grid .fs-row .fs-lg-push-10 { + margin-left: 84.375%; + } + .fs-grid .fs-row .fs-lg-push-11 { + margin-left: 92.70833333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-1 { + width: 8.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-2 { + width: 16.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-3 { + width: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-4 { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-5 { + width: 41.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-6 { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-7 { + width: 58.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-8 { + width: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-9 { + width: 75%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-10 { + width: 83.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-11 { + width: 91.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-12 { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-1 { + margin-left: 8.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-2 { + margin-left: 16.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-3 { + margin-left: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-4 { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-5 { + margin-left: 41.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-6 { + margin-left: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-7 { + margin-left: 58.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-8 { + margin-left: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-9 { + margin-left: 75%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-10 { + margin-left: 83.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-11 { + margin-left: 91.66666667%; + } + .fs-grid .fs-row .fs-lg-fifth { + width: 17.91666667%; + } + .fs-grid .fs-row .fs-lg-fourth { + width: 22.91666667%; + } + .fs-grid .fs-row .fs-lg-third { + width: 31.25%; + } + .fs-grid .fs-row .fs-lg-half { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-lg-full { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-lg-push-fifth { + margin-left: 21.04166667%; + } + .fs-grid .fs-row .fs-lg-push-fourth { + margin-left: 26.04166667%; + } + .fs-grid .fs-row .fs-lg-push-third { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-lg-push-half { + margin-left: 51.04166667%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-fifth { + width: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-fourth { + width: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-third { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-half { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-full { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-fifth { + margin-left: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-fourth { + margin-left: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-third { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-lg-push-half { + margin-left: 50%; + } + .fs-grid .fs-row .fs-lg-hide { + display: none; + } +} +@media screen and (min-width: 1220px) { + .fs-grid .fs-row .fs-xl-1 { + width: 6.25%; + } + .fs-grid .fs-row .fs-xl-2 { + width: 14.58333333%; + } + .fs-grid .fs-row .fs-xl-3 { + width: 22.91666667%; + } + .fs-grid .fs-row .fs-xl-4 { + width: 31.25%; + } + .fs-grid .fs-row .fs-xl-5 { + width: 39.58333333%; + } + .fs-grid .fs-row .fs-xl-6 { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-xl-7 { + width: 56.25%; + } + .fs-grid .fs-row .fs-xl-8 { + width: 64.58333333%; + } + .fs-grid .fs-row .fs-xl-9 { + width: 72.91666667%; + } + .fs-grid .fs-row .fs-xl-10 { + width: 81.25%; + } + .fs-grid .fs-row .fs-xl-11 { + width: 89.58333333%; + } + .fs-grid .fs-row .fs-xl-12 { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-xl-push-1 { + margin-left: 9.375%; + } + .fs-grid .fs-row .fs-xl-push-2 { + margin-left: 17.70833333%; + } + .fs-grid .fs-row .fs-xl-push-3 { + margin-left: 26.04166667%; + } + .fs-grid .fs-row .fs-xl-push-4 { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-xl-push-5 { + margin-left: 42.70833333%; + } + .fs-grid .fs-row .fs-xl-push-6 { + margin-left: 51.04166667%; + } + .fs-grid .fs-row .fs-xl-push-7 { + margin-left: 59.375%; + } + .fs-grid .fs-row .fs-xl-push-8 { + margin-left: 67.70833333%; + } + .fs-grid .fs-row .fs-xl-push-9 { + margin-left: 76.04166667%; + } + .fs-grid .fs-row .fs-xl-push-10 { + margin-left: 84.375%; + } + .fs-grid .fs-row .fs-xl-push-11 { + margin-left: 92.70833333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-1 { + width: 8.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-2 { + width: 16.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-3 { + width: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-4 { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-5 { + width: 41.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-6 { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-7 { + width: 58.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-8 { + width: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-9 { + width: 75%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-10 { + width: 83.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-11 { + width: 91.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-12 { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-1 { + margin-left: 8.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-2 { + margin-left: 16.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-3 { + margin-left: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-4 { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-5 { + margin-left: 41.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-6 { + margin-left: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-7 { + margin-left: 58.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-8 { + margin-left: 66.66666667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-9 { + margin-left: 75%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-10 { + margin-left: 83.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-11 { + margin-left: 91.66666667%; + } + .fs-grid .fs-row .fs-xl-fifth { + width: 17.91666667%; + } + .fs-grid .fs-row .fs-xl-fourth { + width: 22.91666667%; + } + .fs-grid .fs-row .fs-xl-third { + width: 31.25%; + } + .fs-grid .fs-row .fs-xl-half { + width: 47.91666667%; + } + .fs-grid .fs-row .fs-xl-full { + width: 97.91666667%; + } + .fs-grid .fs-row .fs-xl-push-fifth { + margin-left: 21.04166667%; + } + .fs-grid .fs-row .fs-xl-push-fourth { + margin-left: 26.04166667%; + } + .fs-grid .fs-row .fs-xl-push-third { + margin-left: 34.375%; + } + .fs-grid .fs-row .fs-xl-push-half { + margin-left: 51.04166667%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-fifth { + width: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-fourth { + width: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-third { + width: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-half { + width: 50%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-full { + width: 100%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-fifth { + margin-left: 20%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-fourth { + margin-left: 25%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-third { + margin-left: 33.33333333%; + } + .fs-grid .fs-row [class*="-contained"].fs-xl-push-half { + margin-left: 50%; + } + .fs-grid .fs-row .fs-xl-hide { + display: none; + } +} diff --git a/static/js/formstone/css/grid.ie.css b/static/js/formstone/css/grid.ie.css new file mode 100644 index 0000000..8df4e78 --- /dev/null +++ b/static/js/formstone/css/grid.ie.css @@ -0,0 +1,288 @@ +/*! formstone v0.6.7 [grid.ie.css] 2015-06-13 | MIT License | formstone.it */ + +.fs_grid_row { + width: 300px; + margin-left: auto; + margin-right: auto; +} +@media screen and (min-width: 500px) { + .fs_grid_row { + width: 480px; + } +} +@media screen and (min-width: 740px) { + .fs_grid_row { + width: 720px; + } +} +@media screen and (min-width: 980px) { + .fs_grid_row { + width: 960px; + } +} +@media screen and (min-width: 1220px) { + .fs_grid_row { + width: 1200px; + } +} +.fs_grid_row:after { + height: 0; + clear: both; + content: "."; + display: block; + line-height: 0; + visibility: hidden; +} +.fs_grid_row_fluid { + width: 96%; + width: -webkit-calc(100% - 40px); + width: calc(100% - 40px); +} +@media screen and (max-width: 739px) { + .fs_grid_row_fluid_sm { + width: 96%; + width: -webkit-calc(100% - 40px); + width: calc(100% - 40px); + } +} +.fs_grid_row_row { + width: 102.08333333%; + margin-left: -1.04166667%; + margin-right: -1.04166667%; +} +.fs_grid_row_row_contained { + width: 100%; + margin-left: 0; + margin-right: 0; +} +.fs_grid_cell { + width: 97.91666667%; + float: left; + margin-left: 1.04166667%; + margin-right: 1.04166667%; +} +.fs_grid_cell_centered { + float: none; + margin-left: auto; + margin-right: auto; +} +.fs_grid_cell_padded { + box-sizing: content-box; + margin-left: 0; + margin-right: 0; + padding-left: 1.04166667%; + padding-right: 1.04166667%; +} +.fs_grid_cell_contained { + margin-left: 0; + margin-right: 0; +} +.fs_grid_cell_right { + float: right; +} +*, +*:before, +*:after { + behavior: url(boxsizing.htc); +} +.fs-grid .fs-row { + width: 960px; +} +.fs-grid .fs-row .fs-lg-1 { + width: 6.25%; +} +.fs-grid .fs-row .fs-lg-2 { + width: 14.58333333%; +} +.fs-grid .fs-row .fs-lg-3 { + width: 22.91666667%; +} +.fs-grid .fs-row .fs-lg-4 { + width: 31.25%; +} +.fs-grid .fs-row .fs-lg-5 { + width: 39.58333333%; +} +.fs-grid .fs-row .fs-lg-6 { + width: 47.91666667%; +} +.fs-grid .fs-row .fs-lg-7 { + width: 56.25%; +} +.fs-grid .fs-row .fs-lg-8 { + width: 64.58333333%; +} +.fs-grid .fs-row .fs-lg-9 { + width: 72.91666667%; +} +.fs-grid .fs-row .fs-lg-10 { + width: 81.25%; +} +.fs-grid .fs-row .fs-lg-11 { + width: 89.58333333%; +} +.fs-grid .fs-row .fs-lg-12 { + width: 97.91666667%; +} +.fs-grid .fs-row .fs-lg-push-1 { + margin-left: 9.375%; +} +.fs-grid .fs-row .fs-lg-push-2 { + margin-left: 17.70833333%; +} +.fs-grid .fs-row .fs-lg-push-3 { + margin-left: 26.04166667%; +} +.fs-grid .fs-row .fs-lg-push-4 { + margin-left: 34.375%; +} +.fs-grid .fs-row .fs-lg-push-5 { + margin-left: 42.70833333%; +} +.fs-grid .fs-row .fs-lg-push-6 { + margin-left: 51.04166667%; +} +.fs-grid .fs-row .fs-lg-push-7 { + margin-left: 59.375%; +} +.fs-grid .fs-row .fs-lg-push-8 { + margin-left: 67.70833333%; +} +.fs-grid .fs-row .fs-lg-push-9 { + margin-left: 76.04166667%; +} +.fs-grid .fs-row .fs-lg-push-10 { + margin-left: 84.375%; +} +.fs-grid .fs-row .fs-lg-push-11 { + margin-left: 92.70833333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-1 { + width: 8.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-2 { + width: 16.66666667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-3 { + width: 25%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-4 { + width: 33.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-5 { + width: 41.66666667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-6 { + width: 50%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-7 { + width: 58.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-8 { + width: 66.66666667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-9 { + width: 75%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-10 { + width: 83.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-11 { + width: 91.66666667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-12 { + width: 100%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-1 { + margin-left: 8.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-2 { + margin-left: 16.66666667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-3 { + margin-left: 25%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-4 { + margin-left: 33.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-5 { + margin-left: 41.66666667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-6 { + margin-left: 50%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-7 { + margin-left: 58.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-8 { + margin-left: 66.66666667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-9 { + margin-left: 75%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-10 { + margin-left: 83.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-11 { + margin-left: 91.66666667%; +} +.fs-grid .fs-row .fs-lg-fifth { + width: 17.91666667%; +} +.fs-grid .fs-row .fs-lg-fourth { + width: 22.91666667%; +} +.fs-grid .fs-row .fs-lg-third { + width: 31.25%; +} +.fs-grid .fs-row .fs-lg-half { + width: 47.91666667%; +} +.fs-grid .fs-row .fs-lg-full { + width: 97.91666667%; +} +.fs-grid .fs-row .fs-lg-push-fifth { + margin-left: 21.04166667%; +} +.fs-grid .fs-row .fs-lg-push-fourth { + margin-left: 26.04166667%; +} +.fs-grid .fs-row .fs-lg-push-third { + margin-left: 34.375%; +} +.fs-grid .fs-row .fs-lg-push-half { + margin-left: 51.04166667%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-fifth { + width: 20%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-fourth { + width: 25%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-third { + width: 33.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-half { + width: 50%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-full { + width: 100%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-fifth { + margin-left: 20%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-fourth { + margin-left: 25%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-third { + margin-left: 33.33333333%; +} +.fs-grid .fs-row [class*="-contained"].fs-lg-push-half { + margin-left: 50%; +} +.fs-grid .fs-row .fs-lg-hide { + display: none; +} +.fs-grid .fs-row .fs-cell.-padded { + behavior: none; +} diff --git a/static/js/formstone/css/lightbox.css b/static/js/formstone/css/lightbox.css new file mode 100644 index 0000000..1a0272d --- /dev/null +++ b/static/js/formstone/css/lightbox.css @@ -0,0 +1,663 @@ +/*! formstone v0.6.7 [lightbox.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-lightbox-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-lightbox + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-lightbox.fs-lightbox-open + * @type modifier + * @description Indicates open state + */ +/** + * @class + * @name .fs-lightbox.fs-lightbox-loading + * @type modifier + * @description Indicates loading state + */ +/** + * @class + * @name .fs-lightbox.fs-lightbox-animating + * @type modifier + * @description Indicates animating state + */ +/** + * @class + * @name .fs-lightbox.fs-lightbox-mobile + * @type modifier + * @description Indicates mobile display + */ +/** + * @class + * @name .fs-lightbox.fs-lightbox-fixed + * @type modifier + * @description Indicates fixed positioning + */ +/** + * @class + * @name .fs-lightbox.fs-lightbox-inline + * @type modifier + * @description Indicates inline content + */ +/** + * @class + * @name .fs-lightbox.fs-lightbox-iframed + * @type modifier + * @description Indicates iFrame content + */ +.fs-lightbox { + width: 200px; + height: 200px; + position: absolute; + right: 0; + left: 0; + z-index: 101; + background: #ffffff; + border-radius: 3px; + box-shadow: 0 0 25px #000000; + opacity: 0; + margin: 0 auto; + padding: 10px; + -webkit-transform: translateZ(0); + /** + * @class + * @name .fs-lightbox-overlay + * @type element + * @description Overlay element + */ + /** + * @class + * @name .fs-lightbox-close + * @type element + * @description Close element + */ + /** + * @class + * @name .fs-lightbox-loading_icon + * @type element + * @description Loading icon element + */ + /** + * @class + * @name .fs-lightbox-container + * @type element + * @description Container element + */ + /** + * @class + * @name .fs-lightbox-content + * @type element + * @description Content element + */ + /** + * @class + * @name .fs-lightbox-image + * @type element + * @description Image element + */ + /** + * @class + * @name .fs-lightbox-video + * @type element + * @description Video element + */ + /** + * @class + * @name .fs-lightbox-iframe + * @type element + * @description iFrame element + */ + /** + * @class + * @name .fs-lightbox-tools + * @type element + * @description Tools element + */ + /** + * @class + * @name .fs-lightbox-meta + * @type element + * @description Meta info element + */ + /** + * @class + * @name .fs-lightbox-controls + * @type element + * @description Controls container element + */ + /** + * @class + * @name .fs-lightbox-control + * @type element + * @description Control element + */ + /** + * @class + * @name .fs-lightbox-control.fs-lightbox-control_previous + * @type modifier + * @description Indicates previous control + */ + /** + * @class + * @name .fs-lightbox-control.fs-lightbox-control_next + * @type modifier + * @description Indicates next control + */ + /** + * @class + * @name .fs-lightbox-control.fs-lightbox-control_disabled + * @type modifier + * @description Indicates disbaled state + */ + /** + * @class + * @name .fs-lightbox-position + * @type element + * @description Position element + */ + /** + * @class + * @name .fs-lightbox-position_current + * @type element + * @description Current position element + */ + /** + * @class + * @name .fs-lightbox-position_total + * @type element + * @description Total position element + */ + /** + * @class + * @name .fs-lightbox-caption + * @type element + * @description Caption element + */ + /** + * @class + * @name .fs-lightbox-error + * @type element + * @description Error message element + */ + /** + * @class + * @name .fs-lightbox-lock + * @type modifier + * @description Indicates locked state; Applied to body element + */ +} +.fs-lightbox, +.fs-lightbox * { + box-sizing: border-box; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-lightbox-fixed { + position: fixed; + top: 0; + bottom: 0; + margin: auto; +} +.fs-lightbox-inline { + padding: 30px; +} +.fs-lightbox-animating { + -webkit-transition: height 0.25s ease, width 0.25s ease, opacity 0.25s linear, top 0.25s ease; + transition: height 0.25s ease, width 0.25s ease, opacity 0.25s linear, top 0.25s ease; +} +.fs-lightbox-animating .fs-lightbox-container { + -webkit-transition: opacity 0.25s linear 0.25s; + transition: opacity 0.25s linear 0.25s; +} +.fs-lightbox-overlay { + width: 100%; + height: 100%; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 100; + background: #000000; + opacity: 0; + -webkit-transition: opacity 0.25s linear; + transition: opacity 0.25s linear; +} +.fs-lightbox-open { + opacity: 1; +} +.fs-lightbox-overlay.fs-lightbox-open { + opacity: 0.75; +} +.fs-lightbox-close { + border: none; + width: 30px; + height: 30px; + position: absolute; + top: -7.5px; + right: -7.5px; + z-index: 105; + background: #ffffff; + border-radius: 100%; + cursor: pointer; + display: block; + overflow: hidden; + padding: 0; + text-indent: 200%; + white-space: nowrap; +} +.fs-lightbox-close:focus { + outline: none; +} +.fs-lightbox-close:before { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + color: #333333; + content: "\00d7"; + display: block; + font-family: "Helvetica", Arial, sans-serif; + font-size: 22px; + font-weight: 700; + line-height: 30px; + margin: auto; + text-align: center; + text-indent: 0; + -webkit-transition: color 0.15s linear; + transition: color 0.15s linear; +} +.no-opacity .fs-lightbox-close { + text-indent: -999px; +} +.fs-lightbox-loading_icon { + width: 50px; + height: 50px; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 105; + display: block; + margin: auto; + opacity: 0; + -webkit-transition: opacity 0.25s linear; + transition: opacity 0.25s linear; +} +.fs-lightbox-loading_icon:before, +.fs-lightbox-loading_icon:after { + width: 100%; + height: 100%; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 110%; + content: ''; + display: block; +} +.fs-lightbox-loading_icon:before { + border: 5px solid rgba(51, 51, 51, 0.25); +} +.fs-lightbox-loading_icon:after { + -webkit-animation: fs-lightbox-loading-spin 0.75s linear infinite; + animation: fs-lightbox-loading-spin 0.75s linear infinite; + border: 5px solid transparent; + border-top-color: #333333; +} +@-webkit-keyframes fs-lightbox-loading-spin { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes fs-lightbox-loading-spin { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.fs-lightbox-container { + width: 100%; + height: 100%; + position: relative; + z-index: 103; + background: #ffffff; + overflow: hidden; +} +.fs-lightbox-container:after { + clear: both; + content: ''; + display: table; +} +.fs-lightbox-content { + width: 100%; + background: #ffffff; + opacity: 1; + overflow: hidden; + padding: 0; +} +.fs-lightbox-content:after { + clear: both; + content: ''; + display: table; +} +.fs-lightbox-inline .fs-lightbox-content { + width: auto; +} +.fs-lightbox-iframed .fs-lightbox-content { + width: 100%; + height: 100%; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.fs-lightbox-image { + float: left; +} +.fs-lightbox-video { + width: 100%; + height: 100%; +} +.fs-lightbox-iframe { + width: 100%; + height: 100%; + border: none; + float: left; + overflow: auto; +} +.fs-lightbox-meta { + clear: both; + padding: 10px 10px 0; +} +.fs-lightbox-control { + border: none; + width: 40px; + height: 40px; + position: absolute; + top: 0; + z-index: 105; + background: #ffffff; + border-radius: 100%; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); + cursor: pointer; + display: block; + margin-right: auto; + margin-left: auto; + opacity: 1; + overflow: hidden; + text-indent: 200%; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + white-space: nowrap; +} +.fs-lightbox-control:focus { + outline: none; +} +.fs-lightbox-control:before { + width: 0; + height: 0; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + content: ''; + margin: auto; +} +.no-opacity .fs-lightbox-control { + text-indent: -999px; +} +.fs-lightbox-control_previous { + left: 20px; +} +.fs-lightbox-control_previous:before { + border-top: 8px solid transparent; + border-bottom: 8px solid transparent; + border-right: 10.4px solid #333333; + margin-left: 14px; +} +.fs-lightbox-control_next { + right: 20px; +} +.fs-lightbox-control_next:before { + border-top: 8px solid transparent; + border-bottom: 8px solid transparent; + border-left: 10.4px solid #333333; + margin-right: 14px; +} +.fs-lightbox-control_disabled { + opacity: 0; +} +.no-touch .fs-lightbox .fs-lightbox-control { + opacity: 0; +} +.no-touch .fs-lightbox:hover .fs-lightbox-control { + opacity: 1; +} +.no-touch .fs-lightbox .fs-lightbox-control_disabled, +.no-touch .fs-lightbox:hover .fs-lightbox-control_disabled { + opacity: 0; + cursor: default; +} +.fs-lightbox-position { + color: #999999; + font-size: 12px; + margin: 5px 0; + padding: 0; +} +.fs-lightbox-caption:after { + clear: both; + content: ''; + display: table; +} +.fs-lightbox-caption p { + color: #666666; + font-size: 14px; + margin: 5px 0; + padding: 0; +} +.fs-lightbox-caption_toggle { + display: none; +} +.fs-lightbox-error { + width: 250px; +} +.fs-lightbox-error p { + color: #990000; + font-size: 14px; + margin: 0; + padding: 25px; + text-align: center; + text-transform: uppercase; +} +.fs-lightbox-loading .fs-lightbox-container { + opacity: 0; + -webkit-transition: opacity 0.25s linear; + transition: opacity 0.25s linear; +} +.fs-lightbox-loading .fs-lightbox-loading_icon { + opacity: 1; +} +.fs-lightbox-mobile { + width: 100%; + height: 100%; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: #111111; + border-radius: 0; + padding: 40px 0 0; +} +.fs-lightbox-mobile .fs-lightbox-close { + height: 40px; + width: 40px; + top: 0; + right: 0; + background: #111111; + border-radius: 0; +} +.fs-lightbox-mobile .fs-lightbox-close:before { + color: #cccccc; + font-size: 28px; + font-weight: 700; + line-height: 40px; +} +.fs-lightbox-mobile .fs-lightbox-loading_icon:before { + border-color: rgba(153, 153, 153, 0.25); +} +.fs-lightbox-mobile .fs-lightbox-loading_icon:after { + border-top-color: #999999; +} +.fs-lightbox-mobile .fs-lightbox-container { + position: static; + background: #111111; +} +.fs-lightbox-mobile .fs-lightbox-content { + background-color: #111111; + padding: 0 15px; +} +.fs-lightbox-mobile .fs-lightbox-tools { + width: 100%; + position: fixed; + right: 0; + bottom: 0; + left: 0; + background-color: #111111; +} +.fs-lightbox-mobile .fs-lightbox-control { + width: 50px; + height: 100%; + min-height: 50px; + background: #111111; + border-radius: 0; + box-shadow: none; + opacity: 1; +} +.fs-lightbox-mobile .fs-lightbox-control_previous { + left: 0; +} +.fs-lightbox-mobile .fs-lightbox-control_previous:before { + border-right-color: #eeeeee; + margin-left: 19px; +} +.fs-lightbox-mobile .fs-lightbox-control_next { + right: 0; +} +.fs-lightbox-mobile .fs-lightbox-control_next:before { + border-left-color: #eeeeee; + margin-right: 19px; +} +.no-touch .fs-lightbox-mobile .fs-lightbox-control, +.no-touch .fs-lightbox-mobile:hover .fs-lightbox-control { + opacity: 1; +} +.fs-lightbox-mobile .fs-lightbox-control_disabled, +.no-touch .fs-lightbox-mobile .fs-lightbox-control_disabled, +.no-touch .fs-lightbox-mobile:hover .fs-lightbox-control_disabled { + opacity: 0; + cursor: default !important; +} +.fs-lightbox-mobile .fs-lightbox-meta { + padding: 15px 65px; +} +.fs-lightbox-mobile .fs-lightbox-position { + color: #999999; + font-size: 12px; + margin: 0; + padding: 0 15px 0 0; +} +.fs-lightbox-mobile .fs-lightbox-caption p { + color: #eeeeee; + font-size: 14px; + margin: 0; + padding: 0; +} +.fs-lightbox-mobile .fs-lightbox-image { + -webkit-transition: none !important; + transition: none !important; + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} +.fs-lightbox-mobile.fs-lightbox-animated .fs-lightbox-image { + -webkit-transition: -webkit-transform 0.25s ease-out !important; + transition: transform 0.25s ease-out !important; +} +.fs-lightbox-mobile.fs-lightbox-inline .fs-lightbox-content, +.fs-lightbox-mobile.fs-lightbox-iframe .fs-lightbox-content { + overflow-x: hidden; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; +} +.fs-lightbox-lock { + overflow: hidden !important; +} +.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-tools { + width: auto; + position: static; + background: transparent; +} +.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-controls { + width: 100%; + height: 50px; + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 105; + background-color: #111111; + padding: 0 65px; +} +.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-caption_toggle { + color: #999999; + display: block; + font-size: 12px; + line-height: 50px; +} +.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-meta { + width: 100%; + height: 80%; + position: fixed; + top: 20%; + right: 0; + bottom: 0; + left: 0; + z-index: 104; + background: #222222; + box-shadow: 0 0 25px #000000; + padding: 15px 15px 65px; + -webkit-transform: translate(0, 100%); + -ms-transform: translate(0, 100%); + transform: translate(0, 100%); + -webkit-transition: -webkit-transform 0.25s ease; + transition: transform 0.25s ease; +} +.fs-lightbox-touch.fs-lightbox-caption_open .fs-lightbox-meta { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} diff --git a/static/js/formstone/css/navigation.css b/static/js/formstone/css/navigation.css new file mode 100644 index 0000000..ce774be --- /dev/null +++ b/static/js/formstone/css/navigation.css @@ -0,0 +1,526 @@ +/*! formstone v0.6.7 [navigation.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-navigation-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-navigation + * @type element + * @description Base widget class + */ +.fs-navigation { + /** + * @class + * @name .fs-navigation-toggle-nav + * @type element + * @description Toggle navigation + */ + /** + * @class + * @name .fs-navigation-toggle-nav.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-toggle-nav.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-toggle-handle + * @type element + * @description Toggle handle + */ + /** + * @class + * @name .fs-navigation-toggle-handle.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-toggle-handle.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-overlay-nav + * @type element + * @description Overlay nav + */ + /** + * @class + * @name .fs-navigation-overlay-nav.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-overlay-nav.fs-navigation-animated + * @type modifier + * @description Indicates animated state + */ + /** + * @class + * @name .fs-navigation-overlay-nav.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-overlay-left-nav + * @type modifier + * @description Indicates left hand nav + */ + /** + * @class + * @name .fs-navigation-overlay-right-nav + * @type modifier + * @description Indicates right hand nav + */ + /** + * @class + * @name .fs-navigation-push-nav + * @type element + * @description Push nav + */ + /** + * @class + * @name .fs-navigation-push-nav.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-push-nav.fs-navigation-animated + * @type modifier + * @description Indicates animated state + */ + /** + * @class + * @name .fs-navigation-push-nav.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-push-left-nav + * @type modifier + * @description Indicates left hand nav + */ + /** + * @class + * @name .fs-navigation-push-right-nav + * @type modifier + * @description Indicates right hand nav + */ + /** + * @class + * @name .fs-navigation-reveal-nav + * @type element + * @description Reveal nav + */ + /** + * @class + * @name .fs-navigation-reveal-nav.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-reveal-nav.fs-navigation-animated + * @type modifier + * @description Indicates animated state + */ + /** + * @class + * @name .fs-navigation-reveal-nav.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-reveal-left-nav + * @type modifier + * @description Indicates left hand nav + */ + /** + * @class + * @name .fs-navigation-reveal-right-nav + * @type modifier + * @description Indicates right hand nav + */ + /** + * @class + * @name .fs-navigation-overlay-handle + * @type element + * @description Overlay handle + */ + /** + * @class + * @name .fs-navigation-overlay-handle.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-push-handle + * @type element + * @description Push handle + */ + /** + * @class + * @name .fs-navigation-push-handle.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-overlay-content:before + * @type element + * @description Overlay mask + */ + /** + * @class + * @name .fs-navigation-overlay-content.fs-navigation-open:before + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-push-content + * @type element + * @description Target page content + */ + /** + * @class + * @name .fs-navigation-push-content.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-push-content.fs-navigation-animated + * @type modifier + * @description Indicates animted state + */ + /** + * @class + * @name .fs-navigation-push-content.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-push-left-content + * @type modifier + * @description Indicates left hand nav + */ + /** + * @class + * @name .fs-navigation-push-right-content + * @type modifier + * @description Indicates right hand nav + */ + /** + * @class + * @name .fs-navigation-reveal-content + * @type element + * @description Target page content + */ + /** + * @class + * @name .fs-navigation-reveal-content.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-reveal-content.fs-navigation-animated + * @type modifier + * @description Indicates animted state + */ + /** + * @class + * @name .fs-navigation-reveal-content.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-reveal-left-content + * @type modifier + * @description Indicates left hand nav + */ + /** + * @class + * @name .fs-navigation-reveal-right-content + * @type modifier + * @description Indicates right hand nav + */ + /** + * @class + * @name .fs-navigation-handle + * @type element + * @description Click target to toggle navigation + */ + /** + * @class + * @name .fs-navigation-handle.fs-navigation-open + * @type modifier + * @description Indicates open state + */ + /** + * @class + * @name .fs-navigation-handle.fs-navigation-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-navigation-handle:after + * @type element + * @description Icon displayed in handle + */ + /** + * @class + * @name .fs-navigation-lock + * @type modifier + * @description Indicates locked state; Applied to body element + */ +} +.fs-navigation.fs-navigation-enabled { + margin: 0; +} +.fs-navigation, +.fs-navigation:after, +.fs-navigation:before, +.fs-navigation *, +.fs-navigation *:after, +.fs-navigation *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-navigation-toggle-nav.fs-navigation-enabled { + background: #ffffff; + border: 1px solid #cccccc; + border-width: 0 1px 1px; + border-radius: 0 0 3px 3px; + display: none; +} +.fs-navigation-toggle-nav.fs-navigation-open { + display: block; +} +.fs-navigation-toggle-handle.fs-navigation-enabled { + width: 100%; + background: #ffffff; + border: 1px solid #cccccc; + border-radius: 3px; + color: #111111; + cursor: pointer; + display: block; + font-size: 14px; + height: 40px; + line-height: 40px; + margin: 0; + padding: 0 45px 0 15px; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.fs-navigation-toggle-handle.fs-navigation-open { + border-radius: 3px 3px 0 0; +} +.fs-navigation-push-nav.fs-navigation-enabled, +.fs-navigation-reveal-nav.fs-navigation-enabled, +.fs-navigation-overlay-nav.fs-navigation-enabled { + width: 270px; + height: 100%; + height: -webkit-calc(100% + 60px); + height: calc(100% + 60px); + position: fixed; + top: 0; + background: #ffffff; + display: block; + overflow: auto; + visibility: hidden; +} +.fs-navigation-reveal-nav.fs-navigation-animated { + -webkit-transition: visibility 0.001s linear 0.2s; + transition: visibility 0.001s linear 0.2s; +} +.fs-navigation-push-nav.fs-navigation-animated, +.fs-navigation-overlay-nav.fs-navigation-animated { + -webkit-transition: -webkit-transform 0.2s ease, visibility 0.001s linear 0.2s; + transition: transform 0.2s ease, visibility 0.001s linear 0.2s; +} +.fs-navigation-push-nav.fs-navigation-enabled, +.fs-navigation-reveal-nav.fs-navigation-enabled { + z-index: 0; +} +.fs-navigation-push-left-nav.fs-navigation-enabled, +.fs-navigation-reveal-left-nav.fs-navigation-enabled, +.fs-navigation-overlay-left-nav.fs-navigation-enabled { + left: 0; +} +.fs-navigation-push-right-nav.fs-navigation-enabled, +.fs-navigation-reveal-right-nav.fs-navigation-enabled, +.fs-navigation-overlay-right-nav.fs-navigation-enabled { + right: 0; +} +.fs-navigation-push-left-nav.fs-navigation-enabled, +.fs-navigation-overlay-left-nav.fs-navigation-enabled { + -webkit-transform: translate3D(-270px, 0, 0); + -ms-transform: translate3D(-270px, 0, 0); + transform: translate3D(-270px, 0, 0); +} +.fs-navigation-push-right-nav.fs-navigation-enabled, +.fs-navigation-overlay-right-nav.fs-navigation-enabled { + -webkit-transform: translate3D(270px, 0, 0); + -ms-transform: translate3D(270px, 0, 0); + transform: translate3D(270px, 0, 0); +} +.fs-navigation-overlay-nav.fs-navigation-enabled { + z-index: 2; +} +.fs-navigation-overlay-left-nav.fs-navigation-enabled { + box-shadow: 2px 0 2px rgba(0, 0, 0, 0.15); +} +.fs-navigation-overlay-right-nav.fs-navigation-enabled { + box-shadow: -2px 0 2px rgba(0, 0, 0, 0.15); +} +.fs-navigation-reveal-nav.fs-navigation-open { + visibility: visible; + -webkit-transition: visibility 0.001s ease; + transition: visibility 0.001s ease; +} +.fs-navigation-push-nav.fs-navigation-open, +.fs-navigation-overlay-nav.fs-navigation-open { + -webkit-transform: translate3D(0, 0, 0); + -ms-transform: translate3D(0, 0, 0); + transform: translate3D(0, 0, 0); + -webkit-transition: -webkit-transform 0.2s ease, visibility 0.001s ease; + transition: transform 0.2s ease, visibility 0.001s ease; + visibility: visible; +} +.fs-navigation-push-handle.fs-navigation-enabled, +.fs-navigation-overlay-handle.fs-navigation-enabled { + padding: 10px 40px 10px 15px; + background: #ffffff; + color: #111111; + cursor: pointer; + display: block; + font-size: 14px; + margin: 0; + padding: 0 45px 0 15px; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.fs-navigation-overlay-content:before { + width: 100%; + height: 100%; + height: -webkit-calc(100% + 60px); + height: calc(100% + 60px); + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + background: #ffffff; + background: rgba(255, 255, 255, 0.75); + content: ''; + display: block; + opacity: 0; + -webkit-transition: opacity 0.2s ease, visibility 0.2s ease; + transition: opacity 0.2s ease, visibility 0.2s ease; + visibility: hidden; +} +.fs-navigation-overlay-content.fs-navigation-open:before { + opacity: 1; + visibility: visible; +} +.fs-navigation-reveal-content.fs-navigation-enabled, +.fs-navigation-push-content.fs-navigation-enabled { + position: relative; + z-index: 1; + display: block; + overflow: hidden; + -webkit-transform: translate3D(0, 0, 0); + -ms-transform: translate3D(0, 0, 0); + transform: translate3D(0, 0, 0); +} +.fs-navigation-reveal-content.fs-navigation-animated, +.fs-navigation-push-content.fs-navigation-animated { + -webkit-transition: -webkit-transform 0.2s ease; + transition: transform 0.2s ease; +} +.fs-navigation-reveal-left-content.fs-navigation-enabled, +.fs-navigation-push-left-content.fs-navigation-enabled { + box-shadow: -2px 0 2px rgba(0, 0, 0, 0.15); +} +.fs-navigation-reveal-right-content.fs-navigation-enabled, +.fs-navigation-push-right-content.fs-navigation-enabled { + box-shadow: 2px 0 2px rgba(0, 0, 0, 0.15); +} +.fs-navigation-reveal-left-content.fs-navigation-open, +.fs-navigation-push-left-content.fs-navigation-open { + -webkit-transform: translate3D(270px, 0, 0); + -ms-transform: translate3D(270px, 0, 0); + transform: translate3D(270px, 0, 0); +} +.fs-navigation-reveal-right-content.fs-navigation-open, +.fs-navigation-push-right-content.fs-navigation-open { + -webkit-transform: translate3D(-270px, 0, 0); + -ms-transform: translate3D(-270px, 0, 0); + transform: translate3D(-270px, 0, 0); +} +.fs-navigation-handle.fs-navigation-enabled { + position: relative; +} +.fs-navigation-handle.fs-navigation-enabled:after { + height: 3px; + width: 15px; + position: absolute; + top: 0; + right: 15px; + bottom: 0; + background: #cccccc; + box-shadow: 0 5px 0 #cccccc, 0 -5px 0 #cccccc; + content: ''; + display: block; + margin: auto 0; +} +.fs-navigation-handle.fs-navigation-open:after { + width: 15px; + height: 15px; + background: transparent; + border: none; + box-shadow: none; + color: #cccccc; + content: "\00d7"; + font-size: 22px; + font-weight: 700; + line-height: 13px; + text-align: center; +} +.fs-navigation-lock { + overflow: hidden !important; +} diff --git a/static/js/formstone/css/number.css b/static/js/formstone/css/number.css new file mode 100644 index 0000000..08609e1 --- /dev/null +++ b/static/js/formstone/css/number.css @@ -0,0 +1,158 @@ +/*! formstone v0.6.7 [number.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-number-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-number + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-number.fs-number-disabled + * @type modifier + * @description Indicates disabled state + */ +.fs-number { + position: relative; + border-radius: 3px; + margin: 0 0 10px 0; + overflow: hidden; + /** + * @class + * @name .fs-number-arrow + * @type element + * @description Arrow elmement + */ + /** + * @class + * @name .fs-number-arrow:after + * @type element + * @description Arrow icon + */ + /** + * @class + * @name .fs-number-arrow.fs-number-up + * @type modifier + * @description Indicates up state + */ + /** + * @class + * @name .fs-number-arrow.fs-number-down + * @type modifier + * @description Indicates up state + */ +} +.fs-number, +.fs-number:after, +.fs-number:before, +.fs-number *, +.fs-number *:after, +.fs-number *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-number-element { + width: 100%; + background: #ffffff; + border: 1px solid #cccccc; + border-radius: 3px; + color: #222222; + font-size: 15px; + line-height: 1; + overflow: hidden; + padding: 0 10px; + -moz-appearance: textfield; +} +.fs-number-element::-webkit-inner-spin-button, +.fs-number-element::-webkit-outer-spin-button { + margin: 0; + -webkit-appearance: none; +} +.fs-number-element::-ms-clear { + display: none; +} +.fs-number-element:focus { + background-color: #ffffff; +} +.fs-number-disabled .fs-number-element { + background: #ffffff; + border-color: #cccccc; + color: #cccccc; +} +.fs-number-arrow { + width: 25px; + height: 50%; + position: absolute; + right: 0; + z-index: 1; + background: #ffffff; + border: 1px solid #cccccc; + cursor: pointer; + display: block; + overflow: hidden; + text-indent: 200%; + white-space: nowrap; +} +.no-opacity .fs-number-arrow { + text-indent: -999999px; +} +.fs-number-arrow:focus { + outline: none; +} +.fs-number-arrow:after { + width: 0; + height: 0; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + content: ''; + display: block; + margin: auto; +} +.fs-number-arrow.fs-number-up { + top: 0; +} +.fs-number-arrow.fs-number-up:after { + border-bottom: 5px solid #666666; +} +.fs-number-arrow.fs-number-down { + bottom: 0; + border-top: none; +} +.fs-number-arrow.fs-number-down:after { + border-top: 5px solid #666666; +} +.fs-number-disabled .fs-number-arrow { + cursor: default; +} +.fs-number-disabled .fs-number-arrow:after { + border-top-color: #cccccc; + border-bottom-color: #cccccc; +} +/* + @media screen and (min-width: 740px) { + .stepper:hover .stepper-input { background-color: #fff; } + + .stepper .stepper-step:hover { background-color: #F9F9F9; } + + .stepper.disabled .stepper-arrow { background: #fff; border-color: #eee; cursor: default; } + } + + .stepper.disabled .stepper-input { background: #fff; border-color: #eee; color: #ccc; } + .stepper.disabled .stepper-arrow { background: #fff; border-color: #eee; cursor: default; } +*/ diff --git a/static/js/formstone/css/pagination.css b/static/js/formstone/css/pagination.css new file mode 100644 index 0000000..7d5c443 --- /dev/null +++ b/static/js/formstone/css/pagination.css @@ -0,0 +1,138 @@ +/*! formstone v0.6.7 [pagination.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-pagination-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-pagination + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-pagination.fs-pagination-mobile + * @type modifier + * @description Indicates mobile display + */ +.fs-pagination { + /** + * @class + * @name .fs-pagination + * @type element + * @description Pages container + */ + /** + * @class + * @name .fs-pagination-page + * @type element + * @description Page element + */ + /** + * @class + * @name .fs-pagination-ellipsis + * @type element + * @description Ellipsis element + */ + /** + * @class + * @name .fs-pagination-page.fs-pagination-active + * @type modifier + * @description Indicates active page + */ + /** + * @class + * @name .fs-pagination-page.fs-pagination-first + * @type modifier + * @description Indicates first page + */ + /** + * @class + * @name .fs-pagination-page.fs-pagination-last + * @type modifier + * @description Indicates last page + */ + /** + * @class + * @name .fs-pagination-page.fs-pagination-visible + * @type modifier + * @description Indicates visible page + */ + /** + * @class + * @name .fs-pagination-control + * @type element + * @description Pagination button + */ + /** + * @class + * @name .fs-pagination-control.fs-pagination-control_previous + * @type modifier + * @description Indicates previous control + */ + /** + * @class + * @name .fs-pagination-control.fs-pagination-control_next + * @type modifier + * @description Indicates next control + */ + /** + * @class + * @name .fs-pagination-position + * @type element + * @description Mobile position indicator + */ + /** + * @class + * @name .fs-pagination-select + * @type element + * @description Mobile page dropdown + */ +} +.fs-pagination-pages { + text-align: center; +} +.fs-pagination-page, +.fs-pagination-ellipsis { + display: none; + margin: 0 5px; +} +.fs-pagination-active, +.fs-pagination-first, +.fs-pagination-last, +.fs-pagination-visible { + display: inline-block; +} +.fs-pagination-control { + border: none; + display: block; +} +.fs-pagination-control:focus { + outline: none; +} +.fs-pagination-control_previous { + float: left; +} +.fs-pagination-control_next { + float: right; +} +.fs-pagination-position, +.fs-pagination-select { + display: none; +} +.fs-pagination-mobile .fs-pagination-pages { + display: none; +} +.fs-pagination-mobile .fs-pagination-position { + display: block; + text-align: center; +} +.fs-pagination-mobile .fs-pagination-select { + position: absolute; + z-index: -1; + display: block; + opacity: 0; +} diff --git a/static/js/formstone/css/range.css b/static/js/formstone/css/range.css new file mode 100644 index 0000000..d400a5f --- /dev/null +++ b/static/js/formstone/css/range.css @@ -0,0 +1,132 @@ +/*! formstone v0.6.7 [range.css] 2015-06-13 | MIT License | formstone.it */ + +.fs-range { + width: 100%; +} +.fs-range, +.fs-range:after, +.fs-range:before, +.fs-range *, +.fs-range *:after, +.fs-range *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-range-element { + width: 1px; + height: 1px; + position: absolute; + z-index: -1; + opacity: 0; +} +.no-touch .fs-range-element { + left: -9999px; +} +.fs-range-track { + width: 100%; + height: 8px; + position: relative; + background: #fbfbfb; + border: 1px solid #ddd; + border-radius: 4px; + float: left; + margin: 10px 0; +} +.fs-range-handle { + width: 1px; + height: 100%; + left: 0; + position: absolute; + top: 0; + display: block; + overflow: visible; +} +.fs-range-marker { + width: 14px; + height: 14px; + background: #DCDCDC; + border: 1px solid #AFAFAF; + border-radius: 100%; + cursor: pointer; + display: block; + margin: -4px 0 0 -6px; +} +.no-touch .fs-range:hover .fs-range-track { + box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.1); +} +.no-touch .fs-range:hover .fs-range-marker { + background: #ccc; + border-color: #999; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.25); +} +.fs-range-focus .fs-range-track { + box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.1); +} +.fs-range-focus .fs-range-marker { + background: #ccc; + border-color: #999; + box-shadow: 0 0 3px rgba(0, 0, 0, 0.25); +} +.fs-range-labels .fs-range-track { + width: 80%; +} +.fs-range-label { + width: 8%; + display: block; + font-size: 12px; + line-height: 28px; +} +.fs-range-label_min { + float: left; + margin: 0 2% 0 0; + text-align: right; +} +.fs-range-label_max { + float: right; + margin: 0 0 0 2%; + text-align: left; +} +.fs-range-vertical { + height: 300px; + width: 30px; +} +.fs-range-vertical .fs-range-track { + width: 8px; + height: 75%; + margin: 0 11px 0; +} +.fs-range-vertical .fs-range-handle { + width: 100%; + height: 1px; + top: auto; + bottom: 0; + left: 0; +} +.fs-range-vertical .fs-range-marker { + margin: -7px 0 0 -4px; +} +.fs-range-vertical .fs-range-label { + clear: both; + float: none; + height: 10%; + text-align: center; + width: 100%; +} +.fs-range-vertical .fs-range-label_min { + padding: 5px 0 0; +} +.fs-range-vertical .fs-range-label_max { + padding: 0; +} +.fs-range-disabled { + cursor: default; + opacity: 0.5; +} +.fs-range-disabled .fs-range-disc { + cursor: default; +} diff --git a/static/js/formstone/css/scrollbar.css b/static/js/formstone/css/scrollbar.css new file mode 100644 index 0000000..6da4e1f --- /dev/null +++ b/static/js/formstone/css/scrollbar.css @@ -0,0 +1,154 @@ +/*! formstone v0.6.7 [scrollbar.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-scrollbar-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-scrollbar + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-scrollbar.fs-scrollbar-horizontal + * @type modifier + * @description Indicates horizontal scrolling + */ +/** + * @class + * @name .fs-scrollbar.fs-scrollbar-setup + * @type modifier + * @description Indicates setup state + */ +/** + * @class + * @name .fs-scrollbar.fs-scrollbar-active + * @type modifier + * @description Indicates active state + */ +.fs-scrollbar { + overflow: hidden; + overflow-x: hidden; + overflow-y: hidden; + position: relative; + /** + * @class + * @name .fs-scrollbar-content + * @type element + * @description Scrolling content + */ + /** + * @class + * @name .fs-scrollbar-bar + * @type element + * @description Scrollbar container + */ + /** + * @class + * @name .fs-scrollbar-track + * @type element + * @description Scrollbar track container + */ + /** + * @class + * @name .fs-scrollbar-handle + * @type element + * @description Scrollbar handle + */ +} +.fs-scrollbar, +.fs-scrollbar * { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-scrollbar, +.fs-scrollbar-content, +.fs-scrollbar-bar, +.fs-scrollbar-track, +.fs-scrollbar-handle { + box-sizing: border-box; +} +.fs-scrollbar-content { + position: relative; + z-index: 1; + height: 100%; + overflow: auto; + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} +.fs-scrollbar-content::-webkit-scrollbar, +.fs-scrollbar-content::-webkit-scrollbar-button, +.fs-scrollbar-content::-webkit-scrollbar-track, +.fs-scrollbar-content::-webkit-scrollbar-track-piece, +.fs-scrollbar-content::-webkit-scrollbar-thumb, +.fs-scrollbar-content::-webkit-scrollbar-corner, +.fs-scrollbar-content::-webkit-resizer { + background: transparent; + opacity: 0; +} +.fs-scrollbar-bar { + width: 16px; + height: 100%; + position: absolute; + right: 0; + top: 0; + z-index: 2; + background: #ffffff; + border: 1px solid #eeeeee; + border-width: 0 0 0 1px; + display: none; +} +.fs-scrollbar-track { + width: 100%; + height: 100%; + position: relative; + background: #ffffff; + overflow: hidden; +} +.fs-scrollbar-handle { + width: 10px; + height: 20px; + position: absolute; + top: 0; + right: 3px; + z-index: 2; + background: #cccccc; + border: 1px solid #ffffff; + border-radius: 5px; + cursor: pointer; +} +.fs-scrollbar-horizontal .fs-scrollbar-content { + overflow: auto; + overflow-x: auto; + overflow-y: hidden; + padding: 0 0 16px 0; +} +.fs-scrollbar-horizontal .fs-scrollbar-bar { + width: 100%; + height: 16px; + top: auto; + bottom: 0; + border-width: 1px 0 0 0; +} +.fs-scrollbar-horizontal .fs-scrollbar-handle { + width: 20px; + height: 10px; + top: auto; + right: auto; + bottom: 3px; +} +.fs-scrollbar-setup .fs-scrollbar-content, +.fs-scrollbar-active .fs-scrollbar-content { + padding: 20px; +} +.fs-scrollbar-setup .fs-scrollbar-bar, +.fs-scrollbar-active .fs-scrollbar-bar { + display: block; +} diff --git a/static/js/formstone/css/tabs.css b/static/js/formstone/css/tabs.css new file mode 100644 index 0000000..6040f90 --- /dev/null +++ b/static/js/formstone/css/tabs.css @@ -0,0 +1,110 @@ +/*! formstone v0.6.7 [tabs.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-tabs-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-tabs + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-tabs.fs-tabs-enabled + * @type modifier + * @description Indicates enabled state + */ +.fs-tabs { + /** + * @class + * @name .fs-tabs-tab + * @type element + * @description Tab handle element + */ + /** + * @class + * @name .fs-tabs-tab.fs-tabs-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-tabs-tab.fs-tabs-active + * @type modifier + * @description Indicates active state + */ + /** + * @class + * @name .fs-tabs-tab.fs-tabs-mobile + * @type modifier + * @description Indicates mobile interface + */ + /** + * @class + * @name .fs-tabs-content + * @type element + * @description Tab content element + */ + /** + * @class + * @name .fs-tabs-content.fs-tabs-enabled + * @type modifier + * @description Indicates enabled state + */ + /** + * @class + * @name .fs-tabs-content.fs-tabs-active + * @type modifier + * @description Indicates active state + */ + /** + * @class + * @name .fs-tabs-tab_mobile + * @type element + * @description Mobile tab handle element + */ + /** + * @class + * @name .fs-tabs-tab_mobile.fs-tabs-active + * @type modifier + * @description Indicates active state + */ +} +.fs-tabs.fs-tabs-enabled:after { + clear: both; + content: ''; + display: table; +} +.fs-tabs-tab.fs-tabs-enabled { + box-sizing: border-box; + border: none; + cursor: pointer; +} +.fs-tabs-tab.fs-tabs-enabled:focus { + outline: none; +} +.fs-tabs-content.fs-tabs-enabled { + box-sizing: border-box; + display: none; +} +.fs-tabs-content.fs-tabs-enabled:after { + clear: both; + content: ''; + display: table; +} +.fs-tabs-content.fs-tabs-active { + display: block; +} +.fs-tabs-tab.fs-tabs-mobile, +.fs-tabs-tab_mobile, +.fs-tabs-tab_mobile.fs-tabs-active { + display: none; +} +.fs-tabs-tab_mobile.fs-tabs-mobile, +.fs-tabs-tab_mobile.fs-tabs-mobile.fs-tabs-active { + display: block; +} diff --git a/static/js/formstone/css/tooltip.css b/static/js/formstone/css/tooltip.css new file mode 100644 index 0000000..cc566ec --- /dev/null +++ b/static/js/formstone/css/tooltip.css @@ -0,0 +1,151 @@ +/*! formstone v0.6.7 [tooltip.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-tooltip-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-tooltip + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-tooltip.fs-tooltip-visible + * @type modifier + * @description Inidcates visible state + */ +/** + * @class + * @name .fs-tooltip.fs-tooltip-right + * @type modifier + * @description Inidcates right side display + */ +/** + * @class + * @name .fs-tooltip.fs-tooltip-left + * @type modifier + * @description Inidcates left side display + */ +/** + * @class + * @name .fs-tooltip.fs-tooltip-top + * @type modifier + * @description Inidcates top display + */ +/** + * @class + * @name .fs-tooltip.fs-tooltip-bottom + * @type modifier + * @description Inidcates bottom display + */ +.fs-tooltip { + width: 1px; + height: 1px; + position: absolute; + top: -999px; + left: -999px; + z-index: 10; + opacity: 0; + pointer-events: none; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + /** + * @class + * @name .fs-tooltip-content + * @type element + * @description Tooltip content wrapper + */ + /** + * @class + * @name .fs-tooltip-caret + * @type element + * @description Tooltip caret + */ +} +.fs-tooltip, +.fs-tooltip:after, +.fs-tooltip:before, +.fs-tooltip *, +.fs-tooltip *:after, +.fs-tooltip *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-tooltip-visible { + opacity: 1; +} +.fs-tooltip-content { + background: #111111; + border-radius: 3px; + color: #ffffff; + display: block; + float: left; + font-size: 12px; + margin: 0; + padding: 10px 15px; + position: relative; + white-space: nowrap; +} +.fs-tooltip-caret { + width: 0; + height: 0; + content: ''; + display: block; + margin: 0; + position: absolute; +} +.fs-tooltip-right .fs-tooltip-content { + box-shadow: 1px 0 5px rgba(0, 0, 0, 0.35); +} +.fs-tooltip-right .fs-tooltip-caret { + top: 0; + left: -5px; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-right: 5px solid #111111; +} +.fs-tooltip-left .fs-tooltip-content { + box-shadow: -1px 0 5px rgba(0, 0, 0, 0.35); +} +.fs-tooltip-left .fs-tooltip-caret { + top: 0; + right: -5px; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid #111111; +} +.fs-tooltip-top .fs-tooltip-caret, +.fs-tooltip-bottom .fs-tooltip-caret { + display: block; + float: none; + margin: 0 auto; +} +.fs-tooltip-top .fs-tooltip-content { + box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.35); +} +.fs-tooltip-top .fs-tooltip-caret { + bottom: -5px; + left: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid #111111; +} +.fs-tooltip-bottom .fs-tooltip-content { + box-shadow: 0 1px 5px rgba(0, 0, 0, 0.35); +} +.fs-tooltip-bottom .fs-tooltip-caret { + top: -5px; + left: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #111111; +} diff --git a/static/js/formstone/css/upload.css b/static/js/formstone/css/upload.css new file mode 100644 index 0000000..faebec7 --- /dev/null +++ b/static/js/formstone/css/upload.css @@ -0,0 +1,80 @@ +/*! formstone v0.6.7 [upload.css] 2015-06-13 | MIT License | formstone.it */ + +/** + * @class + * @name .fs-upload-element + * @type element + * @description Target elmement + */ +/** + * @class + * @name .fs-upload + * @type element + * @description Base widget class + */ +/** + * @class + * @name .fs-upload.fs-upload-dropping + * @type modifier + * @description Indicates dropping state + */ +.fs-upload { + overflow: hidden; + /** + * @class + * @name .fs-upload-input + * @type element + * @description Masked Input + */ + /** + * @class + * @name .fs-upload-target + * @type element + * @description Drop target + */ +} +.fs-upload, +.fs-upload:after, +.fs-upload:before, +.fs-upload *, +.fs-upload *:after, +.fs-upload *:before { + box-sizing: border-box; + -webkit-transition: none; + transition: none; + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.fs-upload-input { + position: absolute; + left: 100%; + opacity: 0; +} +.no-opacity .fs-upload-input { + left: -999px; +} +.fs-upload-target { + background: #ffffff; + border: 3px dashed #cccccc; + border-radius: 3px; + color: #666666; + cursor: pointer; + font-size: 14px; + margin: 0; + padding: 25px; + text-align: center; + -webkit-transition: background 0.15s linear, + border 0.15s linear, + opacity 0.15s linear; + transition: background 0.15s linear, + border 0.15s linear, + opacity 0.15s linear; +} +.fs-upload.dropping .fs-upload-target, +.no-touch .fs-upload:hover .fs-upload-target { + background: #eeeeee; + border-color: #999999; + color: #333333; +} diff --git a/static/js/formstone/js/analytics.js b/static/js/formstone/js/analytics.js new file mode 100644 index 0000000..4431cfb --- /dev/null +++ b/static/js/formstone/js/analytics.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [analytics.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(){j=b.$body}function d(){return arguments.length&&"object"!==a.type(arguments[0])?g.apply(this,arguments):e.apply(this,arguments),null}function e(b){!k&&j.length&&(k=!0,h=a.extend(h,b||{}),j.on("click.scout","*["+m+"]",f))}function f(b){if("function"===a.type(i.ga)){b.preventDefault();var c=a(this),d=c.attr("href"),e=c.data(l).split(",");for(var f in e)e.hasOwnProperty(f)&&(e[f]=a.trim(e[f]));g(e[0],e[1],e[2]||d,e[3],e[4],c)}}function g(b,c,d,e,f,g){if("function"===a.type(i.ga)){var h={hitType:"event",location:i.location,title:i.document.title};if(b&&(h.eventCategory=b),c&&(h.eventAction=c),d&&(h.eventLabel=d),e&&(h.eventValue=e),f&&(h.nonInteraction=f),"undefined"!==a.type(g)&&!g.attr("data-analytics-stop")){var j="undefined"!==a.type(g[0].href)?g[0].href:"",k=!j.match(/^mailto\:/i)&&!j.match(/^tel\:/i)&&j.indexOf(":")<0?i.location.protocol+"//"+i.location.hostname+"/"+j:j;""!==j&&(g.attr("target")?i.open(k,g.attr("target")):h.hitCallback=function(){document.location=k})}i.ga("send",h)}}var h=(b.Plugin("analytics",{methods:{_setup:c},utilities:{_delegate:d}}),{filetypes:/\.(zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i}),i=b.window,j=null,k=!1,l="analytics-event",m="data-"+l}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/asap.js b/static/js/formstone/js/asap.js new file mode 100644 index 0000000..a28e502 --- /dev/null +++ b/static/js/formstone/js/asap.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [asap.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(c){p||b.support.history&&(n=b.$body,p=a.extend(r,c),p.$container=a(p.container),p.render===a.noop&&(p.render=j),p.transitionOut===a.noop&&(p.transitionOut=function(){return a.Deferred().resolve()}),x=window.location.href,s.on(v.popState,g),d())}function d(){n&&!n.hasClass(w.base)&&n.on(v.click,r.selector,f).addClass(w.base)}function e(a){p&&b.support.history?a&&h(a):window.location.href=a}function f(a){var b=a.currentTarget;a.which>1||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||window.location.protocol!==b.protocol||window.location.host!==b.host||"_blank"===b.target||(!b.hash||b.href.replace(b.hash,"")!==window.location.href.replace(location.hash,"")&&b.href!==window.location.href+"#")&&(u.killEvent(a),a.stopImmediatePropagation(),b.href===x||h(b.href))}function g(a){var b=a.originalEvent.state;b&&(p.modal&&0===y&&b.url&&!b.initial?window.location.href=b.url:b.url!==x&&(p.force?h(b.url):(s.trigger(v.request,[!0]),i(b.url,b.hash,b.data,b.scroll,!1))))}function h(b){o&&o.abort(),s.trigger(v.request,[!1]),p.transitionOutDeferred=p.transitionOut.apply(t,[!1]);var c=b.indexOf("?"),d=b.indexOf("#"),e={},f="",g=b,h="User error",j=null,k=a.Deferred();d>-1&&(f=b.slice(d),g=b.slice(0,d)),c>-1&&(e=m(b.slice(c+1,d>-1?d:b.length)),g=b.slice(0,c)),e[p.requestKey]=!0,o=a.ajax({url:g,data:e,dataType:"json",cache:p.cache,xhr:function(){var a=new t.XMLHttpRequest;return a.addEventListener("progress",function(a){if(a.lengthComputable){var b=a.loaded/a.total;s.trigger(v.progress,[b])}},!1),a},success:function(c){j="string"===a.type(c)?a.parseJSON(c):c,c.location&&(b=c.location),k.resolve()},error:function(a,b,c){h=c,k.reject()}}),a.when(k,p.transitionOutDeferred).done(function(){i(b,f,j,p.jump?0:!1,!0)}).fail(function(){s.trigger(v.error,[h])})}function i(b,c,d,e,f){if(s.trigger(v.load,[d]),l(b),k(d),p.render.call(this,d,c),x=b,f?(history.pushState({url:x,data:d,scroll:e,hash:c},"state-"+x,x),y++):k(d),s.trigger(v.render,[d]),""!==c){var g=a(c);g.length&&(e=g.offset().top)}e!==!1&&s.scrollTop(e)}function j(b){if("undefined"!==a.type(b)){var c;for(var d in b)b.hasOwnProperty(d)&&(c=a(d),c.length&&c.html(b[d]))}}function k(b){var c=[];if("undefined"!==a.type(b)){var d;for(var e in b)b.hasOwnProperty(e)&&(d=a(e),d.length&&(c[e]=d.html()))}history.replaceState({url:x,data:c,scroll:s.scrollTop()},"state-"+x,x)}function l(a){if(a=a.replace(window.location.protocol+"//"+window.location.host,""),p.tracking.legacy)t._gaq=t._gaq||[],t._gaq.push(["_trackPageview",a]);else if(p.tracking.manager){var b={};b[p.tracking.variable]=a,t.dataLayer=window.dataLayer||[],t.dataLayer.push(b),t.dataLayer.push({event:p.tracking.event})}}function m(a){for(var b={},c=a.slice(a.indexOf("?")+1).split("&"),d=0;d
').appendTo(this),this.addClass([u.base,b.customClass].join(" "));var c=b.source;b.source=null,g(b,c,!0),d()}function f(a){a.$container.remove(),this.removeClass([u.base,a.customClass].join(" ")).off(v.namespace),d()}function g(b,c,d){if(c!==b.source){if(b.source=c,b.responsive=!1,b.isYouTube=!1,"object"===a.type(c)&&"string"===a.type(c.video)){var e=c.video.match(/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/i);e&&e.length>=1&&(b.isYouTube=!0,b.videoId=e[1])}var f=!b.isYouTube&&"object"===a.type(c)&&(c.hasOwnProperty("mp4")||c.hasOwnProperty("ogg")||c.hasOwnProperty("webm"));if(b.video=b.isYouTube||f,b.playing=!1,b.isYouTube)b.playerReady=!1,b.posterLoaded=!1,k(b,c,d);else if("object"===a.type(c)&&c.hasOwnProperty("poster"))j(b,c,d);else{var g=c;if("object"===a.type(c)){var l,m={},n=[];for(l in c)c.hasOwnProperty(l)&&n.push(l);n.sort(w.sortAsc);for(l in n)n.hasOwnProperty(l)&&(m[n[l]]={width:parseInt(n[l]),url:c[n[l]]});b.responsive=!0,b.sources=m,g=h(b)}i(b,g,!1,d)}}else b.$el.trigger(v.loaded)}function h(a){if(a.responsive)for(var c in a.sources)if(a.sources.hasOwnProperty(c)&&b.windowWidth>=a.sources[c].width)return a.sources[c].url;return a.source}function i(b,c,d,e){var f=[u.media,u.image,e!==!0?u.animated:""].join(" "),g=a('
'),h=g.find("img"),i=c;h.one(v.load,function(){z&&g.addClass(u["native"]).css({backgroundImage:"url('"+i+"')"}),g.transition({property:"opacity"},function(){d||l(b)}).css({opacity:1}),q(b),(!d||e)&&b.$el.trigger(v.loaded)}).attr("src",i),b.responsive&&g.addClass(u.responsive),b.$container.append(g),(h[0].complete||4===h[0].readyState)&&h.trigger(v.load),b.currentSource=i}function j(c,d,e){if(c.source&&c.source.poster&&(i(c,c.source.poster,!0,!0),e=!1),!b.isMobile){var f=[u.media,u.video,e!==!0?u.animated:""].join(" "),g='
';g+="'),c.source.mp4&&(g+=''),c.source.ogg&&(g+=''),g+="",g+="
";var h=a(g),j=h.find("video");j.one(v.loadedMetaData,function(){h.transition({property:"opacity"},function(){l(c)}).css({opacity:1}),q(c),c.$el.trigger(v.loaded),c.autoPlay&&o(c)}),c.$container.append(h)}}function k(c,d,e){if(!c.videoId){var f=d.match(/^.*(?:youtu.be\/|v\/|e\/|u\/\w+\/|embed\/|v=)([^#\&\?]*).*/);c.videoId=f[1]}if(c.posterLoaded||(c.source.poster||(c.source.poster="http://img.youtube.com/vi/"+c.videoId+"/0.jpg"),c.posterLoaded=!0,i(c,c.source.poster,!0,e),e=!1),!b.isMobile)if(a("script[src*='youtube.com/iframe_api']").length||a("head").append(''),A){var g=c.guid+"_"+c.youTubeGuid++,h=[u.media,u.embed,e!==!0?u.animated:""].join(" "),j='
';j+='
',j+="
";var k=a(j),m=a.extend(!0,{},{controls:0,rel:0,showinfo:0,wmode:"transparent",enablejsapi:1,version:3,playerapiid:g,loop:c.loop?1:0,autoplay:1,origin:x.location.protocol+"//"+x.location.host},c.youtubeOptions);c.$container.append(k),c.player&&(c.oldPlayer=c.player,c.player=null),c.player=new x.YT.Player(g,{videoId:c.videoId,playerVars:m,events:{onReady:function(){c.playerReady=!0,c.mute&&c.player.mute(),c.autoPlay&&c.player.playVideo()},onStateChange:function(a){c.playing||a.data!==x.YT.PlayerState.PLAYING?c.loop&&c.playing&&a.data===x.YT.PlayerState.ENDED&&c.player.playVideo():(c.playing=!0,c.autoPlay||c.player.pauseVideo(),k.transition({property:"opacity"},function(){l(c)}).css({opacity:1}),q(c),c.$el.trigger(v.loaded)),c.$el.find(t.embed).addClass(u.ready)},onPlaybackQualityChange:function(){},onPlaybackRateChange:function(){},onError:function(){},onApiChange:function(){}}}),q(c)}else B.push({data:c,source:d})}function l(a){var b=a.$container.find(t.media);b.length>=1&&(b.not(":last").remove(),a.oldPlayer=null)}function m(a){var b=a.$container.find(t.media);b.length>=1&&b.transition({property:"opacity"},function(){b.remove(),delete a.source}).css({opacity:0})}function n(a){if(a.video){if(a.isYouTube&&a.playerReady)a.player.pauseVideo();else{var b=a.$container.find("video");b.length&&b[0].pause()}a.playing=!1}}function o(a){if(a.video){if(a.isYouTube&&a.playerReady)a.player.playVideo();else{var b=a.$container.find("video");b.length&&b[0].play()}a.playing=!0}}function p(a){if(a.responsive){var b=h(a);b!==a.currentSource?i(a,b,!1,!0):q(a)}else q(a)}function q(a){for(var b=a.$container.find(t.media),c=0,d=b.length;d>c;c++){var e=b.eq(c),f=a.isYouTube?"iframe":e.find("video").length?"video":"img",g=e.find(f);if(g.length&&("img"!==f||!z)){var h=a.$el.outerWidth(),i=a.$el.outerHeight(),j=r(a,g);a.width=j.width,a.height=j.height,a.left=0,a.top=0;var k=a.isYouTube?a.embedRatio:a.width/a.height;a.height=i,a.width=a.height*k,a.width',f+='",f+='",f+=""),c.pagination&&(i+='
',i+="
"),this.addClass([B.base,c.customClass].join(" ")).wrapInner('
').append(f).wrapInner('
').append(i),c.$viewport=this.find(A.viewport).eq(0),c.$container=this.find(A.container).eq(0),c.$canister=this.find(A.canister).eq(0),c.$controls=this.find(A.controls).eq(0),c.$pagination=this.find(A.pagination).eq(0),c.$items=c.$canister.children().addClass(B.item),c.$controlItems=c.$controls.find(A.control),c.$paginationItems=c.$pagination.find(A.page),c.$images=c.$canister.find("img"),c.index=0,c.enabled=!1,c.leftPosition=0,c.totalImages=c.$images.length,c.autoTimer=null,"object"===a.type(c.show)){var j=c.show,k=[];for(e in j)j.hasOwnProperty(e)&&k.push(e);k.sort(D.sortAsc),c.show={};for(e in k)k.hasOwnProperty(e)&&(c.show[k[e]]={width:parseInt(k[e]),count:j[k[e]]})}if(a.mediaquery("bind",c.rawGuid,c.mq,{enter:function(){h.call(c.$el,c)},leave:function(){g.call(c.$el,c)}}),c.totalImages>0)for(c.loadedImages=0,e=0;ea.itemHeight&&(a.itemHeight=f),c++;a.paged&&(a.pageCount-=a.count%a.visible),a.maxMove=-a.pages[a.pageCount-1].left,a.autoHeight&&a.$items.css({height:a.itemHeight});var g="";for(b=0;b'+(b+1)+"";a.$pagination.html(g),a.pageCount<=1?(a.$controls.removeClass(B.visible),a.$pagination.removeClass(B.visible)):(a.$controls.addClass(B.visible),a.$pagination.addClass(B.visible)),a.$paginationItems=a.$el.find(A.page),r(a,a.index,!1),setTimeout(function(){a.$el.addClass(B.animated)},5)}}function j(a){a.enabled&&(a.$items=a.$canister.children().addClass(B.item),i.call(this,a))}function k(a,b){a.enabled&&(D.clearTimer(a.autoTimer),r(a,b-1))}function l(a){var b=a.index-1;a.infinite&&0>b&&(b=a.pageCount-1),r(a,b)}function m(a){var b=a.index+1;a.infinite&&b>=a.pageCount&&(b=0),r(a,b)}function n(a){var b=a.data;b.loadedImages++,b.loadedImages===b.totalImages&&i.call(b.$el,b)}function o(a){var b=a.index+1;b>=a.pageCount&&(b=0),r(a,b)}function p(b){D.killEvent(b);var c=b.data,d=c.index+(a(b.currentTarget).hasClass(B.control_next)?1:-1);D.clearTimer(c.autoTimer),r(c,d)}function q(b){D.killEvent(b);var c=b.data,d=c.$paginationItems.index(a(b.currentTarget));D.clearTimer(c.autoTimer),r(c,d)}function r(a,b,c){0>b&&(b=a.infinite?a.pageCount-1:0),b>=a.pageCount&&(b=a.infinite?0:a.pageCount-1),a.pages[b]&&(a.leftPosition=-a.pages[b].left),a.leftPosition0||isNaN(a.leftPosition))&&(a.leftPosition=0),a.useMargin?a.$canister.css({marginLeft:a.leftPosition}):c===!1?(a.$canister.css(G,"none").css(F,"translateX("+a.leftPosition+"px)"),setTimeout(function(){a.$canister.css(G,"")},5)):a.$canister.css(F,"translateX("+a.leftPosition+"px)"),a.$items.removeClass(B.visible),a.pages[b].$items.addClass(B.visible),c!==!1&&b!==a.index&&(a.infinite||b>-1&&b=a.pageCount||a.leftPosition===a.maxMove)&&a.$controlItems.filter(A.control_next).removeClass(B.visible))}function t(c){if("object"===a.type(c.show)){for(var d in c.show)if(c.show.hasOwnProperty(d)&&b.windowWidth>=c.show[d].width)return c.fill&&c.count0&&(b.touchLeft=0),b.touchLeft-50&&a.deltaX<50?b.index:b.index+("left"===a.directionX?1:-1);y(b,c)}function x(a){var b=a.data,c=b.index+("left"===a.directionX?1:-1);y(b,c)}function y(a,b){a.$canister.css(G,""),r(a,b),a.isTouching=!1}var z=b.Plugin("carousel",{widget:!0,defaults:{autoAdvance:!1,autoHeight:!1,autoTime:8e3,controls:!0,customClass:"",fill:!1,infinite:!1,labels:{next:"Next",previous:"Previous"},maxWidth:1/0,minWidth:"0px",paged:!1,pagination:!0,show:1,useMargin:!1},classes:["viewport","wrapper","container","canister","item","controls","control","pagination","page","animated","enabled","visible","active","control_previous","control_next"],events:{update:"update",panStart:"panstart",pan:"pan",panEnd:"panend",swipe:"swipe"},methods:{_construct:e,_destruct:f,_resize:c,disable:g,enable:h,jump:k,previous:l,next:m,reset:j,resize:i}}),A=z.classes,B=A.raw,C=z.events,D=z.functions,E=[],F=b.transform,G=b.transition}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/checkbox.js b/static/js/formstone/js/checkbox.js new file mode 100644 index 0000000..d2c0cf9 --- /dev/null +++ b/static/js/formstone/js/checkbox.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [checkbox.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(b){var c=this.closest("label"),d=c.length?c.eq(0):a("label[for="+this.attr("id")+"]"),e=[p.base,b.customClass].join(" "),f="";b.radio="radio"===this.attr("type"),b.group=this.attr("name"),f+='
',f+='
',b.toggle&&(e+=" "+p.toggle,f+=''+b.labels.on+"",f+=''+b.labels.off+""),b.radio&&(e+=" "+p.radio),f+="
",d.length?d.addClass(p.label).wrap('
').before(f):this.before('
'+f+"
"),b.$checkbox=d.length?d.parents(o.base):this.prev(o.base),b.$marker=b.$checkbox.find(o.marker),b.$states=b.$checkbox.find(o.state),b.$label=d,this.is(":checked")&&b.$checkbox.addClass(p.checked),this.is(":disabled")&&b.$checkbox.addClass(p.disabled),this.wrap('
'),this.on(q.focus,b,l).on(q.blur,b,m).on(q.change,b,i).on(q.click,b,h).on(q.deselect,b,k),b.$checkbox.touch({tap:!0}).on(q.tap,b,h)}function d(a){a.$checkbox.off(q.namespace).touch("destroy"),a.$marker.remove(),a.$states.remove(),a.$label.unwrap().removeClass(p.label),this.unwrap().off(q.namespace)}function e(a){this.prop("disabled",!1),a.$checkbox.removeClass(p.disabled)}function f(a){this.prop("disabled",!0),a.$checkbox.addClass(p.disabled)}function g(a){var b=a.$el.is(":disabled"),c=a.$el.is(":checked");b||(c?j({data:a}):k({data:a}))}function h(b){b.stopPropagation();var c=b.data;a(b.target).is(c.$el)||(b.preventDefault(),c.$el.trigger("click"))}function i(a){var b=a.data,c=b.$el.is(":disabled"),d=b.$el.is(":checked");c||(b.radio?j(a):d?j(a):k(a))}function j(b){b.data.radio&&a('input[name="'+b.data.group+'"]').not(b.data.$el).trigger("deselect"),b.data.$checkbox.addClass(p.checked)}function k(a){a.data.$checkbox.removeClass(p.checked)}function l(a){a.data.$checkbox.addClass(p.focus)}function m(a){a.data.$checkbox.removeClass(p.focus)}{var n=b.Plugin("checkbox",{widget:!0,defaults:{customClass:"",toggle:!1,labels:{on:"ON",off:"OFF"}},classes:["element_wrapper","label","marker","flag","radio","focus","checked","disabled","toggle","state","state_on","state_off"],methods:{_construct:c,_destruct:d,enable:e,disable:f,update:g},events:{deselect:"deselect",tap:"tap"}}),o=n.classes,p=o.raw,q=n.events;n.functions}}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/cookie.js b/static/js/formstone/js/cookie.js new file mode 100644 index 0000000..aafaed2 --- /dev/null +++ b/static/js/formstone/js/cookie.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [cookie.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(b,c,h){if("object"===a.type(b))g=a.extend(g,b);else if(h=a.extend({},g,h||{}),"undefined"!==a.type(b)){if("undefined"===a.type(c))return e(b);null===c?f(b):d(b,c,h)}return null}function d(b,c,d){var e=!1,f=new Date;d.expires&&"number"===a.type(d.expires)&&(f.setTime(f.getTime()+d.expires),e=f.toGMTString());var g=d.domain?"; domain="+d.domain:"",i=e?"; expires="+e:"",j=e?"; max-age="+d.expires/1e3:"",k=d.path?"; path="+d.path:"",l=d.secure?"; secure":"";h.cookie=b+"="+c+i+j+g+k+l}function e(a){for(var b=a+"=",c=h.cookie.split(";"),d=0;dh;h++){var k=g.eq(h);if(!j(k)){var l="__"+f.guid++,m=f.classes.raw.base+l,n=k.data(c+"-options"),o=a.extend(!0,{$el:k,guid:l,rawGuid:m,dotGuid:"."+m},b,"object"===a.type(n)?n:{});k.addClass(f.classes.raw.element).data(t,o),d(c),f.methods._construct.apply(k,[o].concat(Array.prototype.slice.call(arguments,e?1:0)))}}return g}function h(){f.functions.iterate.apply(this,[f.methods._destruct].concat(Array.prototype.slice.call(arguments,1))),this.removeClass(f.classes.raw.element).removeData(t)}function j(a){return a.data(t)}function o(b){if(this instanceof a){var c=f.methods[b];return"object"!==a.type(b)&&b?c&&0!==b.indexOf("_")?f.functions.iterate.apply(this,[c].concat(Array.prototype.slice.call(arguments,1))):this:g.apply(this,arguments)}}function p(c){var d=f.utilities[c]||f.utilities._initialize||!1;return d?d.apply(b,Array.prototype.slice.call(arguments,"object"===a.type(c)?0:1)):void 0}function q(b){f.defaults=a.extend(!0,f.defaults,b||{})}function r(b){for(var c=this,d=0,e=c.length;e>d;d++){var f=c.eq(d),g=j(f)||{};"undefined"!==a.type(g.$el)&&b.apply(f,[g].concat(Array.prototype.slice.call(arguments,1)))}return c}var s="fs-"+c,t="fs"+c.replace(/(^|\s)([a-z])/g,function(a,b,c){return b+c.toUpperCase()});return f.initialized=!1,f.priority=f.priority||10,f.classes=e("classes",s,m,f.classes),f.events=e("events",c,n,f.events),f.functions=a.extend({getData:j,iterate:r},k,f.functions),f.methods=a.extend(!0,{_setup:a.noop,_construct:a.noop,_destruct:a.noop,_resize:!1,destroy:h},f.methods),f.utilities=a.extend(!0,{_initialize:!1,_delegate:!1,defaults:q},f.utilities),f.widget&&(a.fn[c]=a.fn[t]=o),a[c]=a[t]=f.utilities._delegate||p,f.namespace=c,f.namespaceClean=t,f.guid=0,f.methods._resize&&(l.ResizeHandlers.push({namespace:c,priority:f.priority,callback:f.methods._resize}),l.ResizeHandlers.sort(i)),f}(c,f),l.Plugins[c]};var o=null,p=20;return l.$window.on("resize.fs",g),g(),a(function(){l.$body=a("body");for(var b in l.Plugins)l.Plugins.hasOwnProperty(b)&&d(b)}),n.clickTouchStart=n.click+" "+n.touchStart,f(),l}(jQuery,this,document); \ No newline at end of file diff --git a/static/js/formstone/js/dropdown.js b/static/js/formstone/js/dropdown.js new file mode 100644 index 0000000..2407152 --- /dev/null +++ b/static/js/formstone/js/dropdown.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [dropdown.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(){G=b.$body}function d(c){c.multiple=this.prop("multiple"),c.disabled=this.is(":disabled"),c.multiple?c.links=!1:c.external&&(c.links=!0);var d=this.find(":selected").not(":disabled"),e=d.text(),f=this.find("option").index(d);c.multiple||""===c.label?c.label="":(d=this.prepend('"),e=c.label,f=0);var g=this.find("option, optgroup"),h=g.filter("option");c.tabIndex=this[0].tabIndex,this[0].tabIndex=-1;var k=[B.base,c.customClass];c.mobile||b.isMobile?k.push(B.mobile):c.cover&&k.push(B.cover),c.multiple&&k.push(B.multiple),c.disabled&&k.push(B.disabled);var l='
',m="";c.multiple||(m+='"),m+='
',m+="
",this.wrap(l).after(m),c.$dropdown=this.parent(A.base),c.$allOptions=g,c.$options=h,c.$selected=c.$dropdown.find(A.selected),c.$wrapper=c.$dropdown.find(A.options),c.$placeholder=c.$dropdown.find(A.placeholder),c.index=-1,c.closed=!0,i(c),c.multiple||t(f,c),c.$selected.touch({tap:!0}).on(C.tap,c,j),c.$dropdown.on(C.click,A.item,c,o).on(C.close,c,n),this.on(C.change,c,p),b.isMobile||(c.$dropdown.on(C.focus,c,q).on(C.blur,c,r),this.on(C.focus,c,function(a){a.data.$dropdown.trigger(C.raw.focus)}))}function e(a){a.$dropdown.hasClass(B.open)&&a.$selected.trigger(C.click),a.$el[0].tabIndex=a.tabIndex,a.$dropdown.off(C.namespace),a.$options.off(C.namespace),a.$placeholder.remove(),a.$selected.remove(),a.$wrapper.remove(),a.$el.off(C.namespace).show().unwrap()}function f(a,b){if("undefined"!=typeof b){var c=a.$items.index(a.$items.filter("[data-value="+b+"]"));a.$items.eq(c).addClass(B.item_disabled),a.$options.eq(c).prop("disabled",!0)}else a.$dropdown.hasClass(B.open)&&a.$selected.trigger(C.click),a.$dropdown.addClass(B.disabled),a.$el.prop("disabled",!0),a.disabled=!0}function g(a,b){if("undefined"!=typeof b){var c=a.$items.index(a.$items.filter("[data-value="+b+"]"));a.$items.eq(c).removeClass(B.item_disabled),a.$options.eq(c).prop("disabled",!1)}else a.$dropdown.removeClass(B.disabled),a.$el.prop("disabled",!1),a.disabled=!1}function h(a){var b=a.index;a.$allOptions=a.$el.find("option, optgroup"),a.$options=a.$allOptions.filter("option"),a.index=-1,b=a.$options.index(a.$options.filter(":selected")),i(a),a.multiple||t(b,a)}function i(b){for(var c="",d=0,e=0,f=b.$allOptions.length;f>e;e++){var g=b.$allOptions.eq(e),h=[];if("OPTGROUP"===g[0].tagName)h.push(B.group),g.is(":disabled")&&h.push(B.disabled),c+=''+g.attr("label")+"";else{var i=g.val();g.attr("value")||g.attr("value",i),h.push(B.item),g.hasClass(B.item_placeholder)&&h.push(B.item_placeholder),g.is(":selected")&&h.push(B.item_selected),g.is(":disabled")&&h.push(B.item_disabled),c+='",d++}}b.$items=b.$wrapper.html(c).find(A.item)}function j(a){D.killEvent(a);var c=a.data;if(!c.disabled)if(c.mobile||!b.isMobile||b.isFirefoxMobile)c.closed?k(c):l(c);else{var d=c.$el[0];if(F.createEvent){var e=F.createEvent("MouseEvents");e.initMouseEvent("mousedown",!1,!0,E,0,0,0,0,0,!1,!1,!1,!1,0,null),d.dispatchEvent(e)}else d.fireEvent&&d.fireEvent("onmousedown")}}function k(b){if(b.closed){a(A.base).not(b.$dropdown).trigger(C.close,[b]);{var c=b.$dropdown.offset(),d=G.outerHeight(),e=b.$wrapper.outerHeight(!0);b.index>=0?b.$items.eq(b.index).position():{left:0,top:0}}c.top+e>d&&b.$dropdown.addClass(B.bottom),G.on(C.click+b.dotGuid,":not("+A.options+")",b,m),b.$dropdown.addClass(B.open),u(b),b.closed=!1}}function l(a){a&&!a.closed&&(G.off(C.click+a.dotGuid),a.$dropdown.removeClass([B.open,B.bottom].join(" ")),a.closed=!0)}function m(b){D.killEvent(b);var c=b.data;c&&0===a(b.currentTarget).parents(A.base).length&&l(c)}function n(a){var b=a.data;b&&l(b)}function o(b){D.killEvent(b);var c=a(this),d=b.data;if(!d.disabled){if(d.$wrapper.is(":visible")){var e=d.$items.index(c);e!==d.index&&(t(e,d),v(d))}d.multiple||l(d)}}function p(b,c){var d=a(this),e=b.data;if(!c&&!e.multiple){var f=e.$options.index(e.$options.filter("[value='"+y(d.val())+"']"));t(f,e),v(e)}}function q(a){D.killEvent(a);var b=a.data;b.disabled||b.multiple||b.$dropdown.addClass(B.focus).on(C.keyDown+b.dotGuid,b,s)}function r(a){D.killEvent(a);var b=a.data;b.$dropdown.removeClass(B.focus).off(C.keyDown+b.dotGuid),b.multiple||l(b)}function s(c){var d=c.data;if(13===c.keyCode)d.closed||(l(d),t(d.index,d)),v(d);else if(!(9===c.keyCode||c.metaKey||c.altKey||c.ctrlKey||c.shiftKey)){D.killEvent(c);var e=d.$items.length-1,f=d.index<0?0:d.index;if(a.inArray(c.keyCode,b.isFirefox?[38,40,37,39]:[38,40])>-1)f+=38===c.keyCode||b.isFirefox&&37===c.keyCode?-1:1,0>f&&(f=0),f>e&&(f=e);else{var g,h,i=String.fromCharCode(c.keyCode).toUpperCase();for(h=d.index+1;e>=h;h++)if(g=d.$options.eq(h).text().charAt(0).toUpperCase(),g===i){f=h;break}if(0>f||f===d.index)for(h=0;e>=h;h++)if(g=d.$options.eq(h).text().charAt(0).toUpperCase(),g===i){f=h;break}}f>=0&&(t(f,d),u(d))}}function t(a,b){var c=b.$items.eq(a),d=b.$options.eq(a),e=c.hasClass(B.item_selected),f=c.hasClass(B.item_disabled);if(!f)if(b.multiple)e?(d.prop("selected",null),c.removeClass(B.item_selected)):(d.prop("selected",!0),c.addClass(B.item_selected));else if(a>-1&&a=0&&!b.hasClass(A.item_placeholder)?b.position():{left:0,top:0};a.$wrapper.scrollTop(a.$wrapper.scrollTop()+c.top)}function v(a){a.links?w(a):a.$el.trigger(C.raw.change,[!0])}function w(a){var b=a.$el.val();a.external?E.open(b):E.location.href=b}function x(a,b){return 0===b?a:a.length>b?a.substring(0,b)+"...":a}function y(a){return"string"==typeof a?a.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"):a}var z=b.Plugin("dropdown",{widget:!0,defaults:{cover:!1,customClass:"",label:"",external:!1,links:!1,mobile:!1,trim:0},methods:{_setup:c,_construct:d,_destruct:e,disable:f,enable:g,update:h,open:k,close:l},classes:["cover","bottom","multiple","mobile","open","disabled","focus","selected","options","group","item","item_disabled","item_selected","item_placeholder"],events:{tap:"tap",close:"close"}}),A=z.classes,B=A.raw,C=z.events,D=z.functions,E=b.window,F=(b.$window,b.document),G=null}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/equalize.js b/static/js/formstone/js/equalize.js new file mode 100644 index 0000000..b693d37 --- /dev/null +++ b/static/js/formstone/js/equalize.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [equalize.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(){n.iterate.call(o,g)}function d(){o=a(l.element)}function e(b){b.maxWidth=b.maxWidth===1/0?"100000px":b.maxWidth,b.mq="(min-width:"+b.minWidth+") and (max-width:"+b.maxWidth+")",b.type="height"===b.property?"outerHeight":"outerWidth",b.target?a.isArray(b.target)||(b.target=[b.target]):b.target=["> *"],d(),a.mediaquery("bind",b.rawGuid,b.mq,{enter:function(){i.call(b.$el,b)},leave:function(){h.call(b.$el,b)}})}function f(b){j(b),a.mediaquery("unbind",b.rawGuid),d()}function g(a){if(a.data&&(a=a.data),a.enabled)for(var b,c,d,e=0;eb&&(b=c);d.css(a.property,b)}}function h(a){a.enabled&&(a.enabled=!1,j(a))}function i(a){if(!a.enabled){a.enabled=!0;var b=a.$el.find("img");b.length&&b.on(m.load,a,g),g(a)}}function j(a){for(var b=0;b-1||"data:image"===g.substr(0,10),o=I(g),q="url"===l||!m&&!o&&"http"===g.substr(0,4)&&!h,r="element"===l||!m&&!o&&!q&&"#"===h.substr(0,1),t="undefined"!=typeof f;if(r&&(g=h),!(m||o||q||r||t))return;if(P.killEvent(c),U=a.extend({},{visible:!1,gallery:{active:!1},isMobile:b.isMobile||d.mobile,isTouch:b.support.touch,isAnimating:!0,oldContentHeight:0,oldContentWidth:0},d),U.margin*=2,U.type=m?"image":o?"video":"element",m||o){var u=e.data(K+"-gallery");u&&(U.gallery.active=!0,U.gallery.id=u,U.gallery.$items=a("a[data-lightbox-gallery= "+U.gallery.id+"], a[rel= "+U.gallery.id+"]"),U.gallery.index=U.gallery.$items.index(U.$el),U.gallery.total=U.gallery.$items.length-1)}var w="";U.isMobile||(w+='
');var x=[M.raw.base,M.raw.loading,M.raw.animating,U.customClass];U.fixed&&x.push(M.raw.fixed),U.isMobile&&x.push(M.raw.mobile),U.isTouch&&x.push(M.raw.touch),q&&x.push(M.raw.iframed),(r||t)&&x.push(M.raw.inline),w+='
',w+='",w+='',w+='
',w+='
',(m||o)&&(w+='
',w+='
',U.gallery.active&&(w+='",w+='"),U.isMobile&&U.isTouch&&(w+='"),w+="
",w+='
',U.gallery.active&&(w+='

'+(U.gallery.index+1)+" ",w+=U.labels.count,w+=' '+(U.gallery.total+1)+"",w+="

"),w+='
',w+=U.formatter.call(e,d),w+="
",w+="
"),w+="
",S.append(w),U.$overlay=a(M.overlay),U.$lightbox=a(M.base),U.$close=a(M.close),U.$container=a(M.container),U.$content=a(M.content),U.$tools=a(M.tools),U.$meta=a(M.meta),U.$position=a(M.position),U.$caption=a(M.caption),U.$controlBox=a(M.controls),U.$controls=a(M.control),U.isMobile?(U.paddingVertical=U.$close.outerHeight(),U.paddingHorizontal=0,U.mobilePaddingVertical=parseInt(U.$content.css("paddingTop"),10)+parseInt(U.$content.css("paddingBottom"),10),U.mobilePaddingHorizontal=parseInt(U.$content.css("paddingLeft"),10)+parseInt(U.$content.css("paddingRight"),10)):(U.paddingVertical=parseInt(U.$lightbox.css("paddingTop"),10)+parseInt(U.$lightbox.css("paddingBottom"),10),U.paddingHorizontal=parseInt(U.$lightbox.css("paddingLeft"),10)+parseInt(U.$lightbox.css("paddingRight"),10),U.mobilePaddingVertical=0,U.mobilePaddingHorizontal=0),U.contentHeight=U.$lightbox.outerHeight()-U.paddingVertical,U.contentWidth=U.$lightbox.outerWidth()-U.paddingHorizontal,U.controlHeight=U.$controls.outerHeight(),n(),U.gallery.active&&z(),R.on(O.keyDown,A),S.on(O.clickTouchStart,[M.overlay,M.close].join(", "),k),U.gallery.active&&U.$lightbox.on(O.clickTouchStart,M.control,y),U.isMobile&&U.isTouch&&U.$lightbox.on(O.clickTouchStart,M.caption_toggle,p),U.$lightbox.transition({property:"opacity"},function(){m?s(g):o?v(g):q?C(g):r?B(g):t&&D(U.$object)}).addClass(M.raw.open),U.$overlay.addClass(M.raw.open)}}function j(a){"object"!=typeof a&&(U.targetHeight=arguments[0],U.targetWidth=arguments[1]),"element"===U.type?E(U.$content.find("> :first-child")):"image"===U.type?t():"video"===U.type&&w(),m()}function k(a){P.killEvent(a),U&&(U.$lightbox.transition("destroy"),U.$container.transition("destroy"),U.$lightbox.addClass(M.raw.animating).transition({property:"opacity"},function(){U.$lightbox.off(O.namespace),U.$container.off(O.namespace),R.off(O.namespace),S.off(O.namespace),U.$overlay.remove(),U.$lightbox.remove(),U=null,R.trigger(O.close)}),U.$lightbox.removeClass(M.raw.open),U.$overlay.removeClass(M.raw.open),U.isMobile&&T.removeClass(N.lock))}function l(){{var a=o();U.isMobile?0:U.duration}U.isMobile||U.$controls.css({marginTop:(U.contentHeight-U.controlHeight-U.metaHeight)/2}),!U.visible&&U.isMobile&&U.gallery.active&&U.$content.touch({axis:"x",swipe:!0}).on(O.swipe,G),U.$lightbox.transition({property:U.contentHeight!==U.oldContentHeight?"height":"width"},function(){U.$container.transition({property:"opacity"},function(){U.$lightbox.removeClass(M.raw.animating),U.isAnimating=!1}),U.$lightbox.removeClass(M.raw.loading),U.visible=!0,R.trigger(O.open),U.gallery.active&&x()}),U.isMobile||U.$lightbox.css({height:U.contentHeight+U.paddingVertical,width:U.contentWidth+U.paddingHorizontal,top:U.fixed?0:a.top});var b=U.oldContentHeight!==U.contentHeight||U.oldContentWidth!==U.contentWidth;(U.isMobile||!b)&&U.$lightbox.transition("resolve"),U.oldContentHeight=U.contentHeight,U.oldContentWidth=U.contentWidth,U.isMobile&&T.addClass(N.lock)}function m(){if(U.visible&&!U.isMobile){var a=o();U.$controls.css({marginTop:(U.contentHeight-U.controlHeight-U.metaHeight)/2}),U.$lightbox.css({height:U.contentHeight+U.paddingVertical,width:U.contentWidth+U.paddingHorizontal,top:U.fixed?0:a.top})}}function n(){var a=o();U.$lightbox.css({top:U.fixed?0:a.top})}function o(){if(U.isMobile)return{left:0,top:0};var a={left:(b.windowWidth-U.contentWidth-U.paddingHorizontal)/2,top:U.top<=0?(b.windowHeight-U.contentHeight-U.paddingVertical)/2:U.top};return U.fixed!==!0&&(a.top+=R.scrollTop()),a}function p(a){P.killEvent(a),U.captionOpen?q():(U.$lightbox.addClass(M.raw.caption_open).find(M.caption_toggle).text(U.labels.captionOpen),U.captionOpen=!0)}function q(){U.$lightbox.removeClass(M.raw.caption_open).find(M.caption_toggle).text(U.labels.captionClosed),U.captionOpen=!1}function r(){var a=this.attr("title"),b=a!==c&&a?a.replace(/^\s+|\s+$/g,""):!1;return b?'

'+b+"

":""}function s(b){U.$image=a(""),U.$image.one(O.load,function(){var a=H(U.$image);U.naturalHeight=a.naturalHeight,U.naturalWidth=a.naturalWidth,U.retina&&(U.naturalHeight/=2,U.naturalWidth/=2),U.$content.prepend(U.$image),""===U.$caption.html()?U.$caption.hide():U.$caption.show(),t(),l()}).error(F).attr("src",b).addClass(M.raw.image),(U.$image[0].complete||4===U.$image[0].readyState)&&U.$image.trigger(O.load)}function t(){var a=0;for(U.windowHeight=U.viewportHeight=b.windowHeight-U.mobilePaddingVertical-U.paddingVertical,U.windowWidth=U.viewportWidth=b.windowWidth-U.mobilePaddingHorizontal-U.paddingHorizontal,U.contentHeight=1/0,U.contentWidth=1/0,U.imageMarginTop=0,U.imageMarginLeft=0;U.contentHeight>U.viewportHeight&&2>a;)U.imageHeight=0===a?U.naturalHeight:U.$image.outerHeight(),U.imageWidth=0===a?U.naturalWidth:U.$image.outerWidth(),U.metaHeight=0===a?0:U.metaHeight,U.spacerHeight=0===a?0:U.spacerHeight,0===a&&(U.ratioHorizontal=U.imageHeight/U.imageWidth,U.ratioVertical=U.imageWidth/U.imageHeight,U.isWide=U.imageWidth>U.imageHeight),U.imageHeighta&&(U.targetImageHeight=a,U.targetImageWidth=U.targetImageHeight*U.ratioVertical)):(U.targetImageHeight=a,U.targetImageWidth=U.targetImageHeight*U.ratioVertical,U.targetImageWidth>b&&(U.targetImageWidth=b,U.targetImageHeight=U.targetImageWidth*U.ratioHorizontal)),(U.targetImageWidth>U.imageWidth||U.targetImageHeight>U.imageHeight)&&(U.targetImageHeight=U.imageHeight,U.targetImageWidth=U.imageWidth),(U.targetImageWidth'),U.$video=a(''),U.$video.attr("src",e).addClass(M.raw.video).prependTo(U.$videoWrapper),U.$content.prepend(U.$videoWrapper),w(),l()}function w(){U.windowHeight=U.viewportHeight=b.windowHeight-U.mobilePaddingVertical-U.paddingVertical,U.windowWidth=U.viewportWidth=b.windowWidth-U.mobilePaddingHorizontal-U.paddingHorizontal,U.videoMarginTop=0,U.videoMarginLeft=0,U.isMobile?(U.isTouch?(U.$controlBox.css({width:b.windowWidth}),U.spacerHeight=U.$controls.outerHeight(!0)):(U.$tools.css({width:b.windowWidth}),U.spacerHeight=U.$tools.outerHeight(!0)),U.viewportHeight-=U.spacerHeight,U.targetVideoWidth=U.viewportWidth,U.targetVideoHeight=U.targetVideoWidth*U.videoRatio,U.targetVideoHeight>U.viewportHeight&&(U.targetVideoHeight=U.viewportHeight,U.targetVideoWidth=U.targetVideoHeight/U.videoRatio),U.videoMarginTop=(U.viewportHeight-U.targetVideoHeight)/2,U.videoMarginLeft=(U.viewportWidth-U.targetVideoWidth)/2):(U.viewportHeight=U.windowHeight-U.margin,U.viewportWidth=U.windowWidth-U.margin,U.targetVideoWidth=U.videoWidth>U.viewportWidth?U.viewportWidth:U.videoWidth,U.targetVideoWidth0&&(b=U.gallery.$items.eq(U.gallery.index-1).attr("href"),I(b)||a('')),U.gallery.index'))}function y(b){P.killEvent(b);var c=a(b.currentTarget);U.isAnimating||c.hasClass(M.raw.control_disabled)||(U.isAnimating=!0,q(),U.gallery.index+=c.hasClass(M.raw.control_next)?1:-1,U.gallery.index>U.gallery.total&&(U.gallery.index=U.infinite?0:U.gallery.total),U.gallery.index<0&&(U.gallery.index=U.infinite?U.gallery.total:0),U.$lightbox.addClass(M.raw.animating),U.$container.transition({property:"opacity"},function(){"undefined"!=typeof U.$image&&U.$image.remove(),"undefined"!=typeof U.$videoWrapper&&U.$videoWrapper.remove(),U.$el=U.gallery.$items.eq(U.gallery.index),U.$caption.html(U.formatter.call(U.$el,U)),U.$position.find(M.position_current).html(U.gallery.index+1);var a=U.$el.attr("href"),b=I(a);b?v(a):s(a),z()}),U.$lightbox.addClass(M.raw.loading))}function z(){U.$controls.removeClass(M.raw.control_disabled),U.infinite||(0===U.gallery.index&&U.$controls.filter(M.control_previous).addClass(N.control_disabled),U.gallery.index===U.gallery.total&&U.$controls.filter(M.control_next).addClass(N.control_disabled))}function A(a){!U.gallery.active||37!==a.keyCode&&39!==a.keyCode?27===a.keyCode&&U.$close.trigger(O.click):(P.killEvent(a),U.$controls.filter(37===a.keyCode?M.control_previous:M.control_next).trigger(O.click))}function B(b){var c=a(b).find("> :first-child").clone();D(c)}function C(b){b+=b.indexOf("?")>-1?"&"+U.requestKey+"=true":"?"+U.requestKey+"=true";var c=a('');D(c)}function D(a){U.$content.append(a),E(a),l()}function E(a){U.windowHeight=b.windowHeight-U.mobilePaddingVertical-U.paddingVertical,U.windowWidth=b.windowWidth-U.mobilePaddingHorizontal-U.paddingHorizontal,U.objectHeight=a.outerHeight(!0),U.objectWidth=a.outerWidth(!0),U.targetHeight=U.targetHeight||(U.$el?U.$el.data(K+"-height"):null),U.targetWidth=U.targetWidth||(U.$el?U.$el.data(K+"-width"):null),U.maxHeight=U.windowHeight<0?U.minHeight:U.windowHeight,U.isIframe=a.is("iframe"),U.objectMarginTop=0,U.objectMarginLeft=0,U.isMobile||(U.windowHeight-=U.margin,U.windowWidth-=U.margin),U.contentHeight=U.targetHeight?U.targetHeight:U.isIframe||U.isMobile?U.windowHeight:U.objectHeight,U.contentWidth=U.targetWidth?U.targetWidth:U.isIframe||U.isMobile?U.windowWidth:U.objectWidth,(U.isIframe||U.isObject)&&U.isMobile?(U.contentHeight=U.windowHeight,U.contentWidth=U.windowWidth):U.isObject&&(U.contentHeight=U.contentHeight>U.windowHeight?U.windowHeight:U.contentHeight,U.contentWidth=U.contentWidth>U.windowWidth?U.windowWidth:U.contentWidth)}function F(){var b=a('

Error Loading Resource

');U.type="element",U.$tools.remove(),U.$image.off(O.namespace),D(b)}function G(a){U.captionOpen||U.$controls.filter("left"===a.directionX?M.control_next:M.control_previous).trigger(O.click)}function H(a){var b=a[0],c=new Image;return"undefined"!=typeof b.naturalHeight?{naturalHeight:b.naturalHeight,naturalWidth:b.naturalWidth}:"img"===b.tagName.toLowerCase()?(c.src=b.src,{naturalHeight:c.height,naturalWidth:c.width}):!1}function I(a){return a.indexOf("youtube.com")>-1||a.indexOf("youtu.be")>-1||a.indexOf("vimeo.com")>-1}var J=b.Plugin("lightbox",{widget:!0,defaults:{customClass:"",extensions:["jpg","sjpg","jpeg","png","gif"],fixed:!1,formatter:r,infinite:!1,labels:{close:"Close",count:"of",next:"Next",previous:"Previous",captionClosed:"View Caption",captionOpen:"Close Caption"},margin:50,minHeight:100,minWidth:100,mobile:!1,retina:!1,requestKey:"fs-lightbox",top:0,videoRatio:.5625,videoWidth:800},classes:["loading","animating","fixed","mobile","touch","inline","iframed","open","overlay","close","loading_icon","container","content","image","video","video_wrapper","tools","meta","controls","control","control_previous","control_next","control_disabled","position","position_current","position_total","caption_toggle","caption","caption_open","iframe","error","lock"],events:{open:"open",close:"close",swipe:"swipe"},methods:{_setup:d,_construct:f,_destruct:g,_resize:e,resize:j},utilities:{_initialize:h,close:k}}),K=J.namespace,L=J.defaults,M=J.classes,N=M.raw,O=J.events,P=J.functions,Q=b.window,R=b.$window,S=null,T=null,U=null}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/mediaquery.js b/static/js/formstone/js/mediaquery.js new file mode 100644 index 0000000..8847d4e --- /dev/null +++ b/static/js/formstone/js/mediaquery.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [mediaquery.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(b){b=b||{};for(var c in t)t.hasOwnProperty(c)&&(l[c]=b[c]?a.merge(b[c],l[c]):l[c]);l=a.extend(l,b),l.minWidth.sort(p.sortDesc),l.maxWidth.sort(p.sortAsc),l.minHeight.sort(p.sortDesc),l.maxHeight.sort(p.sortAsc);for(var d in t)if(t.hasOwnProperty(d)){s[d]={};for(var e in l[d])if(l[d].hasOwnProperty(e)){var f=window.matchMedia("("+t[d]+": "+(l[d][e]===1/0?1e5:l[d][e])+l.unit+")");f.addListener(g),s[d][l[d][e]]=f}}g()}function d(a,b,c){var d=o.matchMedia(b),e=i(d.media);r[e]||(r[e]={mq:d,active:!0,enter:{},leave:{}},r[e].mq.addListener(h));for(var f in c)c.hasOwnProperty(f)&&r[e].hasOwnProperty(f)&&(r[e][f][a]=c[f]);h(r[e].mq)}function e(a,b){if(a)if(b){var c=i(b);r[c]&&(r[c].enter[a]&&delete r[c].enter[a],r[c].leave[a]&&delete r[c].leave[a])}else for(var d in r)r.hasOwnProperty(d)&&(r[d].enter[a]&&delete r[d].enter[a],r[d].leave[a]&&delete r[d].leave[a])}function f(){q={unit:l.unit};for(var a in t)if(t.hasOwnProperty(a))for(var b in s[a])if(s[a].hasOwnProperty(b)&&s[a][b].matches){var c="Infinity"===b?1/0:parseInt(b,10);a.indexOf("max")>-1?(!q[a]||cq[a])&&(q[a]=c)}}function g(){f(),n.trigger(m.mqChange,[q])}function h(a){var b=i(a.media),c=r[b],d=a.matches?m.enter:m.leave;if(c&&c.active||!c.active&&a.matches){for(var e in c[d])c[d].hasOwnProperty(e)&&c[d][e].apply(c.mq);c.active=!0}}function i(a){return a.replace(/[^a-z0-9\s]/gi,"").replace(/[_\s]/g,"").replace(/^\s+|\s+$/g,"")}function j(){return q}var k=b.Plugin("mediaquery",{utilities:{_initialize:c,state:j,bind:d,unbind:e},events:{mqChange:"mqchange"}}),l={minWidth:[0],maxWidth:[1/0],minHeight:[0],maxHeight:[1/0],unit:"px"},m=a.extend(k.events,{enter:"enter",leave:"leave"}),n=b.$window,o=n[0],p=k.functions,q=null,r=[],s={},t={minWidth:"min-width",maxWidth:"max-width",minHeight:"min-height",maxHeight:"max-height"}}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/navigation.js b/static/js/formstone/js/navigation.js new file mode 100644 index 0000000..9e80f84 --- /dev/null +++ b/static/js/formstone/js/navigation.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [navigation.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(){w=a("html, body")}function d(b){b.handleGuid=u.handle+b.guid,b.isToggle="toggle"===b.type,b.open=!1,b.isToggle&&(b.gravity="");var c=u.base,d=[c,b.type].join("-"),e=b.gravity?[d,b.gravity].join("-"):"",f=[b.rawGuid,b.customClass].join(" ");b.handle=this.data(s+"-handle"),b.content=this.data(s+"-content"),b.handleClasses=[u.handle,u.handle.replace(c,d),e?u.handle.replace(c,e):"",b.handleGuid,f].join(" "),b.navClasses=[u.nav.replace(c,d),e?u.nav.replace(c,e):"",f].join(" "),b.contentClasses=[u.content.replace(c,d),e?u.content.replace(c,e):"",f].join(" "),b.$nav=this.addClass(b.navClasses),b.$handle=a(b.handle).addClass(b.handleClasses),b.$content=a(b.content).addClass(b.contentClasses),b.$animate=a().add(b.$nav).add(b.$content),p(b),b.$handle.attr("data-swap-target",b.dotGuid).attr("data-swap-linked","."+b.handleGuid).attr("data-swap-group",u.base).on("activate.swap"+b.dotGuid,b,j).on("deactivate.swap"+b.dotGuid,b,k).on("enable.swap"+b.dotGuid,b,l).on("disable.swap"+b.dotGuid,b,m).swap({maxWidth:b.maxWidth,classes:{target:b.dotGuid,enabled:t.enabled,active:t.open,raw:{target:b.rawGuid,enabled:u.enabled,active:u.open}}})}function e(a){a.$content.removeClass(a.contentClasses).off(v.namespace),a.$handle.removeAttr("data-swap-target").removeData("swap-target").removeAttr("data-swap-linked").removeData("swap-linked").removeClass(a.handleClasses).off(a.dotGuid).text(a.originalLabel).swap("destroy"),q(a),o(a),this.removeClass(a.navClasses).off(v.namespace)}function f(a){a.$handle.swap("activate")}function g(a){a.$handle.swap("deactivate")}function h(a){a.$handle.swap("enable")}function i(a){a.$handle.swap("disable")}function j(a){if(!a.originalEvent){var b=a.data;b.open||(b.$el.trigger(v.open),b.$content.addClass(u.open).one(v.clickTouchStart,function(){g(b)}),b.label&&b.$handle.text(b.labels.open),n(b),b.open=!0)}}function k(a){if(!a.originalEvent){var b=a.data;b.open&&(b.$el.trigger(v.close),b.$content.removeClass(u.open).off(v.namespace),b.label&&b.$handle.text(b.labels.closed),o(b),b.open=!1)}}function l(a){var b=a.data;b.$content.addClass(u.enabled),setTimeout(function(){b.$animate.addClass(u.animated)},0),b.label&&b.$handle.text(b.labels.closed)}function m(a){var b=a.data;b.$content.removeClass(u.enabled,u.animated),b.$animate.removeClass(u.animated),q(b),o(b)}function n(a){a.isToggle||w.addClass(u.lock)}function o(a){a.isToggle||w.removeClass(u.lock)}function p(a){if(a.label)if(a.$handle.length>1){a.originalLabel=[];for(var b=0,c=a.$handle.length;c>b;b++)a.originalLabel[b]=a.$handle.eq(b).text()}else a.originalLabel=a.$handle.text()}function q(a){if(a.label)if(a.$handle.length>1)for(var b=0,c=a.$handle.length;c>b;b++)a.$handle.eq(b).text(a.originalLabel[b]);else a.$handle.text(a.originalLabel)}var r=b.Plugin("navigation",{widget:!0,defaults:{customClass:"",gravity:"left",label:!0,labels:{closed:"Menu",open:"Close"},maxWidth:"980px",type:"toggle"},classes:["handle","nav","content","animated","enabled","open","toggle","push","reveal","overlay","left","right","lock"],events:{tap:"tap",open:"open",close:"close"},methods:{_setup:c,_construct:d,_destruct:e,open:f,close:g,enable:h,disable:i}}),s=r.namespace,t=r.classes,u=t.raw,v=r.events,w=(r.functions,null)}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/number.js b/static/js/formstone/js/number.js new file mode 100644 index 0000000..c0bdef3 --- /dev/null +++ b/static/js/formstone/js/number.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [number.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(){s=b.$body}function d(a){var b=parseFloat(this.attr("min")),c=parseFloat(this.attr("max"));a.min=b||0===b?b:!1,a.max=c||0===c?c:!1,a.step=parseFloat(this.attr("step"))||1,a.timer=null,a.digits=l(a.step),a.disabled=this.prop("disabled");var d="";d+='",d+='",this.wrap('
').after(d),a.$container=this.parent(o.base),a.$arrows=a.$container.find(o.arrow),this.on(q.keyPress,o.element,a,h),a.$container.on([q.touchStart,q.mouseDown].join(" "),o.arrow,a,i)}function e(a){a.$arrows.remove(),this.unwrap().off(q.namespace)}function f(a){a.disabled&&(this.prop("disabled",!1),a.$container.removeClass(p.disabled),a.disabled=!1)}function g(a){a.disabled||(this.prop("disabled",!0),a.$container.addClass(p.disabled),a.disabled=!0)}function h(a){var b=a.data;(38===a.keyCode||40===a.keyCode)&&(a.preventDefault(),k(b,38===a.keyCode?b.step:-b.step))}function i(b){r.killEvent(b),j(b);var c=b.data;if(!c.disabled){var d=a(b.target).hasClass(p.up)?c.step:-c.step;c.timer=r.startTimer(c.timer,110,function(){k(c,d,!1)},!0),k(c,d),s.on([q.touchEnd,q.mouseUp].join(" "),c,j)}}function j(a){r.killEvent(a);var b=a.data;r.clearTimer(b.timer,!0),s.off(q.namespace)}function k(b,c){var d=parseFloat(b.$el.val()),e=c;"undefined"===a.type(d)||isNaN(d)?e=b.min!==!1?b.min:0:b.min!==!1&&db.max&&(e-=b.step),e!==d&&(e=m(e,b.digits),b.$el.val(e).trigger(q.raw.change))}function l(a){var b=String(a);return b.indexOf(".")>-1?b.length-b.indexOf(".")-1:0}function m(a,b){var c=Math.pow(10,b);return Math.round(a*c)/c}var n=b.Plugin("number",{widget:!0,defaults:{customClass:"",labels:{up:"Up",down:"Down"}},classes:["arrow","up","down","disabled"],methods:{_setup:c,_construct:d,_destruct:e,enable:f,disable:g},events:{tap:"tap"}}),o=n.classes,p=o.raw,q=n.events,r=n.functions,s=null}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/pagination.js b/static/js/formstone/js/pagination.js new file mode 100644 index 0000000..61f10b6 --- /dev/null +++ b/static/js/formstone/js/pagination.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [pagination.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(b){b.mq="(max-width:"+(b.maxWidth===1/0?"100000px":b.maxWidth)+")";var c="";c+='",c+='",c+='
',c+='0',c+=" "+b.labels.count+" ",c+='0',c+="
",c+='',this.addClass(m.base).wrapInner('
').prepend(c),b.$controls=this.find(l.control),b.$pages=this.find(l.pages),b.$items=b.$pages.children().addClass(m.page),b.$position=this.find(l.position),b.$select=this.find(l.select),b.index=-1,b.total=b.$items.length-1;var d=b.$items.index(b.$items.filter(l.active));b.$items.eq(0).addClass(m.first).after('').end().eq(b.total).addClass(m.last).before(''),b.$ellipsis=b.$pages.find(l.ellipsis),j(b),this.on(n.clickTouchStart,l.page,b,g).on(n.clickTouchStart,l.control,b,e).on(n.clickTouchStart,l.position,b,h).on(n.change,l.select,f),a.mediaquery("bind",b.rawGuid,b.mq,{enter:function(){b.$el.addClass(m.mobile)},leave:function(){b.$el.removeClass(m.mobile)}}),i(b,d)}function d(b){a.mediaquery("unbind",b.rawGuid),b.$controls.remove(),b.$ellipsis.remove(),b.$select.remove(),b.$position.remove(),b.$items.removeClass([m.page,m.active,m.visible,m.first,m.last].join(" ")).unwrap(),this.removeClass(m.base).off(n.namespace)}function e(b){o.killEvent(b);var c=b.data,d=c.index+(a(b.currentTarget).hasClass(m.control_previous)?-1:1);d>=0&&c.$items.eq(d).trigger(n.raw.click)}function f(b){o.killEvent(b);var c=b.data,d=a(b.currentTarget),e=parseInt(d.val(),10);c.$items.eq(e).trigger(n.raw.click)}function g(b){o.killEvent(b);var c=b.data,d=c.$items.index(a(b.currentTarget));i(c,d)}function h(a){o.killEvent(a);var c=a.data;if(b.isMobile&&!b.isFirefoxMobile){var d=c.$select[0];if(window.document.createEvent){var e=window.document.createEvent("MouseEvents");e.initMouseEvent("mousedown",!1,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),d.dispatchEvent(e)}else d.fireEvent&&d.fireEvent("onmousedown")}}function i(a,b){if(0>b&&(b=0),b>a.total&&(b=a.total),b!==a.index){a.index=b;var c=a.index-a.visible,d=a.index+(a.visible+1);0>c&&(c=0),d>a.total&&(d=a.total),a.$items.removeClass(m.visible).filter(l.active).removeClass(m.active).end().eq(a.index).addClass(m.active).end().slice(c,d).addClass(m.visible),a.$position.find(l.current).text(a.index+1).end().find(l.total).text(a.total+1),a.$select.val(a.index),a.$controls.removeClass(l.disabled),0===b&&a.$controls.filter(l.control_previous).addClass(m.disabled),b===a.total&&a.$controls.filter(l.control_next).addClass(m.disabled),a.$ellipsis.removeClass(m.visible),b>a.visible+1&&a.$ellipsis.eq(0).addClass(m.visible),bPage "+(c+1)+"";a.$select.html(b)}var k=b.Plugin("pagination",{widget:!0,defaults:{ajax:!1,customClass:"",labels:{count:"of",next:"Next",previous:"Previous"},maxWidth:"740px",visible:2},classes:["pages","page","active","first","last","visible","ellipsis","control","control_previous","control_next","position","select","mobile","current","total"],events:{update:"update"},methods:{_construct:c,_destruct:d}}),l=k.classes,m=l.raw,n=k.events,o=k.functions}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/range.js b/static/js/formstone/js/range.js new file mode 100644 index 0000000..7777af7 --- /dev/null +++ b/static/js/formstone/js/range.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [range.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(){v.iterate.call(w,i)}function d(){w=a(s.element)}function e(a){a.formatter||(a.formatter=q),a.min=parseFloat(this.attr("min"))||0,a.max=parseFloat(this.attr("max"))||100,a.step=parseFloat(this.attr("step"))||1,a.digits=a.step.toString().length-a.step.toString().indexOf("."),a.value=parseFloat(this.val())||a.min+(a.max-a.min)/2;var b="";a.disbaled=this.is(":disabled"),a.vertical="vertical"===this.attr("orient")||a.vertical,b+='
',b+='
',b+='',b+="
",b+="
";var c=[t.base,a.customClass,a.vertical?t.vertical:"",a.labels?t.labels:"",a.disabled?t.disabled:""];if(this.addClass(t.element).wrap('
').after(b),a.$container=this.parents(s.base),a.$track=a.$container.find(s.track),a.$handle=a.$container.find(s.handle),a.$output=a.$container.find(s.output),a.labels){var e=''+a.formatter.call(this,a.labels.max?a.labels.max:a.max)+"",f=''+a.formatter.call(this,a.labels.max?a.labels.min:a.min)+"";a.$container.prepend(a.vertical?e:f).append(a.vertical?f:e)}a.$labels=a.$container.find(s.label),this.on(u.focus,a,m).on(u.blur,a,n).on(u.change,a,p),a.$container.touch({pan:!0,axis:a.vertical?"y":"x"}).on(u.panStart,a,j).on(u.pan,a,k).on(u.panEnd,a,l),d(),i.call(this,a)}function f(a){a.$container.off(u.namespace).touch("destroy"),a.$track.remove(),a.$labels.remove(),this.unwrap().removeClass(t.element).off(u.namespace),d()}function g(a){a.disabled&&(this.prop("disabled",!1),a.$container.removeClass(t.disabled),a.disabled=!1)}function h(a){a.disabled||(this.prop("disabled",!0),a.$container.addClass(t.disabled),a.disabled=!0)}function i(a){a.stepCount=(a.max-a.min)/a.step,a.offset=a.$track.offset(),a.vertical?(a.trackHeight=a.$track.outerHeight(),a.handleHeight=a.$handle.outerHeight(),a.increment=a.trackHeight/a.stepCount):(a.trackWidth=a.$track.outerWidth(),a.handleWidth=a.$handle.outerWidth(),a.increment=a.trackWidth/a.stepCount);var b=(a.$el.val()-a.min)/(a.max-a.min);o(a,b,!0)}function j(a){v.killEvent(a);var b=a.data;b.disbaled||(k(a),b.$container.addClass(t.focus))}function k(a){v.killEvent();var b=a.data,c=0;c=b.vertical?1-(a.pageY-b.offset.top)/b.trackHeight:(a.pageX-b.offset.left)/b.trackWidth,o(b,c)}function l(a){v.killEvent(a);var b=a.data;b.$container.removeClass(t.focus)}function m(a){a.data.$container.addClass("focus")}function n(a){a.data.$container.removeClass("focus")}function o(a,b,c){a.increment>1&&(b=a.vertical?Math.round(b*a.stepCount)*a.increment/a.trackHeight:Math.round(b*a.stepCount)*a.increment/a.trackWidth),0>b&&(b=0),b>1&&(b=1);var d=(a.min-a.max)*b;d=-parseFloat(d.toFixed(a.digits)),a.$handle.css(a.vertical?"bottom":"left",100*b+"%"),d+=a.min,d!==a.value&&d&&c!==!0&&(a.$el.val(d).trigger(u.change,[!0]),a.value=d)}function p(a,b){var c=a.data;if(!b&&!c.disabled){var d=(c.$el.val()-c.min)/(c.max-c.min);o(c,d)}}function q(a){var b=a.toString().split(".");return b[0]=b[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),b.join(".")}var r=b.Plugin("range",{widget:!0,defaults:{customClass:"",formatter:!1,labels:{max:!1,min:!1},vertical:!1},classes:["track","handle","marker","labels","label","label_min","label_max","vertical","focus","disabled"],methods:{_construct:e,_destruct:f,_resize:c,enable:g,disable:h,resize:i},events:{panStart:"panstart",pan:"pan",panEnd:"panend"}}),s=r.classes,t=s.raw,u=r.events,v=r.functions,w=[]}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/scrollbar.js b/static/js/formstone/js/scrollbar.js new file mode 100644 index 0000000..cf5d947 --- /dev/null +++ b/static/js/formstone/js/scrollbar.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [scrollbar.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(){r=b.$body}function d(){w.iterate.call(y,i)}function e(){y=a(t.base)}function f(a){var b="";b+='
',b+='
',b+='',b+="
",a.paddingRight=parseInt(this.css("padding-right"),10),a.paddingBottom=parseInt(this.css("padding-bottom"),10),this.addClass([u.base,a.customClass,a.horizontal?u.horizontal:""].join(" ")).wrapInner('
').prepend(b),a.$content=this.find(t.content),a.$bar=this.find(t.bar),a.$track=this.find(t.track),a.$handle=this.find(t.handle),a.trackMargin=parseInt(a.trackMargin,10),a.$content.on(v.scroll,a,j),this.on(v.touchMouseDown,t.track,a,l).on(v.touchMouseDown,t.handle,a,m),i(a),e()}function g(a){a.$bar.remove(),a.$content.off(v.namespace).contents().unwrap(),this.removeClass([u.base,u.active,a.customClass].join(" ")).off(v.namespace)}function h(b,c,d){var e=d||b.duration,f={};if("number"!==a.type(c)){var g=a(c);if(g.length>0){var h=g.position();c=b.horizontal?h.left+b.$content.scrollLeft():h.top+b.$content.scrollTop()}else c=b.$content.scrollTop()}f[b.horizontal?"scrollLeft":"scrollTop"]=c,b.$content.stop().animate(f,e)}function i(a){a.$el.addClass(u.isSetup);var b={},c={},d={},e=0,f=!0;if(a.horizontal){a.barHeight=a.$content[0].offsetHeight-a.$content[0].clientHeight,a.frameWidth=a.$content.outerWidth(),a.trackWidth=a.frameWidth-2*a.trackMargin,a.scrollWidth=a.$content[0].scrollWidth,a.ratio=a.trackWidth/a.scrollWidth,a.trackRatio=a.trackWidth/a.scrollWidth,a.handleWidth=a.handleSize>0?a.handleSize:a.trackWidth*a.trackRatio,a.scrollRatio=(a.scrollWidth-a.frameWidth)/(a.trackWidth-a.handleWidth),a.handleBounds={left:0,right:a.trackWidth-a.handleWidth},a.$content.css({paddingBottom:a.barHeight+a.paddingBottom});var g=a.$content.scrollLeft();e=g*a.ratio,f=a.scrollWidth<=a.frameWidth,b={width:a.frameWidth},c={width:a.trackWidth,marginLeft:a.trackMargin,marginRight:a.trackMargin},d={width:a.handleWidth}}else{a.barWidth=a.$content[0].offsetWidth-a.$content[0].clientWidth,a.frameHeight=a.$content.outerHeight(),a.trackHeight=a.frameHeight-2*a.trackMargin,a.scrollHeight=a.$content[0].scrollHeight,a.ratio=a.trackHeight/a.scrollHeight,a.trackRatio=a.trackHeight/a.scrollHeight,a.handleHeight=a.handleSize>0?a.handleSize:a.trackHeight*a.trackRatio,a.scrollRatio=(a.scrollHeight-a.frameHeight)/(a.trackHeight-a.handleHeight),a.handleBounds={top:0,bottom:a.trackHeight-a.handleHeight};var h=a.$content.scrollTop();e=h*a.ratio,f=a.scrollHeight<=a.frameHeight,b={height:a.frameHeight},c={height:a.trackHeight,marginBottom:a.trackMargin,marginTop:a.trackMargin},d={height:a.handleHeight}}f?a.$el.removeClass(u.active):a.$el.addClass(u.active),a.$bar.css(b),a.$track.css(c),a.$handle.css(d),q(a,e),a.$el.removeClass(u.setup)}function j(a){w.killEvent(a);var b=a.data,c={};if(b.horizontal){var d=b.$content.scrollLeft();0>d&&(d=0),b.handleLeft=d/b.scrollRatio,b.handleLeft>b.handleBounds.right&&(b.handleLeft=b.handleBounds.right),c={left:b.handleLeft}}else{var e=b.$content.scrollTop();0>e&&(e=0),b.handleTop=e/b.scrollRatio,b.handleTop>b.handleBounds.bottom&&(b.handleTop=b.handleBounds.bottom),c={top:b.handleTop}}b.$handle.css(c)}function k(b){var c=b.originalEvent,d="undefined"!==a.type(c.targetTouches)?c.targetTouches[0]:null;return{pageX:d?d.pageX:b.clientX,pageY:d?d.pageY:b.clientY}}function l(a){w.killEvent(a);var b=a.data,c=k(a),d=b.$track.offset();b.horizontal?(b.pointerStart=c.pageX,b.handleLeft=c.pageX-d.left+x.scrollLeft()-b.handleWidth/2,q(b,b.handleLeft)):(b.pointerStart=c.pageY,b.handleTop=c.pageY-d.top+x.scrollTop()-b.handleHeight/2,q(b,b.handleTop)),n(b)}function m(a){w.killEvent(a);var b=a.data,c=k(a);b.horizontal?(b.pointerStart=c.pageX,b.handleLeft=parseInt(b.$handle.css("left"),10)):(b.pointerStart=c.pageY,b.handleTop=parseInt(b.$handle.css("top"),10)),n(b)}function n(a){a.$content.off(v.namespace),r.on(v.touchMouseMove,a,o).on(v.touchMouseUp,a,p)}function o(a){w.killEvent(a);var b=a.data,c=k(a),d=0;d=b.horizontal?b.handleLeft-(b.pointerStart-c.pageX):b.handleTop-(b.pointerStart-c.pageY),q(b,d)}function p(a){w.killEvent(a),a.data.$content.on(v.scroll,a.data,j),r.off(v.namespace)}function q(a,b){var c={};a.horizontal?(ba.handleBounds.right&&(b=a.handleBounds.right),c={left:b},a.$content.scrollLeft(Math.round(b*a.scrollRatio))):(ba.handleBounds.bottom&&(b=a.handleBounds.bottom),c={top:b},a.$content.scrollTop(Math.round(b*a.scrollRatio))),a.$handle.css(c)}var r,s=b.Plugin("scrollbar",{widget:!0,defaults:{customClass:"",duration:0,handleSize:0,horizontal:!1,trackMargin:0},classes:["content","bar","track","handle","horizontal","setup","active"],methods:{_setup:c,_construct:f,_destruct:g,_resize:d,scroll:h,resize:i}}),t=s.classes,u=t.raw,v=s.events,w=s.functions,x=b.$window,y=[];v.touchMouseDown=[v.touchStart,v.mouseDown].join(" "),v.touchMouseMove=[v.touchMove,v.mouseMove].join(" "),v.touchMouseUp=[v.touchEnd,v.mouseUp].join(" ")}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/swap.js b/static/js/formstone/js/swap.js new file mode 100644 index 0000000..459b17d --- /dev/null +++ b/static/js/formstone/js/swap.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [swap.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(b){b.enabled=!1,b.active=!1,b.classes=a.extend(!0,{},l,b.classes),b.target=this.data(k+"-target"),b.$target=a(b.target).addClass(b.classes.raw.target),b.linked=this.data(k+"-linked"),b.mq="(max-width:"+(b.maxWidth===1/0?"100000px":b.maxWidth)+")";var c=this.data(k+"-group");b.group=c?"[data-"+k+'-group="'+c+'"]':!1,!b.collapse&&b.group&&a(b.group).eq(0).attr("data-"+k+"-active","true"),b.onEnable=this.data(k+"-active"),b.$swaps=a().add(this).add(b.$target),this.touch({tap:!0}).on(m.tap+b.dotGuid,b,i),a.mediaquery("bind",b.rawGuid,b.mq,{enter:function(){g.call(b.$el,b)},leave:function(){h.call(b.$el,b)}})}function d(b){a.mediaquery("unbind",b.rawGuid),b.$swaps.removeClass([b.classes.raw.enabled,b.classes.raw.active].join(" ")).off(m.namespace),this.touch("destroy")}function e(b,c){if(b.enabled&&!b.active){a(b.group).not(b.$el)[j.namespace]("deactivate");var d=b.group?a(b.group).index(b.$el):null;b.$swaps.addClass(b.classes.raw.active),b.linked&&!c&&(a(b.linked).not(b.$el).swap("activate",!0),this.trigger(m.activate,[d])),b.active=!0}}function f(b,c){b.enabled&&b.active&&(b.$swaps.removeClass(b.classes.raw.active),b.linked&&!c&&(a(b.linked).not(b.$el).swap("deactivate",!0),this.trigger(m.deactivate)),b.active=!1)}function g(b,c){b.enabled||(b.enabled=!0,b.$swaps.addClass(b.classes.raw.enabled),c||a(b.linked).not(b.$el).swap("enable"),this.trigger(m.enable),b.onEnable?(b.active=!0,b.$swaps.addClass(b.classes.raw.active)):(b.active=!0,f.call(this,b)))}function h(b,c){b.enabled&&(b.enabled=!1,b.$swaps.removeClass([b.classes.raw.enabled,b.classes.raw.active].join(" ")),c||a(b.linked).not(b.$el).swap("disable"),this.trigger(m.disable))}function i(a){n.killEvent(a);var b=a.data;b.active&&b.collapse?f.call(b.$el,b):e.call(b.$el,b)}var j=b.Plugin("swap",{widget:!0,defaults:{collapse:!0,maxWidth:1/0},classes:["target","enabled","active"],events:{tap:"tap",activate:"activate",deactivate:"deactivate",enable:"enable",disable:"disable"},methods:{_construct:c,_destruct:d,activate:e,deactivate:f,enable:g,disable:h}}),k=j.namespace,l=j.classes,m=j.events,n=j.functions}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/tabs.js b/static/js/formstone/js/tabs.js new file mode 100644 index 0000000..3ddf3e3 --- /dev/null +++ b/static/js/formstone/js/tabs.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [tabs.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(b){b.mq="(max-width:"+(b.mobileMaxWidth===1/0?"100000px":b.mobileMaxWidth)+")",b.content=this.attr("href"),b.group=this.data(p+"-group"),b.tabClasses=[r.tab,b.rawGuid].join(" "),b.mobileTabClasses=[r.tab,r.tab_mobile,b.rawGuid].join(" "),b.contentClasses=[r.content,b.rawGuid].join(" "),b.$mobileTab=a('"),b.$content=a(b.content).addClass(b.contentClasses),b.$content.before(b.$mobileTab),this.attr("data-swap-target",b.content).attr("data-swap-group",b.group).addClass(b.tabClasses).on("activate.swap"+b.dotGuid,b,h).on("deactivate.swap"+b.dotGuid,b,i).on("enable.swap"+b.dotGuid,b,j).on("disable.swap"+b.dotGuid,b,k).swap({maxWidth:b.maxWidth,classes:{target:b.dotGuid,enabled:q.enabled,active:q.active,raw:{target:b.rawGuid,enabled:r.enabled,active:r.active}},collapse:!1}),b.$mobileTab.touch({tap:!0}).on("tap"+b.dotGuid,b,l),a.mediaquery("bind",b.rawGuid,b.mq,{enter:function(){m.call(b.$el,b)},leave:function(){n.call(b.$el,b)}})}function d(b){a.mediaquery("unbind",b.rawGuid),b.$mobileTab.off(s.namespace).touch("destroy").remove(),b.$content.removeClass(r.content),this.removeAttr("data-swap-target").removeData("data-swap-target").removeAttr("data-swap-group").removeData("data-swap-group").removeClass(r.tab).off(s.namespace).swap("destroy")}function e(){this.swap("activate")}function f(){this.swap("enable")}function g(){this.swap("disable")}function h(a){if(!a.originalEvent){var b=a.data,c=0;b.$el.trigger(s.update,[c]),b.$mobileTab.addClass(r.active),b.$content.addClass(r.active)}}function i(a){if(!a.originalEvent){var b=a.data;b.$mobileTab.removeClass(r.active),b.$content.removeClass(r.active)}}function j(a){var b=a.data;b.$mobileTab.addClass(r.enabled),b.$content.addClass(r.enabled)}function k(a){var b=a.data;b.$mobileTab.removeClass(r.enabled),b.$content.removeClass(r.enabled)}function l(a){a.data.$el.swap("activate")}function m(a){a.$el.addClass(r.mobile),a.$mobileTab.addClass(r.mobile)}function n(a){a.$el.removeClass(r.mobile),a.$mobileTab.removeClass(r.mobile)}{var o=b.Plugin("tabs",{widget:!0,defaults:{customClass:"",maxWidth:1/0,mobileMaxWidth:"740px",vertical:!1},classes:["tab","tab_mobile","mobile","content","enabled","active"],events:{tap:"tap",update:"update"},methods:{_construct:c,_destruct:d,activate:e,enable:f,disable:g}}),p=o.namespace,q=o.classes,r=q.raw,s=o.events;o.functions}}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/tooltip.js b/static/js/formstone/js/tooltip.js new file mode 100644 index 0000000..3e77a45 --- /dev/null +++ b/static/js/formstone/js/tooltip.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [tooltip.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(a){this.on(o.mouseEnter,a,e)}function d(){j(),this.off(o.namespace)}function e(a){j();var b=a.data;b.left=a.pageX,b.top=a.pageY,h(b)}function f(a){var b=a.data;p.clearTimer(b.timer),j()}function g(a){i(a.pageX,a.pageY)}function h(c){j();var d="";d+='
',d+=c.formatter.call(c.$el,c),d+='',d+="
",d+="
",q={$tooltip:a(d),$el:c.$el},b.$body.append(q.$tooltip);var e=q.$tooltip.find(m.content),h=q.$tooltip.find(m.caret),k=c.$el.offset(),l=c.$el.outerHeight(),r=c.$el.outerWidth(),s=0,t=0,u=0,v=0,w=!1,x=!1,y=h.outerHeight(!0),z=h.outerWidth(!0),A=e.outerHeight(!0),B=e.outerWidth(!0);"right"===c.direction||"left"===c.direction?(x=(A-y)/2,v=-A/2,"right"===c.direction?u=c.margin:"left"===c.direction&&(u=-(B+c.margin))):(w=(B-z)/2,u=-B/2,"bottom"===c.direction?v=c.margin:"top"===c.direction&&(v=-(A+c.margin))),e.css({top:v,left:u}),h.css({top:x,left:w}),c.follow?c.$el.on(o.mouseMove,c,g):(c.match?"right"===c.direction||"left"===c.direction?(t=c.top,"right"===c.direction?s=k.left+r:"left"===c.direction&&(s=k.left)):(s=c.left,"bottom"===c.direction?t=k.top+l:"top"===c.direction&&(t=k.top)):"right"===c.direction||"left"===c.direction?(t=k.top+l/2,"right"===c.direction?s=k.left+r:"left"===c.direction&&(s=k.left)):(s=k.left+r/2,"bottom"===c.direction?t=k.top+l:"top"===c.direction&&(t=k.top)),i(s,t)),c.timer=p.startTimer(c.timer,c.delay,function(){q.$tooltip.addClass(n.visible)}),c.$el.one(o.mouseLeave,c,f)}function i(a,b){q&&q.$tooltip.css({left:a,top:b})}function j(){q&&(q.$el.off([o.mouseMove,o.mouseLeave].join(" ")),q.$tooltip.remove(),q=null)}function k(){return this.data("title")}var l=b.Plugin("tooltip",{widget:!0,defaults:{customClass:"",delay:0,direction:"top",follow:!1,formatter:k,margin:15,match:!1},classes:["content","caret","visible","top","bottom","right","left"],methods:{_construct:c,_destruct:d}}),m=l.classes,n=m.raw,o=l.events,p=l.functions,q=null}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/touch.js b/static/js/formstone/js/touch.js new file mode 100644 index 0000000..0cae1b7 --- /dev/null +++ b/static/js/formstone/js/touch.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [touch.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(a){a.touches=[],a.touching=!1,this.on(r.dragStart,s.killEvent),a.tap?(a.pan=!1,a.scale=!1,a.swipe=!1,b.support.touch?this.on([r.touchStart,r.pointerDown].join(" "),a,f):this.on(r.click,a,k)):(a.pan||a.swipe||a.scale)&&(a.tap=!1,a.swipe&&(a.pan=!0),a.scale&&(a.axis=!1),a.axis?(a.axisX="x"===a.axis,a.axisY="y"===a.axis):o(this,"none"),this.on([r.touchStart,r.pointerDown].join(" "),a,e),a.pan&&!b.support.touch&&this.on(r.mouseDown,a,f))}function d(){this.off(r.namespace),o(this,"")}function e(a){a.preventManipulation&&a.preventManipulation();var b=a.data,c=a.originalEvent;if(c.type.match(/(up|end)$/i))return void j(a);if(c.pointerId){var d=!1;for(var e in b.touches)b.touches[e].id===c.pointerId&&(d=!0,b.touches[e].pageX=c.clientX,b.touches[e].pageY=c.clientY);d||b.touches.push({id:c.pointerId,pageX:c.clientX,pageY:c.clientY})}else b.touches=c.touches;c.type.match(/(down|start)$/i)?f(a):c.type.match(/move$/i)&&g(a)}function f(b){var c=b.data,d="undefined"!==a.type(c.touches)?c.touches[0]:null;if(c.touching||(c.startE=b.originalEvent,c.startX=d?d.pageX:b.pageX,c.startY=d?d.pageY:b.pageY,c.startT=(new Date).getTime(),c.scaleD=1,c.passed=!1),c.tap)c.clicked=!1,c.$el.on([r.touchMove,r.pointerMove].join(" "),c,e).on([r.touchEnd,r.touchCancel,r.pointerUp,r.pointerCancel].join(" "),c,e);else if(c.pan||c.scale){c.$links&&c.$links.off(r.click);var f=l(c.scale?r.scaleStart:r.panStart,b,c.startX,c.startY,c.scaleD,0,0,"","");if(c.scale&&c.touches&&c.touches.length>=2){var h=c.touches;c.pinch={startX:m(h[0].pageX,h[1].pageX),startY:m(h[0].pageY,h[1].pageY),startD:n(h[1].pageX-h[0].pageX,h[1].pageY-h[0].pageY)},f.pageX=c.startX=c.pinch.startX,f.pageY=c.startY=c.pinch.startY}c.touching||(c.touching=!0,c.pan&&t.on(r.mouseMove,c,g).on(r.mouseUp,c,j),t.on([r.touchMove,r.touchEnd,r.touchCancel,r.pointerMove,r.pointerUp,r.pointerCancel].join(" "),c,e),c.$el.trigger(f))}}function g(b){var c=b.data,d="undefined"!==a.type(c.touches)?c.touches[0]:null,e=d?d.pageX:b.pageX,f=d?d.pageY:b.pageY,g=e-c.startX,h=f-c.startY,i=g>0?"right":"left",k=h>0?"down":"up",o=Math.abs(g)>u,p=Math.abs(h)>u;if(c.tap)(o||p)&&c.$el.off([r.touchMove,r.touchEnd,r.touchCancel,r.pointerMove,r.pointerUp,r.pointerCancel].join(" "));else if(c.pan||c.scale)if(!c.passed&&c.axis&&(c.axisX&&p||c.axisY&&o))j(b);else{!c.passed&&(!c.axis||c.axis&&c.axisX&&o||c.axisY&&p)&&(c.passed=!0),c.passed&&(s.killEvent(b),s.killEvent(c.startE));var q=!0,t=l(c.scale?r.scale:r.pan,b,e,f,c.scaleD,g,h,i,k);if(c.scale)if(c.touches&&c.touches.length>=2){var v=c.touches;c.pinch.endX=m(v[0].pageX,v[1].pageX),c.pinch.endY=m(v[0].pageY,v[1].pageY),c.pinch.endD=n(v[1].pageX-v[0].pageX,v[1].pageY-v[0].pageY),c.scaleD=c.pinch.endD/c.pinch.startD,t.pageX=c.pinch.endX,t.pageY=c.pinch.endY,t.scale=c.scaleD,t.deltaX=c.pinch.endX-c.pinch.startX,t.deltaY=c.pinch.endY-c.pinch.startY}else c.pan||(q=!1);q&&c.$el.trigger(t)}}function h(b,c){b.on(r.click,c,i);var d=a._data(b[0],"events").click;d.unshift(d.pop())}function i(a){s.killEvent(a,!0),a.data.$links.off(r.click)}function j(b){var c=b.data;if(c.tap)c.$el.off([r.touchMove,r.touchEnd,r.touchCancel,r.pointerMove,r.pointerUp,r.pointerCancel,r.mouseMove,r.mouseUp].join(" ")),c.startE.preventDefault(),k(b);else if(c.pan||c.scale){var d="undefined"!==a.type(c.touches)?c.touches[0]:null,e=d?d.pageX:b.pageX,f=d?d.pageY:b.pageY,g=e-c.startX,i=f-c.startY,j=(new Date).getTime(),m=c.scale?r.scaleEnd:r.panEnd,n=g>0?"right":"left",o=i>0?"down":"up",p=Math.abs(g)>1,q=Math.abs(i)>1;if(c.swipe&&Math.abs(g)>u&&j-c.startTs;s++)h(c.$links.eq(s),c)}var x=l(m,b,e,f,c.scaleD,g,i,n,o);t.off([r.touchMove,r.touchEnd,r.touchCancel,r.mouseMove,r.mouseUp,r.pointerMove,r.pointerUp,r.pointerCancel].join(" ")),c.$el.trigger(x),c.touches=[],c.scale}c.touching=!1}function k(a){s.killEvent(a);var b=a.data;if(!b.clicked){"click"!==a.type&&(b.clicked=!0);var c=b.startE?b.startX:a.pageX,d=b.startE?b.startY:a.pageY,e=l(r.tap,a.originalEvent,c,d,1,0,0);b.$el.trigger(e)}}function l(b,c,d,e,f,g,h,i,j){return a.Event(b,{originalEvent:c,bubbles:!0,pageX:d,pageY:e,scale:f,deltaX:g,deltaY:h,directionX:i,directionY:j})}function m(a,b){return(a+b)/2}function n(a,b){return Math.sqrt(a*a+b*b)}function o(a,b){a.css({"-ms-touch-action":b,"touch-action":b})}var p=!b.window.PointerEvent,q=b.Plugin("touch",{widget:!0,defaults:{axis:!1,pan:!1,scale:!1,swipe:!1,tap:!1},methods:{_construct:c,_destruct:d},events:{pointerDown:p?"MSPointerDown":"pointerdown",pointerUp:p?"MSPointerUp":"pointerup",pointerMove:p?"MSPointerMove":"pointermove",pointerCancel:p?"MSPointerCancel":"pointercancel"}}),r=q.events,s=q.functions,t=b.$window,u=10,v=50;r.tap="tap",r.pan="pan",r.panStart="panstart",r.panEnd="panend",r.scale="scale",r.scaleStart="scalestart",r.scaleEnd="scaleend",r.swipe="swipe"}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/transition.js b/static/js/formstone/js/transition.js new file mode 100644 index 0000000..309c3d5 --- /dev/null +++ b/static/js/formstone/js/transition.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [transition.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(a,c){if(c){a.$target=this.find(a.target),a.$check=a.target?a.$target:this,a.callback=c,a.styles=h(a.$check),a.timer=null;var d=a.$check.css(b.transition+"-duration"),f=parseFloat(d);b.support.transition&&d&&f?this.on(k.transitionEnd,a,e):a.timer=l.startTimer(a.timer,50,function(){g(a)},!0)}}function d(a){l.clearTimer(a.timer,!0),this.off(k.namespace)}function e(b){b.stopPropagation(),b.preventDefault();var c=b.data,d=b.originalEvent,e=c.target?c.$target:c.$el;c.property&&d.propertyName!==c.property||!a(d.target).is(e)||f(c)}function f(a){a.always||a.$el[j.namespace]("destroy"),a.callback.apply(a.$el)}function g(a){var b=h(a.$check);i(a.styles,b)||f(a),a.styles=b}function h(b){var c,d,e,f={};if(b instanceof a&&(b=b[0]),m.getComputedStyle){c=m.getComputedStyle(b,null);for(var g=0,h=c.length;h>g;g++)d=c[g],e=c.getPropertyValue(d),f[d]=e}else if(b.currentStyle){c=b.currentStyle;for(d in c)c[d]&&(f[d]=c[d])}return f}function i(b,c){if(a.type(b)!==a.type(c))return!1;for(var d in b)if(!b.hasOwnProperty(d)||!c.hasOwnProperty(d)||b[d]!==c[d])return!1;return!0}var j=b.Plugin("transition",{widget:!0,defaults:{always:!1,property:null,target:null},methods:{_construct:c,_destruct:d,resolve:f}}),k=j.events,l=j.functions,m=b.window}(jQuery,Formstone); \ No newline at end of file diff --git a/static/js/formstone/js/upload.js b/static/js/formstone/js/upload.js new file mode 100644 index 0000000..659ee55 --- /dev/null +++ b/static/js/formstone/js/upload.js @@ -0,0 +1,3 @@ +/*! formstone v0.6.7 [upload.js] 2015-06-13 | MIT License | formstone.it */ + +!function(a,b){"use strict";function c(a){if(b.support.file){var c="";c+='
',c+=a.label,c+="
",c+='1&&(c+=" "+p.multiple),c+=">",this.addClass(p.base).append(c),a.$input=this.find(o.input),a.queue=[],a.total=0,a.uploading=!1,this.on(q.click,o.target,a,e).on(q.dragEnter,a,g).on(q.dragOver,a,h).on(q.dragLeave,a,i).on(q.drop,o.target,a,j),a.$input.on(q.change,a,f)}}function d(a){b.support.file&&(a.$input.off(q.namespace),this.off([q.click,q.dragEnter,q.dragOver,q.dragLeave,q.drop].join(" ")).removeClass(p.base).html(""))}function e(a){a.stopPropagation(),a.preventDefault();var b=a.data;b.$input.trigger(q.click)}function f(a){a.stopPropagation(),a.preventDefault();var b=a.data,c=b.$input[0].files;c.length&&k(b,c)}function g(a){a.stopPropagation(),a.preventDefault();var b=a.data;b.$el.addClass(p.dropping)}function h(a){a.stopPropagation(),a.preventDefault();var b=a.data;b.$el.addClass(p.dropping)}function i(a){a.stopPropagation(),a.preventDefault();var b=a.data;b.$el.removeClass(p.dropping)}function j(a){a.preventDefault();var b=a.data,c=a.originalEvent.dataTransfer.files;b.$el.removeClass(p.dropping),k(b,c)}function k(a,b){for(var c=[],d=0;d=a.maxQueue)return;d++}0===b&&(r.off(q.beforeUnload),a.uploading=!1,a.$el.trigger(q.complete))}function m(b,c,d){c.size>=b.maxSize?(c.error=!0,b.$el.trigger(q.fileError,[c,"Too large"]),l(b)):(c.started=!0,c.transfer=a.ajax({url:b.action,data:d,type:"POST",contentType:!1,processData:!1,cache:!1,xhr:function(){var d=a.ajaxSettings.xhr();return d.upload&&d.upload.addEventListener("progress",function(a){var d=0,e=a.loaded||a.position,f=a.total;a.lengthComputable&&(d=Math.ceil(e/f*100)),b.$el.trigger(q.fileProgress,[c,d])},!1),d},beforeSend:function(){b.$el.trigger(q.fileStart,[c])},success:function(a){c.complete=!0,b.$el.trigger(q.fileComplete,[c,a]),l(b)},error:function(a,d,e){c.error=!0,b.$el.trigger(q.fileError,[c,e]),l(b)}}))}var n=b.Plugin("upload",{widget:!0,defaults:{customClass:"",action:"",label:"Drag and drop files or click to select",leave:"You have uploads pending, are you sure you want to leave this page?",maxQueue:2,maxSize:5242880,postData:{},postKey:"file"},classes:["input","target","multiple","dropping"],methods:{_construct:c,_destruct:d}}),o=n.classes,p=o.raw,q=n.events,r=(n.functions,b.$window);q.complete="complete",q.fileStart="filestart",q.fileProgress="fileprogress",q.fileComplete="filecomplete",q.fileError="fileerror",q.start="start"}(jQuery,Formstone); \ No newline at end of file