1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

Merge remote-tracking branch 'origin/master' into feature-3471

This commit is contained in:
Carlos Martín 2015-01-26 18:29:36 +01:00
commit 15dddade11
171 changed files with 8738 additions and 7009 deletions

View File

@ -1650,6 +1650,7 @@ SUNSTONE_PUBLIC_VENDOR_NOVNC="\
src/sunstone/public/bower_components/no-vnc/include/jsunzip.js \
src/sunstone/public/bower_components/no-vnc/include/keyboard.js \
src/sunstone/public/bower_components/no-vnc/include/keysymdef.js \
src/sunstone/public/bower_components/no-vnc/include/keysym.js \
src/sunstone/public/bower_components/no-vnc/include/logo.js \
src/sunstone/public/bower_components/no-vnc/include/Orbitron700.ttf \
src/sunstone/public/bower_components/no-vnc/include/Orbitron700.woff \

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,12 @@
{
"name": "foundation-datatables",
"homepage": "https://github.com/DataTables/Plugins",
"version": "1.0.0",
"_release": "1.0.0",
"version": "1.0.1",
"_release": "1.0.1",
"_resolution": {
"type": "version",
"tag": "1.0.0",
"commit": "1be8930f1cf5a3d90f046e245d921714f14f153b"
"tag": "1.0.1",
"commit": "a94e328df63c79af43123b99ada5ff88d601a31d"
},
"_source": "https://github.com/DataTables/Plugins.git",
"_target": "*",

View File

@ -1,5 +1,5 @@
/*!
SearchHighlight for DataTables v1.0.0
SearchHighlight for DataTables v1.0.1
2014 SpryMedia Ltd - datatables.net/license
*/
(function(f,c,b){b(c).on("init.dt.dth",function(c,d){var a=new b.fn.dataTable.Api(d),e=b(a.table().body());if(b(a.table().node()).hasClass("searchHighlight")||d.oInit.searchHighlight||b.fn.dataTable.defaults.searchHighlight)a.on("draw.dt.dth column-visibility.dt.dth",function(){e.unhighlight();a.rows({filter:"applied"}).data().length&&e.highlight(a.search())}).on("destroy",function(){a.off("draw.dt.dth column-visibility.dt.dth")})})})(window,document,jQuery);
(function(f,c,b){b(c).on("init.dt.dth",function(c,d){var a=new b.fn.dataTable.Api(d),e=b(a.table().body());if(b(a.table().node()).hasClass("searchHighlight")||d.oInit.searchHighlight||b.fn.dataTable.defaults.searchHighlight)a.on("draw.dt.dth column-visibility.dt.dth",function(){e.unhighlight();a.rows({filter:"applied"}).data().length&&e.highlight(a.search().split(" "))}).on("destroy",function(){a.off("draw.dt.dth column-visibility.dt.dth")})})})(window,document,jQuery);

View File

@ -3,26 +3,28 @@
* @name Russian
* @anchor Russian
* @author Tjoma
* @autor aspyatkin
*/
{
"sProcessing": "Подождите...",
"sLengthMenu": "Показать _MENU_ записей",
"sZeroRecords": "Записи отсутствуют.",
"sInfo": "Записи с _START_ до _END_ из _TOTAL_ записей",
"sInfoEmpty": "Записи с 0 до 0 из 0 записей",
"sInfoFiltered": "(отфильтровано из _MAX_ записей)",
"sInfoPostFix": "",
"sSearch": "Поиск:",
"sUrl": "",
"oPaginate": {
"sFirst": "Первая",
"sPrevious": "Предыдущая",
"sNext": "Следующая",
"sLast": "Последняя"
},
"oAria": {
"sSortAscending": ": активировать для сортировки столбца по возрастанию",
"sSortDescending": ": активировать для сортировки столбцов по убыванию"
}
"processing": "Подождите...",
"search": "Поиск:",
"lengthMenu": "Показать _MENU_ записей",
"info": "Записи с _START_ до _END_ из _TOTAL_ записей",
"infoEmpty": "Записи с 0 до 0 из 0 записей",
"infoFiltered": "(отфильтровано из _MAX_ записей)",
"infoPostFix": "",
"loadingRecords": "Загрузка записей...",
"zeroRecords": "Записи отсутствуют.",
"emptyTable:": "В таблице отсутствуют данные",
"paginate": {
"first": "Первая",
"previous": "Предыдущая",
"next": "Следующая",
"last": "Последняя"
},
"aria": {
"sortAscending": ": активировать для сортировки столбца по возрастанию",
"sortDescending": ": активировать для сортировки столбца по убыванию"
}
}

View File

@ -174,11 +174,6 @@ table.DTTT_selectable tbody tr {
cursor: pointer;
}
div.DTTT .btn {
color: #333 !important;
font-size: 12px;
}
div.DTTT .btn:hover {
text-decoration: none !important;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 146 B

View File

@ -1,11 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>DataTables Foundation example</title>
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/foundation/5.0.2/css/foundation.min.css">
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/foundation/5.4.7/css/foundation.min.css">
<link rel="stylesheet" type="text/css" href="dataTables.foundation.css">
<script type="text/javascript" language="javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
@ -442,4 +442,4 @@
</div>
</div>
</body>
</html>
</html>

View File

@ -61,66 +61,66 @@ $.fn.dataTableExt.oPagination.input = {
nPaging.appendChild( nNext );
nPaging.appendChild( nLast );
$(nFirst).click( function ()
$(nFirst).click( function ()
{
var iCurrentPage = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength) + 1;
if (iCurrentPage != 1)
{
if (iCurrentPage != 1)
{
oSettings.oApi._fnPageChange( oSettings, "first" );
fnCallbackDraw( oSettings );
$(nFirst).addClass('disabled');
$(nPrevious).addClass('disabled');
$(nNext).removeClass('disabled');
$(nLast).removeClass('disabled');
}
}
} );
$(nPrevious).click( function()
$(nPrevious).click( function()
{
var iCurrentPage = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength) + 1;
if (iCurrentPage != 1)
{
if (iCurrentPage != 1)
{
oSettings.oApi._fnPageChange(oSettings, "previous");
fnCallbackDraw(oSettings);
if (iCurrentPage == 2)
{
$(nFirst).addClass('disabled');
$(nPrevious).addClass('disabled');
}
$(nNext).removeClass('disabled');
$(nLast).removeClass('disabled');
fnCallbackDraw(oSettings);
if (iCurrentPage == 2)
{
$(nFirst).addClass('disabled');
$(nPrevious).addClass('disabled');
}
$(nNext).removeClass('disabled');
$(nLast).removeClass('disabled');
}
} );
$(nNext).click( function()
$(nNext).click( function()
{
var iCurrentPage = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength) + 1;
if (iCurrentPage != (Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength)))
if (iCurrentPage != Math.ceil((oSettings.fnRecordsDisplay() / oSettings._iDisplayLength)))
{
oSettings.oApi._fnPageChange(oSettings, "next");
fnCallbackDraw(oSettings);
if (iCurrentPage == (Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength) - 1))
{
$(nNext).addClass('disabled');
$(nLast).addClass('disabled');
}
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
oSettings.oApi._fnPageChange(oSettings, "next");
fnCallbackDraw(oSettings);
if (iCurrentPage == (Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength) - 1))
{
$(nNext).addClass('disabled');
$(nLast).addClass('disabled');
}
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
}
} );
$(nLast).click( function()
$(nLast).click( function()
{
var iCurrentPage = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength) + 1;
if (iCurrentPage != (Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength)))
{
oSettings.oApi._fnPageChange(oSettings, "last");
fnCallbackDraw(oSettings);
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
$(nNext).addClass('disabled');
$(nLast).addClass('disabled');
}
if (iCurrentPage != Math.ceil((oSettings.fnRecordsDisplay() / oSettings._iDisplayLength)))
{
oSettings.oApi._fnPageChange(oSettings, "last");
fnCallbackDraw(oSettings);
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
$(nNext).addClass('disabled');
$(nLast).addClass('disabled');
}
} );
$(nInput).keyup( function (e) {
@ -143,36 +143,36 @@ $.fn.dataTableExt.oPagination.input = {
}
var iNewStart = oSettings._iDisplayLength * (this.value - 1);
if (iNewStart < 0)
{
iNewStart = 0;
}
if (iNewStart > oSettings.fnRecordsDisplay())
{
iNewStart = (Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength) - 1) * oSettings._iDisplayLength;
}
if (iNewStart < 0)
{
iNewStart = 0;
}
if (iNewStart > oSettings.fnRecordsDisplay())
{
iNewStart = (Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength) - 1) * oSettings._iDisplayLength;
}
if (iNewStart == 0)
{
$(nFirst).addClass('disabled');
$(nPrevious).addClass('disabled');
$(nNext).removeClass('disabled');
$(nLast).removeClass('disabled');
}
else if (iNewStart == ((Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength) - 1) * oSettings._iDisplayLength))
{
$(nNext).addClass('disabled');
$(nLast).addClass('disabled');
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
}
else
{
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
$(nNext).removeClass('disabled');
$(nLast).removeClass('disabled');
}
if (iNewStart === 0)
{
$(nFirst).addClass('disabled');
$(nPrevious).addClass('disabled');
$(nNext).removeClass('disabled');
$(nLast).removeClass('disabled');
}
else if (iNewStart == ((Math.ceil((oSettings.fnRecordsDisplay() - 1) / oSettings._iDisplayLength) - 1) * oSettings._iDisplayLength))
{
$(nNext).addClass('disabled');
$(nLast).addClass('disabled');
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
}
else
{
$(nFirst).removeClass('disabled');
$(nPrevious).removeClass('disabled');
$(nNext).removeClass('disabled');
$(nLast).removeClass('disabled');
}
oSettings._iDisplayStart = iNewStart;
fnCallbackDraw( oSettings );
@ -186,7 +186,7 @@ $.fn.dataTableExt.oPagination.input = {
var iPages = Math.ceil((oSettings.fnRecordsDisplay()) / oSettings._iDisplayLength);
if(iPages <= 1)
{
$(nPaging).hide();
$(nPaging).hide();
}
},
@ -203,18 +203,18 @@ $.fn.dataTableExt.oPagination.input = {
var an = oSettings.aanFeatures.p;
if (iPages <= 1) // hide paging when we can't page
{
$(an).hide();
$(an).hide();
}
else
{
/* Loop over each instance of the pager */
for (var i = 0, iLen = an.length ; i < iLen ; i++)
{
var spans = an[i].getElementsByTagName('span');
var inputs = an[i].getElementsByTagName('input');
spans[3].innerHTML = " of " + iPages;
inputs[0].value = iCurrentPage;
}
/* Loop over each instance of the pager */
for (var i = 0, iLen = an.length ; i < iLen ; i++)
{
var spans = an[i].getElementsByTagName('span');
var inputs = an[i].getElementsByTagName('input');
spans[3].innerHTML = " of " + iPages;
inputs[0].value = iCurrentPage;
}
}
}
};

View File

@ -89,7 +89,7 @@ $.fn.dataTableExt.oPagination.listbox = {
elSel.add(oOption); // IE only
}
}
spans[1].innerHTML = " nbsp;of nbsp;" + iPages;
spans[1].innerHTML = "&nbsp;of&nbsp;" + iPages;
}
elSel.value = iCurrentPage;
}

View File

@ -7,9 +7,14 @@
* * 17-MAY-2013
* * 31-JAN-2014
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (dd-mmm-yyyy)
* @summary Sort dates in the format `dd-mmm-yyyy`
* @author [Jeromy French](http://www.appliedinter.net/jeromy_works/)
* @deprecated
*
* @example
* $('#example').dataTable( {

View File

@ -4,9 +4,14 @@
* date and time:`dd.mm.YYYY HH:mm`
* just date:`dd.mm.YYYY`.
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (dd.mm.YYYY) or date and time (dd.mm.YYYY HH:mm)
* @summary Sort date / time in the format `dd.mm.YYYY HH:mm` or `dd.mm.YYYY`.
* @author [Ronny Vedrilla](http://www.ambient-innovation.com)
* @deprecated
*
* @example
* $('#example').dataTable( {
@ -20,8 +25,8 @@
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"de_datetime-asc": function ( a, b ) {
var x, y;
if ($.trim(a) !== '') {
var deDatea = $.trim(a).split(' ');
if (jQuery.trim(a) !== '') {
var deDatea = jQuery.trim(a).split(' ');
var deTimea = deDatea[1].split(':');
var deDatea2 = deDatea[0].split('.');
x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1;
@ -29,8 +34,8 @@
x = Infinity; // = l'an 1000 ...
}
if ($.trim(b) !== '') {
var deDateb = $.trim(b).split(' ');
if (jQuery.trim(b) !== '') {
var deDateb = jQuery.trim(b).split(' ');
var deTimeb = deDateb[1].split(':');
deDateb = deDateb[0].split('.');
y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1;
@ -43,8 +48,8 @@
"de_datetime-desc": function ( a, b ) {
var x, y;
if ($.trim(a) !== '') {
var deDatea = $.trim(a).split(' ');
if (jQuery.trim(a) !== '') {
var deDatea = jQuery.trim(a).split(' ');
var deTimea = deDatea[1].split(':');
var deDatea2 = deDatea[0].split('.');
x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1;
@ -52,8 +57,8 @@
x = Infinity;
}
if ($.trim(b) !== '') {
var deDateb = $.trim(b).split(' ');
if (jQuery.trim(b) !== '') {
var deDateb = jQuery.trim(b).split(' ');
var deTimeb = deDateb[1].split(':');
deDateb = deDateb[0].split('.');
y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1;
@ -66,15 +71,15 @@
"de_date-asc": function ( a, b ) {
var x, y;
if ($.trim(a) !== '') {
var deDatea = $.trim(a).split('.');
if (jQuery.trim(a) !== '') {
var deDatea = jQuery.trim(a).split('.');
x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
} else {
x = Infinity; // = l'an 1000 ...
}
if ($.trim(b) !== '') {
var deDateb = $.trim(b).split('.');
if (jQuery.trim(b) !== '') {
var deDateb = jQuery.trim(b).split('.');
y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;
} else {
y = Infinity;
@ -85,15 +90,15 @@
"de_date-desc": function ( a, b ) {
var x, y;
if ($.trim(a) !== '') {
var deDatea = $.trim(a).split('.');
if (jQuery.trim(a) !== '') {
var deDatea = jQuery.trim(a).split('.');
x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
} else {
x = Infinity;
}
if ($.trim(b) !== '') {
var deDateb = $.trim(b).split('.');
if (jQuery.trim(b) !== '') {
var deDateb = jQuery.trim(b).split('.');
y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;
} else {
y = Infinity;

View File

@ -3,9 +3,14 @@
* additional flexibility with support for spaces between the values and
* either . or / notation for the separators.
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (dd . mm[ . YYYY])
* @summary Sort dates in the format `dd/mm/YY[YY]` (with optional spaces)
* @author [Robert Sedovšek](http://galjot.si/)
* @deprecated
*
* @example
* $('#example').dataTable( {

View File

@ -4,9 +4,14 @@
* also be quickly adapted for other formatting as required. Furthermore, this
* date sorting plug-in allows for empty values in the column.
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (dd/mm/YYY hh:ii:ss)
* @summary Sort date / time in the format `dd/mm/YYY hh:ii:ss`
* @author [Ronan Guilloux](http://coolforest.net/)
* @deprecated
*
* @example
* $('#example').dataTable( {

View File

@ -6,9 +6,14 @@
*
* An automatic type detection plug-in is available for this sorting plug-in.
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (dd/mm/YY)
* @summary Sort dates in the format `dd/mm/YY`
* @author Andy McMaster
* @deprecated
*
* @example
* $('#example').dataTable( {

View File

@ -0,0 +1,41 @@
/**
* This plug-in for DataTables represents the ultimate option in extensibility
* for sorting date / time strings correctly. It uses
* [Moment.js](http://momentjs.com) to create automatic type detection and
* sorting plug-ins for DataTables based on a given format. This way, DataTables
* will automatically detect your temporal information and sort it correctly.
*
* For usage instructions, please see the DataTables blog
* post that [introduces it](//datatables.net/blog/2014-12-18).
*
* @name Ultimate Date / Time sorting
* @summary Sort date and time in any format using Moment.js
* @author [Allan Jardine](//datatables.net)
* @depends DataTables 1.10+, Moment.js 1.7+
*
* @example
* $.fn.dataTable.moment( 'HH:mm MMM D, YY' );
* $.fn.dataTable.moment( 'dddd, MMMM Do, YYYY' );
*
* $('#example').DataTable();
*/
(function($) {
$.fn.dataTable.moment = function ( format, locale ) {
var types = $.fn.dataTable.ext.type;
// Add type detection
types.detect.unshift( function ( d ) {
return moment( d, format, locale, true ).isValid() ?
'moment-'+format :
null;
} );
// Add sorting method - use an integer for the sorting
types.order[ 'moment-'+format+'-pre' ] = function ( d ) {
return moment( d, format, locale, true ).unix();
};
};
}(jQuery));

View File

@ -8,9 +8,14 @@
* * 01/01/2013 01:04 PM
* * 1/1/2013 1:04 Pm
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date / time - US
* @summary Sort date / time in the format `m/d/yy h:m am|pm`
* @author [Kevin Gravier](http://mrkmg.com/)
* @deprecated
*
* @example
* $('#example').dataTable( {

View File

@ -2,9 +2,14 @@
* This sorting plug-in will sort, in calendar order, data which
* is in the format "MM YY".
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (MM YY)
* @anchor Sort dates in the format `MM YY`
* @author Michael Motek
* @deprecated
*
* @example
* $('#example').dataTable( {

View File

@ -3,9 +3,14 @@
* is in the format "MMM yyyy" or "MMMM yyyy". Inspired by forum discussion:
* http://datatables.net/forums/discussion/1242/sorting-dates-with-only-month-and-year
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Date (MMM yyyy) or (MMMM yyyy)
* @anchor Sort dates in the format `MMM yyyy` or `MMMM yyyy`
* @author Phil Hurwitz
* @deprecated
*
* @example
* $('#example').DataTable( {

View File

@ -3,11 +3,16 @@
* information in the most common formats used. It will automatically detect
* those date types.
*
* Please note that this plug-in is **deprecated*. The
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
* functionality and flexibility.
*
* @name Time (dd/mm/YY)
* @summary Sort Times in the formats: `hh:mm, hh:mm:ss, hh:mm tt, hh:mm:ss tt`
* e.g. '22:50, 22:50:40, 10:50 pm, 10:50:40 pm'
* am and pm are not case sensitive. white space is not compulsory
* @author David Stoneham
* @deprecated
*
* @example
* $('#example').dataTable( {

View File

@ -1,6 +1,6 @@
{
"name": "foundation",
"version": "5.4.7",
"version": "5.5.0",
"main": [
"css/foundation.css",
"css/foundation.css.map",
@ -20,11 +20,11 @@
},
"private": true,
"homepage": "https://github.com/zurb/bower-foundation",
"_release": "5.4.7",
"_release": "5.5.0",
"_resolution": {
"type": "version",
"tag": "5.4.7",
"commit": "4371fdca68a2635a7000c9f5567ff9bb62d2a687"
"tag": "5.5.0",
"commit": "902d023fac6c4aab3e5e946575a20a0e2a6cf156"
},
"_source": "git://github.com/zurb/bower-foundation.git",
"_target": "*",

View File

@ -1,6 +1,6 @@
{
"name": "foundation",
"version": "5.4.7",
"version": "5.5.0",
"main": [
"css/foundation.css",
"css/foundation.css.map",

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -355,3 +355,5 @@ table {
td,
th {
padding: 0; }
/*# sourceMappingURL=normalize.css.map */

View File

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": ";;;;;;AAQA,IAAK;EACH,WAAW,EAAE,UAAU;;EACvB,oBAAoB,EAAE,IAAI;;EAC1B,wBAAwB,EAAE,IAAI;;;;;;AAOhC,IAAK;EACH,MAAM,EAAE,CAAC;;;;;;;;;;AAaX;;;;;;;;;;;;OAYQ;EACN,OAAO,EAAE,KAAK;;;;;;AAQhB;;;KAGM;EACJ,OAAO,EAAE,YAAY;;EACrB,cAAc,EAAE,QAAQ;;;;;;;AAQ1B,qBAAsB;EACpB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,CAAC;;;;;;AAQX;QACS;EACP,OAAO,EAAE,IAAI;;;;;;;AAUf,CAAE;EACA,gBAAgB,EAAE,WAAW;;;;;AAO/B;OACQ;EACN,OAAO,EAAE,CAAC;;;;;;;AAUZ,WAAY;EACV,aAAa,EAAE,UAAU;;;;;AAO3B;MACO;EACL,WAAW,EAAE,IAAI;;;;;AAOnB,GAAI;EACF,UAAU,EAAE,MAAM;;;;;;AAQpB,EAAG;EACD,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,QAAQ;;;;;AAOlB,IAAK;EACH,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;;;AAOb,KAAM;EACJ,SAAS,EAAE,GAAG;;;;;AAOhB;GACI;EACF,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,CAAC;EACd,QAAQ,EAAE,QAAQ;EAClB,cAAc,EAAE,QAAQ;;AAG1B,GAAI;EACF,GAAG,EAAE,MAAM;;AAGb,GAAI;EACF,MAAM,EAAE,OAAO;;;;;;;AAUjB,GAAI;EACF,MAAM,EAAE,CAAC;;;;;AAOX,cAAe;EACb,QAAQ,EAAE,MAAM;;;;;;;AAUlB,MAAO;EACL,MAAM,EAAE,QAAQ;;;;;AAOlB,EAAG;EACD,eAAe,EAAE,WAAW;EAC5B,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,CAAC;;;;;AAOX,GAAI;EACF,QAAQ,EAAE,IAAI;;;;;AAOhB;;;IAGK;EACH,WAAW,EAAE,oBAAoB;EACjC,SAAS,EAAE,GAAG;;;;;;;;;;;;;;AAkBhB;;;;QAIS;EACP,KAAK,EAAE,OAAO;;EACd,IAAI,EAAE,OAAO;;EACb,MAAM,EAAE,CAAC;;;;;;AAOX,MAAO;EACL,QAAQ,EAAE,OAAO;;;;;;;;AAUnB;MACO;EACL,cAAc,EAAE,IAAI;;;;;;;;;AAWtB;;;oBAGqB;EACnB,kBAAkB,EAAE,MAAM;;EAC1B,MAAM,EAAE,OAAO;;;;;;AAOjB;oBACqB;EACnB,MAAM,EAAE,OAAO;;;;;AAOjB;uBACwB;EACtB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;;;;AAQZ,KAAM;EACJ,WAAW,EAAE,MAAM;;;;;;;;;AAWrB;mBACoB;EAClB,UAAU,EAAE,UAAU;;EACtB,OAAO,EAAE,CAAC;;;;;;;;AASZ;+CACgD;EAC9C,MAAM,EAAE,IAAI;;;;;;;AASd,oBAAqB;EACnB,kBAAkB,EAAE,SAAS;;EAC7B,eAAe,EAAE,WAAW;EAC5B,kBAAkB,EAAE,WAAW;;EAC/B,UAAU,EAAE,WAAW;;;;;;;AASzB;+CACgD;EAC9C,kBAAkB,EAAE,IAAI;;;;;AAO1B,QAAS;EACP,MAAM,EAAE,iBAAiB;EACzB,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,qBAAqB;;;;;;AAQhC,MAAO;EACL,MAAM,EAAE,CAAC;;EACT,OAAO,EAAE,CAAC;;;;;;AAOZ,QAAS;EACP,QAAQ,EAAE,IAAI;;;;;;AAQhB,QAAS;EACP,WAAW,EAAE,IAAI;;;;;;;AAUnB,KAAM;EACJ,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;AAGnB;EACG;EACD,OAAO,EAAE,CAAC",
"sources": ["../../../scss/normalize.scss"],
"names": [],
"file": "normalize.css"
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -4,10 +4,11 @@
Foundation.libs.abide = {
name : 'abide',
version : '5.4.7',
version : '5.5.0',
settings : {
live_validate : true,
validate_on_blur: true,
focus_on_invalid : true,
error_labels: true, // labels with a for="inputId" will recieve an `error` class
error_class: 'error',
@ -27,7 +28,7 @@
url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
// abc.de
domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/,
domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
datetime: /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
// YYYY-MM-DD
@ -79,10 +80,12 @@
.find('input, textarea, select')
.off('.abide')
.on('blur.fndtn.abide change.fndtn.abide', function (e) {
self.validate([this], e);
if (settings.validate_on_blur === true) {
self.validate([this], e);
}
})
.on('keydown.fndtn.abide', function (e) {
if (settings.live_validate === true) {
if (settings.live_validate === true && e.which != 9) {
clearTimeout(self.timer);
self.timer = setTimeout(function () {
self.validate([this], e);
@ -107,14 +110,14 @@
for (var i=0; i < validation_count; i++) {
if (!validations[i] && (submit_event || is_ajax)) {
if (this.settings.focus_on_invalid) els[i].focus();
form.trigger('invalid');
form.trigger('invalid').trigger('invalid.fndtn.abide');
this.S(els[i]).closest('form').attr(this.invalid_attr, '');
return false;
}
}
if (submit_event || is_ajax) {
form.trigger('valid');
form.trigger('valid').trigger('valid.fndtn.abide');
}
form.removeAttr(this.invalid_attr);
@ -156,6 +159,7 @@
return [el, pattern, required];
},
// TODO: Break this up into smaller methods, getting hard to read.
check_validation_and_apply_styles : function (el_patterns) {
var i = el_patterns.length,
validations = [],

View File

@ -4,7 +4,7 @@
Foundation.libs.accordion = {
name : 'accordion',
version : '5.4.7',
version : '5.5.0',
settings : {
content_class: 'content',
@ -23,23 +23,24 @@
var S = this.S;
S(this.scope)
.off('.fndtn.accordion')
.on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a', function (e) {
.on('click.fndtn.accordion', '[' + this.attr_name() + '] > .accordion-navigation > a', function (e) {
var accordion = S(this).closest('[' + self.attr_name() + ']'),
groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()),
settings = accordion.data(self.attr_name(true) + '-init'),
settings = accordion.data(self.attr_name(true) + '-init') || self.settings,
target = S('#' + this.href.split('#')[1]),
aunts = $('> dd', accordion),
aunts = $('> .accordion-navigation', accordion),
siblings = aunts.children('.'+settings.content_class),
active_content = siblings.filter('.' + settings.active_class);
e.preventDefault();
if (accordion.attr(self.attr_name())) {
siblings = siblings.add('[' + groupSelector + '] dd > .'+settings.content_class);
aunts = aunts.add('[' + groupSelector + '] dd');
siblings = siblings.add('[' + groupSelector + '] dd > '+'.'+settings.content_class);
aunts = aunts.add('[' + groupSelector + '] .accordion-navigation');
}
if (settings.toggleable && target.is(active_content)) {
target.parent('dd').toggleClass(settings.active_class, false);
target.parent('.accordion-navigation').toggleClass(settings.active_class, false);
target.toggleClass(settings.active_class, false);
settings.callback(target);
target.triggerHandler('toggled', [accordion]);

View File

@ -4,7 +4,7 @@
Foundation.libs.alert = {
name : 'alert',
version : '5.4.7',
version : '5.5.0',
settings : {
callback: function (){}
@ -19,12 +19,12 @@
S = this.S;
$(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) {
var alertBox = S(this).closest('[' + self.attr_name() + ']'),
settings = alertBox.data(self.attr_name(true) + '-init') || self.settings;
var alertBox = S(this).closest('[' + self.attr_name() + ']'),
settings = alertBox.data(self.attr_name(true) + '-init') || self.settings;
e.preventDefault();
if (Modernizr.csstransitions) {
alertBox.addClass("alert-close");
alertBox.addClass('alert-close');
alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function(e) {
S(this).trigger('close').trigger('close.fndtn.alert').remove();
settings.callback();

View File

@ -4,7 +4,7 @@
Foundation.libs.clearing = {
name : 'clearing',
version: '5.4.7',
version: '5.5.0',
settings : {
templates : {
@ -389,10 +389,10 @@
load : function ($image) {
var href;
if ($image[0].nodeName === "A") {
if ($image[0].nodeName === 'A') {
href = $image.attr('href');
} else {
href = $image.parent().attr('href');
href = $image.closest('a').attr('href');
}
this.preload($image);

View File

@ -4,7 +4,7 @@
Foundation.libs.dropdown = {
name : 'dropdown',
version : '5.4.7',
version : '5.5.0',
settings : {
active_class: 'open',
@ -12,6 +12,7 @@
mega_class: 'mega',
align: 'bottom',
is_hover: false,
hover_timeout: 150,
opened: function(){},
closed: function(){}
},
@ -19,6 +20,7 @@
init : function (scope, method, options) {
Foundation.inherit(this, 'throttle');
$.extend(true, this.settings, method, options);
this.bindings(method, options);
},
@ -32,6 +34,9 @@
var settings = S(this).data(self.attr_name(true) + '-init') || self.settings;
if (!settings.is_hover || Modernizr.touch) {
e.preventDefault();
if (S(this).parent('[data-reveal-id]')) {
e.stopPropagation();
}
self.toggle($(this));
}
})
@ -47,12 +52,12 @@
target = $this;
} else {
dropdown = $this;
target = S("[" + self.attr_name() + "='" + dropdown.attr('id') + "']");
target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]');
}
var settings = target.data(self.attr_name(true) + '-init') || self.settings;
if(S(e.target).data(self.data_attr()) && settings.is_hover) {
if(S(e.currentTarget).data(self.data_attr()) && settings.is_hover) {
self.closeall.call(self);
}
@ -60,23 +65,36 @@
})
.on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) {
var $this = S(this);
self.timeout = setTimeout(function () {
if ($this.data(self.data_attr())) {
var settings = $this.data(self.data_attr(true) + '-init') || self.settings;
if (settings.is_hover) self.close.call(self, S('#' + $this.data(self.data_attr())));
} else {
var settings;
if ($this.data(self.data_attr())) {
settings = $this.data(self.data_attr(true) + '-init') || self.settings;
}
else {
var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'),
settings = target.data(self.attr_name(true) + '-init') || self.settings;
}
self.timeout = setTimeout(function () {
if ($this.data(self.data_attr())) {
if (settings.is_hover) self.close.call(self, S('#' + $this.data(self.data_attr())));
} else {
if (settings.is_hover) self.close.call(self, $this);
}
}.bind(this), 150);
}.bind(this), settings.hover_timeout);
})
.on('click.fndtn.dropdown', function (e) {
var parent = S(e.target).closest('[' + self.attr_name() + '-content]');
var links = parent.find('a');
if (links.length > 0 && parent.attr('aria-autoclose') !== "false") {
self.close.call(self, S('[' + self.attr_name() + '-content]'));
}
if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) {
return;
}
if (!(S(e.target).data('revealId')) &&
(parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') ||
$.contains(parent.first()[0], e.target)))) {
@ -87,10 +105,10 @@
self.close.call(self, S('[' + self.attr_name() + '-content]'));
})
.on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () {
self.settings.opened.call(this);
self.settings.opened.call(this);
})
.on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () {
self.settings.closed.call(this);
self.settings.closed.call(this);
});
S(window)
@ -106,11 +124,11 @@
var self = this;
dropdown.each(function () {
var original_target = $('[' + self.attr_name() + '=' + dropdown[0].id + ']') || $('aria-controls=' + dropdown[0].id+ ']');
original_target.attr('aria-expanded', "false");
original_target.attr('aria-expanded', 'false');
if (self.S(this).hasClass(self.settings.active_class)) {
self.S(this)
.css(Foundation.rtl ? 'right':'left', '-99999px')
.attr('aria-hidden', "true")
.attr('aria-hidden', 'true')
.removeClass(self.settings.active_class)
.prev('[' + self.attr_name() + ']')
.removeClass(self.settings.active_class)
@ -119,24 +137,26 @@
self.S(this).trigger('closed').trigger('closed.fndtn.dropdown', [dropdown]);
}
});
dropdown.removeClass('f-open-' + this.attr_name(true));
},
closeall: function() {
var self = this;
$.each(self.S('[' + this.attr_name() + '-content]'), function() {
$.each(self.S('.f-open-' + this.attr_name(true)), function() {
self.close.call(self, self.S(this));
});
},
open: function (dropdown, target) {
this
.css(dropdown
.addClass(this.settings.active_class), target);
dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class);
dropdown.data('target', target.get(0)).trigger('opened').trigger('opened.fndtn.dropdown', [dropdown, target]);
dropdown.attr('aria-hidden', 'false');
target.attr('aria-expanded', 'true');
dropdown.focus();
this
.css(dropdown
.addClass(this.settings.active_class), target);
dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class);
dropdown.data('target', target.get(0)).trigger('opened').trigger('opened.fndtn.dropdown', [dropdown, target]);
dropdown.attr('aria-hidden', 'false');
target.attr('aria-expanded', 'true');
dropdown.focus();
dropdown.addClass('f-open-' + this.attr_name(true));
},
data_attr: function () {
@ -170,7 +190,7 @@
resize : function () {
var dropdown = this.S('[' + this.attr_name() + '-content].open'),
target = this.S("[" + this.attr_name() + "='" + dropdown.attr('id') + "']");
target = this.S('[' + this.attr_name() + '="' + dropdown.attr('id') + '"]');
if (dropdown.length && target.length) {
this.css(dropdown, target);
@ -220,14 +240,63 @@
p.top -= o.top;
p.left -= o.left;
//set some flags on the p object to pass along
p.missRight = false;
p.missTop = false;
p.missLeft = false;
p.leftRightFlag = false;
//lets see if the panel will be off the screen
//get the actual width of the page and store it
var actualBodyWidth;
if (document.getElementsByClassName('row')[0]) {
actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth;
} else {
actualBodyWidth = window.outerWidth;
}
var actualMarginWidth = (window.outerWidth - actualBodyWidth) / 2;
var actualBoundary = actualBodyWidth;
if (!this.hasClass('mega')) {
//miss top
if (t.offset().top <= this.outerHeight()) {
p.missTop = true;
actualBoundary = window.outerWidth - actualMarginWidth;
p.leftRightFlag = true;
}
//miss right
if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) {
p.missRight = true;
p.missLeft = false;
}
//miss left
if (t.offset().left - this.outerWidth() <= 0) {
p.missLeft = true;
p.missRight = false;
}
}
return p;
},
top: function (t, s) {
var self = Foundation.libs.dropdown,
p = self.dirs._base.call(this, t);
this.addClass('drop-top');
if (p.missTop == true) {
p.top = p.top + t.outerHeight() + this.outerHeight();
this.removeClass('drop-top');
}
if (p.missRight == true) {
p.left = p.left - this.outerWidth() + t.outerWidth();
}
if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
self.adjust_pip(this,t,s,p);
@ -240,10 +309,15 @@
return {left: p.left, top: p.top - this.outerHeight()};
},
bottom: function (t,s) {
var self = Foundation.libs.dropdown,
p = self.dirs._base.call(this, t);
if (p.missRight == true) {
p.left = p.left - this.outerWidth() + t.outerWidth();
}
if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
self.adjust_pip(this,t,s,p);
}
@ -254,17 +328,39 @@
return {left: p.left, top: p.top + t.outerHeight()};
},
left: function (t, s) {
var p = Foundation.libs.dropdown.dirs._base.call(this, t);
this.addClass('drop-left');
if (p.missLeft == true) {
p.left = p.left + this.outerWidth();
p.top = p.top + t.outerHeight();
this.removeClass('drop-left');
}
return {left: p.left - this.outerWidth(), top: p.top};
},
right: function (t, s) {
var p = Foundation.libs.dropdown.dirs._base.call(this, t);
this.addClass('drop-right');
if (p.missRight == true) {
p.left = p.left - this.outerWidth();
p.top = p.top + t.outerHeight();
this.removeClass('drop-right');
} else {
p.triggeredRight = true;
}
var self = Foundation.libs.dropdown;
if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
self.adjust_pip(this,t,s,p);
}
return {left: p.left + t.outerWidth(), top: p.top};
}
@ -284,10 +380,27 @@
this.rule_idx = sheet.cssRules.length;
//default
var sel_before = '.f-dropdown.open:before',
sel_after = '.f-dropdown.open:after',
css_before = 'left: ' + pip_offset_base + 'px;',
css_after = 'left: ' + (pip_offset_base - 1) + 'px;';
if (position.missRight == true) {
pip_offset_base = dropdown.outerWidth() - 23;
sel_before = '.f-dropdown.open:before',
sel_after = '.f-dropdown.open:after',
css_before = 'left: ' + pip_offset_base + 'px;',
css_after = 'left: ' + (pip_offset_base - 1) + 'px;';
}
//just a case where right is fired, but its not missing right
if (position.triggeredRight == true) {
sel_before = '.f-dropdown.open:before',
sel_after = '.f-dropdown.open:after',
css_before = 'left:-12px;',
css_after = 'left:-14px;';
}
if (sheet.insertRule) {
sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx);

View File

@ -4,7 +4,7 @@
Foundation.libs.equalizer = {
name : 'equalizer',
version : '5.4.7',
version : '5.5.0',
settings : {
use_tallest: true,
@ -71,4 +71,3 @@
}
};
})(jQuery, window, window.document);

View File

@ -4,7 +4,7 @@
Foundation.libs.interchange = {
name : 'interchange',
version : '5.4.7',
version : '5.5.0',
cache : {},
@ -15,15 +15,19 @@
load_attr : 'interchange',
named_queries : {
'default' : 'only screen',
small : Foundation.media_queries.small,
medium : Foundation.media_queries.medium,
large : Foundation.media_queries.large,
xlarge : Foundation.media_queries.xlarge,
xxlarge: Foundation.media_queries.xxlarge,
landscape : 'only screen and (orientation: landscape)',
portrait : 'only screen and (orientation: portrait)',
retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
'default' : 'only screen',
'small' : Foundation.media_queries['small'],
'small-only' : Foundation.media_queries['small-only'],
'medium' : Foundation.media_queries['medium'],
'medium-only' : Foundation.media_queries['medium-only'],
'large' : Foundation.media_queries['large'],
'large-only' : Foundation.media_queries['large-only'],
'xlarge' : Foundation.media_queries['xlarge'],
'xlarge-only' : Foundation.media_queries['xlarge-only'],
'xxlarge' : Foundation.media_queries['xxlarge'],
'landscape' : 'only screen and (orientation: landscape)',
'portrait' : 'only screen and (orientation: portrait)',
'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
'only screen and (min--moz-device-pixel-ratio: 2),' +
'only screen and (-o-min-device-pixel-ratio: 2/1),' +
'only screen and (min-device-pixel-ratio: 2),' +

View File

@ -6,7 +6,7 @@
Foundation.libs.joyride = {
name : 'joyride',
version : '5.4.7',
version : '5.5.0',
defaults : {
expose : false, // turn on or off the expose feature
@ -111,7 +111,7 @@
this.end(this.settings.abort_on_close);
}.bind(this))
.on("keyup.fndtn.joyride", function(e) {
.on('keyup.fndtn.joyride', function(e) {
// Don't do anything if keystrokes are disabled
// or if the joyride is not being shown
if (!this.settings.keyboard || !this.settings.riding) return;
@ -319,8 +319,14 @@
this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location];
// scroll if not modal
// scroll and hide bg if not modal
if (!/body/i.test(this.settings.$target.selector)) {
var joyridemodalbg = $('.joyride-modal-bg');
if (/pop/i.test(this.settings.tipAnimation)) {
joyridemodalbg.hide();
} else {
joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed);
}
this.scroll_to();
}
@ -434,7 +440,7 @@
},
set_next_tip : function () {
this.settings.$next_tip = $(".joyride-tip-guide").eq(this.settings.$li.index());
this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index());
this.settings.$next_tip.data('closed', '');
},
@ -490,8 +496,8 @@
}
if (!/body/i.test(this.settings.$target.selector)) {
var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0,
leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0;
var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0,
leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0;
if (this.bottom()) {
if (this.rtl) {
@ -618,7 +624,8 @@
if (!this.settings.$next_tip.data('closed')) {
var joyridemodalbg = $('.joyride-modal-bg');
if (joyridemodalbg.length < 1) {
$('body').append(this.settings.template.modal).show();
var joyridemodalbg = $(this.settings.template.modal);
joyridemodalbg.appendTo('body');
}
if (/pop/i.test(this.settings.tip_animation)) {

View File

@ -22,9 +22,13 @@
header_helpers([
'foundation-mq-small',
'foundation-mq-small-only',
'foundation-mq-medium',
'foundation-mq-medium-only',
'foundation-mq-large',
'foundation-mq-large-only',
'foundation-mq-xlarge',
'foundation-mq-xlarge-only',
'foundation-mq-xxlarge',
'foundation-data-attribute-namespace']);
@ -98,7 +102,6 @@
var self = this,
should_bind_events = !S(this).data(this.attr_name(true));
if (S(this.scope).is('[' + this.attr_name() +']')) {
S(this.scope).data(this.attr_name(true) + '-init', $.extend({}, this.settings, (options || method), this.data_options(S(this.scope))));
@ -158,23 +161,23 @@
window.matchMedia = window.matchMedia || (function( doc ) {
"use strict";
'use strict';
var bool,
docElem = doc.documentElement,
refNode = docElem.firstElementChild || docElem.firstChild,
// fakeBody required for <FF4 when executed in <head>
fakeBody = doc.createElement( "body" ),
div = doc.createElement( "div" );
fakeBody = doc.createElement( 'body' ),
div = doc.createElement( 'div' );
div.id = "mq-test-1";
div.style.cssText = "position:absolute;top:-100em";
fakeBody.style.background = "none";
div.id = 'mq-test-1';
div.style.cssText = 'position:absolute;top:-100em';
fakeBody.style.background = 'none';
fakeBody.appendChild(div);
return function (q) {
div.innerHTML = "&shy;<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
div.innerHTML = '&shy;<style media="' + q + '"> #mq-test-1 { width: 42px; }</style>';
docElem.insertBefore( fakeBody, refNode );
bool = div.offsetWidth === 42;
@ -213,10 +216,10 @@
jqueryFxAvailable = 'undefined' !== typeof jQuery.fx;
for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {
requestAnimationFrame = window[ vendors[lastTime] + "RequestAnimationFrame" ];
requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ];
cancelAnimationFrame = cancelAnimationFrame ||
window[ vendors[lastTime] + "CancelAnimationFrame" ] ||
window[ vendors[lastTime] + "CancelRequestAnimationFrame" ];
window[ vendors[lastTime] + 'CancelAnimationFrame' ] ||
window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ];
}
function raf() {
@ -278,14 +281,18 @@
window.Foundation = {
name : 'Foundation',
version : '5.4.7',
version : '5.5.0',
media_queries : {
small : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
medium : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
large : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
xlarge: S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
xxlarge: S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')
'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')
},
stylesheet : $('<style></style>').appendTo('head')[0].sheet,
@ -337,15 +344,15 @@
if (args && args.hasOwnProperty(lib)) {
if (typeof this.libs[lib].settings !== 'undefined') {
$.extend(true, this.libs[lib].settings, args[lib]);
$.extend(true, this.libs[lib].settings, args[lib]);
}
else if (typeof this.libs[lib].defaults !== 'undefined') {
$.extend(true, this.libs[lib].defaults, args[lib]);
$.extend(true, this.libs[lib].defaults, args[lib]);
}
return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);
}
args = args instanceof Array ? args : new Array(args); // PATCH: added this line
args = args instanceof Array ? args : new Array(args);
return this.libs[lib].init.apply(this.libs[lib], args);
}
@ -504,7 +511,7 @@
ii = opts_arr.length;
function isNumber (o) {
return ! isNaN (o-0) && o !== null && o !== "" && o !== false && o !== true;
return ! isNaN (o-0) && o !== null && o !== '' && o !== false && o !== true;
}
function trim (str) {
@ -609,6 +616,64 @@
this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-');
return this.prefix + (this.fidx++).toString(36);
},
// Description:
// Helper for window.matchMedia
//
// Arguments:
// mq (String): Media query
//
// Returns:
// (Boolean): Whether the media query passes or not
match : function (mq) {
return window.matchMedia(mq).matches;
},
// Description:
// Helpers for checking Foundation default media queries with JS
//
// Returns:
// (Boolean): Whether the media query passes or not
is_small_up : function () {
return this.match(Foundation.media_queries.small);
},
is_medium_up : function () {
return this.match(Foundation.media_queries.medium);
},
is_large_up : function () {
return this.match(Foundation.media_queries.large);
},
is_xlarge_up : function () {
return this.match(Foundation.media_queries.xlarge);
},
is_xxlarge_up : function () {
return this.match(Foundation.media_queries.xxlarge);
},
is_small_only : function () {
return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
},
is_medium_only : function () {
return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
},
is_large_only : function () {
return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
},
is_xlarge_only : function () {
return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up();
},
is_xxlarge_only : function () {
return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up();
}
}
};

View File

@ -4,14 +4,17 @@
Foundation.libs['magellan-expedition'] = {
name : 'magellan-expedition',
version : '5.4.7',
version : '5.5.0',
settings : {
active_class: 'active',
threshold: 0, // pixels from the top of the expedition for it to become fixes
destination_threshold: 20, // pixels from the top of destination for it to be considered active
throttle_delay: 30, // calculation throttling to increase framerate
fixed_top: 0 // top distance in pixels assigend to the fixed element on scroll
fixed_top: 0, // top distance in pixels assigend to the fixed element on scroll
offset_by_height: true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side.
duration: 700, // animation duration time
easing: 'swing' // animation easing
},
init : function (scope, method, options) {
@ -34,7 +37,7 @@
var expedition = $(this).closest('[' + self.attr_name() + ']'),
settings = expedition.data('magellan-expedition-init'),
hash = this.hash.split('#').join(''),
target = $("a[name='"+hash+"']");
target = $('a[name="'+hash+'"]');
if (target.length === 0) {
target = $('#'+hash);
@ -44,11 +47,13 @@
// Account for expedition height if fixed position
var scroll_top = target.offset().top - settings.destination_threshold + 1;
scroll_top = scroll_top - expedition.outerHeight();
if (settings.offset_by_height) {
scroll_top = scroll_top - expedition.outerHeight();
}
$('html, body').stop().animate({
'scrollTop': scroll_top
}, 700, 'swing', function () {
}, settings.duration, settings.easing, function () {
if(history.pushState) {
history.pushState(null, null, '#'+hash);
}
@ -152,7 +157,11 @@
var name = $(this).data(self.data_attr('magellan-arrival')),
dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']');
if (dest.length > 0) {
var top_offset = Math.floor(dest.offset().top - settings.destination_threshold - expedition.outerHeight());
var top_offset = dest.offset().top - settings.destination_threshold;
if (settings.offset_by_height) {
top_offset = top_offset - expedition.outerHeight();
}
top_offset = Math.floor(top_offset);
return {
destination : dest,
arrival : $(this),

View File

@ -4,7 +4,7 @@
Foundation.libs.offcanvas = {
name : 'offcanvas',
version : '5.4.7',
version : '5.5.0',
settings : {
open_method: 'move',
@ -38,7 +38,7 @@
.on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) {
self.click_toggle_class(e, move_class + right_postfix);
if (self.settings.open_method !== 'overlap'){
S(".left-submenu").removeClass(move_class + right_postfix);
S('.left-submenu').removeClass(move_class + right_postfix);
}
$('.left-off-canvas-toggle').attr('aria-expanded', 'true');
})
@ -46,13 +46,13 @@
var settings = self.get_settings(e);
var parent = S(this).parent();
if(settings.close_on_click && !parent.hasClass("has-submenu") && !parent.hasClass("back")){
if(settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')){
self.hide.call(self, move_class + right_postfix, self.get_wrapper(e));
parent.parent().removeClass(move_class + right_postfix);
}else if(S(this).parent().hasClass("has-submenu")){
}else if(S(this).parent().hasClass('has-submenu')){
e.preventDefault();
S(this).siblings(".left-submenu").toggleClass(move_class + right_postfix);
}else if(parent.hasClass("back")){
S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix);
}else if(parent.hasClass('back')){
e.preventDefault();
parent.parent().removeClass(move_class + right_postfix);
}
@ -61,7 +61,7 @@
.on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) {
self.click_toggle_class(e, move_class + left_postfix);
if (self.settings.open_method !== 'overlap'){
S(".right-submenu").removeClass(move_class + left_postfix);
S('.right-submenu').removeClass(move_class + left_postfix);
}
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
})
@ -69,13 +69,13 @@
var settings = self.get_settings(e);
var parent = S(this).parent();
if(settings.close_on_click && !parent.hasClass("has-submenu") && !parent.hasClass("back")){
if(settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')){
self.hide.call(self, move_class + left_postfix, self.get_wrapper(e));
parent.parent().removeClass(move_class + left_postfix);
}else if(S(this).parent().hasClass("has-submenu")){
}else if(S(this).parent().hasClass('has-submenu')){
e.preventDefault();
S(this).siblings(".right-submenu").toggleClass(move_class + left_postfix);
}else if(parent.hasClass("back")){
S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix);
}else if(parent.hasClass('back')){
e.preventDefault();
parent.parent().removeClass(move_class + left_postfix);
}
@ -83,10 +83,10 @@
})
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
self.click_remove_class(e, move_class + left_postfix);
S(".right-submenu").removeClass(move_class + left_postfix);
S('.right-submenu').removeClass(move_class + left_postfix);
if (right_postfix){
self.click_remove_class(e, move_class + right_postfix);
S(".left-submenu").removeClass(move_class + left_postfix);
S('.left-submenu').removeClass(move_class + left_postfix);
}
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
})
@ -95,7 +95,7 @@
$('.left-off-canvas-toggle').attr('aria-expanded', 'false');
if (right_postfix) {
self.click_remove_class(e, move_class + right_postfix);
$('.right-off-canvas-toggle').attr('aria-expanded', "false");
$('.right-off-canvas-toggle').attr('aria-expanded', 'false');
}
});
},

View File

@ -158,7 +158,7 @@
self.link_custom = function(e) {
e.preventDefault();
var link = $(this).attr('data-orbit-link');
if ((typeof link === 'string') && (link = $.trim(link)) != "") {
if ((typeof link === 'string') && (link = $.trim(link)) != '') {
var slide = container.find('[data-orbit-slide='+link+']');
if (slide.index() != -1) {self._goto(slide.index());}
}
@ -166,7 +166,7 @@
self.link_bullet = function(e) {
var index = $(this).attr('data-orbit-slide');
if ((typeof index === 'string') && (index = $.trim(index)) != "") {
if ((typeof index === 'string') && (index = $.trim(index)) != '') {
if(isNaN(parseInt(index)))
{
var slide = container.find('[data-orbit-slide='+index+']');
@ -402,7 +402,7 @@
Foundation.libs.orbit = {
name: 'orbit',
version: '5.4.7',
version: '5.5.0',
settings: {
animation: 'slide',

View File

@ -4,7 +4,7 @@
Foundation.libs.reveal = {
name : 'reveal',
version : '5.4.7',
version : '5.5.0',
locked : false,
@ -15,6 +15,7 @@
close_on_esc: true,
dismiss_modal_class: 'close-reveal-modal',
bg_class: 'reveal-modal-bg',
bg_root_element: 'body',
root_element: 'body',
open: function(){},
opened: function(){},
@ -193,7 +194,8 @@
$.extend(ajax_settings, {
success: function (data, textStatus, jqXHR) {
if ( $.isFunction(old_success) ) {
old_success(data, textStatus, jqXHR);
var result = old_success(data, textStatus, jqXHR);
if (typeof result == 'string') data = result;
}
modal.html(data);
@ -237,10 +239,13 @@
return base;
},
toggle_bg : function (modal, state) {
toggle_bg : function (el, modal, state) {
var settings = el.data(this.attr_name(true) + '-init') || this.settings,
bg_root_element = settings.bg_root_element; // Adding option to specify the background root element fixes scrolling issue
if (this.S('.' + this.settings.bg_class).length === 0) {
this.settings.bg = $('<div />', {'class': this.settings.bg_class})
.appendTo('body').hide();
.appendTo(bg_root_element).hide();
}
var visible = this.settings.bg.filter(':visible').length > 0;
@ -275,9 +280,9 @@
this.locked = false;
}
if (animData.pop) {
css.top = $(window).scrollTop() - el.data('offset') + 'px';
css.top = $(root_element).scrollTop() - el.data('offset') + 'px'; //adding root_element instead of window for scrolling offset if modal trigger is below the fold
var end_css = {
top: $(window).scrollTop() + el.data('css-top') + 'px',
top: $(root_element).scrollTop() + el.data('css-top') + 'px', //adding root_element instead of window for scrolling offset if modal trigger is below the fold
opacity: 1
};
@ -293,7 +298,7 @@
}
if (animData.fade) {
css.top = $(window).scrollTop() + el.data('css-top') + 'px';
css.top = $(root_element).scrollTop() + el.data('css-top') + 'px'; //adding root_element instead of window for scrolling offset if modal trigger is below the fold
var end_css = {opacity: 1};
return setTimeout(function () {
@ -325,8 +330,8 @@
hide : function (el, css) {
// is modal
if (css) {
var settings = el.data(this.attr_name(true) + '-init');
settings = settings || this.settings;
var settings = el.data(this.attr_name(true) + '-init') || this.settings,
root_element = settings.root_element;
var animData = getAnimationData(settings.animation);
if (!animData.animate) {
@ -334,7 +339,7 @@
}
if (animData.pop) {
var end_css = {
top: - $(window).scrollTop() - el.data('offset') + 'px',
top: - $(root_element).scrollTop() - el.data('offset') + 'px', //adding root_element instead of window for scrolling offset if modal trigger is below the fold
opacity: 0
};

View File

@ -4,15 +4,17 @@
Foundation.libs.slider = {
name : 'slider',
version : '5.4.7',
version : '5.5.0',
settings: {
start: 0,
end: 100,
step: 1,
precision: null,
initial: null,
display_selector: '',
vertical: false,
trigger_input_change: false,
on_change: function(){}
},
@ -44,16 +46,9 @@
if (!e.pageY) {
scroll_offset = window.scrollY;
}
self.calculate_position(self.cache.active, (e.pageY ||
e.originalEvent.clientY ||
e.originalEvent.touches[0].clientY ||
e.currentPoint.y)
+ scroll_offset);
self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset);
} else {
self.calculate_position(self.cache.active, e.pageX ||
e.originalEvent.clientX ||
e.originalEvent.touches[0].clientX ||
e.currentPoint.x);
self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x'));
}
}
})
@ -70,6 +65,26 @@
}, 300));
},
get_cursor_position : function(e, xy) {
var pageXY = 'page' + xy.toUpperCase(),
clientXY = 'client' + xy.toUpperCase(),
position;
if (typeof e[pageXY] !== 'undefined') {
position = e[pageXY];
}
else if (typeof e.originalEvent[clientXY] !== 'undefined') {
position = e.originalEvent[clientXY];
}
else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') {
position = e.originalEvent.touches[0][clientXY];
}
else if(e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') {
position = e.currentPoint[xy];
}
return position;
},
set_active_slider : function($handle) {
this.cache.active = $handle;
},
@ -97,7 +112,7 @@
pct = settings.vertical ? 1-pct : pct;
var norm = self.normalized_value(pct, settings.start, settings.end, settings.step);
var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision);
self.set_ui($handle, norm);
});
@ -109,7 +124,9 @@
bar_l = $.data($handle[0], 'bar_l'),
norm_pct = this.normalized_percentage(value, settings.start, settings.end),
handle_offset = norm_pct*(bar_l-handle_l)-1,
progress_bar_length = norm_pct*100;
progress_bar_length = norm_pct*100,
$handle_parent = $handle.parent(),
$hidden_inputs = $handle.parent().children('input[type=hidden]');
if (Foundation.rtl && !settings.vertical) {
handle_offset = -handle_offset;
@ -124,14 +141,17 @@
$handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%');
}
$handle.parent().attr(this.attr_name(), value).trigger('change').trigger('change.fndtn.slider');
$handle_parent.attr(this.attr_name(), value).trigger('change').trigger('change.fndtn.slider');
$handle.parent().children('input[type=hidden]').val(value);
$hidden_inputs.val(value);
if (settings.trigger_input_change) {
$hidden_inputs.trigger('change');
}
if (!$handle[0].hasAttribute('aria-valuemin')) {
$handle.attr({
'aria-valuemin': settings.start,
'aria-valuemax': settings.end,
'aria-valuemax': settings.end
});
}
$handle.attr('aria-valuenow', value);
@ -152,13 +172,13 @@
return Math.min(1, (val - start)/(end - start));
},
normalized_value : function(val, start, end, step) {
normalized_value : function(val, start, end, step, precision) {
var range = end - start,
point = val*range,
mod = (point-(point%step)) / step,
rem = point % step,
round = ( rem >= step*0.5 ? step : 0);
return (mod*step + round) + start;
return ((mod*step + round) + start).toFixed(precision);
},
set_translate : function(ele, offset, vertical) {
@ -183,8 +203,16 @@
return Math.min(Math.max(val, min), max);
},
initialize_settings : function(handle) {
var settings = $.extend({}, this.settings, this.data_options($(handle).parent()));
var settings = $.extend({}, this.settings, this.data_options($(handle).parent())),
decimal_places_match_result;
if (settings.precision === null) {
decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/);
settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0;
}
if (settings.vertical) {
$.data(handle, 'bar_o', $(handle).parent().offset().top);
@ -204,7 +232,7 @@
set_initial_position : function($ele) {
var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'),
initial = (!!settings.initial ? settings.initial : Math.floor((settings.end-settings.start)*0.5/settings.step)*settings.step+settings.start),
initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end-settings.start)*0.5/settings.step)*settings.step+settings.start),
$handle = $ele.children('.range-slider-handle');
this.set_ui($handle, initial);
},

View File

@ -4,7 +4,7 @@
Foundation.libs.tab = {
name : 'tab',
version : '5.4.7',
version : '5.5.0',
settings : {
active_class: 'active',
@ -190,11 +190,11 @@
// window (notably in Chrome).
// Clean up multiple attr instances to done once
tab.addClass(settings.active_class).triggerHandler('opened');
tab_link.attr({"aria-selected": "true", tabindex: 0});
tab_link.attr({'aria-selected': 'true', tabindex: 0});
siblings.removeClass(settings.active_class)
siblings.find('a').attr({"aria-selected": "false", tabindex: -1});
target.siblings().removeClass(settings.active_class).attr({"aria-hidden": "true", tabindex: -1});
target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr("tabindex");
siblings.find('a').attr({'aria-selected': 'false', tabindex: -1});
target.siblings().removeClass(settings.active_class).attr({'aria-hidden': 'true', tabindex: -1});
target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex');
settings.callback(tab);
target.triggerHandler('toggled', [tab]);
tabs.triggerHandler('toggled', [target]);

View File

@ -4,7 +4,7 @@
Foundation.libs.tooltip = {
name : 'tooltip',
version : '5.4.7',
version : '5.5.0',
settings : {
additional_inheritable_classes : [],

View File

@ -4,7 +4,7 @@
Foundation.libs.topbar = {
name : 'topbar',
version: '5.4.7',
version: '5.5.0',
settings : {
index : 0,
@ -229,11 +229,11 @@
}
});
S(window).off(".topbar").on("resize.fndtn.topbar", self.throttle(function() {
S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function() {
self.resize.call(self);
}, 50)).trigger("resize").trigger("resize.fndtn.topbar").load(function(){
}, 50)).trigger('resize').trigger('resize.fndtn.topbar').load(function(){
// Ensure that the offset is calculated after all of the pages resources have loaded
S(this).trigger("resize.fndtn.topbar");
S(this).trigger('resize.fndtn.topbar');
});
S('body').off('.topbar').on('click.fndtn.topbar', function (e) {
@ -365,7 +365,7 @@
if (!$dropdown.find('.title.back').length) {
if (settings.mobile_show_parent_link == true && url) {
$titleLi = $('<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5></li><li class="parent-link show-for-small"><a class="parent-link js-generated" href="' + url + '">' + $link.html() +'</a></li>');
$titleLi = $('<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5></li><li class="parent-link show-for-small-only"><a class="parent-link js-generated" href="' + url + '">' + $link.html() +'</a></li>');
} else {
$titleLi = $('<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5>');
}

View File

@ -6,12 +6,15 @@
$rem-base: 16px !default;
// IMPORT ONCE
// We use this to prevent styles from being loaded multiple times for compenents that rely on other components.
// We use this to prevent styles from being loaded multiple times for compenents that rely on other components.
$modules: () !default;
@mixin exports($name) {
// Import from global scope
$modules: $modules !global;
// Check if a module is already on the list
$module_index: index($modules, $name);
@if (($module_index == null) or ($module_index == false)) {
$modules: append($modules, $name);
$modules: append($modules, $name) !global;
@content;
}
}
@ -22,7 +25,7 @@ $modules: () !default;
// RANGES
// We use these functions to define ranges for various things, like media queries.
// We use these functions to define ranges for various things, like media queries.
@function lower-bound($range){
@if length($range) <= 0 {
@return 0;
@ -43,6 +46,47 @@ $modules: () !default;
@return $num / ($num * 0 + 1);
}
// TEXT INPUT TYPES
@function text-inputs( $types: all, $selector: input ) {
$return: ();
$all-text-input-types:
text
password
date
datetime
datetime-local
month
week
email
number
search
tel
time
url
color
textarea;
@if $types == all { $types: $all-text-input-types; }
@each $type in $types {
@if $type == textarea {
@if $selector == input {
$return: append($return, unquote('#{$type}'), comma)
} @else {
$return: append($return, unquote('#{$type}#{$selector}'), comma)
}
} @else {
$return: append($return, unquote('#{$selector}[type="#{$type}"]'), comma)
}
}
@return $return;
}
// CONVERT TO REM
@function convert-to-rem($value, $base-value: $rem-base) {
$value: strip-unit($value) / strip-unit($base-value) * 1rem;
@ -58,23 +102,23 @@ $modules: () !default;
@return '[data-' + $attr + ']';
}
// REM CALC
// REM CALC
// New Syntax, allows to optionally calculate on a different base value to counter compounding effect of rem's.
// Call with 1, 2, 3 or 4 parameters, 'px' is not required but supported:
//
//
// rem-calc(10 20 30px 40);
//
//
// Space delimited, if you want to delimit using comma's, wrap it in another pair of brackets
//
//
// rem-calc((10, 20, 30, 40px));
//
//
// Optionally call with a different base (eg: 8px) to calculate rem.
//
//
// rem-calc(16px 32px 48px, 8px);
//
//
// If you require to comma separate your list
//
//
// rem-calc((16px, 32px, 48), 8px);
@function rem-calc($values, $base-value: $rem-base) {

View File

@ -318,14 +318,14 @@ $include-html-global-classes: $include-html-classes;
// $include-html-accordion-classes: $include-html-classes;
// $accordion-navigation-padding: rem-calc(16);
// $accordion-navigation-bg-color: $silver ;
// $accordion-navigation-bg-color: $silver;
// $accordion-navigation-hover-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -5%);
// $accordion-navigation-active-bg-color: scale-color($accordion-navigation-bg-color, $lightness: -3%);
// $accordion-navigation-font-color: $jet;
// $accordion-navigation-font-size: rem-calc(16);
// $accordion-navigation-font-family: $body-font-family;
// $accordion-content-padding: $column-gutter/2;
// $accordion-content-padding: ($column-gutter/2);
// $accordion-content-active-bg-color: $white;
// 02. Alert Boxes
@ -545,7 +545,7 @@ $include-html-global-classes: $include-html-classes;
// $f-dropdown-font-size: rem-calc(14);
// $f-dropdown-list-padding: rem-calc(5, 10);
// $f-dropdown-line-height: rem-calc(18);
// $f-dropdown-list-hover-bg: $smoke ;
// $f-dropdown-list-hover-bg: $smoke;
// $dropdown-mobile-default-float: 0;
// We use this to control the styles for when the dropdown has custom content.
@ -573,25 +573,25 @@ $include-html-global-classes: $include-html-classes;
// $dropdown-button-padding-tny: $button-pip-tny * 7;
// $dropdown-button-pip-size-tny: $button-pip-tny;
// $dropdown-button-pip-opposite-tny: $button-pip-tny * 3;
// $dropdown-button-pip-top-tny: -$button-pip-tny / 2 + rem-calc(1);
// $dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1);
// We use these to style small dropdown buttons
// $dropdown-button-padding-sml: $button-pip-sml * 7;
// $dropdown-button-pip-size-sml: $button-pip-sml;
// $dropdown-button-pip-opposite-sml: $button-pip-sml * 3;
// $dropdown-button-pip-top-sml: -$button-pip-sml / 2 + rem-calc(1);
// $dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1);
// We use these to style medium dropdown buttons
// $dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3);
// $dropdown-button-pip-size-med: $button-pip-med - rem-calc(3);
// $dropdown-button-pip-opposite-med: $button-pip-med * 2.5;
// $dropdown-button-pip-top-med: -$button-pip-med / 2 + rem-calc(2);
// $dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2);
// We use these to style large dropdown buttons
// $dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3);
// $dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6);
// $dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5;
// $dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3);
// $dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3);
// 10. Flex Video
// - - - - - - - - - - - - - - - - - - - - - - - - -
@ -667,6 +667,7 @@ $include-html-global-classes: $include-html-classes;
// $input-error-message-font-weight: $font-weight-normal;
// $input-error-message-font-style: italic;
// $input-error-message-font-color: $white;
// $input-error-message-bg-color: $alert-color;
// $input-error-message-font-color-alt: $oil;
// We use this to style the glowing effect of inputs when focused
@ -685,9 +686,11 @@ $include-html-global-classes: $include-html-classes;
// $include-html-icon-bar-classes: $include-html-classes;
// $icon-bar-bg: $oil;
// $icon-bar-font-color: $white;
// $icon-bar-font-color-hover: $icon-bar-font-color;
// $icon-bar-font-size: 1rem;
// $icon-bar-hover-color: $primary-color;
// $icon-bar-icon-color: $white;
// $icon-bar-icon-color-hover: $icon-bar-icon-color;
// $icon-bar-icon-size: 1.875rem;
// $icon-bar-image-width: 1.875rem;
// $icon-bar-image-height: 1.875rem;
@ -991,7 +994,7 @@ $include-html-global-classes: $include-html-classes;
// $price-title-font-family: $body-font-family;
// We use these to control the price styles
// $price-money-bg: $vapor ;
// $price-money-bg: $vapor;
// $price-money-padding: rem-calc(15 20);
// $price-money-align: center;
// $price-money-color: $oil;
@ -1268,7 +1271,7 @@ $include-html-global-classes: $include-html-classes;
// These control the background color for the table and even rows
// $table-bg: $white;
// $table-even-row-bg: $snow ;
// $table-even-row-bg: $snow;
// These control the table cell border style
// $table-border-style: solid;
@ -1308,7 +1311,7 @@ $include-html-global-classes: $include-html-classes;
// $tabs-navigation-font-family: $body-font-family;
// $tabs-content-margin-bottom: rem-calc(24);
// $tabs-content-padding: $column-gutter/2;
// $tabs-content-padding: ($column-gutter/2);
// $tabs-vertical-navigation-margin-bottom: 1.25rem;
@ -1365,7 +1368,7 @@ $include-html-global-classes: $include-html-classes;
// $topbar-bg: $topbar-bg-color;
// Height and margin
// $topbar-height: 45px;
// $topbar-height: rem-calc(45);
// $topbar-margin-bottom: 0;
// Controlling the styles for the title in the top bar
@ -1376,6 +1379,7 @@ $include-html-global-classes: $include-html-classes;
// $topbar-dropdown-bg: $oil;
// $topbar-dropdown-link-color: $white;
// $topbar-dropdown-link-bg: $oil;
// $topbar-dropdown-link-bg-hover: $oil;
// $topbar-dropdown-link-weight: $font-weight-normal;
// $topbar-dropdown-toggle-size: 5px;
// $topbar-dropdown-toggle-color: $white;
@ -1391,12 +1395,12 @@ $include-html-global-classes: $include-html-classes;
// $topbar-link-hover-lightness: -10%; // Darken by 10%
// $topbar-link-bg: $topbar-bg;
// $topbar-link-bg-color-hover: $charcoal;
// $topbar-link-bg-hover: #272727;
// $topbar-link-bg-hover: $oil;
// $topbar-link-bg-active: $primary-color;
// $topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%);
// $topbar-link-font-family: $body-font-family;
// $topbar-link-text-transform: none;
// $topbar-link-padding: $topbar-height / 3;
// $topbar-link-padding: ($topbar-height / 3);
// $topbar-back-link-size: $h5-font-size;
// $topbar-link-dropdown-padding: 20px;

View File

@ -18,7 +18,7 @@ $accordion-navigation-font-color: $jet !default;
$accordion-navigation-font-size: rem-calc(16) !default;
$accordion-navigation-font-family: $body-font-family !default;
$accordion-content-padding: $column-gutter/2 !default;
$accordion-content-padding: ($column-gutter/2) !default;
$accordion-content-active-bg-color: $white !default;

View File

@ -66,7 +66,7 @@ $button-group-border-width: 1px !default;
> button, .button {
border-top: $button-group-border-width solid;
border-color: rgba(255, 255, 255, 0.5);
border-left-width: 0px;
border-left-width: 0;
margin:0;
display: block;
}

View File

@ -34,7 +34,7 @@ $button-font-align: center !default;
$button-function-factor: -20% !default;
// We use these to control button border styles.
$button-border-width: 0px !default;
$button-border-width: 0 !default;
$button-border-style: solid !default;
$button-bg-color: $primary-color !default;
$button-bg-hover: scale-color($button-bg-color, $lightness: $button-function-factor) !default;
@ -80,7 +80,7 @@ $button-disabled-cursor: $cursor-default-value !default;
text-decoration: none;
text-align: $button-font-align;
-webkit-appearance: none;
-webkit-border-radius:0;
border-radius:0;
}
@if $display { display: $display; }
}
@ -133,7 +133,7 @@ $button-disabled-cursor: $cursor-default-value !default;
//
// We use this mixin to add button color styles
//
// $bg - Primary color set in settings file. Default: $button-bg.
// $bg - Background color. We can set $bg:false for a transparent background. Default: $primary-color.
// $radius - If true, set to button radius which is $global-radius || explicitly set radius amount in px (ex. $radius:10px). Default: true
// $disabled - We can set $disabled:true to create a disabled transparent button. Default: false
// $bg-hover - Button Hover Background Color. Default: $button-bg-hover

View File

@ -22,25 +22,25 @@ $button-pip-lrg: rem-calc(11) !default;
$dropdown-button-padding-tny: $button-pip-tny * 7 !default;
$dropdown-button-pip-size-tny: $button-pip-tny !default;
$dropdown-button-pip-opposite-tny: $button-pip-tny * 3 !default;
$dropdown-button-pip-top-tny: -$button-pip-tny / 2 + rem-calc(1) !default;
$dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1) !default;
// We use these to style small dropdown buttons
$dropdown-button-padding-sml: $button-pip-sml * 7 !default;
$dropdown-button-pip-size-sml: $button-pip-sml !default;
$dropdown-button-pip-opposite-sml: $button-pip-sml * 3 !default;
$dropdown-button-pip-top-sml: -$button-pip-sml / 2 + rem-calc(1) !default;
$dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1) !default;
// We use these to style medium dropdown buttons
$dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3) !default;
$dropdown-button-pip-size-med: $button-pip-med - rem-calc(3) !default;
$dropdown-button-pip-opposite-med: $button-pip-med * 2.5 !default;
$dropdown-button-pip-top-med: -$button-pip-med / 2 + rem-calc(2) !default;
$dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2) !default;
// We use these to style large dropdown buttons
$dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3) !default;
$dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6) !default;
$dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5 !default;
$dropdown-button-pip-top-lrg: -$button-pip-lrg / 2 + rem-calc(3) !default;
$dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3) !default;
// @mixins
//

View File

@ -67,6 +67,7 @@ $input-error-message-font-size: rem-calc(12) !default;
$input-error-message-font-weight: $font-weight-normal !default;
$input-error-message-font-style: italic !default;
$input-error-message-font-color: $white !default;
$input-error-message-bg-color: $alert-color !default;
$input-error-message-font-color-alt: $oil !default;
// We use this to style the glowing effect of inputs when focused
@ -86,7 +87,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
.row { margin: 0 ((-$form-spacing) / 2);
.column,
.columns { padding: 0 $form-spacing / 2; }
.columns { padding: 0 ($form-spacing / 2); }
// Use this to collapse the margins of a form row
&.collapse { margin: 0;
@ -102,7 +103,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
input.column,
input.columns,
textarea.column,
textarea.columns { padding-#{$default-float}: $form-spacing / 2; }
textarea.columns { padding-#{$default-float}: ($form-spacing / 2); }
}
// @MIXIN
@ -224,7 +225,6 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
padding-top: 0;
padding-bottom: 0;
text-align: center;
line-height: rem-calc(34);
border: none;
}
@ -257,7 +257,6 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
padding-top: 0;
padding-bottom: 0;
text-align: center;
line-height: rem-calc(34);
border: none;
}
@ -304,7 +303,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
//
// We use this mixin to create error message styles
// $bg - Default: $alert-color (Found in settings file)
@mixin form-error-message($bg:$alert-color) {
@mixin form-error-message($bg:$input-error-message-bg-color) {
display: block;
padding: $input-error-message-padding;
margin-top: $input-error-message-top;
@ -323,7 +322,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
// We use this mixin to style select elements
@mixin form-select {
-webkit-appearance: none !important;
-webkit-border-radius: 0px;
border-radius: 0;
background-color: $select-bg-color;
// Hide the dropdown arrow shown in newer IE versions
@ -331,7 +330,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
display: none;
}
// The custom arrow have some fake horizontal padding so we can align it
// The custom arrow has some fake horizontal padding so we can align it
// from the right side of the element without relying on CSS3
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
@ -344,7 +343,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
width: $input-border-width;
color: $input-border-color;
}
padding: $form-spacing / 2;
padding: ($form-spacing / 2);
font-size: $input-font-size;
font-family: $body-font-family;
color: $input-font-color;
@ -411,23 +410,9 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
span.postfix,label.postfix { @include postfix(); }
/* We use this to get basic styling on all basic form elements */
input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea {
#{text-inputs(all, 'input')} {
-webkit-appearance: none;
-webkit-border-radius: 0px;
border-radius: 0;
@include form-element;
@if $input-include-glowing-effect == false {
@include single-transition(all, 0.15s, linear);
@ -468,7 +453,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
input[type="submit"] {
-webkit-appearance: none;
-webkit-border-radius: 0px;
border-radius: 0;
}
/* Respect enforced amount of rows for textarea */

View File

@ -138,7 +138,7 @@ $base-line-height: 1.5 !default;
}
@else {
top: 50%;
margin-top: -$width/2;
margin-top: (-$width/2);
}
@if $left {
left: $left;
@ -154,14 +154,14 @@ $base-line-height: 1.5 !default;
}
box-shadow:
0 0px 0 $thickness $color,
0 0 0 $thickness $color,
0 $gap + $thickness 0 $thickness $color,
0 (2 * $gap + 2*$thickness) 0 $thickness $color;
width: $width;
}
span:hover:after {
box-shadow:
0 0px 0 $thickness $hover-color,
0 0 0 $thickness $hover-color,
0 $gap + $thickness 0 $thickness $hover-color,
0 (2 * $gap + 2*$thickness) 0 $thickness $hover-color;
}
@ -296,7 +296,7 @@ $include-html-global-classes: $include-html-classes !default;
$column-gutter: rem-calc(30) !default;
// Media Query Ranges
$small-range: (0em, 40em) !default;
$small-range: (0, 40em) !default;
$medium-range: (40.063em, 64em) !default;
$large-range: (64.063em, 90em) !default;
$xlarge-range: (90.063em, 120em) !default;
@ -345,7 +345,7 @@ $cursor-text-value: text !default;
// Forward slash placed around everything to convince PhantomJS to read the value.
meta.foundation-version {
font-family: "/5.4.7/";
font-family: "/5.5.0/";
}
meta.foundation-mq-small {
@ -353,21 +353,41 @@ $cursor-text-value: text !default;
width: lower-bound($small-range);
}
meta.foundation-mq-small-only {
font-family: "/" + unquote($small-only) + "/";
width: lower-bound($small-range);
}
meta.foundation-mq-medium {
font-family: "/" + unquote($medium-up) + "/";
width: lower-bound($medium-range);
}
meta.foundation-mq-medium-only {
font-family: "/" + unquote($medium-only) + "/";
width: lower-bound($medium-range);
}
meta.foundation-mq-large {
font-family: "/" + unquote($large-up) + "/";
width: lower-bound($large-range);
}
meta.foundation-mq-large-only {
font-family: "/" + unquote($large-only) + "/";
width: lower-bound($large-range);
}
meta.foundation-mq-xlarge {
font-family: "/" + unquote($xlarge-up) + "/";
width: lower-bound($xlarge-range);
}
meta.foundation-mq-xlarge-only {
font-family: "/" + unquote($xlarge-only) + "/";
width: lower-bound($xlarge-range);
}
meta.foundation-mq-xxlarge {
font-family: "/" + unquote($xxlarge-up) + "/";
width: lower-bound($xxlarge-range);

View File

@ -116,8 +116,8 @@ $last-child-float: $opposite-direction !default;
// Gutter padding whenever a column isn't set to collapse
// (use $collapse:null to do nothing)
@else if $collapse == false {
padding-left: $column-gutter / 2;
padding-right: $column-gutter / 2;
padding-left: ($column-gutter / 2);
padding-right: ($column-gutter / 2);
}
// If a column number is given, calculate width
@ -172,11 +172,10 @@ $last-child-float: $opposite-direction !default;
.#{$size}-#{$i} { @include grid-column($columns:$i,$collapse:null,$float:false); }
}
@for $i from 0 through $total-columns - 1 {
.#{$size}-offset-#{$i} { @include grid-column($offset:$i, $collapse:null,$float:false); }
}
.#{$size}-reset-order {
margin-#{$default-float}: 0;
margin-#{$opposite-direction}: 0;
@ -211,6 +210,21 @@ $last-child-float: $opposite-direction !default;
.columns.#{$size}-uncentered.opposite {
float: $opposite-direction;
}
.row {
&.#{$size}-collapse {
> .column,
> .columns { @include grid-column($collapse:true, $float:false); }
.row {margin-left:0; margin-right:0;}
}
&.#{$size}-uncollapse {
> .column,
> .columns {
@include grid-column;
}
}
}
}
@include exports("grid") {

View File

@ -15,15 +15,21 @@ $include-html-icon-bar-classes: $include-html-classes !default;
// We use these to style the icon-bar and items
$icon-bar-bg: $oil !default;
$icon-bar-font-color: $white !default;
$icon-bar-font-color-hover: $icon-bar-font-color !default;
$icon-bar-font-size: 1rem !default;
$icon-bar-hover-color: $primary-color !default;
$icon-bar-icon-color: $white !default;
$icon-bar-icon-color-hover: $icon-bar-icon-color !default;
$icon-bar-icon-size: 1.875rem !default;
$icon-bar-image-width: 1.875rem !default;
$icon-bar-image-height: 1.875rem !default;
$icon-bar-active-color: $primary-color !default;
$icon-bar-item-padding: 1.25rem !default;
// We use this to set default opacity and cursor for disabled icons.
$icon-bar-disabled-opacity: 0.7 !default;
$icon-bar-disabled-cursor: $cursor-default-value !default;
//
// @mixins
//
@ -31,7 +37,7 @@ $icon-bar-item-padding: 1.25rem !default;
// We use this mixin to create the base styles for our Icon bar element.
//
@mixin icon-bar-base() {
width: 100%;
font-size: 0;
display: inline-block;
@ -45,9 +51,9 @@ $icon-bar-item-padding: 1.25rem !default;
padding: $icon-bar-item-padding;
float: left;
i, img {
i, img {
display: block;
margin: 0 auto;
margin: 0 auto;
& + label {
margin-top: .0625rem;
@ -67,8 +73,8 @@ $icon-bar-item-padding: 1.25rem !default;
&.label-right > * {
i, img {
margin: 0 .0625rem 0 0;
i, img {
margin: 0 .0625rem 0 0;
display: inline-block;
& + label {
@ -132,7 +138,7 @@ $icon-bar-item-padding: 1.25rem !default;
font-size: $font-size;
padding: $padding;
i, img {
i, img {
& + label {
margin-top: .0625rem;
@ -154,26 +160,52 @@ $icon-bar-item-padding: 1.25rem !default;
@mixin icon-bar-style(
$bar-bg:$icon-bar-bg,
$bar-font-color:$icon-bar-font-color,
$bar-font-color-hover:$icon-bar-font-color-hover,
$bar-hover-color:$icon-bar-hover-color,
$bar-icon-color:$icon-bar-icon-color,
$bar-icon-color-hover:$icon-bar-icon-color-hover,
$bar-active-color:$icon-bar-active-color,
$base-style:true) {
$base-style:true,
$disabled:false) {
@if $base-style {
background: $bar-bg;
& > * {
&:hover { background: $bar-hover-color; }
label { color: $bar-font-color; }
i {
color: $bar-icon-color;
}
i { color: $bar-icon-color; }
}
& > a:hover {
background: $bar-hover-color;
label { color: $bar-font-color-hover; }
i { color: $bar-icon-color-hover; }
}
& > a.active {
background: $bar-active-color;
label { color: $bar-font-color-hover; }
i { color: $bar-icon-color-hover; }
}
}
@if $disabled {
.item.disabled {
opacity: $icon-bar-disabled-opacity;
cursor: $icon-bar-disabled-cursor;
>* {
opacity: $icon-bar-disabled-opacity;
cursor: $icon-bar-disabled-cursor;
}
}
}
}
@ -185,22 +217,26 @@ $icon-bar-item-padding: 1.25rem !default;
// $bar-icon-color - maybe we could skip explaining them all? Okay this one does change icon color if you use an icon font
// $bar-active-color - the color of an active / hover state
// $base-style - Apply base styles? Default: true.
// $disabled - Allow disabled icons? Default: false.
@mixin icon-bar(
$bar-bg:$icon-bar-bg,
$bar-font-color:$icon-bar-font-color,
$bar-font-color-hover:$icon-bar-font-color-hover,
$bar-hover-color:$icon-bar-hover-color,
$bar-icon-color:$icon-bar-icon-color,
$bar-icon-color-hover:$icon-bar-icon-color-hover,
$bar-active-color:$icon-bar-active-color,
$padding: $icon-bar-item-padding,
$font-size: $icon-bar-font-size,
$icon-size: $icon-bar-icon-size,
$image-width: $icon-bar-image-width,
$image-height: $icon-bar-image-height,
$base-style:true) {
$base-style:true,
$disabled:false) {
@include icon-bar-base();
@include icon-bar-size($padding, $font-size, $icon-size, $image-width, $image-height);
@include icon-bar-style($bar-bg, $bar-font-color, $bar-hover-color, $bar-icon-color, $bar-active-color, $base-style);
@include icon-bar-style($bar-bg, $bar-font-color, $bar-font-color-hover, $bar-hover-color, $bar-icon-color, $bar-icon-color-hover, $bar-active-color, $base-style, $disabled);
}
@include exports("icon-bar") {

View File

@ -33,13 +33,13 @@ $label-font-family: $body-font-family !default;
white-space: nowrap;
display: inline-block;
position: relative;
margin-bottom: inherit;
margin-bottom: auto;
}
// @mixins
//
// We use this mixin to add label size styles.
// $padding - Used to determine label padding. Default: $label-padding || rem-calc(3 10 4) !default
// $padding - Used to determine label padding. Default: $label-padding || rem-calc(4 8 4) !default
// $text-size - Used to determine label text-size. Default: $text-size found in settings
@mixin label-size($padding:$label-padding, $text-size:$label-font-sizing) {
@if $padding { padding: $padding; }

View File

@ -117,11 +117,11 @@ $menu-slide: "transform 500ms ease" !default;
-ms-overflow-style: -ms-autohiding-scrollbar;
@if $position == left {
@include translate3d(-100.5%,0,0);
@include translate3d(-100%,0,0);
left: 0;
}
@if $position == right {
@include translate3d(100.5%,0,0);
@include translate3d(100%,0,0);
right: 0;
}
}
@ -139,7 +139,8 @@ $menu-slide: "transform 500ms ease" !default;
// INNER WRAP
// Main content area that moves to reveal the off-canvas nav
@mixin inner-wrap {
@include kill-flicker;
// @include kill-flicker;
// removed for now till chrome fixes backface issue
@include wrap-base;
@include clearfix;
-webkit-transition: -webkit-#{$menu-slide};
@ -200,7 +201,8 @@ $menu-slide: "transform 500ms ease" !default;
height: $tabbar-height;
top: 0;
@media #{$medium-up} {
&.left, &.right { text-align: left; }
&.left { text-align: left; }
&.right { text-align: right; }
}
// still need to make these non-presentational
@ -483,14 +485,14 @@ $menu-slide: "transform 500ms ease" !default;
@if $include-html-off-canvas-classes {
.left-submenu {
@include off-canvas-submenu($position: left);
&.move-right {
&.move-right, &.offcanvas-overlap-right, &.offcanvas-overlap {
@include translate3d(0%,0,0);
}
}
.right-submenu {
@include off-canvas-submenu($position: right);
&.move-left {
&.move-left, &.offcanvas-overlap-left, &.offcanvas-overlap {
@include translate3d(0%,0,0);
}
}

View File

@ -116,7 +116,7 @@ $orbit-timer-hide-for-small: true !default;
}
}
.orbit-container {
overflow: hidden;
width: 100%;
@ -147,10 +147,10 @@ $orbit-timer-hide-for-small: true !default;
&:first-child {
@if $text-direction == rtl {
margin-right: 0%;
margin-right: 0;
}
@else {
margin-left: 0%;
margin-left: 0;
}
}
@ -194,7 +194,7 @@ $orbit-timer-hide-for-small: true !default;
height: 3px;
background-color: $orbit-timer-bg;
display: block;
width: 0%;
width: 0;
position: relative;
right: 20px;
top: 5px;
@ -205,7 +205,7 @@ $orbit-timer-hide-for-small: true !default;
& > span {
display: none;
position: absolute;
top: 0px;
top: 0;
#{$opposite-direction}: 0;
width: 11px;
height: 14px;
@ -213,26 +213,26 @@ $orbit-timer-hide-for-small: true !default;
border-top: none;
border-bottom: none;
}
// Pause button
&.paused {
& > span {
#{$opposite-direction}: -4px;
top: 0px;
top: 0;
width: 11px;
height: 14px;
border: inset 8px;
border-left-style: solid;
border-color: transparent;
border-left-color: $white;
&.dark {
&.dark {
border-left-color: $oil;
}
}
}
}
&:hover .orbit-timer > span { display: block; }
@ -345,7 +345,7 @@ $orbit-timer-hide-for-small: true !default;
.orbit-slides-container {height: auto !important;}
.orbit-slides-container > * {
position: relative;
margin:0% !important;
margin:0 !important;
opacity:1 !important;
}

View File

@ -28,6 +28,7 @@ $panel-font-color-alt: $white !default;
$panel-header-adjust: true !default;
$callout-panel-link-color: $primary-color !default;
$callout-panel-link-color-hover: scale-color($callout-panel-link-color, $lightness: -14%) !default;
//
// @mixins
//
@ -82,6 +83,11 @@ $callout-panel-link-color: $primary-color !default;
@include panel(scale-color($primary-color, $lightness: 94%));
a:not(.button) {
color: $callout-panel-link-color;
&:hover,
&:focus {
color: $callout-panel-link-color-hover;
}
}
}

View File

@ -26,8 +26,8 @@ $reveal-box-shadow: 0 0 10px rgba($black,.4) !default;
// We use these to style the reveal close button
$reveal-close-font-size: rem-calc(40) !default;
$reveal-close-top: rem-calc(8) !default;
$reveal-close-side: rem-calc(11) !default;
$reveal-close-top: rem-calc(10) !default;
$reveal-close-side: rem-calc(22) !default;
$reveal-close-color: $base !default;
$reveal-close-weight: $font-weight-bold !default;
@ -49,7 +49,8 @@ $close-reveal-modal-class: "close-reveal-modal" !default;
// We use this to create the reveal background overlay styles
@mixin reveal-bg( $include-z-index-value: true ) {
position: fixed;
//position: fixed;
position: absolute; // allows modal background to extend beyond window position
top: 0;
bottom: 0;
left: 0;

View File

@ -61,7 +61,7 @@ $sub-nav-item-divider-margin: rem-calc(12) !default;
display: block;
width: auto;
overflow: hidden;
margin-bottom: $sub-nav-list-margin;
margin: $sub-nav-list-margin;
padding-top: $sub-nav-list-padding-top;
dt {

View File

@ -55,7 +55,7 @@ $switch-active-color: $primary-color !default;
// Default label styles for type and transition
label {
display: block;
margin-bottom: $switch-height-med / 2;
margin-bottom: ($switch-height-med / 2);
position: relative;
color: transparent;
background: $switch-bg;
@ -87,15 +87,20 @@ $switch-active-color: $primary-color !default;
content: "";
display: block;
background: $switch-paddle-bg;
position: absolute; top: .25rem; left: .25rem;
width: $switch-height-med - 0.5rem; height: $switch-height-med - 0.5rem;
position: absolute;
top: .25rem;
left: .25rem;
width: $switch-height-med - 0.5rem;
height: $switch-height-med - 0.5rem;
-webkit-transition: left $transition-speed $transition-ease;
-moz-transition: left $transition-speed $transition-ease;
-o-transition: translate3d(0,0,0);
transition: left $transition-speed $transition-ease;
-webkit-transform: translate3d(0,0,0);
-moz-transform: translate3d(0,0,0);
-o-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
@ -116,11 +121,13 @@ $switch-active-color: $primary-color !default;
@mixin switch-size($height: $switch-height-med) {
label {
width: $height * 2; height: $height;
width: $height * 2;
height: $height;
}
label:after {
width: $height - 0.5rem; height: $height - 0.5rem;
width: $height - 0.5rem;
height: $height - 0.5rem;
}
input:checked + label:after {
@ -138,6 +145,7 @@ $switch-active-color: $primary-color !default;
// $base-style - Apply base styles? Default: true.
@mixin switch-style(
$paddle-bg:$switch-paddle-bg,
$active-color:$switch-active-color,
$radius:false,
$base-style:true) {
@ -153,7 +161,7 @@ $switch-active-color: $primary-color !default;
}
input:checked + label {
background: $switch-active-color;
background: $active-color;
}
}
@ -196,7 +204,7 @@ $switch-active-color: $primary-color !default;
$base-style:true) {
@include switch-base($transition-speed, $transition-ease);
@include switch-size($height);
@include switch-style($paddle-bg, $radius, $base-style);
@include switch-style($paddle-bg, $active-color, $radius, $base-style);
}
@include exports("switch") {
@ -214,7 +222,7 @@ $switch-active-color: $primary-color !default;
&.tiny { @include switch-size($switch-height-tny); }
// Add a radius to the switch
&.radius {
&.radius {
label { @include radius(4px); }
label:after { @include radius(3px); }
}

View File

@ -21,7 +21,7 @@ $tabs-navigation-font-size: rem-calc(16) !default;
$tabs-navigation-font-family: $body-font-family !default;
$tabs-content-margin-bottom: rem-calc(24) !default;
$tabs-content-padding: $column-gutter/2 !default;
$tabs-content-padding: ($column-gutter/2) !default;
$tabs-vertical-navigation-margin-bottom: 1.25rem !default;

View File

@ -32,7 +32,7 @@
float: none;
}
}
.tab {
text-align: center;
width: 25%;
@ -45,8 +45,8 @@
background: rgba($white, 0.1);
}
}
}
}
.toolbar .tab-content {
font-size: 16px;
text-align: center;

View File

@ -17,7 +17,7 @@ $topbar-bg-color: $oil !default;
$topbar-bg: $topbar-bg-color !default;
// Height and margin
$topbar-height: 45px !default;
$topbar-height: rem-calc(45) !default;
$topbar-margin-bottom: 0 !default;
// Controlling the styles for the title in the top bar
@ -33,15 +33,15 @@ $topbar-link-weight: $font-weight-normal !default;
$topbar-link-font-size: rem-calc(13) !default;
$topbar-link-hover-lightness: -10% !default; // Darken by 10%
$topbar-link-bg: $topbar-bg !default;
$topbar-link-bg-hover: #272727 !default;
$topbar-link-bg-hover: $oil !default;
$topbar-link-bg-color-hover: $charcoal !default;
$topbar-link-bg-active: $primary-color !default;
$topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%) !default;
$topbar-link-font-family: $body-font-family !default;
$topbar-link-text-transform: none !default;
$topbar-link-padding: $topbar-height / 3 !default;
$topbar-link-padding: ($topbar-height / 3) !default;
$topbar-back-link-size: rem-calc(18) !default;
$topbar-link-dropdown-padding: 20px !default;
$topbar-link-dropdown-padding: rem-calc(20) !default;
$topbar-button-font-size: 0.75rem !default;
$topbar-button-top: 7px !default;
@ -50,6 +50,7 @@ $topbar-dropdown-bg: $oil !default;
$topbar-dropdown-link-color: $white !default;
$topbar-dropdown-link-color-hover: $topbar-link-color-hover !default;
$topbar-dropdown-link-bg: $oil !default;
$topbar-dropdown-link-bg-hover: $oil !default;
$topbar-dropdown-link-weight: $font-weight-normal !default;
$topbar-dropdown-toggle-size: 5px !default;
$topbar-dropdown-toggle-color: $white !default;
@ -76,6 +77,9 @@ $topbar-transition-speed: 300ms !default;
$topbar-breakpoint: #{lower-bound($medium-range)} !default; // Change to 9999px for always mobile layout
$topbar-media-query: $medium-up !default;
// Top-bar input styles
$topbar-input-height: rem-calc(28) !default;
// Divider Styles
$topbar-divider-border-bottom: solid 1px scale-color($topbar-bg-color, $lightness: 13%) !default;
$topbar-divider-border-top: solid 1px scale-color($topbar-bg-color, $lightness: -50%) !default;
@ -127,10 +131,10 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
z-index: 99;
&.expanded:not(.top-bar) {
overflow-y: auto;
height: auto;
width: 100%;
max-height: 100%;
overflow-y: auto;
height: auto;
width: 100%;
max-height: 100%;
.title-area {
position: fixed;
@ -164,15 +168,20 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
form,
input { margin-bottom: 0; }
input { height: 1.8rem; padding-top: .35rem; padding-bottom: .35rem; font-size: $topbar-button-font-size; }
input {
height: $topbar-input-height;
padding-top: .35rem;
padding-bottom: .35rem;
font-size: $topbar-button-font-size;
}
.button, button {
padding-top: .35rem + rem-calc(1);
padding-bottom: .35rem + rem-calc(1);
margin-bottom: 0;
font-size: $topbar-button-font-size;
// position: relative;
// top: -1px;
// position: relative;
// top: -1px;
// Corrects a slight misalignment when put next to an input field
@media #{$small-only} {
@ -192,7 +201,7 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
margin: 0;
font-size: $rem-base;
h1 {
h1, h2, h3, h4, p, span {
line-height: $topbar-height;
font-size: $topbar-title-font-size;
margin: 0;
@ -235,7 +244,7 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
}
height: 34px;
line-height: 33px;
padding: 0 $topbar-link-padding+25 0 $topbar-link-padding;
padding: 0 $topbar-link-padding+rem-calc(25) 0 $topbar-link-padding;
color: $topbar-menu-link-color;
position: relative;
@ -266,10 +275,10 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
.toggle-topbar {
a { color: $topbar-menu-link-color-toggled;
span::after {
span::after {
// Shh, don't tell, but box-shadows create the menu icon :)
// Change the color of the bars when the menu is expanded, using given thickness from hamburger() above
box-shadow: 0 0px 0 1px $topbar-menu-icon-color-toggled,
box-shadow: 0 0 0 1px $topbar-menu-icon-color-toggled,
0 7px 0 1px $topbar-menu-icon-color-toggled,
0 14px 0 1px $topbar-menu-icon-color-toggled;
}
@ -315,7 +324,6 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
font-weight: $topbar-link-weight;
text-transform: $topbar-link-text-transform;
&.button {
font-size: $topbar-link-font-size;
padding-#{$opposite-direction}: $topbar-link-padding;
@ -347,7 +355,6 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
background: $topbar-link-bg-hover;
}
color: $topbar-link-color-hover;
}
// Apply the active link color when it has that class
@ -355,8 +362,8 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
background: $topbar-link-bg-active;
color: $topbar-link-color-active;
&:hover {
background: $topbar-link-bg-active-hover;
color: $topbar-link-color-active-hover;
background: $topbar-link-bg-active-hover;
color: $topbar-link-color-active-hover;
}
}
}
@ -420,7 +427,7 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
font-size: $topbar-back-link-size;
a {
color: $topbar-link-color;
// line-height: $topbar-height / 2;
// line-height: ($topbar-height / 2);
display: block;
&:hover { background:none; }
}
@ -460,7 +467,8 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
button {
font-size: rem-calc(14);
position: relative;
top: $topbar-button-top;
height: $topbar-input-height;
top: (($topbar-height - $topbar-input-height) / 2);
}
&.expanded { background: $topbar-bg; }
@ -525,18 +533,15 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
}
.has-dropdown {
@if($topbar-arrows){
& > a {
padding-#{$opposite-direction}: $topbar-link-padding + $topbar-link-dropdown-padding !important;
&:after {
@include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), top);
margin-top: -($topbar-dropdown-toggle-size / 2);
top: $topbar-height / 2;
top: ($topbar-height / 2);
}
}
}
&.moved { position: relative;
@ -556,19 +561,18 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
.dropdown li.has-dropdown {
& > a {
@if ($topbar-dropdown-arrows){
&:after {
border: none;
content: "\00bb";
top: 1rem;
margin-top: -1px;
#{$opposite-direction}: 5px;
line-height: 1.2;
}
@if ($topbar-dropdown-arrows){
&:after {
border: none;
content: "\00bb";
top: 1rem;
margin-top: -1px;
#{$opposite-direction}: 5px;
line-height: 1.2;
}
}
}
}
}
.dropdown {
@ -595,8 +599,8 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
&:hover > a:not(.button) {
color: $topbar-dropdown-link-color-hover;
background-color: $topbar-link-bg-color-hover;
@if ($topbar-link-bg-hover) {
background: $topbar-link-bg-hover;
@if ($topbar-dropdown-link-bg-hover) {
background: $topbar-dropdown-link-bg-hover;
}
}
}
@ -626,7 +630,7 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text
.has-form {
background: $topbar-link-bg;
padding: 0 $topbar-height / 3;
padding: 0 ($topbar-height / 3);
height: $topbar-height;
}

View File

@ -1,6 +1,6 @@
{
"name": "jGrowl",
"version": "1.3.0",
"version": "1.4.1",
"homepage": "https://github.com/stanlemon/jGrowl",
"authors": [
"Stan Lemon <stosh1985@gmail.com>"
@ -26,11 +26,11 @@
"test",
"tests"
],
"_release": "1.3.0",
"_release": "1.4.1",
"_resolution": {
"type": "version",
"tag": "1.3.0",
"commit": "96834582e66d6c9f3729b57676ef3fda8ebfe6bd"
"tag": "1.4.1",
"commit": "1cab5ed501513a4b4497632314556cc605584e82"
},
"_source": "git://github.com/stanlemon/jGrowl.git",
"_target": "*",

View File

@ -13,8 +13,15 @@ module.exports = function(grunt) {
}
},
},
less: {
jgrowl: {
files: {
"jquery.jgrowl.css": "less/jgrowl.less"
}
}
},
cssmin: {
minify: {
jgrowl: {
expand: true,
src: 'jquery.jgrowl.css',
ext: '.jgrowl.min.css'
@ -33,8 +40,13 @@ module.exports = function(grunt) {
}
},
watch: {
files: ['<%= jshint.files %>'],
tasks: ['jshint', 'qunit']
scripts: {
files: ['jquery.jgrowl.js', 'less/*'],
tasks: ['jshint', 'less', 'cssmin', 'uglify'],
options: {
spawn: false,
},
},
}
});
@ -42,9 +54,8 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('test', ['jshint']);
grunt.registerTask('default', ['jshint', 'uglify', 'cssmin']);
grunt.registerTask('default', ['jshint', 'uglify', 'less', 'cssmin']);
};

View File

@ -1,24 +1,47 @@
# jGrowl
jGrowl is a jQuery plugin that raises unobtrusive messages within the browser, similar to the way that OS X's Growl Framework works. The idea is simple, deliver notifications to the end user in a noticeable way that doesn't obstruct the work flow and yet keeps the user informed.
## Example usages
// Sample 1
$.jGrowl("Hello world!");
// Sample 2
$.jGrowl("Stick this!", { sticky: true });
// Sample 3
$.jGrowl("A message with a header", { header: 'Important' });
// Sample 4
$.jGrowl("A message that will live a little longer.", { life: 10000 });
// Sample 5
$.jGrowl("A message with a beforeOpen callback and a different opening animation.", {
beforeClose: function(e,m) {
alert('About to close this notification!');
},
animateOpen: {
height: 'show'
}
});
## Installation
jGrowl can be added to your project using package managers like bower and npm or directly into your html using cdnjs, as well as the good old fashioned copy-paste into your project directory.
Use cdnjs:
```html
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/jquery-jgrowl/1.3.0/jquery.jgrowl.min.js" />
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-jgrowl/1.3.0/jquery.jgrowl.min.js"></script>
```
Install with bower
```
bower install jgrowl
```
Install with npm
```
npm install jgrowl
```
```js
// Sample 1
$.jGrowl("Hello world!");
// Sample 2
$.jGrowl("Stick this!", { sticky: true });
// Sample 3
$.jGrowl("A message with a header", { header: 'Important' });
// Sample 4
$.jGrowl("A message that will live a little longer.", { life: 10000 });
// Sample 5
$.jGrowl("A message with a beforeOpen callback and a different opening animation.", {
beforeClose: function(e,m) {
alert('About to close this notification!');
},
animateOpen: {
height: 'show'
}
});
```
## Configuration Options
| Option | Default | Description |
@ -28,6 +51,7 @@ jGrowl is a jQuery plugin that raises unobtrusive messages within the browser, s
| group | empty | A css class to be applied to notifications when they are created, useful for 'grouping' notifications by a css selector. |
| sticky | false | When set to true a message will stick to the screen until it is intentionally closed by the user. |
| position | top-right | Designates a class which is applied to the jGrowl container and controls it's position on the screen. By Default there are five options available, top-left, top-right, bottom-left, bottom-right, center. This must be changed in the defaults before the startup method is called. |
| appendTo | body | The element where our jGrowl messages are appended to. The default is `body` but feel free to define another one. |
| glue | after | Designates whether a jGrowl notification should be appended to the container after all notifications, or whether it should be prepended to the container before all notifications. Options are after or before. |
| theme | default | A CSS class designating custom styling for this particular message, intended for use with jQuery UI. |
| themeState | highlight | A CSS class designating custom styling for this particular message and it's state, intended for use with jQuery UI. |
@ -47,4 +71,4 @@ jGrowl is a jQuery plugin that raises unobtrusive messages within the browser, s
| beforeClose | function(e,m,o) {} | Callback to be used before a new notification is closed. This callback receives the notification's DOM context, the notifications message and it's option object. |
| close | function(e,m,o) {} | Callback to be used when a new notification is closed. This callback receives the notification's DOM context, the notifications message and it's option object. |
| animateOpen | { opacity: 'show' } | The animation properties to use when opening a new notification (default to fadeOut). |
| animateClose | { opacity: 'hide' } | The animation properties to use when closing a new notification (defaults to fadeIn). |
| animateClose | { opacity: 'hide' } | The animation properties to use when closing a new notification (defaults to fadeIn). |

View File

@ -1,6 +1,6 @@
{
"name": "jGrowl",
"version": "1.3.0",
"version": "1.4.1",
"homepage": "https://github.com/stanlemon/jGrowl",
"authors": [
"Stan Lemon <stosh1985@gmail.com>"

View File

@ -0,0 +1,103 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml" debug="true">
<head>
<title>jGrowl Examples</title>
<link rel="stylesheet" href="../jquery.jgrowl.css" type="text/css"/>
<style type="text/css">
html,
body {
font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
padding: 0;
margin: 0;
}
h1, h2, h3, h4, h5 {
margin-top: 2px;
margin-bottom: 2px;
}
.jGrowl .manilla {
background-color: #FFF1C2;
color: navy;
}
.jGrowl .flora {
background: #E6F7D4 url(flora-notification.png) no-repeat;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
opacity: 1;
filter: alpha(opacity = 100);
width: 270px;
height: 90px;
padding: 0px;
overflow: hidden;
border-color: #5ab500;
}
.jGrowl .flora .message {
padding: 5px;
color: #000;
}
.jGrowl .flora .header {
background: url(flora-header.png) no-repeat;
padding: 5px;
}
.jGrowl .flora .close {
background: url(flora-close.png) no-repeat;
padding: 5px;
color: transparent;
padding: 0px;
margin: 5px;
width: 17px;
}
#dummyNav {
position: fixed;
background: green;
width: 100%;
height: 50px;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript" src="../jquery.jgrowl.js"></script>
<script type="text/javascript">
// In case you don't have firebug...
if(typeof console === "undefined") {
console = { log: function() { } };
}
(function($){
$(function(){
$.jGrowl.defaults.closerTemplate = "<div>[ xxxxx ]</div>";
$.jGrowl.defaults.appendTo = "div#dummyNav";
$.jGrowl("This message is sticky and clickable", {
sticky: true,
click: function(msg) {
alert("You clicked me");
}
});
$.jGrowl("This message is sticky and clickable");
$.jGrowl("This message is sticky and clickable");
$.jGrowl("This message is sticky and clickable");
$.jGrowl("This message is sticky and clickable");
$.jGrowl("This message is sticky and clickable");
$.jGrowl("This message is sticky and clickable");
});
})(jQuery);
</script>
</head>
<body>
<div id="dummyNav">I'm the dummy navigation</div>
<h1>Append To Another DOM-Object</h1>
</body>
</html>

View File

@ -0,0 +1,91 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>jGrowl and Bootstrap</title>
<link rel="stylesheet" href="../jquery.jgrowl.css" type="text/css"/>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
body {
padding-top: 50px;
}
</style>
</head>
<body>
<div id="jGrowl-container1" class="jGrowl top-right"></div>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">jGrowl</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<div>
<h1>jGrowl and Bootstrap</h1>
<p class="lead">This is a Bootstrap starter template with jGrowl integrated. As you can see it's extremely easy to make jGrowl look and feel like part of Bootstrap.</p>
</div>
<div id="jGrowl-container2" class="jGrowl"></div>
</div><!-- /.container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../jquery.jgrowl.js"></script>
<script type="text/javascript">
(function($){
$(function(){
$.jGrowl.defaults.closerTemplate = '<div class="alert alert-info">Close All</div>';
var alertTypes = ['success', 'info', 'warning', 'danger'];
for (var i=0; i<10; i++) {
setTimeout(function(){
var alertType = alertTypes[Math.floor(Math.random()*alertTypes.length)];
$('#jGrowl-container1').jGrowl({
header: alertType.substring(0, 1).toUpperCase() + alertType.substring(1) + ' Notification',
message: 'Hello world ',
group: 'alert-' + alertType,
life: 5000
});
}, i*2000);
}
});
})(jQuery);
</script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -1,65 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml" debug="true">
<head>
<title>jGrowl Pooling Tests</title>
<link rel="stylesheet" href="../jquery.jgrowl.css" type="text/css"/>
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript" src="../jquery.jgrowl.js"></script>
<script type="text/javascript">
// In case you don't have firebug...
if (!window.console || !console.firebug) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {};
}
(function($){
$(document).ready(function(){
// This specifies how many messages can be pooled out at any given time.
// If there are more notifications raised then the pool, the others are
// placed into queue and rendered after the other have disapeared.
$.jGrowl.defaults.pool = 5;
var i = 1;
var y = 1;
setInterval( function() {
if ( i < 25 ) {
$.jGrowl("Message " + i, {
sticky: (i % 3 == 0) ? true : false,
life: 12000,
log: function() {
console.log("Creating message " + i + "...");
},
beforeOpen: function() {
console.log("Rendering message " + y + "...");
y++;
}
});
}
i++;
} , 1000 );
});
})(jQuery);
</script>
</head>
<body>
<h1>jGrowl Pooling Tests</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam porttitor turpis eu sem. Phasellus pulvinar, purus eget euismod imperdiet, quam est sollicitudin nisl, sed vulputate urna magna vel risus. Aliquam erat volutpat. Ut nulla mi, sagittis a, egestas ut, auctor vitae, nulla. Sed ut metus vel tellus scelerisque dictum. Suspendisse felis odio, eleifend a, feugiat a, interdum eget, lorem. Aliquam facilisis. Nulla neque enim, bibendum vitae, convallis vitae, pretium a, felis. Nunc diam sapien, iaculis sed, vestibulum in, pellentesque a, tellus. Mauris molestie risus non lectus. In a arcu. Etiam pulvinar, nibh et imperdiet egestas, diam pede lobortis risus, ac facilisis justo mauris eu ipsum. Aliquam nibh tortor, venenatis eu, pretium at, condimentum non, enim. Integer vitae urna. Duis semper, mauris ac egestas tristique, quam ipsum viverra risus, eget tempor libero turpis id nisl. Fusce pede. Nam varius.</p>
<p>Phasellus placerat suscipit neque. In porttitor mi vel felis. Sed vel ante. Vestibulum lectus mauris, ullamcorper id, luctus vitae, molestie a, metus. Fusce eu diam in libero fermentum sagittis. Quisque eget mi non purus convallis dignissim. Nam id lectus. Maecenas sit amet massa id metus hendrerit euismod. Phasellus porta tempor odio. Aliquam erat volutpat. Sed ut quam a dolor fermentum vehicula. Nulla et metus. Nulla ornare lorem sed augue. Nulla urna. Donec ligula. Nulla blandit ultrices pede.</p>
<p>Etiam blandit scelerisque diam. Donec nisl orci, accumsan sed, sodales vel, dictum ac, mauris. Aliquam non nunc eget magna imperdiet condimentum. Nunc sem. Etiam tincidunt. Quisque eros tortor, ultricies at, condimentum sit amet, feugiat vel, lectus. Morbi quis enim a ligula tristique consequat. Praesent nec massa nec urna cursus pretium. Phasellus porttitor. In adipiscing. Morbi ultrices.</p>
<p>Cras eget elit. Duis placerat diam in sapien. Duis tempor. Sed tincidunt semper augue. Nam varius gravida ante. Etiam ultricies iaculis neque. Nam lacinia, augue eget commodo auctor, pede lorem lacinia leo, eu rhoncus est purus nec ligula. Sed congue feugiat sem. Nulla bibendum, purus et sodales dignissim, elit mauris pulvinar turpis, a pulvinar sem diam a magna. Suspendisse ut purus sit amet felis suscipit lobortis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pharetra dictum nisl. Fusce odio metus, tempor a, pretium vel, ultrices quis, ante. Pellentesque ut purus sit amet mi mattis volutpat.</p>
<p>Maecenas eu elit. Nam gravida. In leo. Morbi ante est, bibendum ut, pulvinar id, rhoncus vel, nisl. Nunc purus. Praesent nec nisl. Vivamus accumsan eleifend leo. Integer a enim non dolor convallis sagittis. Phasellus vel turpis. Phasellus pulvinar lectus eu sapien sollicitudin pharetra. In sollicitudin porttitor turpis. Donec feugiat, odio id egestas iaculis, lacus odio sagittis justo, a pharetra sem nunc eget orci. Donec ipsum nibh, fringilla sed, imperdiet id, vehicula eu, mi. Pellentesque tincidunt sodales diam. Pellentesque pede dolor, accumsan sit amet, dictum et, posuere eu, diam. Nulla lacinia turpis et neque. Ut ut augue. Phasellus ut metus. Nam in tellus.</p>
</body>
</html>

View File

@ -1,25 +1,24 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml" debug="true">
<head>
<title>jGrowl Tests</title>
<title>jGrowl Examples</title>
<link rel="stylesheet" href="../jquery.jgrowl.css" type="text/css"/>
<style type="text/css">
body {
font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
}
h1, h2, h3, h4, h5 {
margin-top: 2px;
margin-bottom: 2px;
}
div.jGrowl div.manilla {
.jGrowl .manilla {
background-color: #FFF1C2;
color: navy;
}
div.jGrowl div.smoke {
background: url(smoke.png) no-repeat;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
width: 280px;
height: 55px;
overflow: hidden;
}
div.jGrowl div.flora {
.jGrowl .flora {
background: #E6F7D4 url(flora-notification.png) no-repeat;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
@ -32,17 +31,17 @@
border-color: #5ab500;
}
div.jGrowl div.flora div.message {
.jGrowl .flora .message {
padding: 5px;
color: #000;
}
div.jGrowl div.flora div.header {
.jGrowl .flora .header {
background: url(flora-header.png) no-repeat;
padding: 5px;
}
div.jGrowl div.flora div.close {
.jGrowl .flora .close {
background: url(flora-close.png) no-repeat;
padding: 5px;
color: transparent;
@ -50,48 +49,18 @@
margin: 5px;
width: 17px;
}
div.jGrowl div.iphone {
font-family: "Helvetica Neue", "Helvetica";
font-size: 12px;
background: url(iphone.png) no-repeat;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
opacity: .90;
filter: alpha(opacity = 90);
width: 235px;
height: 137px;
overflow: hidden;
border-color: #5ab500;
color: #fff;
#random {
padding: 20px;
width: 1500px;
background-color: #ff7070;
}
div.jGrowl div.iphone .jGrowl-close {
padding-right: 20px;
}
div.jGrowl div.iphone div.message {
padding-top: 0px;
padding-bottom: 7px;
padding-left: 15px;
padding-right: 15px;
}
div.jGrowl div.iphone div.header {
padding: 7px;
padding-left: 15px;
padding-right: 15px;
font-size: 17px;
}
div.jGrowl div.iphone div.close {
display: none;
}
div#random {
width: 1000px;
background-color: red;
line-height: 60px;
#logs {
margin-top: 30px;
background-color: #efefef;
border: 1px solid #aaa;
padding: 10px;
}
</style>
@ -106,7 +75,12 @@
(function($){
$(document).ready(function(){
$(function(){
$.jGrowl.defaults.pool = 5;
$.jGrowl.defaults.closerTemplate = '<div>hide all notifications</div>';
// This value can be true, false or a function to be used as a callback when the closer is clciked
$.jGrowl.defaults.closer = function() {
console.log("Closing everything!", this);
@ -117,10 +91,10 @@
$('#logs').append("<div><strong>#" + $(e).attr('id') + "</strong> <em>" + (new Date()).getTime() + "</em>: " + m + " (" + o.theme + ")</div>")
}
$.jGrowl("Hello world!");
$.jGrowl("This notification will live a little longer.", { life: 1000 });
$.jGrowl("Sticky notification with a header", { header: 'A Header', sticky: true });
$.jGrowl("Custom theme, and a whole bunch of callbacks...", {
$.jGrowl("Sticky notifications don't have an end of life", { sticky: true });
$.jGrowl("Custom theme, custom animations, header, longer life and a whole bunch of callbacks...", {
header: 'Header',
life: 5000,
theme: 'manilla',
speed: 'slow',
beforeOpen: function(e,m,o) {
@ -134,26 +108,16 @@
},
close: function(e,m,o) {
console.log("I have been closed!", this);
}
});
$.jGrowl("Custom animation test...", {
theme: 'manilla',
speed: 'slow',
},
animateOpen: {
height: "show"
height: "show",
width: "show"
},
animateClose: {
height: "hide"
height: "hide",
width: "show"
}
});
$.jGrowl("Looks like the iPhone.", {
sticky: true,
header: 'iPhone',
theme: 'iphone'
});
$.jGrowl("This message will not open because we have a callback that returns false.", {
beforeOpen: function() {
@ -169,40 +133,22 @@
return false;
}
});
$.jGrowl.defaults.closerTemplate = '<div>hide all notifications</div>';
$('#test1').jGrowl("Testing a custom container (this one is sticky, and will also be prepended).", {
$('#test1').jGrowl("Testing a custom container.", {
closer: false,
sticky: true,
glue: 'before',
speed: 2000,
animateOpen: {
height: "show",
width: "show"
},
animateClose: {
height: "hide",
width: "show"
}
glue: 'before'
});
$('#test1').jGrowl("Another custom container test.", {
glue: 'before',
speed: 2000,
animateOpen: {
height: "show",
width: "show"
},
animateClose: {
height: "hide",
width: "show"
}
$('#test1').jGrowl("This will be prepended before the last message.", {
glue: 'before'
});
$('#test2').jGrowl("Trying a background image.", {
theme: 'smoke',
closer: false
$.jGrowl("This message is sticky and clickable", {
sticky: true,
click: function(msg) {
alert("You clicked me");
}
});
});
})(jQuery);
@ -212,29 +158,14 @@
<body>
<h1>jGrowl Tests</h1>
<p><a href="javascript:void(0);" onclick="$.jGrowl('One more message...');">Click here to create a message on demand in the #jGrowl container in the top-right corner of the screen.</a></p>
<p><a href="javascript:void(0);" onclick="$.jGrowl('One more message...');">Create a new message.</a></p>
<p><a href="javascript:void(0);" onclick="$('#test1').jGrowl('shutdown');">Shutdown jGrowl for the #test1 container in the top-left corner of the screen.</a></p>
<p><a href="javascript:void(0);" onclick="$('#test1').jGrowl('close');">Close all in #test1.</a></p>
<p><a href="javascript:void(0);" onclick="$('#test1').jGrowl('shutdown');">Shutdown bottom-left container.</a></p>
<div id="random">An extra wide node, watch as the jGrowl containers stay put in the corners of the screen..</div>
<div id="logs"><h3>Log:</h3></div>
<hr />
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam porttitor turpis eu sem. Phasellus pulvinar, purus eget euismod imperdiet, quam est sollicitudin nisl, sed vulputate urna magna vel risus. Aliquam erat volutpat. Ut nulla mi, sagittis a, egestas ut, auctor vitae, nulla. Sed ut metus vel tellus scelerisque dictum. Suspendisse felis odio, eleifend a, feugiat a, interdum eget, lorem. Aliquam facilisis. Nulla neque enim, bibendum vitae, convallis vitae, pretium a, felis. Nunc diam sapien, iaculis sed, vestibulum in, pellentesque a, tellus. Mauris molestie risus non lectus. In a arcu. Etiam pulvinar, nibh et imperdiet egestas, diam pede lobortis risus, ac facilisis justo mauris eu ipsum. Aliquam nibh tortor, venenatis eu, pretium at, condimentum non, enim. Integer vitae urna. Duis semper, mauris ac egestas tristique, quam ipsum viverra risus, eget tempor libero turpis id nisl. Fusce pede. Nam varius.</p>
<p>Phasellus placerat suscipit neque. In porttitor mi vel felis. Sed vel ante. Vestibulum lectus mauris, ullamcorper id, luctus vitae, molestie a, metus. Fusce eu diam in libero fermentum sagittis. Quisque eget mi non purus convallis dignissim. Nam id lectus. Maecenas sit amet massa id metus hendrerit euismod. Phasellus porta tempor odio. Aliquam erat volutpat. Sed ut quam a dolor fermentum vehicula. Nulla et metus. Nulla ornare lorem sed augue. Nulla urna. Donec ligula. Nulla blandit ultrices pede.</p>
<p>Etiam blandit scelerisque diam. Donec nisl orci, accumsan sed, sodales vel, dictum ac, mauris. Aliquam non nunc eget magna imperdiet condimentum. Nunc sem. Etiam tincidunt. Quisque eros tortor, ultricies at, condimentum sit amet, feugiat vel, lectus. Morbi quis enim a ligula tristique consequat. Praesent nec massa nec urna cursus pretium. Phasellus porttitor. In adipiscing. Morbi ultrices.</p>
<p>Cras eget elit. Duis placerat diam in sapien. Duis tempor. Sed tincidunt semper augue. Nam varius gravida ante. Etiam ultricies iaculis neque. Nam lacinia, augue eget commodo auctor, pede lorem lacinia leo, eu rhoncus est purus nec ligula. Sed congue feugiat sem. Nulla bibendum, purus et sodales dignissim, elit mauris pulvinar turpis, a pulvinar sem diam a magna. Suspendisse ut purus sit amet felis suscipit lobortis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pharetra dictum nisl. Fusce odio metus, tempor a, pretium vel, ultrices quis, ante. Pellentesque ut purus sit amet mi mattis volutpat.</p>
<p>Maecenas eu elit. Nam gravida. In leo. Morbi ante est, bibendum ut, pulvinar id, rhoncus vel, nisl. Nunc purus. Praesent nec nisl. Vivamus accumsan eleifend leo. Integer a enim non dolor convallis sagittis. Phasellus vel turpis. Phasellus pulvinar lectus eu sapien sollicitudin pharetra. In sollicitudin porttitor turpis. Donec feugiat, odio id egestas iaculis, lacus odio sagittis justo, a pharetra sem nunc eget orci. Donec ipsum nibh, fringilla sed, imperdiet id, vehicula eu, mi. Pellentesque tincidunt sodales diam. Pellentesque pede dolor, accumsan sit amet, dictum et, posuere eu, diam. Nulla lacinia turpis et neque. Ut ut augue. Phasellus ut metus. Nam in tellus.</p>
<div id="test1" class="top-left"></div>
<div id="test2" class="bottom-left"></div>
<div id="test1" class="bottom-left"></div>
</body>
</html>

View File

@ -1,18 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script src="../jquery.jgrowl.js"></script>
<link rel="stylesheet" type="text/css" href="../jquery.jgrowl.css"/>
</head>
<body>
<div>
<input type="button" onclick="$.jGrowl('Default Positioning');" value="Default"/>
<input type="button" onclick="$('#one').jGrowl('Bottom Right Positioning');" value="Bottom Right"/>
<input type="button" onclick="$('#two').jGrowl('Bottom Left Positioning');" value="Bottom Left"/>
</div>
<div id="one" class="jGrowl bottom-right"></div>
<div id="two" class="jGrowl bottom-left"></div>
</body>
</html>

View File

@ -1,50 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml" debug="true">
<head>
<title>jGrowl Tests</title>
<link rel="stylesheet" href="../jquery.jgrowl.css" type="text/css"/>
<style type="text/css">
div.jGrowl-notification {
float: right;
margin-left: 6px;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript" src="../jquery.jgrowl.js"></script>
<script type="text/javascript">
(function($){
$(document).ready(function(){
$.jGrowl.defaults.closer = false;
$.jGrowl.defaults.animateOpen = {
width: 'show'
};
$.jGrowl.defaults.animateClose = {
width: 'hide'
};
$.jGrowl("Hello world!", { sticky: true });
$.jGrowl("Another notification.", { sticky: true });
$.jGrowl("One last one to make a trifecta.", { sticky: true });
});
})(jQuery);
</script>
</head>
<body>
<h1>jGrowl Tests</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam porttitor turpis eu sem. Phasellus pulvinar, purus eget euismod imperdiet, quam est sollicitudin nisl, sed vulputate urna magna vel risus. Aliquam erat volutpat. Ut nulla mi, sagittis a, egestas ut, auctor vitae, nulla. Sed ut metus vel tellus scelerisque dictum. Suspendisse felis odio, eleifend a, feugiat a, interdum eget, lorem. Aliquam facilisis. Nulla neque enim, bibendum vitae, convallis vitae, pretium a, felis. Nunc diam sapien, iaculis sed, vestibulum in, pellentesque a, tellus. Mauris molestie risus non lectus. In a arcu. Etiam pulvinar, nibh et imperdiet egestas, diam pede lobortis risus, ac facilisis justo mauris eu ipsum. Aliquam nibh tortor, venenatis eu, pretium at, condimentum non, enim. Integer vitae urna. Duis semper, mauris ac egestas tristique, quam ipsum viverra risus, eget tempor libero turpis id nisl. Fusce pede. Nam varius.</p>
<p>Phasellus placerat suscipit neque. In porttitor mi vel felis. Sed vel ante. Vestibulum lectus mauris, ullamcorper id, luctus vitae, molestie a, metus. Fusce eu diam in libero fermentum sagittis. Quisque eget mi non purus convallis dignissim. Nam id lectus. Maecenas sit amet massa id metus hendrerit euismod. Phasellus porta tempor odio. Aliquam erat volutpat. Sed ut quam a dolor fermentum vehicula. Nulla et metus. Nulla ornare lorem sed augue. Nulla urna. Donec ligula. Nulla blandit ultrices pede.</p>
<p>Etiam blandit scelerisque diam. Donec nisl orci, accumsan sed, sodales vel, dictum ac, mauris. Aliquam non nunc eget magna imperdiet condimentum. Nunc sem. Etiam tincidunt. Quisque eros tortor, ultricies at, condimentum sit amet, feugiat vel, lectus. Morbi quis enim a ligula tristique consequat. Praesent nec massa nec urna cursus pretium. Phasellus porttitor. In adipiscing. Morbi ultrices.</p>
<p>Cras eget elit. Duis placerat diam in sapien. Duis tempor. Sed tincidunt semper augue. Nam varius gravida ante. Etiam ultricies iaculis neque. Nam lacinia, augue eget commodo auctor, pede lorem lacinia leo, eu rhoncus est purus nec ligula. Sed congue feugiat sem. Nulla bibendum, purus et sodales dignissim, elit mauris pulvinar turpis, a pulvinar sem diam a magna. Suspendisse ut purus sit amet felis suscipit lobortis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pharetra dictum nisl. Fusce odio metus, tempor a, pretium vel, ultrices quis, ante. Pellentesque ut purus sit amet mi mattis volutpat.</p>
<p>Maecenas eu elit. Nam gravida. In leo. Morbi ante est, bibendum ut, pulvinar id, rhoncus vel, nisl. Nunc purus. Praesent nec nisl. Vivamus accumsan eleifend leo. Integer a enim non dolor convallis sagittis. Phasellus vel turpis. Phasellus pulvinar lectus eu sapien sollicitudin pharetra. In sollicitudin porttitor turpis. Donec feugiat, odio id egestas iaculis, lacus odio sagittis justo, a pharetra sem nunc eget orci. Donec ipsum nibh, fringilla sed, imperdiet id, vehicula eu, mi. Pellentesque tincidunt sodales diam. Pellentesque pede dolor, accumsan sit amet, dictum et, posuere eu, diam. Nulla lacinia turpis et neque. Ut ut augue. Phasellus ut metus. Nam in tellus.</p>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

View File

@ -1,15 +1,17 @@
{
"name": "jgrowl",
"filename": "jquery.jgrowl.min.js",
"title": "jQuery jGrowl",
"title": "jGrowl",
"description": "jGrowl is a jQuery plugin that raises unobtrusive messages within the browser, similar to the way that OS X's Growl Framework works. The idea is simple, deliver notifications to the end user in a noticeable way that doesn't obstruct the work flow and yet keeps the user informed.",
"keywords": [
"message",
"growl",
"jgrowl",
"jquery",
"toaster",
"notification",
"growl"
"message"
],
"version": "1.3.0",
"version": "1.4.1",
"author": {
"name": "Stan Lemon",
"email": "stosh1985@gmail.com",
@ -35,4 +37,4 @@
"dependencies": {
"jquery": ">=1.4"
}
}
}

187
src/sunstone/public/bower_components/jgrowl/jquery.jgrowl.css vendored Executable file → Normal file
View File

@ -1,129 +1,100 @@
/** Special IE6 Style Positioning **/
.ie6 {
position: absolute;
}
.ie6.top-right {
right: auto;
bottom: auto;
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
.ie6.top-left {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
.ie6.bottom-right {
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
.ie6.bottom-left {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
.ie6.center {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
width: 100%;
}
/** jGrowl Styling **/
.jGrowl {
z-index: 9999;
color: #fff;
font-size: 12px;
position: fixed;
z-index: 9999;
color: #ffffff;
font-size: 12px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
position: fixed;
}
.jGrowl.top-left {
left: 0px;
top: 0px;
left: 0px;
top: 0px;
}
.jGrowl.top-right {
right: 0px;
top: 0px;
right: 0px;
top: 0px;
}
.jGrowl.bottom-left {
left: 0px;
bottom: 0px;
left: 0px;
bottom: 0px;
}
.jGrowl.bottom-right {
right: 0px;
bottom: 0px;
right: 0px;
bottom: 0px;
}
.jGrowl.center {
top: 0px;
width: 50%;
left: 25%;
top: 0px;
width: 50%;
left: 25%;
}
/** Cross Browser Styling **/
.center .jGrowl-notification, .center .jGrowl-closer {
margin-left: auto;
margin-right: auto;
.jGrowl.center .jGrowl-notification,
.jGrowl.center .jGrowl-closer {
margin-left: auto;
margin-right: auto;
}
.jGrowl .jGrowl-notification, .jGrowl .jGrowl-closer {
background-color: #000;
opacity: .85;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
zoom: 1;
width: 235px;
padding: 10px;
margin-top: 5px;
margin-bottom: 5px;
font-family: Tahoma, Arial, Helvetica, sans-serif;
font-size: 1em;
text-align: left;
display: none;
border-radius: 5px;
.jGrowl-notification {
background-color: #000000;
opacity: 0.9;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(90);
filter: progid:DXImageTransform.Microsoft.Alpha(90);
zoom: 1;
width: 250px;
padding: 10px;
margin: 10px;
text-align: left;
display: none;
border-radius: 5px;
min-height: 40px;
}
.jGrowl .jGrowl-notification {
min-height: 40px;
.jGrowl-notification .ui-state-highlight,
.jGrowl-notification .ui-widget-content .ui-state-highlight,
.jGrowl-notification .ui-widget-header .ui-state-highlight {
border: 1px solid #000;
background: #000;
color: #fff;
}
.jGrowl .jGrowl-notification,
.jGrowl .jGrowl-closer {
margin: 10px;
.jGrowl-notification .jGrowl-header {
font-weight: bold;
font-size: .85em;
}
.jGrowl .jGrowl-notification .jGrowl-header {
font-weight: bold;
font-size: .85em;
.jGrowl-notification .jGrowl-close {
background-color: transparent;
color: inherit;
border: none;
z-index: 99;
float: right;
font-weight: bold;
font-size: 1em;
cursor: pointer;
}
.jGrowl .jGrowl-notification .jGrowl-close {
z-index: 99;
float: right;
font-weight: bold;
font-size: 1em;
cursor: pointer;
.jGrowl-closer {
background-color: #000000;
opacity: 0.9;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(90);
filter: progid:DXImageTransform.Microsoft.Alpha(90);
zoom: 1;
width: 250px;
padding: 10px;
margin: 10px;
text-align: left;
display: none;
border-radius: 5px;
padding-top: 4px;
padding-bottom: 4px;
cursor: pointer;
font-size: .9em;
font-weight: bold;
text-align: center;
}
.jGrowl .jGrowl-closer {
padding-top: 4px;
padding-bottom: 4px;
cursor: pointer;
font-size: .9em;
font-weight: bold;
text-align: center;
.jGrowl-closer .ui-state-highlight,
.jGrowl-closer .ui-widget-content .ui-state-highlight,
.jGrowl-closer .ui-widget-header .ui-state-highlight {
border: 1px solid #000;
background: #000;
color: #fff;
}
/** Hide jGrowl when printing **/
@media print {
.jGrowl {
display: none;
}
}
.jGrowl {
display: none;
}
}

View File

@ -1,5 +1,5 @@
/**
* jGrowl 1.3.0
* jGrowl 1.4.0
*
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
@ -14,6 +14,10 @@
* To Do:
* - Move library settings to containers and allow them to be changed per container
*
* Changes in 1.4.0
* - Removed IE6 support
* - Added LESS support
*
* Changes in 1.3.0
* - Added non-vendor border-radius to stylesheet
* - Added grunt for generating minified js and css
@ -134,16 +138,11 @@
* - Namespaced all events
*/
(function($) {
/** Compatibility holdover for 1.9 to check IE6 **/
var $ie6 = (function(){
return false === $.support.boxModel && $.support.objectAll && $.support.leadingWhitespace;
})();
/** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
$.jGrowl = function( m , o ) {
// To maintain compatibility with older version that only supported one instance we'll create the base container.
if ( $('#jGrowl').size() === 0 )
$('<div id="jGrowl"></div>').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo('body');
if ( $('#jGrowl').length === 0 )
$('<div id="jGrowl"></div>').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo( (o && o.appendTo) ? o.appendTo : $.jGrowl.defaults.appendTo );
// Create a notification on the container.
$('#jGrowl').jGrowl(m,o);
@ -152,6 +151,12 @@
/** Raise jGrowl Notification on a jGrowl Container **/
$.fn.jGrowl = function( m , o ) {
// Short hand for passing in just an object to this method
if ( o === undefined && $.isPlainObject(m) ) {
o = m;
m = o.message;
}
if ( $.isFunction(this.each) ) {
var args = arguments;
@ -181,6 +186,7 @@
group: '',
sticky: false,
position: 'top-right',
appendTo: 'body',
glue: 'after',
theme: 'default',
themeState: 'highlight',
@ -199,6 +205,7 @@
open: function() {},
beforeClose: function() {},
close: function() {},
click: function() {},
animateOpen: {
opacity: 'show'
},
@ -239,21 +246,22 @@
o.themeState = (o.themeState === '') ? '' : 'ui-state-' + o.themeState;
var notification = $('<div/>')
.addClass('jGrowl-notification ' + o.themeState + ' ui-corner-all' + ((o.group !== undefined && o.group !== '') ? ' ' + o.group : ''))
.append($('<div/>').addClass('jGrowl-close').html(o.closeTemplate))
.addClass('jGrowl-notification alert ' + o.themeState + ' ui-corner-all' + ((o.group !== undefined && o.group !== '') ? ' ' + o.group : ''))
.append($('<button/>').addClass('jGrowl-close').html(o.closeTemplate))
.append($('<div/>').addClass('jGrowl-header').html(o.header))
.append($('<div/>').addClass('jGrowl-message').html(message))
.data("jGrowl", o).addClass(o.theme).children('div.jGrowl-close').bind("click.jGrowl", function() {
.data("jGrowl", o).addClass(o.theme).children('.jGrowl-close').bind("click.jGrowl", function() {
$(this).parent().trigger('jGrowl.beforeClose');
return false;
})
.parent();
/** Notification Actions **/
$(notification).bind("mouseover.jGrowl", function() {
$('div.jGrowl-notification', self.element).data("jGrowl.pause", true);
$('.jGrowl-notification', self.element).data("jGrowl.pause", true);
}).bind("mouseout.jGrowl", function() {
$('div.jGrowl-notification', self.element).data("jGrowl.pause", false);
$('.jGrowl-notification', self.element).data("jGrowl.pause", false);
}).bind('jGrowl.beforeOpen', function() {
if ( o.beforeOpen.apply( notification , [notification,message,o,self.element] ) !== false ) {
$(this).trigger('jGrowl.open');
@ -261,9 +269,9 @@
}).bind('jGrowl.open', function() {
if ( o.open.apply( notification , [notification,message,o,self.element] ) !== false ) {
if ( o.glue == 'after' ) {
$('div.jGrowl-notification:last', self.element).after(notification);
$('.jGrowl-notification:last', self.element).after(notification);
} else {
$('div.jGrowl-notification:first', self.element).before(notification);
$('.jGrowl-notification:first', self.element).before(notification);
}
$(this).animate(o.animateOpen, o.openDuration, o.easing, function() {
@ -271,7 +279,7 @@
if ($.support.opacity === false)
this.style.removeAttribute('filter');
if ( $(this).data("jGrowl") !== null ) // Happens when a notification is closing before it's open.
if ( $(this).data("jGrowl") !== null && typeof $(this).data("jGrowl") !== 'undefined') // Happens when a notification is closing before it's open.
$(this).data("jGrowl").created = new Date();
$(this).trigger('jGrowl.afterOpen');
@ -279,6 +287,8 @@
}
}).bind('jGrowl.afterOpen', function() {
o.afterOpen.apply( notification , [notification,message,o,self.element] );
}).bind('click', function() {
o.click.apply( notification, [notification.message,o,self.element] );
}).bind('jGrowl.beforeClose', function() {
if ( o.beforeClose.apply( notification , [notification,message,o,self.element] ) !== false )
$(this).trigger('jGrowl.close');
@ -299,8 +309,8 @@
if ( o.corners !== '' && $.fn.corner !== undefined ) $(notification).corner( o.corners );
/** Add a Global Closer if more than one notification exists **/
if ($('div.jGrowl-notification:parent', self.element).size() > 1 &&
$('div.jGrowl-closer', self.element).size() === 0 && this.defaults.closer !== false ) {
if ($('.jGrowl-notification:parent', self.element).length > 1 &&
$('.jGrowl-closer', self.element).length === 0 && this.defaults.closer !== false ) {
$(this.defaults.closerTemplate).addClass('jGrowl-closer ' + this.defaults.themeState + ' ui-corner-all').addClass(this.defaults.theme)
.appendTo(self.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing)
.bind("click.jGrowl", function() {
@ -315,7 +325,7 @@
/** Update the jGrowl Container, removing old jGrowl notifications **/
update: function() {
$(this.element).find('div.jGrowl-notification:parent').each( function() {
$(this.element).find('.jGrowl-notification:parent').each( function() {
if ($(this).data("jGrowl") !== undefined && $(this).data("jGrowl").created !== undefined &&
($(this).data("jGrowl").created.getTime() + parseInt($(this).data("jGrowl").life, 10)) < (new Date()).getTime() &&
$(this).data("jGrowl").sticky !== true &&
@ -327,11 +337,11 @@
});
if (this.notifications.length > 0 &&
(this.defaults.pool === 0 || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) )
(this.defaults.pool === 0 || $(this.element).find('.jGrowl-notification:parent').length < this.defaults.pool) )
this.render( this.notifications.shift() );
if ($(this.element).find('div.jGrowl-notification:parent').size() < 2 ) {
$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
if ($(this.element).find('.jGrowl-notification:parent').length < 2 ) {
$(this.element).find('.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
$(this).remove();
});
}
@ -343,16 +353,12 @@
this.interval = setInterval( function() {
$(e).data('jGrowl.instance').update();
}, parseInt(this.defaults.check, 10));
if ($ie6) {
$(this.element).addClass('ie6');
}
},
/** Shutdown jGrowl, removing it and clearing the interval **/
shutdown: function() {
$(this.element).removeClass('jGrowl')
.find('div.jGrowl-notification').trigger('jGrowl.close')
.find('.jGrowl-notification').trigger('jGrowl.close')
.parent().empty()
;
@ -360,7 +366,7 @@
},
close: function() {
$(this.element).find('div.jGrowl-notification').each(function(){
$(this.element).find('.jGrowl-notification').each(function(){
$(this).trigger('jGrowl.beforeClose');
});
}
@ -369,4 +375,4 @@
/** Reference the Defaults Object for compatibility with older versions of jGrowl **/
$.jGrowl.defaults = $.fn.jGrowl.prototype.defaults;
})(jQuery);
})(jQuery);

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
.ie6{position:absolute}.ie6.top-right{right:auto;bottom:auto;left:expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )}.ie6.top-left{left:expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )}.ie6.bottom-right{left:expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )}.ie6.bottom-left{left:expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )}.ie6.center{left:expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );width:100%}.jGrowl{z-index:9999;color:#fff;font-size:12px;position:fixed}.jGrowl.top-left{left:0;top:0}.jGrowl.top-right{right:0;top:0}.jGrowl.bottom-left{left:0;bottom:0}.jGrowl.bottom-right{right:0;bottom:0}.jGrowl.center{top:0;width:50%;left:25%}.center .jGrowl-closer,.center .jGrowl-notification{margin-left:auto;margin-right:auto}.jGrowl .jGrowl-closer,.jGrowl .jGrowl-notification{background-color:#000;opacity:.85;-ms-filter:"alpha(Opacity=85)";filter:alpha(Opacity=85);zoom:1;width:235px;padding:10px;font-family:Tahoma,Arial,Helvetica,sans-serif;font-size:1em;text-align:left;display:none;border-radius:5px}.jGrowl .jGrowl-notification{min-height:40px}.jGrowl .jGrowl-closer,.jGrowl .jGrowl-notification{margin:10px}.jGrowl .jGrowl-notification .jGrowl-header{font-weight:700;font-size:.85em}.jGrowl .jGrowl-notification .jGrowl-close{z-index:99;float:right;font-weight:700;font-size:1em;cursor:pointer}.jGrowl .jGrowl-closer{padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}@media print{.jGrowl{display:none}}
.jGrowl{z-index:9999;color:#fff;font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:fixed}.jGrowl.top-left{left:0;top:0}.jGrowl.top-right{right:0;top:0}.jGrowl.bottom-left{left:0;bottom:0}.jGrowl.bottom-right{right:0;bottom:0}.jGrowl.center{top:0;width:50%;left:25%}.jGrowl.center .jGrowl-closer,.jGrowl.center .jGrowl-notification{margin-left:auto;margin-right:auto}.jGrowl-notification{background-color:#000;opacity:.9;-ms-filter:alpha(90);filter:alpha(90);zoom:1;width:250px;padding:10px;margin:10px;text-align:left;display:none;border-radius:5px;min-height:40px}.jGrowl-notification .ui-state-highlight,.jGrowl-notification .ui-widget-content .ui-state-highlight,.jGrowl-notification .ui-widget-header .ui-state-highlight{border:1px solid #000;background:#000;color:#fff}.jGrowl-notification .jGrowl-header{font-weight:700;font-size:.85em}.jGrowl-notification .jGrowl-close{background-color:transparent;color:inherit;border:none;z-index:99;float:right;font-weight:700;font-size:1em;cursor:pointer}.jGrowl-closer{background-color:#000;opacity:.9;-ms-filter:alpha(90);filter:alpha(90);zoom:1;width:250px;padding:10px;margin:10px;display:none;border-radius:5px;padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}.jGrowl-closer .ui-state-highlight,.jGrowl-closer .ui-widget-content .ui-state-highlight,.jGrowl-closer .ui-widget-header .ui-state-highlight{border:1px solid #000;background:#000;color:#fff}@media print{.jGrowl{display:none}}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,101 @@
.jGrowl {
z-index: 9999;
color: @jgrowl-color;
font-size: @jgrowl-fontSize;
font-family: @jgrowl-fontFamily;
position: fixed;
&.top-left {
left: 0px;
top: 0px;
}
&.top-right {
right: 0px;
top: 0px;
}
&.bottom-left {
left: 0px;
bottom: 0px;
}
&.bottom-right {
right: 0px;
bottom: 0px;
}
&.center {
top: 0px;
width: 50%;
left: 25%;
.jGrowl-notification,
.jGrowl-closer {
margin-left: auto;
margin-right: auto;
}
}
}
.notification() {
background-color: @jgrowl-backgroundColor;
opacity: @jgrowl-opacity;
// These are for older versions of Internet Explorer that don't support opacity
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(@jgrowl-opacity*100));
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=(@jgrowl-opacity*100));
zoom: 1;
width: @jgrowl-width;
padding: 10px;
margin: 10px;
text-align: left;
display: none;
border-radius: @jgrowl-borderRadius;
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #000;
background: #000;
color: #fff;
}
}
.jGrowl-notification {
.notification;
min-height: @jgrowl-height;
.jGrowl-header {
font-weight: bold;
font-size: .85em;
}
.jGrowl-close {
background-color: transparent;
color: inherit;
border: none;
z-index: 99;
float: right;
font-weight: bold;
font-size: 1em;
cursor: pointer;
}
}
.jGrowl-closer {
.notification;
padding-top: 4px;
padding-bottom: 4px;
cursor: pointer;
font-size: .9em;
font-weight: bold;
text-align: center;
}
/** Hide jGrowl when printing **/
@media print {
.jGrowl {
display: none;
}
}

View File

@ -0,0 +1,2 @@
@import "jgrowl.variables.less";
@import "jgrowl.core.less";

View File

@ -0,0 +1,8 @@
@jgrowl-width: 250px;
@jgrowl-height: 40px;
@jgrowl-backgroundColor: #000;
@jgrowl-color: #fff;
@jgrowl-fontSize: 12px;
@jgrowl-fontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@jgrowl-opacity: .90;
@jgrowl-borderRadius: 5px;

View File

@ -1,11 +1,13 @@
{
"name": "jgrowl",
"version": "1.3.0",
"version": "1.4.1",
"author": {
"name" : "Stan Lemon",
"email" : "stosh1985@gmail.com",
"url" : "http://stanlemon.net"
},
"src": "jquery.jgrowl.js",
"style": "jquery.jgrowl.css",
"repository" : {
"type" : "git",
"url" : "http://github.com/stanlemon/jGrowl.git"
@ -15,6 +17,7 @@
"grunt-contrib-jshint": "~0.6.3",
"grunt-contrib-uglify": "~0.4.0",
"grunt-contrib-cssmin": "~0.9.0",
"grunt-contrib-less": "~0.11.0",
"grunt-contrib-watch": "~0.6.1"
}
}
}

View File

@ -1,15 +1,31 @@
{
"name": "jquery-placeholder",
"version": "2.0.8",
"description": "A jQuery plugin that enables HTML5 placeholder behavior for browsers that arent trying hard enough yet",
"version": "2.0.9",
"license": "MIT",
"main": [
"jquery.placeholder.js"
],
"keywords": [
"form",
"placeholder",
"jQuery",
"jquery-plugin"
],
"dependencies": {
"jquery": ">=1.6"
},
"ignore": [
"*",
"!/bower.json",
"!/jquery.placeholder.js"
],
"homepage": "https://github.com/mathiasbynens/jquery-placeholder",
"_release": "2.0.8",
"_release": "2.0.9",
"_resolution": {
"type": "version",
"tag": "v2.0.8",
"commit": "051f21ef5279f4887d9caf6af7af211d933ba670"
"tag": "v2.0.9",
"commit": "510a577397713934b46ccaceaa7ecc558cff313a"
},
"_source": "git://github.com/mathiasbynens/jquery-placeholder.git",
"_target": "~2.0.7",

View File

@ -1 +0,0 @@
.DS_Store

View File

@ -1,20 +0,0 @@
Copyright Mathias Bynens <http://mathiasbynens.be/>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Some files were not shown because too many files have changed in this diff Show More