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
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.4-beta.
|
2
|
+
* # Fomantic-UI 2.9.4-beta.51+fa62639 - Dropdown
|
3
3
|
* https://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -41,7 +41,6 @@
|
|
41
41
|
display: none;
|
42
42
|
outline: none;
|
43
43
|
top: 100%;
|
44
|
-
min-width: -webkit-max-content;
|
45
44
|
min-width: max-content;
|
46
45
|
margin: 0;
|
47
46
|
padding: 0;
|
@@ -407,7 +406,6 @@ select.ui.dropdown {
|
|
407
406
|
width: auto;
|
408
407
|
}
|
409
408
|
.ui.compact.selection.dropdown > .menu:not(.multiline) {
|
410
|
-
width: -webkit-max-content;
|
411
409
|
width: max-content;
|
412
410
|
}
|
413
411
|
|
@@ -444,70 +442,70 @@ select.ui.dropdown {
|
|
444
442
|
padding: 0.78571429rem 1.14285714rem;
|
445
443
|
}
|
446
444
|
@media only screen and (max-width: 767.98px) {
|
447
|
-
.ui.selection.dropdown.short .menu {
|
445
|
+
.ui.ui.selection.dropdown.short .menu {
|
448
446
|
max-height: 6.01071429rem;
|
449
447
|
}
|
450
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
448
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
451
449
|
max-height: 4.00714286rem;
|
452
450
|
}
|
453
451
|
.ui.selection.dropdown:not(.unlimited) .menu {
|
454
452
|
max-height: 8.01428571rem;
|
455
453
|
}
|
456
|
-
.ui.selection.dropdown.long .menu {
|
454
|
+
.ui.ui.selection.dropdown.long .menu {
|
457
455
|
max-height: 16.02857143rem;
|
458
456
|
}
|
459
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
457
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
460
458
|
max-height: 24.04285714rem;
|
461
459
|
}
|
462
460
|
}
|
463
461
|
@media only screen and (min-width: 768px) {
|
464
|
-
.ui.selection.dropdown.short .menu {
|
462
|
+
.ui.ui.selection.dropdown.short .menu {
|
465
463
|
max-height: 8.01428571rem;
|
466
464
|
}
|
467
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
465
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
468
466
|
max-height: 5.34285714rem;
|
469
467
|
}
|
470
468
|
.ui.selection.dropdown:not(.unlimited) .menu {
|
471
469
|
max-height: 10.68571429rem;
|
472
470
|
}
|
473
|
-
.ui.selection.dropdown.long .menu {
|
471
|
+
.ui.ui.selection.dropdown.long .menu {
|
474
472
|
max-height: 21.37142857rem;
|
475
473
|
}
|
476
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
474
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
477
475
|
max-height: 32.05714286rem;
|
478
476
|
}
|
479
477
|
}
|
480
478
|
@media only screen and (min-width: 992px) {
|
481
|
-
.ui.selection.dropdown.short .menu {
|
479
|
+
.ui.ui.selection.dropdown.short .menu {
|
482
480
|
max-height: 12.02142857rem;
|
483
481
|
}
|
484
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
482
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
485
483
|
max-height: 8.01428571rem;
|
486
484
|
}
|
487
485
|
.ui.selection.dropdown:not(.unlimited) .menu {
|
488
486
|
max-height: 16.02857143rem;
|
489
487
|
}
|
490
|
-
.ui.selection.dropdown.long .menu {
|
488
|
+
.ui.ui.selection.dropdown.long .menu {
|
491
489
|
max-height: 32.05714286rem;
|
492
490
|
}
|
493
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
491
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
494
492
|
max-height: 48.08571429rem;
|
495
493
|
}
|
496
494
|
}
|
497
495
|
@media only screen and (min-width: 1920px) {
|
498
|
-
.ui.selection.dropdown.short .menu {
|
496
|
+
.ui.ui.selection.dropdown.short .menu {
|
499
497
|
max-height: 16.02857143rem;
|
500
498
|
}
|
501
|
-
.ui.selection.dropdown[class*="very short"] .menu {
|
499
|
+
.ui.ui.selection.dropdown[class*="very short"] .menu {
|
502
500
|
max-height: 10.68571429rem;
|
503
501
|
}
|
504
502
|
.ui.selection.dropdown:not(.unlimited) .menu {
|
505
503
|
max-height: 21.37142857rem;
|
506
504
|
}
|
507
|
-
.ui.selection.dropdown.long .menu {
|
505
|
+
.ui.ui.selection.dropdown.long .menu {
|
508
506
|
max-height: 42.74285714rem;
|
509
507
|
}
|
510
|
-
.ui.selection.dropdown[class*="very long"] .menu {
|
508
|
+
.ui.ui.selection.dropdown[class*="very long"] .menu {
|
511
509
|
max-height: 64.11428571rem;
|
512
510
|
}
|
513
511
|
}
|
@@ -757,13 +755,13 @@ select.ui.dropdown {
|
|
757
755
|
.ui.inline.dropdown > .remove.icon {
|
758
756
|
right: 2.2em;
|
759
757
|
}
|
760
|
-
.ui.clearable.dropdown .text,
|
761
|
-
.ui.clearable.dropdown
|
758
|
+
.ui.clearable.dropdown .text:not(.default),
|
759
|
+
.ui.clearable.dropdown:not(.search) > .ui.label:last-of-type {
|
762
760
|
margin-right: 1.5em;
|
763
761
|
}
|
764
762
|
.ui.dropdown select.noselection ~ .remove.icon,
|
765
763
|
.ui.dropdown input[value=""] ~ .remove.icon,
|
766
|
-
.ui.dropdown input:not([value]) ~ .remove.icon,
|
764
|
+
.ui.dropdown input:not([value]):not(.search) ~ .remove.icon,
|
767
765
|
.ui.dropdown.loading > .remove.icon {
|
768
766
|
display: none;
|
769
767
|
}
|
@@ -1791,32 +1789,32 @@ select.ui.dropdown {
|
|
1791
1789
|
.ui.dropdown .menu > .item {
|
1792
1790
|
font-size: 1rem;
|
1793
1791
|
}
|
1794
|
-
.ui.mini.dropdown,
|
1795
|
-
.ui.mini.dropdown .menu > .item {
|
1792
|
+
.ui.ui.mini.dropdown,
|
1793
|
+
.ui.ui.mini.dropdown .menu > .item {
|
1796
1794
|
font-size: 0.78571429rem;
|
1797
1795
|
}
|
1798
|
-
.ui.tiny.dropdown,
|
1799
|
-
.ui.tiny.dropdown .menu > .item {
|
1796
|
+
.ui.ui.tiny.dropdown,
|
1797
|
+
.ui.ui.tiny.dropdown .menu > .item {
|
1800
1798
|
font-size: 0.85714286rem;
|
1801
1799
|
}
|
1802
|
-
.ui.small.dropdown,
|
1803
|
-
.ui.small.dropdown .menu > .item {
|
1800
|
+
.ui.ui.small.dropdown,
|
1801
|
+
.ui.ui.small.dropdown .menu > .item {
|
1804
1802
|
font-size: 0.92857143rem;
|
1805
1803
|
}
|
1806
|
-
.ui.large.dropdown,
|
1807
|
-
.ui.large.dropdown .menu > .item {
|
1804
|
+
.ui.ui.large.dropdown,
|
1805
|
+
.ui.ui.large.dropdown .menu > .item {
|
1808
1806
|
font-size: 1.14285714rem;
|
1809
1807
|
}
|
1810
|
-
.ui.big.dropdown,
|
1811
|
-
.ui.big.dropdown .menu > .item {
|
1808
|
+
.ui.ui.big.dropdown,
|
1809
|
+
.ui.ui.big.dropdown .menu > .item {
|
1812
1810
|
font-size: 1.28571429rem;
|
1813
1811
|
}
|
1814
|
-
.ui.huge.dropdown,
|
1815
|
-
.ui.huge.dropdown .menu > .item {
|
1812
|
+
.ui.ui.huge.dropdown,
|
1813
|
+
.ui.ui.huge.dropdown .menu > .item {
|
1816
1814
|
font-size: 1.42857143rem;
|
1817
1815
|
}
|
1818
|
-
.ui.massive.dropdown,
|
1819
|
-
.ui.massive.dropdown .menu > .item {
|
1816
|
+
.ui.ui.massive.dropdown,
|
1817
|
+
.ui.ui.massive.dropdown .menu > .item {
|
1820
1818
|
font-size: 1.71428571rem;
|
1821
1819
|
}
|
1822
1820
|
|
@@ -1978,9 +1976,14 @@ select.ui.dropdown {
|
|
1978
1976
|
scrollbar-shadow-color: #656565;
|
1979
1977
|
scrollbar-track-color: #323232;
|
1980
1978
|
scrollbar-arrow-color: #323232;
|
1981
|
-
|
1979
|
+
}
|
1980
|
+
@supports (-moz-appearance: none) {
|
1981
|
+
.ui.dropdown .inverted.menu,
|
1982
|
+
.ui.inverted.dropdown .menu {
|
1983
|
+
|
1982
1984
|
/* firefox: first color thumb, second track */
|
1983
|
-
|
1985
|
+
scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
|
1986
|
+
}
|
1984
1987
|
}
|
1985
1988
|
.ui.pointing.dropdown > .inverted.menu::after,
|
1986
1989
|
.ui.inverted.pointing.dropdown > .menu::after {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.4-beta.
|
2
|
+
* # Fomantic-UI 2.9.4-beta.51+fa62639 - Dropdown
|
3
3
|
* https://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -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>';
|