fomantic-ui 2.9.4-beta.5 → 2.9.4-beta.51
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/.all-contributorsrc +20 -1
- package/.eslintrc.js +17 -0
- package/.github/FUNDING.yml +1 -1
- package/.github/workflows/ci.yml +5 -5
- package/.github/workflows/depsreview.yml +14 -0
- package/.github/workflows/nightly.yml +1 -1
- package/.github/workflows/release.yml +1 -1
- package/CONTRIBUTORS.md +2 -0
- package/README.md +2 -12
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +4 -2
- 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 +7 -3
- 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 +19 -3
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +1 -1
- package/dist/components/calendar.js +15 -3
- package/dist/components/calendar.min.css +1 -1
- package/dist/components/calendar.min.js +3 -3
- 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 +10 -4
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +3 -3
- 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 +7 -3
- package/dist/components/dimmer.js +4 -2
- package/dist/components/dimmer.min.css +2 -2
- 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 +41 -38
- package/dist/components/dropdown.js +102 -33
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +3 -3
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +17 -7
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +3 -3
- package/dist/components/emoji.css +1 -1
- package/dist/components/emoji.min.css +1 -1
- package/dist/components/feed.css +12 -1
- package/dist/components/feed.min.css +2 -2
- 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 +4 -2
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +15 -5
- package/dist/components/form.js +46 -20
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +3 -3
- package/dist/components/grid.css +5 -5
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +4 -1
- package/dist/components/header.min.css +2 -2
- 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 +30 -10
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -2
- package/dist/components/label.min.css +2 -2
- 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/menu.css +1 -2
- package/dist/components/menu.min.css +2 -2
- 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 +7 -3
- 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 +11 -5
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +3 -3
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -2
- package/dist/components/popup.js +10 -4
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +4 -2
- 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 +4 -2
- 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 +67 -14
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +3 -3
- 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 +4 -2
- 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 +4 -2
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +14 -6
- package/dist/components/site.js +4 -2
- package/dist/components/site.min.css +2 -2
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +4 -2
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +4 -2
- 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 +4 -2
- 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 +4 -2
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +32 -21
- package/dist/components/table.min.css +2 -2
- 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 +7 -3
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +3 -3
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +7 -3
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +4 -2
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +239 -139
- package/dist/semantic.js +360 -130
- package/dist/semantic.min.css +3 -3
- package/dist/semantic.min.js +3 -3
- package/dist/themes/basic/assets/fonts/LICENSE.txt +91 -0
- package/dist/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
- package/dist/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
- package/dist/themes/github/assets/fonts/LICENSE.txt +94 -0
- package/dist/themes/material/assets/fonts/LICENSE.txt +202 -0
- package/package.json +3 -3
- package/src/definitions/behaviors/api.js +6 -2
- package/src/definitions/behaviors/form.js +45 -19
- package/src/definitions/behaviors/state.js +3 -1
- package/src/definitions/behaviors/visibility.js +3 -1
- package/src/definitions/collections/form.less +14 -4
- package/src/definitions/collections/grid.less +4 -4
- package/src/definitions/collections/table.less +69 -54
- package/src/definitions/elements/button.less +25 -3
- package/src/definitions/elements/header.less +5 -0
- package/src/definitions/elements/input.less +14 -6
- package/src/definitions/globals/site.js +3 -1
- package/src/definitions/globals/site.less +17 -12
- package/src/definitions/modules/accordion.js +3 -1
- package/src/definitions/modules/calendar.js +14 -2
- package/src/definitions/modules/checkbox.js +9 -3
- package/src/definitions/modules/dimmer.js +3 -1
- package/src/definitions/modules/dimmer.less +8 -5
- package/src/definitions/modules/dropdown.js +101 -32
- package/src/definitions/modules/dropdown.less +38 -27
- package/src/definitions/modules/embed.js +16 -6
- package/src/definitions/modules/flyout.js +3 -1
- package/src/definitions/modules/modal.js +6 -2
- package/src/definitions/modules/nag.js +10 -4
- package/src/definitions/modules/popup.js +9 -3
- package/src/definitions/modules/progress.js +3 -1
- package/src/definitions/modules/rating.js +3 -1
- package/src/definitions/modules/search.js +66 -13
- package/src/definitions/modules/search.less +9 -2
- package/src/definitions/modules/shape.js +3 -1
- package/src/definitions/modules/sidebar.js +3 -1
- package/src/definitions/modules/slider.js +3 -1
- package/src/definitions/modules/sticky.js +3 -1
- package/src/definitions/modules/tab.js +3 -1
- package/src/definitions/modules/toast.js +6 -2
- package/src/definitions/modules/transition.js +6 -2
- package/src/definitions/views/feed.less +11 -0
- package/src/themes/basic/assets/fonts/LICENSE.txt +91 -0
- package/src/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
- package/src/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
- package/src/themes/default/collections/form.variables +1 -0
- package/src/themes/default/elements/button.variables +2 -0
- package/src/themes/default/globals/site.variables +3 -0
- package/src/themes/default/globals/variation.variables +3 -0
- package/src/themes/default/modules/dropdown.variables +3 -0
- package/src/themes/default/modules/search.variables +3 -0
- package/src/themes/default/views/feed.variables +3 -0
- package/src/themes/github/assets/fonts/LICENSE.txt +94 -0
- package/src/themes/material/assets/fonts/LICENSE.txt +202 -0
- package/types/fomantic-ui-accordion.d.ts +1 -1
- package/types/fomantic-ui-api.d.ts +9 -3
- package/types/fomantic-ui-calendar.d.ts +93 -8
- package/types/fomantic-ui-checkbox.d.ts +14 -4
- package/types/fomantic-ui-dimmer.d.ts +1 -1
- package/types/fomantic-ui-dropdown.d.ts +48 -35
- package/types/fomantic-ui-embed.d.ts +19 -2
- package/types/fomantic-ui-flyout.d.ts +24 -10
- package/types/fomantic-ui-form.d.ts +123 -15
- package/types/fomantic-ui-modal.d.ts +75 -5
- package/types/fomantic-ui-nag.d.ts +4 -4
- package/types/fomantic-ui-popup.d.ts +11 -11
- package/types/fomantic-ui-progress.d.ts +12 -6
- package/types/fomantic-ui-rating.d.ts +1 -1
- package/types/fomantic-ui-search.d.ts +125 -14
- package/types/fomantic-ui-shape.d.ts +2 -2
- package/types/fomantic-ui-sidebar.d.ts +4 -4
- package/types/fomantic-ui-slider.d.ts +1 -1
- package/types/fomantic-ui-sticky.d.ts +1 -1
- package/types/fomantic-ui-tab.d.ts +5 -5
- package/types/fomantic-ui-toast.d.ts +14 -2
- package/types/fomantic-ui-transition.d.ts +29 -1
- package/types/fomantic-ui-visibility.d.ts +3 -3
- package/types/index.d.ts +25 -25
- package/types/tests.ts +188 -0
- package/types/tsconfig.json +1 -1
- package/types/fomantic-ui-tests.ts +0 -25
@@ -102,7 +102,17 @@
|
|
102
102
|
|
103
103
|
destroy: function () {
|
104
104
|
module.verbose('Destroying previous calendar for', element);
|
105
|
-
$module.removeData(
|
105
|
+
$module.removeData([
|
106
|
+
metadata.date,
|
107
|
+
metadata.focusDate,
|
108
|
+
metadata.startDate,
|
109
|
+
metadata.endDate,
|
110
|
+
metadata.minDate,
|
111
|
+
metadata.maxDate,
|
112
|
+
metadata.mode,
|
113
|
+
metadata.monthOffset,
|
114
|
+
moduleNamespace,
|
115
|
+
]);
|
106
116
|
module.unbind.events();
|
107
117
|
module.disconnect.classObserver();
|
108
118
|
},
|
@@ -1479,7 +1489,9 @@
|
|
1479
1489
|
});
|
1480
1490
|
}
|
1481
1491
|
clearTimeout(module.performance.timer);
|
1482
|
-
module.performance.timer = setTimeout(function () {
|
1492
|
+
module.performance.timer = setTimeout(function () {
|
1493
|
+
module.performance.display();
|
1494
|
+
}, 500);
|
1483
1495
|
},
|
1484
1496
|
display: function () {
|
1485
1497
|
var
|
@@ -210,7 +210,7 @@
|
|
210
210
|
;
|
211
211
|
|
212
212
|
var
|
213
|
-
r = module.get.radios(),
|
213
|
+
r = module.get.radios().not(selector.disabled),
|
214
214
|
rIndex = r.index($module),
|
215
215
|
rLen = r.length,
|
216
216
|
checkIndex = false
|
@@ -228,7 +228,10 @@
|
|
228
228
|
|
229
229
|
return false;
|
230
230
|
}
|
231
|
-
|
231
|
+
var nextOption = $(r[checkIndex]),
|
232
|
+
nextInput = nextOption.children(selector.input),
|
233
|
+
disallowOption = nextOption.hasClass(className.readOnly) || nextInput.prop('readonly');
|
234
|
+
if (disallowOption || settings.beforeChecked.apply(nextInput[0]) === false) {
|
232
235
|
module.verbose('Next option should not allow check, cancelling key navigation');
|
233
236
|
|
234
237
|
return false;
|
@@ -725,7 +728,9 @@
|
|
725
728
|
});
|
726
729
|
}
|
727
730
|
clearTimeout(module.performance.timer);
|
728
|
-
module.performance.timer = setTimeout(function () {
|
731
|
+
module.performance.timer = setTimeout(function () {
|
732
|
+
module.performance.display();
|
733
|
+
}, 500);
|
729
734
|
},
|
730
735
|
display: function () {
|
731
736
|
var
|
@@ -873,6 +878,7 @@
|
|
873
878
|
|
874
879
|
selector: {
|
875
880
|
checkbox: '.ui.checkbox',
|
881
|
+
disabled: '.disabled, :has(input[disabled])',
|
876
882
|
label: 'label',
|
877
883
|
input: 'input[type="checkbox"], input[type="radio"]',
|
878
884
|
link: 'a[href]',
|
@@ -528,7 +528,9 @@
|
|
528
528
|
});
|
529
529
|
}
|
530
530
|
clearTimeout(module.performance.timer);
|
531
|
-
module.performance.timer = setTimeout(function () {
|
531
|
+
module.performance.timer = setTimeout(function () {
|
532
|
+
module.performance.display();
|
533
|
+
}, 500);
|
532
534
|
},
|
533
535
|
display: function () {
|
534
536
|
var
|
@@ -74,17 +74,20 @@
|
|
74
74
|
.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover {
|
75
75
|
background: @thumbInvertedHoverBackground;
|
76
76
|
}
|
77
|
-
|
78
|
-
|
77
|
+
& when (@supportIE) {
|
78
|
+
.ui.dimmer:not(.inverted) {
|
79
79
|
/* IE11 */
|
80
80
|
scrollbar-face-color: @thumbInvertedBackgroundHex;
|
81
81
|
scrollbar-shadow-color: @thumbInvertedBackgroundHex;
|
82
82
|
scrollbar-track-color: @trackInvertedBackgroundHex;
|
83
83
|
scrollbar-arrow-color: @trackInvertedBackgroundHex;
|
84
84
|
}
|
85
|
-
|
86
|
-
|
87
|
-
|
85
|
+
}
|
86
|
+
@supports (-moz-appearance: none) {
|
87
|
+
.ui.dimmer:not(.inverted) {
|
88
|
+
/* firefox: first color thumb, second track */
|
89
|
+
scrollbar-color: @thumbInvertedBackground @trackInvertedBackground;
|
90
|
+
}
|
88
91
|
}
|
89
92
|
}
|
90
93
|
|
@@ -793,7 +793,7 @@
|
|
793
793
|
}
|
794
794
|
if (module.is.multiple()) {
|
795
795
|
$.each(preSelected, function (index, value) {
|
796
|
-
$item.filter('[data-value="' + value + '"]')
|
796
|
+
$item.filter('[data-' + metadata.value + '="' + value + '"]')
|
797
797
|
.addClass(className.filtered)
|
798
798
|
;
|
799
799
|
});
|
@@ -890,11 +890,13 @@
|
|
890
890
|
? query
|
891
891
|
: module.get.query()
|
892
892
|
),
|
893
|
-
results
|
894
|
-
escapedTerm
|
895
|
-
|
893
|
+
results = null,
|
894
|
+
escapedTerm = module.escape.string(searchTerm),
|
895
|
+
regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
|
896
|
+
regExpFlags = regExpIgnore + 'gm',
|
896
897
|
beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags)
|
897
898
|
;
|
899
|
+
module.remove.filteredItem();
|
898
900
|
// avoid loop if we're matching nothing
|
899
901
|
if (module.has.query()) {
|
900
902
|
results = [];
|
@@ -938,12 +940,34 @@
|
|
938
940
|
;
|
939
941
|
}
|
940
942
|
module.debug('Showing only matched items', searchTerm);
|
941
|
-
module.remove.filteredItem();
|
942
943
|
if (results) {
|
943
944
|
$item
|
944
945
|
.not(results)
|
945
946
|
.addClass(className.filtered)
|
946
947
|
;
|
948
|
+
if (settings.highlightMatches && (settings.match === 'both' || settings.match === 'text')) {
|
949
|
+
var querySplit = query.split(''),
|
950
|
+
diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
|
951
|
+
htmlReg = '(?![^<]*>)',
|
952
|
+
markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
|
953
|
+
markedReplacer = function () {
|
954
|
+
var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
|
955
|
+
return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
|
956
|
+
});
|
957
|
+
|
958
|
+
return args.join('');
|
959
|
+
}
|
960
|
+
;
|
961
|
+
$.each(results, function (index, result) {
|
962
|
+
var $result = $(result),
|
963
|
+
markedHTML = module.get.choiceText($result, true)
|
964
|
+
;
|
965
|
+
if (settings.ignoreDiacritics) {
|
966
|
+
markedHTML = markedHTML.normalize('NFD');
|
967
|
+
}
|
968
|
+
$result.html(markedHTML.replace(markedRegExp, markedReplacer));
|
969
|
+
});
|
970
|
+
}
|
947
971
|
}
|
948
972
|
|
949
973
|
if (!module.has.query()) {
|
@@ -979,8 +1003,10 @@
|
|
979
1003
|
termLength = term.length,
|
980
1004
|
queryLength = query.length
|
981
1005
|
;
|
982
|
-
|
983
|
-
|
1006
|
+
if (settings.ignoreSearchCase) {
|
1007
|
+
query = query.toLowerCase();
|
1008
|
+
term = term.toLowerCase();
|
1009
|
+
}
|
984
1010
|
if (queryLength > termLength) {
|
985
1011
|
return false;
|
986
1012
|
}
|
@@ -1187,7 +1213,7 @@
|
|
1187
1213
|
if (!itemActivated && !pageLostFocus) {
|
1188
1214
|
if (settings.forceSelection) {
|
1189
1215
|
module.forceSelection();
|
1190
|
-
} else if (!settings.allowAdditions) {
|
1216
|
+
} else if (!settings.allowAdditions && !settings.keepSearchTerm && !module.has.menuSearch()) {
|
1191
1217
|
module.remove.searchTerm();
|
1192
1218
|
}
|
1193
1219
|
module.hide();
|
@@ -1236,7 +1262,9 @@
|
|
1236
1262
|
module.set.filtered();
|
1237
1263
|
}
|
1238
1264
|
clearTimeout(module.timer);
|
1239
|
-
module.timer = setTimeout(function () {
|
1265
|
+
module.timer = setTimeout(function () {
|
1266
|
+
module.search();
|
1267
|
+
}, settings.delay.search);
|
1240
1268
|
},
|
1241
1269
|
label: {
|
1242
1270
|
click: function (event) {
|
@@ -1413,7 +1441,9 @@
|
|
1413
1441
|
module.remove.userAddition();
|
1414
1442
|
}
|
1415
1443
|
if (!settings.keepSearchTerm) {
|
1416
|
-
module.
|
1444
|
+
if (module.is.multiple()) {
|
1445
|
+
module.remove.filteredItem();
|
1446
|
+
}
|
1417
1447
|
module.remove.searchTerm();
|
1418
1448
|
}
|
1419
1449
|
if (!module.is.visible() && $target.length > 0) {
|
@@ -2587,7 +2617,7 @@
|
|
2587
2617
|
} else {
|
2588
2618
|
$combo.text(text);
|
2589
2619
|
}
|
2590
|
-
} else if (settings.action === 'activate') {
|
2620
|
+
} else if (settings.action === 'activate' || isFunction(settings.action)) {
|
2591
2621
|
if (text !== module.get.placeholderText() || isNotPlaceholder) {
|
2592
2622
|
$text.removeClass(className.placeholder);
|
2593
2623
|
}
|
@@ -2647,7 +2677,7 @@
|
|
2647
2677
|
module.set.scrollPosition($nextValue);
|
2648
2678
|
$selectedItem.removeClass(className.selected);
|
2649
2679
|
$nextValue.addClass(className.selected);
|
2650
|
-
if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
|
2680
|
+
if (settings.selectOnKeydown && module.is.single() && (!$nextItem || !$nextItem.hasClass(className.actionable))) {
|
2651
2681
|
module.set.selectedItem($nextValue);
|
2652
2682
|
}
|
2653
2683
|
}
|
@@ -2768,19 +2798,27 @@
|
|
2768
2798
|
$selectedItem = settings.allowAdditions
|
2769
2799
|
? $selectedItem || module.get.itemWithAdditions(value)
|
2770
2800
|
: $selectedItem || module.get.item(value);
|
2771
|
-
if (!$selectedItem) {
|
2801
|
+
if (!$selectedItem && value !== undefined) {
|
2772
2802
|
return false;
|
2773
2803
|
}
|
2774
|
-
|
2775
|
-
|
2776
|
-
|
2777
|
-
|
2778
|
-
|
2804
|
+
if (isMultiple) {
|
2805
|
+
if (!keepSearchTerm) {
|
2806
|
+
module.remove.searchWidth();
|
2807
|
+
}
|
2808
|
+
if (settings.useLabels) {
|
2809
|
+
module.remove.selectedItem();
|
2810
|
+
if (value === undefined) {
|
2811
|
+
module.remove.labels($module.find(selector.label), true);
|
2812
|
+
}
|
2813
|
+
}
|
2814
|
+
} else {
|
2779
2815
|
module.remove.activeItem();
|
2780
2816
|
module.remove.selectedItem();
|
2781
|
-
} else if (settings.useLabels) {
|
2782
|
-
module.remove.selectedItem();
|
2783
2817
|
}
|
2818
|
+
if (!$selectedItem) {
|
2819
|
+
return false;
|
2820
|
+
}
|
2821
|
+
module.debug('Setting selected menu item to', $selectedItem);
|
2784
2822
|
// select each item
|
2785
2823
|
$selectedItem
|
2786
2824
|
.each(function () {
|
@@ -3080,6 +3118,12 @@
|
|
3080
3118
|
$item.removeClass(className.active);
|
3081
3119
|
},
|
3082
3120
|
filteredItem: function () {
|
3121
|
+
if (settings.highlightMatches) {
|
3122
|
+
$.each($item, function (index, item) {
|
3123
|
+
var $markItem = $(item);
|
3124
|
+
$markItem.html($markItem.html().replace(/<\/?mark>/g, ''));
|
3125
|
+
});
|
3126
|
+
}
|
3083
3127
|
if (settings.useLabels && module.has.maxSelections()) {
|
3084
3128
|
return;
|
3085
3129
|
}
|
@@ -3424,7 +3468,12 @@
|
|
3424
3468
|
return $selectedMenu.hasClass(className.leftward);
|
3425
3469
|
},
|
3426
3470
|
clearable: function () {
|
3427
|
-
|
3471
|
+
var hasClearableClass = $module.hasClass(className.clearable);
|
3472
|
+
if (!hasClearableClass && settings.clearable) {
|
3473
|
+
$module.addClass(className.clearable);
|
3474
|
+
}
|
3475
|
+
|
3476
|
+
return hasClearableClass || settings.clearable;
|
3428
3477
|
},
|
3429
3478
|
disabled: function () {
|
3430
3479
|
return $module.hasClass(className.disabled);
|
@@ -3747,12 +3796,16 @@
|
|
3747
3796
|
show: function () {
|
3748
3797
|
module.verbose('Delaying show event to ensure user intent');
|
3749
3798
|
clearTimeout(module.timer);
|
3750
|
-
module.timer = setTimeout(function () {
|
3799
|
+
module.timer = setTimeout(function () {
|
3800
|
+
module.show();
|
3801
|
+
}, settings.delay.show);
|
3751
3802
|
},
|
3752
3803
|
hide: function () {
|
3753
3804
|
module.verbose('Delaying hide event to ensure user intent');
|
3754
3805
|
clearTimeout(module.timer);
|
3755
|
-
module.timer = setTimeout(function () {
|
3806
|
+
module.timer = setTimeout(function () {
|
3807
|
+
module.hide();
|
3808
|
+
}, settings.delay.hide);
|
3756
3809
|
},
|
3757
3810
|
},
|
3758
3811
|
|
@@ -3785,6 +3838,7 @@
|
|
3785
3838
|
return text.replace(regExp.escape, '\\$&');
|
3786
3839
|
},
|
3787
3840
|
htmlEntities: function (string, forceAmpersand) {
|
3841
|
+
forceAmpersand = typeof forceAmpersand === 'number' ? false : forceAmpersand;
|
3788
3842
|
var
|
3789
3843
|
badChars = /["'<>`]/g,
|
3790
3844
|
shouldEscape = /["&'<>`]/,
|
@@ -3801,8 +3855,7 @@
|
|
3801
3855
|
;
|
3802
3856
|
if (shouldEscape.test(string)) {
|
3803
3857
|
string = string.replace(forceAmpersand ? /&/g : /&(?![\d#a-z]{1,12};)/gi, '&');
|
3804
|
-
|
3805
|
-
return string.replace(badChars, escapedChar);
|
3858
|
+
string = string.replace(badChars, escapedChar);
|
3806
3859
|
}
|
3807
3860
|
|
3808
3861
|
return string;
|
@@ -3878,7 +3931,9 @@
|
|
3878
3931
|
});
|
3879
3932
|
}
|
3880
3933
|
clearTimeout(module.performance.timer);
|
3881
|
-
module.performance.timer = setTimeout(function () {
|
3934
|
+
module.performance.timer = setTimeout(function () {
|
3935
|
+
module.performance.display();
|
3936
|
+
}, 500);
|
3882
3937
|
},
|
3883
3938
|
display: function () {
|
3884
3939
|
var
|
@@ -4005,6 +4060,7 @@
|
|
4005
4060
|
|
4006
4061
|
match: 'both', // what to match against with search selection (both, text, or label)
|
4007
4062
|
fullTextSearch: 'exact', // search anywhere in value (set to 'exact' to require exact matches)
|
4063
|
+
highlightMatches: false, // Whether search result should highlight matching strings
|
4008
4064
|
ignoreDiacritics: false, // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
|
4009
4065
|
hideDividers: false, // Whether to hide any divider elements (specified in selector.divider) that are sibling to any items when searched (set to true will hide all dividers, set to 'empty' will hide them when they are not followed by a visible item)
|
4010
4066
|
|
@@ -4120,9 +4176,11 @@
|
|
4120
4176
|
descriptionVertical: 'descriptionVertical', // whether description should be vertical
|
4121
4177
|
value: 'value', // actual dropdown value
|
4122
4178
|
text: 'text', // displayed text when selected
|
4179
|
+
data: 'data', // custom data attributes
|
4123
4180
|
type: 'type', // type of dropdown element
|
4124
4181
|
image: 'image', // optional image path
|
4125
4182
|
imageClass: 'imageClass', // optional individual class for image
|
4183
|
+
alt: 'alt', // optional alt text for image
|
4126
4184
|
icon: 'icon', // optional icon name
|
4127
4185
|
iconClass: 'iconClass', // optional individual class for icon (for example to use flag instead)
|
4128
4186
|
class: 'class', // optional individual class for item/header
|
@@ -4229,8 +4287,7 @@
|
|
4229
4287
|
;
|
4230
4288
|
if (shouldEscape.test(string)) {
|
4231
4289
|
string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&');
|
4232
|
-
|
4233
|
-
return string.replace(badChars, escapedChar);
|
4290
|
+
string = string.replace(badChars, escapedChar);
|
4234
4291
|
}
|
4235
4292
|
|
4236
4293
|
return string;
|
@@ -4265,9 +4322,21 @@
|
|
4265
4322
|
$.each(values, function (index, option) {
|
4266
4323
|
var
|
4267
4324
|
itemType = option[fields.type] || 'item',
|
4268
|
-
isMenu = itemType.indexOf('menu') !== -1
|
4325
|
+
isMenu = itemType.indexOf('menu') !== -1,
|
4326
|
+
maybeData = '',
|
4327
|
+
dataObject = option[fields.data]
|
4269
4328
|
;
|
4270
|
-
|
4329
|
+
if (dataObject) {
|
4330
|
+
var dataKey,
|
4331
|
+
dataKeyEscaped
|
4332
|
+
;
|
4333
|
+
for (dataKey in dataObject) {
|
4334
|
+
dataKeyEscaped = String(dataKey).replace(/\W/g, '');
|
4335
|
+
if (Object.prototype.hasOwnProperty.call(dataObject, dataKey) && ['text', 'value'].indexOf(dataKeyEscaped.toLowerCase()) === -1) {
|
4336
|
+
maybeData += ' data-' + dataKeyEscaped + '="' + deQuote(String(dataObject[dataKey])) + '"';
|
4337
|
+
}
|
4338
|
+
}
|
4339
|
+
}
|
4271
4340
|
if (itemType === 'item' || isMenu) {
|
4272
4341
|
var
|
4273
4342
|
maybeText = option[fields.text]
|
@@ -4284,12 +4353,12 @@
|
|
4284
4353
|
: '',
|
4285
4354
|
hasDescription = escape(option[fields.description] || '', preserveHTML) !== ''
|
4286
4355
|
;
|
4287
|
-
html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
|
4356
|
+
html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + maybeData + '>';
|
4288
4357
|
if (isMenu) {
|
4289
4358
|
html += '<i class="' + (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
|
4290
4359
|
}
|
4291
4360
|
if (option[fields.image]) {
|
4292
|
-
html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + '">';
|
4361
|
+
html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + (option[fields.alt] ? '" alt="' + deQuote(option[fields.alt]) : '') + '">';
|
4293
4362
|
}
|
4294
4363
|
if (option[fields.icon]) {
|
4295
4364
|
html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';
|
@@ -468,10 +468,10 @@ select.ui.dropdown {
|
|
468
468
|
|
469
469
|
@media only screen and (max-width: @largestMobileScreen) {
|
470
470
|
& when (@variationDropdownShort) {
|
471
|
-
.ui.selection.dropdown.short .menu {
|
471
|
+
.ui.ui.selection.dropdown.short .menu {
|
472
472
|
max-height: @selectionMobileMaxMenuHeight * 0.75;
|
473
473
|
}
|
474
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
474
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
475
475
|
max-height: @selectionMobileMaxMenuHeight * 0.5;
|
476
476
|
}
|
477
477
|
}
|
@@ -479,20 +479,20 @@ select.ui.dropdown {
|
|
479
479
|
max-height: @selectionMobileMaxMenuHeight;
|
480
480
|
}
|
481
481
|
& when (@variationDropdownLong) {
|
482
|
-
.ui.selection.dropdown.long .menu {
|
482
|
+
.ui.ui.selection.dropdown.long .menu {
|
483
483
|
max-height: @selectionMobileMaxMenuHeight * 2;
|
484
484
|
}
|
485
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
485
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
486
486
|
max-height: @selectionMobileMaxMenuHeight * 3;
|
487
487
|
}
|
488
488
|
}
|
489
489
|
}
|
490
490
|
@media only screen and (min-width: @tabletBreakpoint) {
|
491
491
|
& when (@variationDropdownShort) {
|
492
|
-
.ui.selection.dropdown.short .menu {
|
492
|
+
.ui.ui.selection.dropdown.short .menu {
|
493
493
|
max-height: @selectionTabletMaxMenuHeight * 0.75;
|
494
494
|
}
|
495
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
495
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
496
496
|
max-height: @selectionTabletMaxMenuHeight * 0.5;
|
497
497
|
}
|
498
498
|
}
|
@@ -500,20 +500,20 @@ select.ui.dropdown {
|
|
500
500
|
max-height: @selectionTabletMaxMenuHeight;
|
501
501
|
}
|
502
502
|
& when (@variationDropdownLong) {
|
503
|
-
.ui.selection.dropdown.long .menu {
|
503
|
+
.ui.ui.selection.dropdown.long .menu {
|
504
504
|
max-height: @selectionTabletMaxMenuHeight * 2;
|
505
505
|
}
|
506
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
506
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
507
507
|
max-height: @selectionTabletMaxMenuHeight * 3;
|
508
508
|
}
|
509
509
|
}
|
510
510
|
}
|
511
511
|
@media only screen and (min-width: @computerBreakpoint) {
|
512
512
|
& when (@variationDropdownShort) {
|
513
|
-
.ui.selection.dropdown.short .menu {
|
513
|
+
.ui.ui.selection.dropdown.short .menu {
|
514
514
|
max-height: @selectionComputerMaxMenuHeight * 0.75;
|
515
515
|
}
|
516
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
516
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
517
517
|
max-height: @selectionComputerMaxMenuHeight * 0.5;
|
518
518
|
}
|
519
519
|
}
|
@@ -521,20 +521,20 @@ select.ui.dropdown {
|
|
521
521
|
max-height: @selectionComputerMaxMenuHeight;
|
522
522
|
}
|
523
523
|
& when (@variationDropdownLong) {
|
524
|
-
.ui.selection.dropdown.long .menu {
|
524
|
+
.ui.ui.selection.dropdown.long .menu {
|
525
525
|
max-height: @selectionComputerMaxMenuHeight * 2;
|
526
526
|
}
|
527
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
527
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
528
528
|
max-height: @selectionComputerMaxMenuHeight * 3;
|
529
529
|
}
|
530
530
|
}
|
531
531
|
}
|
532
532
|
@media only screen and (min-width: @widescreenMonitorBreakpoint) {
|
533
533
|
& when (@variationDropdownShort) {
|
534
|
-
.ui.selection.dropdown.short .menu {
|
534
|
+
.ui.ui.selection.dropdown.short .menu {
|
535
535
|
max-height: @selectionWidescreenMaxMenuHeight * 0.75;
|
536
536
|
}
|
537
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
537
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
538
538
|
max-height: @selectionWidescreenMaxMenuHeight * 0.5;
|
539
539
|
}
|
540
540
|
}
|
@@ -542,10 +542,10 @@ select.ui.dropdown {
|
|
542
542
|
max-height: @selectionWidescreenMaxMenuHeight;
|
543
543
|
}
|
544
544
|
& when (@variationDropdownLong) {
|
545
|
-
.ui.selection.dropdown.long .menu {
|
545
|
+
.ui.ui.selection.dropdown.long .menu {
|
546
546
|
max-height: @selectionWidescreenMaxMenuHeight * 2;
|
547
547
|
}
|
548
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
548
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
549
549
|
max-height: @selectionWidescreenMaxMenuHeight * 3;
|
550
550
|
}
|
551
551
|
}
|
@@ -811,14 +811,14 @@ select.ui.dropdown {
|
|
811
811
|
}
|
812
812
|
}
|
813
813
|
|
814
|
-
.ui.clearable.dropdown .text,
|
815
|
-
.ui.clearable.dropdown
|
814
|
+
.ui.clearable.dropdown .text:not(.default),
|
815
|
+
.ui.clearable.dropdown:not(.search) > .ui.label:last-of-type {
|
816
816
|
margin-right: @clearableTextMargin;
|
817
817
|
}
|
818
818
|
|
819
819
|
.ui.dropdown select.noselection ~ .remove.icon,
|
820
820
|
.ui.dropdown input[value=""] ~ .remove.icon,
|
821
|
-
.ui.dropdown input:not([value]) ~ .remove.icon,
|
821
|
+
.ui.dropdown input:not([value]):not(.search) ~ .remove.icon,
|
822
822
|
.ui.dropdown.loading > .remove.icon {
|
823
823
|
display: none;
|
824
824
|
}
|
@@ -1853,13 +1853,20 @@ select.ui.dropdown {
|
|
1853
1853
|
& when not (@variationDropdownSizes = false) {
|
1854
1854
|
each(@variationDropdownSizes, {
|
1855
1855
|
@s: @@value;
|
1856
|
-
.ui.@{value}.dropdown,
|
1857
|
-
.ui.@{value}.dropdown .menu > .item {
|
1856
|
+
.ui.ui.@{value}.dropdown,
|
1857
|
+
.ui.ui.@{value}.dropdown .menu > .item {
|
1858
1858
|
font-size: @s;
|
1859
1859
|
}
|
1860
1860
|
});
|
1861
1861
|
}
|
1862
1862
|
|
1863
|
+
& when (@variationDropdownHighlightMatches) {
|
1864
|
+
.ui.dropdown .menu > .item mark {
|
1865
|
+
background: @highlightMatchesBackground;
|
1866
|
+
color: @highlightMatchesColor;
|
1867
|
+
}
|
1868
|
+
}
|
1869
|
+
|
1863
1870
|
& when (@variationDropdownInverted) {
|
1864
1871
|
/* --------------
|
1865
1872
|
Inverted
|
@@ -2035,18 +2042,22 @@ select.ui.dropdown {
|
|
2035
2042
|
.ui.inverted.dropdown .menu::-webkit-scrollbar-thumb:hover {
|
2036
2043
|
background: @thumbInvertedHoverBackground;
|
2037
2044
|
}
|
2038
|
-
|
2039
|
-
|
2040
|
-
|
2045
|
+
& when (@supportIE) {
|
2046
|
+
.ui.dropdown .inverted.menu,
|
2047
|
+
.ui.inverted.dropdown .menu {
|
2041
2048
|
/* IE11 */
|
2042
2049
|
scrollbar-face-color: @thumbInvertedBackgroundHex;
|
2043
2050
|
scrollbar-shadow-color: @thumbInvertedBackgroundHex;
|
2044
2051
|
scrollbar-track-color: @trackInvertedBackgroundHex;
|
2045
2052
|
scrollbar-arrow-color: @trackInvertedBackgroundHex;
|
2046
2053
|
}
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2054
|
+
}
|
2055
|
+
@supports (-moz-appearance: none) {
|
2056
|
+
.ui.dropdown .inverted.menu,
|
2057
|
+
.ui.inverted.dropdown .menu {
|
2058
|
+
/* firefox: first color thumb, second track */
|
2059
|
+
scrollbar-color: @thumbInvertedBackground @trackInvertedBackground;
|
2060
|
+
}
|
2050
2061
|
}
|
2051
2062
|
}
|
2052
2063
|
& when (@variationDropdownPointing) {
|
@@ -119,11 +119,12 @@
|
|
119
119
|
|
120
120
|
createPlaceholder: function (placeholder) {
|
121
121
|
var
|
122
|
-
icon = module.get.icon()
|
122
|
+
icon = module.get.icon(),
|
123
|
+
alt = module.get.alt()
|
123
124
|
;
|
124
125
|
placeholder = placeholder || module.get.placeholder();
|
125
|
-
$module.html(templates.placeholder(placeholder, icon));
|
126
|
-
module.debug('Creating placeholder for embed', placeholder, icon);
|
126
|
+
$module.html(templates.placeholder(placeholder, icon, alt));
|
127
|
+
module.debug('Creating placeholder for embed', placeholder, icon, alt);
|
127
128
|
},
|
128
129
|
|
129
130
|
createEmbed: function (url) {
|
@@ -203,6 +204,9 @@
|
|
203
204
|
placeholder: function () {
|
204
205
|
return settings.placeholder || $module.data(metadata.placeholder);
|
205
206
|
},
|
207
|
+
alt: function () {
|
208
|
+
return settings.alt || $module.data(metadata.alt);
|
209
|
+
},
|
206
210
|
icon: function () {
|
207
211
|
return settings.icon || ($module.data(metadata.icon) !== undefined
|
208
212
|
? $module.data(metadata.icon)
|
@@ -288,6 +292,7 @@
|
|
288
292
|
.removeData(metadata.id)
|
289
293
|
.removeData(metadata.icon)
|
290
294
|
.removeData(metadata.placeholder)
|
295
|
+
.removeData(metadata.alt)
|
291
296
|
.removeData(metadata.source)
|
292
297
|
.removeData(metadata.url)
|
293
298
|
;
|
@@ -440,7 +445,9 @@
|
|
440
445
|
});
|
441
446
|
}
|
442
447
|
clearTimeout(module.performance.timer);
|
443
|
-
module.performance.timer = setTimeout(function () {
|
448
|
+
module.performance.timer = setTimeout(function () {
|
449
|
+
module.performance.display();
|
450
|
+
}, 500);
|
444
451
|
},
|
445
452
|
display: function () {
|
446
453
|
var
|
@@ -555,6 +562,8 @@
|
|
555
562
|
source: false,
|
556
563
|
url: false,
|
557
564
|
id: false,
|
565
|
+
placeholder: false,
|
566
|
+
alt: false,
|
558
567
|
|
559
568
|
// standard video settings
|
560
569
|
autoplay: 'auto',
|
@@ -577,6 +586,7 @@
|
|
577
586
|
id: 'id',
|
578
587
|
icon: 'icon',
|
579
588
|
placeholder: 'placeholder',
|
589
|
+
alt: 'alt',
|
580
590
|
source: 'source',
|
581
591
|
url: 'url',
|
582
592
|
},
|
@@ -652,7 +662,7 @@
|
|
652
662
|
+ ' width="100%" height="100%"'
|
653
663
|
+ ' msallowFullScreen allowFullScreen></iframe>';
|
654
664
|
},
|
655
|
-
placeholder: function (image, icon) {
|
665
|
+
placeholder: function (image, icon, alt) {
|
656
666
|
var
|
657
667
|
html = '',
|
658
668
|
deQuote = $.fn.embed.settings.templates.deQuote
|
@@ -661,7 +671,7 @@
|
|
661
671
|
html += '<i class="' + deQuote(icon) + ' icon"></i>';
|
662
672
|
}
|
663
673
|
if (image) {
|
664
|
-
html += '<img class="placeholder" src="' + deQuote(image) + '">';
|
674
|
+
html += '<img class="placeholder" src="' + deQuote(image) + (alt ? '" alt="' + deQuote(alt) : '') + '">';
|
665
675
|
}
|
666
676
|
|
667
677
|
return html;
|