fomantic-ui 2.9.1-beta.24 → 2.9.1-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslint/eqeqeq-rule.js +18 -0
- package/.eslint/index.js +3 -0
- package/.eslintrc.js +1 -2
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +4 -4
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +2 -2
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +17 -17
- package/dist/components/api.min.js +2 -2
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -1
- package/dist/components/button.min.css +1 -1
- package/dist/components/calendar.css +1 -1
- package/dist/components/calendar.js +18 -17
- package/dist/components/calendar.min.css +1 -1
- package/dist/components/calendar.min.js +2 -2
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +11 -11
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +2 -2
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +1 -1
- package/dist/components/container.min.css +1 -1
- package/dist/components/dimmer.css +1 -1
- package/dist/components/dimmer.js +9 -9
- package/dist/components/dimmer.min.css +1 -1
- package/dist/components/dimmer.min.js +2 -2
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +1 -1
- package/dist/components/dropdown.js +103 -91
- package/dist/components/dropdown.min.css +1 -1
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +5 -5
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +1 -1
- package/dist/components/flyout.js +10 -10
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +1 -1
- package/dist/components/form.js +77 -60
- package/dist/components/form.min.css +1 -1
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +1 -1
- package/dist/components/grid.min.css +1 -1
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -1
- package/dist/components/input.min.css +1 -1
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -1
- package/dist/components/list.min.css +1 -1
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +1 -1
- package/dist/components/modal.js +4 -4
- package/dist/components/modal.min.css +1 -1
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +5 -5
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +2 -2
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -1
- package/dist/components/popup.js +39 -31
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +12 -12
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +2 -2
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +6 -6
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +2 -2
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +1 -1
- package/dist/components/search.js +16 -16
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +1 -1
- package/dist/components/segment.min.css +1 -1
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +5 -5
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +2 -2
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +13 -13
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +4 -4
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.js +50 -37
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +5 -5
- package/dist/components/state.min.js +2 -2
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +8 -8
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +2 -2
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +17 -17
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +1 -1
- package/dist/components/table.min.css +1 -1
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +4 -4
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +8 -8
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +12 -12
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +50 -50
- package/dist/semantic.js +462 -411
- package/dist/semantic.min.css +1 -1
- package/dist/semantic.min.js +2 -2
- package/package.json +1 -1
- package/src/definitions/behaviors/api.js +16 -16
- package/src/definitions/behaviors/form.js +76 -59
- package/src/definitions/behaviors/state.js +4 -4
- package/src/definitions/behaviors/visibility.js +11 -11
- package/src/definitions/globals/site.js +3 -3
- package/src/definitions/modules/accordion.js +3 -3
- package/src/definitions/modules/calendar.js +17 -16
- package/src/definitions/modules/checkbox.js +10 -10
- package/src/definitions/modules/dimmer.js +8 -8
- package/src/definitions/modules/dropdown.js +102 -90
- package/src/definitions/modules/embed.js +4 -4
- package/src/definitions/modules/flyout.js +9 -9
- package/src/definitions/modules/modal.js +3 -3
- package/src/definitions/modules/nag.js +4 -4
- package/src/definitions/modules/popup.js +38 -30
- package/src/definitions/modules/progress.js +11 -11
- package/src/definitions/modules/rating.js +5 -5
- package/src/definitions/modules/search.js +15 -15
- package/src/definitions/modules/shape.js +4 -4
- package/src/definitions/modules/sidebar.js +12 -12
- package/src/definitions/modules/slider.js +49 -36
- package/src/definitions/modules/sticky.js +7 -7
- package/src/definitions/modules/tab.js +16 -16
- package/src/definitions/modules/toast.js +3 -3
- package/src/definitions/modules/transition.js +7 -7
- package/tasks/admin/components/init.js +1 -1
- package/tasks/admin/components/update.js +1 -1
- package/tasks/admin/distributions/create.js +4 -5
- package/tasks/admin/distributions/init.js +1 -1
- package/tasks/admin/distributions/update.js +1 -1
- package/tasks/config/project/config.js +2 -2
- package/tasks/config/project/install.js +8 -8
- package/tasks/config/project/release.js +1 -1
- package/tasks/config/tasks.js +2 -2
- package/tasks/docs/metadata.js +1 -1
- package/tasks/install.js +2 -2
- package/test/modules/module.spec.js +1 -1
@@ -662,7 +662,7 @@
|
|
662
662
|
? -1
|
663
663
|
: (keyCode === 38
|
664
664
|
? -bigIncrement
|
665
|
-
: (keyCode
|
665
|
+
: (keyCode === 39 ? 1 : bigIncrement)); // eslint-disable-line unicorn/no-nested-ternary
|
666
666
|
increment *= mode === 'minute' ? settings.minTimeGap : 1;
|
667
667
|
var focusDate = module.get.focusDate() || module.get.date() || new Date();
|
668
668
|
var year = focusDate.getFullYear() + (mode === 'year' ? increment : 0);
|
@@ -695,11 +695,12 @@
|
|
695
695
|
break;
|
696
696
|
}
|
697
697
|
// escape key
|
698
|
-
case 27:
|
698
|
+
case 27: {
|
699
699
|
module.popup('hide');
|
700
700
|
event.stopPropagation();
|
701
701
|
|
702
702
|
break;
|
703
|
+
}
|
703
704
|
}
|
704
705
|
}
|
705
706
|
|
@@ -1138,19 +1139,19 @@
|
|
1138
1139
|
} else if (d !== null && typeof d === 'object') {
|
1139
1140
|
if (d[metadata.year]) {
|
1140
1141
|
if (typeof d[metadata.year] === 'number') {
|
1141
|
-
blocked = date.getFullYear()
|
1142
|
+
blocked = date.getFullYear() === d[metadata.year];
|
1142
1143
|
} else if (Array.isArray(d[metadata.year])) {
|
1143
1144
|
blocked = d[metadata.year].indexOf(date.getFullYear()) > -1;
|
1144
1145
|
}
|
1145
1146
|
} else if (d[metadata.month]) {
|
1146
1147
|
if (typeof d[metadata.month] === 'number') {
|
1147
|
-
blocked = date.getMonth()
|
1148
|
+
blocked = date.getMonth() === d[metadata.month];
|
1148
1149
|
} else if (Array.isArray(d[metadata.month])) {
|
1149
1150
|
blocked = d[metadata.month].indexOf(date.getMonth()) > -1;
|
1150
1151
|
} else if (d[metadata.month] instanceof Date) {
|
1151
1152
|
var sdate = module.helper.sanitiseDate(d[metadata.month]);
|
1152
1153
|
|
1153
|
-
blocked = (date.getMonth()
|
1154
|
+
blocked = (date.getMonth() === sdate.getMonth()) && (date.getFullYear() === sdate.getFullYear());
|
1154
1155
|
}
|
1155
1156
|
} else if (d[metadata.date] && mode === 'day') {
|
1156
1157
|
if (d[metadata.date] instanceof Date) {
|
@@ -1187,7 +1188,7 @@
|
|
1187
1188
|
|
1188
1189
|
if (d[metadata.days]) {
|
1189
1190
|
if (typeof d[metadata.days] === 'number') {
|
1190
|
-
blocked = date.getDay()
|
1191
|
+
blocked = date.getDay() === d[metadata.days];
|
1191
1192
|
} else if (Array.isArray(d[metadata.days])) {
|
1192
1193
|
blocked = d[metadata.days].indexOf(date.getDay()) > -1;
|
1193
1194
|
}
|
@@ -1195,7 +1196,7 @@
|
|
1195
1196
|
|
1196
1197
|
if (d[metadata.hours]) {
|
1197
1198
|
if (typeof d[metadata.hours] === 'number') {
|
1198
|
-
blocked = blocked && date.getHours()
|
1199
|
+
blocked = blocked && date.getHours() === d[metadata.hours];
|
1199
1200
|
} else if (Array.isArray(d[metadata.hours])) {
|
1200
1201
|
blocked = blocked && d[metadata.hours].indexOf(date.getHours()) > -1;
|
1201
1202
|
}
|
@@ -1241,7 +1242,7 @@
|
|
1241
1242
|
}
|
1242
1243
|
if (d !== null && typeof d === 'object') {
|
1243
1244
|
if (d[metadata.year]) {
|
1244
|
-
if (typeof d[metadata.year] === 'number' && date.getFullYear()
|
1245
|
+
if (typeof d[metadata.year] === 'number' && date.getFullYear() === d[metadata.year]) {
|
1245
1246
|
return d;
|
1246
1247
|
}
|
1247
1248
|
if (Array.isArray(d[metadata.year])) {
|
@@ -1250,7 +1251,7 @@
|
|
1250
1251
|
}
|
1251
1252
|
}
|
1252
1253
|
} else if (d[metadata.month]) {
|
1253
|
-
if (typeof d[metadata.month] === 'number' && date.getMonth()
|
1254
|
+
if (typeof d[metadata.month] === 'number' && date.getMonth() === d[metadata.month]) {
|
1254
1255
|
return d;
|
1255
1256
|
}
|
1256
1257
|
if (Array.isArray(d[metadata.month])) {
|
@@ -1259,7 +1260,7 @@
|
|
1259
1260
|
}
|
1260
1261
|
} else if (d[metadata.month] instanceof Date) {
|
1261
1262
|
var sdate = module.helper.sanitiseDate(d[metadata.month]);
|
1262
|
-
if ((date.getMonth()
|
1263
|
+
if ((date.getMonth() === sdate.getMonth()) && (date.getFullYear() === sdate.getFullYear())) {
|
1263
1264
|
return d;
|
1264
1265
|
}
|
1265
1266
|
}
|
@@ -1286,7 +1287,7 @@
|
|
1286
1287
|
var d;
|
1287
1288
|
var hourCheck = function (date, d) {
|
1288
1289
|
if (d[metadata.hours]) {
|
1289
|
-
if (typeof d[metadata.hours] === 'number' && date.getHours()
|
1290
|
+
if (typeof d[metadata.hours] === 'number' && date.getHours() === d[metadata.hours]) {
|
1290
1291
|
return d;
|
1291
1292
|
}
|
1292
1293
|
if (Array.isArray(d[metadata.hours])) {
|
@@ -1298,12 +1299,12 @@
|
|
1298
1299
|
};
|
1299
1300
|
for (var i = 0; i < hours.length; i++) {
|
1300
1301
|
d = hours[i];
|
1301
|
-
if (typeof d === 'number' && date.getHours()
|
1302
|
+
if (typeof d === 'number' && date.getHours() === d) {
|
1302
1303
|
return null;
|
1303
1304
|
}
|
1304
1305
|
if (d !== null && typeof d === 'object') {
|
1305
1306
|
if (d[metadata.days] && hourCheck(date, d)) {
|
1306
|
-
if (typeof d[metadata.days] === 'number' && date.getDay()
|
1307
|
+
if (typeof d[metadata.days] === 'number' && date.getDay() === d[metadata.days]) {
|
1307
1308
|
return d;
|
1308
1309
|
}
|
1309
1310
|
if (Array.isArray(d[metadata.days])) {
|
@@ -1523,17 +1524,17 @@
|
|
1523
1524
|
query = query.split(/[ .]/);
|
1524
1525
|
maxDepth = query.length - 1;
|
1525
1526
|
$.each(query, function (depth, value) {
|
1526
|
-
var camelCaseValue = depth
|
1527
|
+
var camelCaseValue = depth !== maxDepth
|
1527
1528
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
1528
1529
|
: query
|
1529
1530
|
;
|
1530
|
-
if ($.isPlainObject(object[camelCaseValue]) && (depth
|
1531
|
+
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
1531
1532
|
object = object[camelCaseValue];
|
1532
1533
|
} else if (object[camelCaseValue] !== undefined) {
|
1533
1534
|
found = object[camelCaseValue];
|
1534
1535
|
|
1535
1536
|
return false;
|
1536
|
-
} else if ($.isPlainObject(object[value]) && (depth
|
1537
|
+
} else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
|
1537
1538
|
object = object[value];
|
1538
1539
|
} else if (object[value] !== undefined) {
|
1539
1540
|
found = object[value];
|
@@ -217,9 +217,9 @@
|
|
217
217
|
checkIndex = false
|
218
218
|
;
|
219
219
|
|
220
|
-
if (key
|
220
|
+
if (key === keyCode.left || key === keyCode.up) {
|
221
221
|
checkIndex = (rIndex === 0 ? rLen : rIndex) - 1;
|
222
|
-
} else if (key
|
222
|
+
} else if (key === keyCode.right || key === keyCode.down) {
|
223
223
|
checkIndex = rIndex === rLen - 1 ? 0 : rIndex + 1;
|
224
224
|
}
|
225
225
|
|
@@ -237,21 +237,21 @@
|
|
237
237
|
}
|
238
238
|
|
239
239
|
shortcutPressed = false;
|
240
|
-
if (key
|
240
|
+
if (key === keyCode.escape) {
|
241
241
|
module.verbose('Escape key pressed blurring field');
|
242
242
|
$input.trigger('blur');
|
243
243
|
shortcutPressed = true;
|
244
244
|
event.stopPropagation();
|
245
245
|
} else if (!event.ctrlKey && module.can.change()) {
|
246
|
-
if (key
|
246
|
+
if (key === keyCode.space || (key === keyCode.enter && settings.enableEnterKey)) {
|
247
247
|
module.verbose('Enter/space key pressed, toggling checkbox');
|
248
248
|
module.toggle();
|
249
249
|
shortcutPressed = true;
|
250
250
|
} else if ($module.is('.toggle, .slider') && !module.is.radio()) {
|
251
|
-
if (key
|
251
|
+
if (key === keyCode.left && module.is.checked()) {
|
252
252
|
module.uncheck();
|
253
253
|
shortcutPressed = true;
|
254
|
-
} else if (key
|
254
|
+
} else if (key === keyCode.right && module.is.unchecked()) {
|
255
255
|
module.check();
|
256
256
|
shortcutPressed = true;
|
257
257
|
}
|
@@ -370,7 +370,7 @@
|
|
370
370
|
return initialLoad;
|
371
371
|
},
|
372
372
|
radio: function () {
|
373
|
-
return $input.hasClass(className.radio) || $input.attr('type')
|
373
|
+
return $input.hasClass(className.radio) || $input.attr('type') === 'radio';
|
374
374
|
},
|
375
375
|
indeterminate: function () {
|
376
376
|
return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate');
|
@@ -767,17 +767,17 @@
|
|
767
767
|
query = query.split(/[ .]/);
|
768
768
|
maxDepth = query.length - 1;
|
769
769
|
$.each(query, function (depth, value) {
|
770
|
-
var camelCaseValue = depth
|
770
|
+
var camelCaseValue = depth !== maxDepth
|
771
771
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
772
772
|
: query
|
773
773
|
;
|
774
|
-
if ($.isPlainObject(object[camelCaseValue]) && (depth
|
774
|
+
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
775
775
|
object = object[camelCaseValue];
|
776
776
|
} else if (object[camelCaseValue] !== undefined) {
|
777
777
|
found = object[camelCaseValue];
|
778
778
|
|
779
779
|
return false;
|
780
|
-
} else if ($.isPlainObject(object[value]) && (depth
|
780
|
+
} else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
|
781
781
|
object = object[value];
|
782
782
|
} else if (object[value] !== undefined) {
|
783
783
|
found = object[value];
|
@@ -106,12 +106,12 @@
|
|
106
106
|
|
107
107
|
bind: {
|
108
108
|
events: function () {
|
109
|
-
if (settings.on
|
109
|
+
if (settings.on === 'hover') {
|
110
110
|
$dimmable
|
111
111
|
.on('mouseenter' + eventNamespace, module.show)
|
112
112
|
.on('mouseleave' + eventNamespace, module.hide)
|
113
113
|
;
|
114
|
-
} else if (settings.on
|
114
|
+
} else if (settings.on === 'click') {
|
115
115
|
$dimmable
|
116
116
|
.on(clickEvent + eventNamespace, module.toggle)
|
117
117
|
;
|
@@ -265,7 +265,7 @@
|
|
265
265
|
} else {
|
266
266
|
module.verbose('Showing dimmer animation with javascript');
|
267
267
|
module.set.dimmed();
|
268
|
-
if (settings.opacity
|
268
|
+
if (settings.opacity === 'auto') {
|
269
269
|
settings.opacity = 0.8;
|
270
270
|
}
|
271
271
|
$dimmer
|
@@ -358,8 +358,8 @@
|
|
358
358
|
return $dimmer.is(':animated') || $dimmer.hasClass(className.animating);
|
359
359
|
},
|
360
360
|
closable: function () {
|
361
|
-
if (settings.closable
|
362
|
-
return settings.on
|
361
|
+
if (settings.closable === 'auto') {
|
362
|
+
return settings.on !== 'hover';
|
363
363
|
}
|
364
364
|
|
365
365
|
return settings.closable;
|
@@ -575,17 +575,17 @@
|
|
575
575
|
query = query.split(/[ .]/);
|
576
576
|
maxDepth = query.length - 1;
|
577
577
|
$.each(query, function (depth, value) {
|
578
|
-
var camelCaseValue = depth
|
578
|
+
var camelCaseValue = depth !== maxDepth
|
579
579
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
580
580
|
: query
|
581
581
|
;
|
582
|
-
if ($.isPlainObject(object[camelCaseValue]) && (depth
|
582
|
+
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
583
583
|
object = object[camelCaseValue];
|
584
584
|
} else if (object[camelCaseValue] !== undefined) {
|
585
585
|
found = object[camelCaseValue];
|
586
586
|
|
587
587
|
return false;
|
588
|
-
} else if ($.isPlainObject(object[value]) && (depth
|
588
|
+
} else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
|
589
589
|
object = object[value];
|
590
590
|
} else if (object[value] !== undefined) {
|
591
591
|
found = object[value];
|
@@ -663,12 +663,12 @@
|
|
663
663
|
;
|
664
664
|
}
|
665
665
|
} else {
|
666
|
-
if (settings.on
|
666
|
+
if (settings.on === 'click') {
|
667
667
|
$module
|
668
668
|
.on('click' + eventNamespace, selector.icon, module.event.icon.click)
|
669
669
|
.on('click' + eventNamespace, module.event.test.toggle)
|
670
670
|
;
|
671
|
-
} else if (settings.on
|
671
|
+
} else if (settings.on === 'hover') {
|
672
672
|
$module
|
673
673
|
.on('mouseenter' + eventNamespace, module.delay.show)
|
674
674
|
.on('mouseleave' + eventNamespace, module.delay.hide)
|
@@ -1413,7 +1413,7 @@
|
|
1413
1413
|
hasActiveLabel = $activeLabel.length > 0,
|
1414
1414
|
hasMultipleActive = $activeLabel.length > 1,
|
1415
1415
|
isFirstLabel = labelIndex === 0,
|
1416
|
-
isLastLabel = labelIndex + 1
|
1416
|
+
isLastLabel = labelIndex + 1 === labelCount,
|
1417
1417
|
isSearch = module.is.searchSelection(),
|
1418
1418
|
isFocusedOnSearch = module.is.focusedOnSearch(),
|
1419
1419
|
isFocused = module.is.focused(),
|
@@ -1424,82 +1424,94 @@
|
|
1424
1424
|
return;
|
1425
1425
|
}
|
1426
1426
|
|
1427
|
-
|
1428
|
-
|
1429
|
-
|
1430
|
-
|
1431
|
-
$label.last().addClass(className.active);
|
1432
|
-
} else if (hasActiveLabel) {
|
1433
|
-
if (!event.shiftKey) {
|
1427
|
+
switch (pressedKey) {
|
1428
|
+
case keys.leftArrow: {
|
1429
|
+
// activate previous label
|
1430
|
+
if ((isFocused || caretAtStart) && !hasActiveLabel) {
|
1434
1431
|
module.verbose('Selecting previous label');
|
1435
|
-
$label.
|
1436
|
-
} else {
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1442
|
-
|
1443
|
-
|
1444
|
-
.
|
1445
|
-
|
1432
|
+
$label.last().addClass(className.active);
|
1433
|
+
} else if (hasActiveLabel) {
|
1434
|
+
if (!event.shiftKey) {
|
1435
|
+
module.verbose('Selecting previous label');
|
1436
|
+
$label.removeClass(className.active);
|
1437
|
+
} else {
|
1438
|
+
module.verbose('Adding previous label to selection');
|
1439
|
+
}
|
1440
|
+
if (isFirstLabel && !hasMultipleActive) {
|
1441
|
+
$activeLabel.addClass(className.active);
|
1442
|
+
} else {
|
1443
|
+
$activeLabel.prev(selector.siblingLabel)
|
1444
|
+
.addClass(className.active)
|
1445
|
+
.end()
|
1446
|
+
;
|
1447
|
+
}
|
1448
|
+
event.preventDefault();
|
1446
1449
|
}
|
1447
|
-
|
1448
|
-
|
1449
|
-
} else if (pressedKey == keys.rightArrow) {
|
1450
|
-
// activate first label
|
1451
|
-
if (isFocused && !hasActiveLabel) {
|
1452
|
-
$label.first().addClass(className.active);
|
1450
|
+
|
1451
|
+
break;
|
1453
1452
|
}
|
1454
|
-
|
1455
|
-
|
1456
|
-
if (!
|
1457
|
-
|
1458
|
-
$label.removeClass(className.active);
|
1459
|
-
} else {
|
1460
|
-
module.verbose('Adding next label to selection');
|
1453
|
+
case keys.rightArrow: {
|
1454
|
+
// activate first label
|
1455
|
+
if (isFocused && !hasActiveLabel) {
|
1456
|
+
$label.first().addClass(className.active);
|
1461
1457
|
}
|
1462
|
-
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1458
|
+
// activate next label
|
1459
|
+
if (hasActiveLabel) {
|
1460
|
+
if (!event.shiftKey) {
|
1461
|
+
module.verbose('Selecting next label');
|
1462
|
+
$label.removeClass(className.active);
|
1463
|
+
} else {
|
1464
|
+
module.verbose('Adding next label to selection');
|
1465
|
+
}
|
1466
|
+
if (isLastLabel) {
|
1467
|
+
if (isSearch) {
|
1468
|
+
if (!isFocusedOnSearch) {
|
1469
|
+
module.focusSearch();
|
1470
|
+
} else {
|
1471
|
+
$label.removeClass(className.active);
|
1472
|
+
}
|
1473
|
+
} else if (hasMultipleActive) {
|
1474
|
+
$activeLabel.next(selector.siblingLabel).addClass(className.active);
|
1466
1475
|
} else {
|
1467
|
-
$
|
1476
|
+
$activeLabel.addClass(className.active);
|
1468
1477
|
}
|
1469
|
-
} else if (hasMultipleActive) {
|
1470
|
-
$activeLabel.next(selector.siblingLabel).addClass(className.active);
|
1471
1478
|
} else {
|
1472
|
-
$activeLabel.addClass(className.active);
|
1479
|
+
$activeLabel.next(selector.siblingLabel).addClass(className.active);
|
1473
1480
|
}
|
1474
|
-
|
1475
|
-
$activeLabel.next(selector.siblingLabel).addClass(className.active);
|
1481
|
+
event.preventDefault();
|
1476
1482
|
}
|
1477
|
-
|
1483
|
+
|
1484
|
+
break;
|
1478
1485
|
}
|
1479
|
-
|
1480
|
-
|
1481
|
-
|
1482
|
-
|
1483
|
-
if (
|
1484
|
-
|
1486
|
+
case keys.deleteKey:
|
1487
|
+
case keys.backspace: {
|
1488
|
+
if (hasActiveLabel) {
|
1489
|
+
module.verbose('Removing active labels');
|
1490
|
+
if (isLastLabel) {
|
1491
|
+
if (isSearch && !isFocusedOnSearch) {
|
1492
|
+
module.focusSearch();
|
1493
|
+
}
|
1494
|
+
}
|
1495
|
+
$activeLabel.last().next(selector.siblingLabel).addClass(className.active);
|
1496
|
+
module.remove.activeLabels($activeLabel);
|
1497
|
+
if (!module.is.visible()) {
|
1498
|
+
module.show();
|
1499
|
+
}
|
1500
|
+
event.preventDefault();
|
1501
|
+
} else if (caretAtStart && !isSelectedSearch && !hasActiveLabel && pressedKey === keys.backspace) {
|
1502
|
+
module.verbose('Removing last label on input backspace');
|
1503
|
+
$activeLabel = $label.last().addClass(className.active);
|
1504
|
+
module.remove.activeLabels($activeLabel);
|
1505
|
+
if (!module.is.visible()) {
|
1506
|
+
module.show();
|
1485
1507
|
}
|
1486
1508
|
}
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1492
|
-
event.preventDefault();
|
1493
|
-
} else if (caretAtStart && !isSelectedSearch && !hasActiveLabel && pressedKey == keys.backspace) {
|
1494
|
-
module.verbose('Removing last label on input backspace');
|
1495
|
-
$activeLabel = $label.last().addClass(className.active);
|
1496
|
-
module.remove.activeLabels($activeLabel);
|
1497
|
-
if (!module.is.visible()) {
|
1498
|
-
module.show();
|
1499
|
-
}
|
1509
|
+
|
1510
|
+
break;
|
1511
|
+
}
|
1512
|
+
default: {
|
1513
|
+
$activeLabel.removeClass(className.active);
|
1500
1514
|
}
|
1501
|
-
} else {
|
1502
|
-
$activeLabel.removeClass(className.active);
|
1503
1515
|
}
|
1504
1516
|
}
|
1505
1517
|
},
|
@@ -1527,7 +1539,7 @@
|
|
1527
1539
|
hasSelectedItem = $selectedItem.length > 0,
|
1528
1540
|
selectedIsSelectable = $selectedItem.not(selector.unselectable).length > 0,
|
1529
1541
|
delimiterPressed = event.key === settings.delimiter && module.is.multiple(),
|
1530
|
-
isAdditionWithoutMenu = settings.allowAdditions && (pressedKey
|
1542
|
+
isAdditionWithoutMenu = settings.allowAdditions && (pressedKey === keys.enter || delimiterPressed),
|
1531
1543
|
$nextItem,
|
1532
1544
|
isSubMenuItem
|
1533
1545
|
;
|
@@ -1548,8 +1560,8 @@
|
|
1548
1560
|
// visible menu keyboard shortcuts
|
1549
1561
|
if (module.is.visible()) {
|
1550
1562
|
// enter (select or open sub-menu)
|
1551
|
-
if (pressedKey
|
1552
|
-
if (pressedKey
|
1563
|
+
if (pressedKey === keys.enter || delimiterPressed) {
|
1564
|
+
if (pressedKey === keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {
|
1553
1565
|
module.verbose('Pressed enter on unselectable category, opening sub menu');
|
1554
1566
|
pressedKey = keys.rightArrow;
|
1555
1567
|
} else if (selectedIsSelectable) {
|
@@ -1567,7 +1579,7 @@
|
|
1567
1579
|
|
1568
1580
|
// sub-menu actions
|
1569
1581
|
if (hasSelectedItem) {
|
1570
|
-
if (pressedKey
|
1582
|
+
if (pressedKey === keys.leftArrow) {
|
1571
1583
|
isSubMenuItem = $parentMenu[0] !== $menu[0];
|
1572
1584
|
|
1573
1585
|
if (isSubMenuItem) {
|
@@ -1585,7 +1597,7 @@
|
|
1585
1597
|
}
|
1586
1598
|
|
1587
1599
|
// right arrow (show sub-menu)
|
1588
|
-
if (pressedKey
|
1600
|
+
if (pressedKey === keys.rightArrow) {
|
1589
1601
|
if (hasSubMenu) {
|
1590
1602
|
module.verbose('Right key pressed, opening sub-menu');
|
1591
1603
|
module.animate.show(false, $subMenu);
|
@@ -1602,7 +1614,7 @@
|
|
1602
1614
|
}
|
1603
1615
|
|
1604
1616
|
// up arrow (traverse menu up)
|
1605
|
-
if (pressedKey
|
1617
|
+
if (pressedKey === keys.upArrow) {
|
1606
1618
|
$nextItem = hasSelectedItem && inVisibleMenu
|
1607
1619
|
? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)
|
1608
1620
|
: $item.eq(0);
|
@@ -1629,7 +1641,7 @@
|
|
1629
1641
|
}
|
1630
1642
|
|
1631
1643
|
// down arrow (traverse menu down)
|
1632
|
-
if (pressedKey
|
1644
|
+
if (pressedKey === keys.downArrow) {
|
1633
1645
|
$nextItem = hasSelectedItem && inVisibleMenu
|
1634
1646
|
? $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)
|
1635
1647
|
: $item.eq(0);
|
@@ -1656,28 +1668,28 @@
|
|
1656
1668
|
}
|
1657
1669
|
|
1658
1670
|
// page down (show next page)
|
1659
|
-
if (pressedKey
|
1671
|
+
if (pressedKey === keys.pageUp) {
|
1660
1672
|
module.scrollPage('up');
|
1661
1673
|
event.preventDefault();
|
1662
1674
|
}
|
1663
|
-
if (pressedKey
|
1675
|
+
if (pressedKey === keys.pageDown) {
|
1664
1676
|
module.scrollPage('down');
|
1665
1677
|
event.preventDefault();
|
1666
1678
|
}
|
1667
1679
|
|
1668
1680
|
// escape (close menu)
|
1669
|
-
if (pressedKey
|
1681
|
+
if (pressedKey === keys.escape) {
|
1670
1682
|
module.verbose('Escape key pressed, closing dropdown');
|
1671
1683
|
module.hide();
|
1672
1684
|
event.stopPropagation();
|
1673
1685
|
}
|
1674
1686
|
} else {
|
1675
1687
|
// delimiter key
|
1676
|
-
if (pressedKey
|
1688
|
+
if (pressedKey === keys.enter || delimiterPressed) {
|
1677
1689
|
event.preventDefault();
|
1678
1690
|
}
|
1679
1691
|
// down arrow (open menu)
|
1680
|
-
if (pressedKey
|
1692
|
+
if (pressedKey === keys.downArrow && !module.is.visible()) {
|
1681
1693
|
module.verbose('Down key pressed, showing dropdown');
|
1682
1694
|
module.show();
|
1683
1695
|
event.preventDefault();
|
@@ -1818,7 +1830,7 @@
|
|
1818
1830
|
return $module.data(metadata.defaultValue);
|
1819
1831
|
},
|
1820
1832
|
placeholderText: function () {
|
1821
|
-
if (settings.placeholder
|
1833
|
+
if (settings.placeholder !== 'auto' && typeof settings.placeholder === 'string') {
|
1822
1834
|
return settings.placeholder;
|
1823
1835
|
}
|
1824
1836
|
|
@@ -2368,7 +2380,7 @@
|
|
2368
2380
|
currentScroll = $menu.scrollTop(),
|
2369
2381
|
itemHeight = $item.eq(0).outerHeight(),
|
2370
2382
|
itemsPerPage = Math.floor(menuHeight / itemHeight),
|
2371
|
-
newScroll = direction
|
2383
|
+
newScroll = direction === 'up'
|
2372
2384
|
? currentScroll - (itemHeight * itemsPerPage)
|
2373
2385
|
: currentScroll + (itemHeight * itemsPerPage),
|
2374
2386
|
$selectableItem = $item.not(selector.unselectable),
|
@@ -2376,15 +2388,15 @@
|
|
2376
2388
|
$nextSelectedItem,
|
2377
2389
|
elementIndex
|
2378
2390
|
;
|
2379
|
-
elementIndex = direction
|
2391
|
+
elementIndex = direction === 'up'
|
2380
2392
|
? $selectableItem.index($currentItem) - itemsPerPage
|
2381
2393
|
: $selectableItem.index($currentItem) + itemsPerPage;
|
2382
|
-
isWithinRange = direction
|
2394
|
+
isWithinRange = direction === 'up'
|
2383
2395
|
? elementIndex >= 0
|
2384
2396
|
: elementIndex < $selectableItem.length;
|
2385
2397
|
$nextSelectedItem = isWithinRange
|
2386
2398
|
? $selectableItem.eq(elementIndex)
|
2387
|
-
: (direction
|
2399
|
+
: (direction === 'up'
|
2388
2400
|
? $selectableItem.first()
|
2389
2401
|
: $selectableItem.last());
|
2390
2402
|
if ($nextSelectedItem.length > 0) {
|
@@ -3319,7 +3331,7 @@
|
|
3319
3331
|
values = [values];
|
3320
3332
|
}
|
3321
3333
|
$.each(values, function (index, existingValue) {
|
3322
|
-
if (String(value).toLowerCase()
|
3334
|
+
if (String(value).toLowerCase() === String(existingValue).toLowerCase()) {
|
3323
3335
|
hasValue = true;
|
3324
3336
|
|
3325
3337
|
return false;
|
@@ -3458,7 +3470,7 @@
|
|
3458
3470
|
: false
|
3459
3471
|
;
|
3460
3472
|
|
3461
|
-
return overflowY
|
3473
|
+
return overflowY === 'auto' || overflowY === 'scroll';
|
3462
3474
|
},
|
3463
3475
|
horizontallyScrollableContext: function () {
|
3464
3476
|
var
|
@@ -3467,7 +3479,7 @@
|
|
3467
3479
|
: false
|
3468
3480
|
;
|
3469
3481
|
|
3470
|
-
return overflowX
|
3482
|
+
return overflowX === 'auto' || overflowX === 'scroll';
|
3471
3483
|
},
|
3472
3484
|
},
|
3473
3485
|
|
@@ -3860,17 +3872,17 @@
|
|
3860
3872
|
query = query.split(/[ .]/);
|
3861
3873
|
maxDepth = query.length - 1;
|
3862
3874
|
$.each(query, function (depth, value) {
|
3863
|
-
var camelCaseValue = depth
|
3875
|
+
var camelCaseValue = depth !== maxDepth
|
3864
3876
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
3865
3877
|
: query
|
3866
3878
|
;
|
3867
|
-
if ($.isPlainObject(object[camelCaseValue]) && (depth
|
3879
|
+
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
3868
3880
|
object = object[camelCaseValue];
|
3869
3881
|
} else if (object[camelCaseValue] !== undefined) {
|
3870
3882
|
found = object[camelCaseValue];
|
3871
3883
|
|
3872
3884
|
return false;
|
3873
|
-
} else if ($.isPlainObject(object[value]) && (depth
|
3885
|
+
} else if ($.isPlainObject(object[value]) && (depth !== maxDepth)) {
|
3874
3886
|
object = object[value];
|
3875
3887
|
} else if (object[value] !== undefined) {
|
3876
3888
|
found = object[value];
|
@@ -4225,7 +4237,7 @@
|
|
4225
4237
|
maybeDescriptionVertical = option[fields.descriptionVertical]
|
4226
4238
|
? className.descriptionVertical + ' '
|
4227
4239
|
: '',
|
4228
|
-
hasDescription = escape(option[fields.description] || '', preserveHTML)
|
4240
|
+
hasDescription = escape(option[fields.description] || '', preserveHTML) !== ''
|
4229
4241
|
;
|
4230
4242
|
html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
|
4231
4243
|
if (isMenu) {
|