fomantic-ui 2.9.0-beta.26 → 2.9.0-beta.262
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 +206 -3
- package/.github/workflows/ci.yml +4 -4
- package/.github/workflows/nightly.yml +4 -4
- package/.github/workflows/release.yml +30 -0
- package/CONTRIBUTORS.md +75 -37
- package/README.md +8 -8
- package/dist/components/accordion.css +162 -26
- package/dist/components/accordion.js +1 -1
- package/dist/components/accordion.min.css +2 -2
- 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 +34 -30
- package/dist/components/api.min.js +3 -3
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +176 -134
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +18 -1
- package/dist/components/calendar.js +10 -9
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +3 -3
- package/dist/components/card.css +26 -19
- package/dist/components/card.min.css +2 -2
- package/dist/components/checkbox.css +2 -1
- package/dist/components/checkbox.js +17 -11
- package/dist/components/checkbox.min.css +2 -2
- package/dist/components/checkbox.min.js +3 -3
- package/dist/components/comment.css +11 -11
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +94 -1
- package/dist/components/container.min.css +2 -2
- package/dist/components/dimmer.css +28 -14
- package/dist/components/dimmer.js +11 -5
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +3 -3
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +49 -13
- package/dist/components/dropdown.js +66 -39
- 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 +1 -1
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/emoji.css +10147 -8139
- package/dist/components/emoji.min.css +1 -1
- package/dist/components/feed.css +28 -28
- package/dist/components/feed.min.css +2 -2
- package/dist/components/flag.css +734 -625
- package/dist/components/flag.min.css +2 -2
- package/dist/components/form.css +118 -55
- package/dist/components/form.js +38 -29
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +3 -3
- package/dist/components/grid.css +11 -8
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +3 -1
- package/dist/components/header.min.css +2 -2
- package/dist/components/icon.css +126 -47
- package/dist/components/icon.min.css +2 -2
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +742 -17
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +13 -13
- 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/menu.css +29 -5
- package/dist/components/menu.min.css +1 -1
- package/dist/components/message.css +41 -41
- package/dist/components/message.min.css +2 -2
- package/dist/components/modal.css +13 -1
- package/dist/components/modal.js +127 -49
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +3 -3
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +1 -1
- 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 +2 -2
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +3 -3
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +4 -1
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +3 -3
- 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 +1 -1
- 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 +2 -2
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +3 -3
- package/dist/components/segment.css +91 -7
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +3 -3
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +3 -3
- package/dist/components/sidebar.css +4 -2
- package/dist/components/sidebar.js +8 -6
- package/dist/components/sidebar.min.css +2 -2
- package/dist/components/sidebar.min.js +3 -3
- package/dist/components/site.css +61 -39
- package/dist/components/site.js +1 -1
- package/dist/components/site.min.css +2 -2
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.js +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +1 -1
- 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 +4 -4
- package/dist/components/step.min.css +2 -2
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +1 -1
- 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 +23 -5
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +3 -3
- package/dist/components/table.css +1168 -26
- 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 +39 -1
- package/dist/components/toast.js +56 -28
- package/dist/components/toast.min.css +2 -2
- package/dist/components/toast.min.js +3 -3
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +21 -16
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +3 -3
- package/dist/components/visibility.js +1 -1
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +21916 -16238
- package/dist/semantic.js +433 -246
- package/dist/semantic.min.css +3 -3
- package/dist/semantic.min.js +3 -3
- package/dist/themes/default/assets/fonts/brand-icons.eot +0 -0
- package/dist/themes/default/assets/fonts/brand-icons.svg +801 -654
- package/dist/themes/default/assets/fonts/brand-icons.ttf +0 -0
- package/dist/themes/default/assets/fonts/brand-icons.woff +0 -0
- package/dist/themes/default/assets/fonts/brand-icons.woff2 +0 -0
- package/dist/themes/default/assets/fonts/icons.eot +0 -0
- package/dist/themes/default/assets/fonts/icons.svg +1175 -1079
- package/dist/themes/default/assets/fonts/icons.ttf +0 -0
- package/dist/themes/default/assets/fonts/icons.woff +0 -0
- package/dist/themes/default/assets/fonts/icons.woff2 +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.eot +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.svg +93 -95
- package/dist/themes/default/assets/fonts/outline-icons.ttf +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.woff +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.woff2 +0 -0
- package/examples/assets/library/iframe-content.js +8 -8
- package/examples/assets/library/iframe.js +3 -3
- package/package.json +10 -9
- package/src/definitions/behaviors/api.js +33 -29
- package/src/definitions/behaviors/form.js +37 -28
- package/src/definitions/collections/form.less +204 -140
- package/src/definitions/collections/grid.less +716 -680
- package/src/definitions/collections/menu.less +173 -126
- package/src/definitions/collections/message.less +48 -46
- package/src/definitions/collections/table.less +849 -262
- package/src/definitions/elements/button.less +586 -449
- package/src/definitions/elements/container.less +145 -8
- package/src/definitions/elements/emoji.less +15 -9
- package/src/definitions/elements/flag.less +7 -17
- package/src/definitions/elements/header.less +44 -35
- package/src/definitions/elements/icon.less +38 -31
- package/src/definitions/elements/input.less +264 -22
- package/src/definitions/elements/label.less +92 -91
- package/src/definitions/elements/list.less +55 -45
- package/src/definitions/elements/loader.less +30 -29
- package/src/definitions/elements/segment.less +147 -28
- package/src/definitions/elements/step.less +52 -48
- package/src/definitions/elements/text.less +17 -15
- package/src/definitions/globals/site.less +23 -2
- package/src/definitions/modules/accordion.less +175 -24
- package/src/definitions/modules/calendar.js +9 -8
- package/src/definitions/modules/calendar.less +20 -0
- package/src/definitions/modules/checkbox.js +16 -10
- package/src/definitions/modules/checkbox.less +34 -178
- package/src/definitions/modules/dimmer.js +10 -4
- package/src/definitions/modules/dimmer.less +21 -8
- package/src/definitions/modules/dropdown.js +65 -38
- package/src/definitions/modules/dropdown.less +145 -94
- package/src/definitions/modules/modal.js +126 -48
- package/src/definitions/modules/modal.less +12 -0
- package/src/definitions/modules/nag.less +20 -19
- package/src/definitions/modules/popup.js +1 -1
- package/src/definitions/modules/progress.js +3 -0
- package/src/definitions/modules/progress.less +19 -18
- package/src/definitions/modules/rating.less +35 -34
- package/src/definitions/modules/search.js +1 -1
- package/src/definitions/modules/search.less +32 -16
- package/src/definitions/modules/shape.js +2 -2
- package/src/definitions/modules/sidebar.js +7 -5
- package/src/definitions/modules/sidebar.less +33 -19
- package/src/definitions/modules/slider.less +39 -38
- package/src/definitions/modules/tab.js +22 -4
- package/src/definitions/modules/toast.js +55 -27
- package/src/definitions/modules/toast.less +48 -16
- package/src/definitions/modules/transition.js +20 -15
- package/src/definitions/views/card.less +402 -361
- package/src/definitions/views/comment.less +92 -81
- package/src/definitions/views/feed.less +164 -144
- package/src/definitions/views/item.less +249 -196
- package/src/definitions/views/statistic.less +90 -88
- package/src/themes/bookish/elements/header.overrides +1 -1
- package/src/themes/chubby/elements/button.overrides +1 -1
- package/src/themes/chubby/elements/header.overrides +1 -1
- package/src/themes/default/assets/fonts/brand-icons.eot +0 -0
- package/src/themes/default/assets/fonts/brand-icons.svg +801 -654
- package/src/themes/default/assets/fonts/brand-icons.ttf +0 -0
- package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
- package/src/themes/default/assets/fonts/brand-icons.woff2 +0 -0
- package/src/themes/default/assets/fonts/icons.eot +0 -0
- package/src/themes/default/assets/fonts/icons.svg +1175 -1079
- package/src/themes/default/assets/fonts/icons.ttf +0 -0
- package/src/themes/default/assets/fonts/icons.woff +0 -0
- package/src/themes/default/assets/fonts/icons.woff2 +0 -0
- package/src/themes/default/assets/fonts/outline-icons.eot +0 -0
- package/src/themes/default/assets/fonts/outline-icons.svg +93 -95
- package/src/themes/default/assets/fonts/outline-icons.ttf +0 -0
- package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
- package/src/themes/default/assets/fonts/outline-icons.woff2 +0 -0
- package/src/themes/default/collections/form.variables +4 -0
- package/src/themes/default/collections/menu.variables +6 -0
- package/src/themes/default/collections/table.variables +52 -0
- package/src/themes/default/elements/button.variables +7 -1
- package/src/themes/default/elements/container.variables +12 -0
- package/src/themes/default/elements/emoji.overrides +1734 -1232
- package/src/themes/default/elements/flag.overrides +1641 -986
- package/src/themes/default/elements/flag.variables +7 -5
- package/src/themes/default/elements/icon.overrides +75 -48
- package/src/themes/default/elements/icon.variables +1 -0
- package/src/themes/default/elements/input.variables +15 -0
- package/src/themes/default/elements/segment.variables +8 -0
- package/src/themes/default/elements/step.overrides +1 -1
- package/src/themes/default/globals/site.variables +6 -0
- package/src/themes/default/globals/variation.variables +139 -6
- package/src/themes/default/modules/accordion.variables +49 -2
- package/src/themes/default/modules/calendar.variables +3 -0
- package/src/themes/default/modules/checkbox.variables +5 -5
- package/src/themes/default/modules/dimmer.variables +1 -1
- package/src/themes/default/modules/dropdown.variables +4 -10
- package/src/themes/default/modules/modal.variables +13 -0
- package/src/themes/default/modules/toast.variables +3 -0
- package/src/themes/famfamfam/elements/flag.overrides +1026 -0
- package/src/themes/famfamfam/elements/flag.variables +13 -0
- package/src/themes/instagram/views/card.overrides +1 -1
- package/src/themes/joypixels/elements/emoji.overrides +1759 -1257
- package/src/themes/joypixels/elements/emoji.variables +1 -1
- package/src/themes/material/collections/menu.overrides +1 -1
- package/src/themes/material/elements/button.overrides +1 -1
- package/src/themes/material/elements/header.overrides +1 -1
- package/src/themes/material/globals/site.variables +0 -1
- package/src/themes/material/modules/dropdown.overrides +1 -1
- package/src/themes/material/modules/modal.overrides +1 -1
- package/src/themes/rtl/globals/site.overrides +1 -1
- package/src/themes/twitter/elements/emoji.overrides +1734 -1232
- package/tasks/build/css.js +6 -1
- package/tasks/config/project/install.js +11 -5
- package/tasks/install.js +1 -0
- package/test/helpers/sinon.js +2 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.0-beta.
|
2
|
+
* # Fomantic-UI 2.9.0-beta.262 - Dropdown
|
3
3
|
* http://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -123,7 +123,7 @@
|
|
123
123
|
line-height: 1em;
|
124
124
|
font-size: 1rem;
|
125
125
|
color: rgba(0, 0, 0, 0.87);
|
126
|
-
padding: 0.78571429rem 1.14285714rem
|
126
|
+
padding: 0.78571429rem 1.14285714rem;
|
127
127
|
text-transform: none;
|
128
128
|
font-weight: normal;
|
129
129
|
-webkit-box-shadow: none;
|
@@ -365,9 +365,15 @@
|
|
365
365
|
.ui.dropdown.icon.button > .dropdown.icon {
|
366
366
|
margin: 0;
|
367
367
|
}
|
368
|
-
.ui.button
|
368
|
+
.ui.dropdown.button .menu {
|
369
369
|
min-width: 100%;
|
370
370
|
}
|
371
|
+
.ui.dropdown.button:not(.pointing):not(.floating).active {
|
372
|
+
border-radius: 0.28571429rem 0.28571429rem 0 0;
|
373
|
+
}
|
374
|
+
.ui.dropdown.button:not(.pointing):not(.floating) > .menu {
|
375
|
+
border-radius: 0 0 0.28571429rem 0.28571429rem;
|
376
|
+
}
|
371
377
|
|
372
378
|
|
373
379
|
/*******************************
|
@@ -540,7 +546,7 @@ select.ui.dropdown {
|
|
540
546
|
/* Menu Item */
|
541
547
|
.ui.selection.dropdown .menu > .item {
|
542
548
|
border-top: 1px solid #FAFAFA;
|
543
|
-
padding: 0.78571429rem 1.14285714rem
|
549
|
+
padding: 0.78571429rem 1.14285714rem;
|
544
550
|
white-space: normal;
|
545
551
|
word-wrap: normal;
|
546
552
|
}
|
@@ -558,11 +564,13 @@ select.ui.dropdown {
|
|
558
564
|
}
|
559
565
|
|
560
566
|
/* Active */
|
567
|
+
.ui.selection.simple.dropdown:hover,
|
561
568
|
.ui.selection.active.dropdown {
|
562
569
|
border-color: #96C8DA;
|
563
570
|
-webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
|
564
571
|
box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
|
565
572
|
}
|
573
|
+
.ui.selection.simple.dropdown:hover .menu,
|
566
574
|
.ui.selection.active.dropdown .menu {
|
567
575
|
border-color: #96C8DA;
|
568
576
|
-webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
|
@@ -1301,7 +1309,6 @@ select.ui.dropdown {
|
|
1301
1309
|
bottom: 100%;
|
1302
1310
|
-webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.08);
|
1303
1311
|
box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.08);
|
1304
|
-
border-radius: 0.28571429rem 0.28571429rem 0 0;
|
1305
1312
|
}
|
1306
1313
|
|
1307
1314
|
/* Upward Sub Menu */
|
@@ -1313,18 +1320,24 @@ select.ui.dropdown {
|
|
1313
1320
|
/* Active Upward */
|
1314
1321
|
.ui.simple.upward.active.dropdown,
|
1315
1322
|
.ui.simple.upward.dropdown:hover {
|
1316
|
-
border-radius: 0.28571429rem 0.28571429rem
|
1323
|
+
border-radius: 0 0 0.28571429rem 0.28571429rem;
|
1317
1324
|
}
|
1325
|
+
|
1326
|
+
/* Button */
|
1318
1327
|
.ui.upward.dropdown.button:not(.pointing):not(.floating).active {
|
1328
|
+
border-radius: 0 0 0.28571429rem 0.28571429rem;
|
1329
|
+
}
|
1330
|
+
.ui.upward.dropdown.button:not(.pointing):not(.floating) > .menu {
|
1319
1331
|
border-radius: 0.28571429rem 0.28571429rem 0 0;
|
1320
1332
|
}
|
1321
1333
|
|
1322
1334
|
/* Selection */
|
1323
|
-
.ui.upward.selection.dropdown .menu {
|
1335
|
+
.ui.ui.upward.selection.dropdown .menu {
|
1324
1336
|
border-top-width: 1px !important;
|
1325
1337
|
border-bottom-width: 0 !important;
|
1326
1338
|
-webkit-box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, 0.08);
|
1327
1339
|
box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, 0.08);
|
1340
|
+
border-radius: 0.28571429rem 0.28571429rem 0 0;
|
1328
1341
|
}
|
1329
1342
|
.ui.upward.selection.dropdown:hover {
|
1330
1343
|
-webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.05);
|
@@ -1454,8 +1467,8 @@ select.ui.dropdown {
|
|
1454
1467
|
}
|
1455
1468
|
|
1456
1469
|
/*--------------
|
1457
|
-
|
1458
|
-
---------------*/
|
1470
|
+
Columnar
|
1471
|
+
---------------*/
|
1459
1472
|
|
1460
1473
|
.ui.column.dropdown > .menu {
|
1461
1474
|
-ms-flex-wrap: wrap;
|
@@ -1499,14 +1512,23 @@ select.ui.dropdown {
|
|
1499
1512
|
transition: opacity 0.1s ease;
|
1500
1513
|
margin-top: 0 !important;
|
1501
1514
|
}
|
1515
|
+
.ui.simple.dropdown .upward.menu {
|
1516
|
+
margin-bottom: 1.5em;
|
1517
|
+
}
|
1518
|
+
.ui.simple.selection.dropdown .upward.menu {
|
1519
|
+
margin-bottom: 2.5em;
|
1520
|
+
}
|
1521
|
+
.ui.menu:not(.vertical) .ui.simple.dropdown.item .upward.menu {
|
1522
|
+
margin-bottom: 2.8em;
|
1523
|
+
}
|
1502
1524
|
.ui.simple.active.dropdown,
|
1503
1525
|
.ui.simple.dropdown:hover {
|
1504
|
-
border-bottom-left-radius: 0
|
1505
|
-
border-bottom-right-radius: 0
|
1526
|
+
border-bottom-left-radius: 0;
|
1527
|
+
border-bottom-right-radius: 0;
|
1506
1528
|
}
|
1507
1529
|
.ui.simple.active.dropdown > .menu,
|
1508
1530
|
.ui.simple.dropdown:hover > .menu {
|
1509
|
-
overflow:
|
1531
|
+
overflow: auto;
|
1510
1532
|
width: auto;
|
1511
1533
|
height: auto;
|
1512
1534
|
top: 100%;
|
@@ -1514,7 +1536,7 @@ select.ui.dropdown {
|
|
1514
1536
|
}
|
1515
1537
|
.ui.simple.dropdown > .menu > .item:active > .menu,
|
1516
1538
|
.ui.simple.dropdown .menu .item:hover > .menu {
|
1517
|
-
overflow:
|
1539
|
+
overflow: auto;
|
1518
1540
|
width: auto;
|
1519
1541
|
height: auto;
|
1520
1542
|
top: 0 !important;
|
@@ -1893,6 +1915,8 @@ select.ui.dropdown {
|
|
1893
1915
|
.ui.inverted.selection.visible.dropdown > .text:not(.default) {
|
1894
1916
|
color: rgba(255, 255, 255, 0.9);
|
1895
1917
|
}
|
1918
|
+
.ui.selection.simple.dropdown:hover .inverted.menu,
|
1919
|
+
.ui.inverted.selection.simple.dropdown:hover .menu,
|
1896
1920
|
.ui.selection.active.dropdown .inverted.menu,
|
1897
1921
|
.ui.inverted.selection.active.dropdown .menu,
|
1898
1922
|
.ui.inverted.selection.active.dropdown:hover {
|
@@ -1985,6 +2009,18 @@ select.ui.dropdown {
|
|
1985
2009
|
.ui.inverted.dropdown .menu::-webkit-scrollbar-thumb:hover {
|
1986
2010
|
background: rgba(255, 255, 255, 0.35);
|
1987
2011
|
}
|
2012
|
+
.ui.dropdown .inverted.menu,
|
2013
|
+
.ui.inverted.dropdown .menu {
|
2014
|
+
|
2015
|
+
/* IE11 */
|
2016
|
+
scrollbar-face-color: #656565;
|
2017
|
+
scrollbar-shadow-color: #656565;
|
2018
|
+
scrollbar-track-color: #323232;
|
2019
|
+
scrollbar-arrow-color: #323232;
|
2020
|
+
|
2021
|
+
/* firefox : first color thumb, second track */
|
2022
|
+
scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
|
2023
|
+
}
|
1988
2024
|
.ui.pointing.dropdown > .inverted.menu:after,
|
1989
2025
|
.ui.inverted.pointing.dropdown > .menu:after {
|
1990
2026
|
background: #1B1C1D;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.0-beta.
|
2
|
+
* # Fomantic-UI 2.9.0-beta.262 - Dropdown
|
3
3
|
* http://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -200,6 +200,7 @@ $.fn.dropdown = function(parameters) {
|
|
200
200
|
select: function() {
|
201
201
|
if(module.has.input() && selectObserver) {
|
202
202
|
selectObserver.observe($module[0], {
|
203
|
+
attributes: true,
|
203
204
|
childList : true,
|
204
205
|
subtree : true
|
205
206
|
});
|
@@ -224,7 +225,7 @@ $.fn.dropdown = function(parameters) {
|
|
224
225
|
|
225
226
|
create: {
|
226
227
|
id: function() {
|
227
|
-
id = (Math.random().toString(16) + '000000000').
|
228
|
+
id = (Math.random().toString(16) + '000000000').slice(2, 10);
|
228
229
|
elementNamespace = '.' + id;
|
229
230
|
module.verbose('Creating unique id for element', id);
|
230
231
|
},
|
@@ -421,6 +422,9 @@ $.fn.dropdown = function(parameters) {
|
|
421
422
|
module.debug('Disabling dropdown');
|
422
423
|
$module.addClass(className.disabled);
|
423
424
|
}
|
425
|
+
if($input.is('[required]')) {
|
426
|
+
settings.forceSelection = true;
|
427
|
+
}
|
424
428
|
$input
|
425
429
|
.removeAttr('required')
|
426
430
|
.removeAttr('class')
|
@@ -625,6 +629,11 @@ $.fn.dropdown = function(parameters) {
|
|
625
629
|
$module
|
626
630
|
.on('change' + eventNamespace, selector.input, module.event.change)
|
627
631
|
;
|
632
|
+
if(module.is.multiple() && module.is.searchSelection()) {
|
633
|
+
$module
|
634
|
+
.on('paste' + eventNamespace, selector.search, module.event.paste)
|
635
|
+
;
|
636
|
+
}
|
628
637
|
},
|
629
638
|
mouseEvents: function() {
|
630
639
|
module.verbose('Binding mouse events');
|
@@ -844,7 +853,7 @@ $.fn.dropdown = function(parameters) {
|
|
844
853
|
var value = module.is.multiple() ? module.get.values() : module.get.value();
|
845
854
|
if (value !== '') {
|
846
855
|
module.verbose('Value(s) present after click icon, select value(s) in items');
|
847
|
-
module.set.selected(value, null,
|
856
|
+
module.set.selected(value, null, true, true);
|
848
857
|
}
|
849
858
|
}
|
850
859
|
iconClicked = false;
|
@@ -1073,6 +1082,15 @@ $.fn.dropdown = function(parameters) {
|
|
1073
1082
|
},
|
1074
1083
|
|
1075
1084
|
event: {
|
1085
|
+
paste: function(event) {
|
1086
|
+
var pasteValue = (event.originalEvent.clipboardData || window.clipboardData).getData('text'),
|
1087
|
+
tokens = pasteValue.split(settings.delimiter)
|
1088
|
+
;
|
1089
|
+
tokens.forEach(function(value){
|
1090
|
+
module.set.selected(module.escape.htmlEntities(value.trim()), null, true, true);
|
1091
|
+
});
|
1092
|
+
event.preventDefault();
|
1093
|
+
},
|
1076
1094
|
change: function() {
|
1077
1095
|
if(!internalChange) {
|
1078
1096
|
module.debug('Input changed, updating selection');
|
@@ -1285,8 +1303,8 @@ $.fn.dropdown = function(parameters) {
|
|
1285
1303
|
},
|
1286
1304
|
select: {
|
1287
1305
|
mutation: function(mutations) {
|
1288
|
-
module.debug('<select> modified, recreating menu');
|
1289
1306
|
if(module.is.selectMutation(mutations)) {
|
1307
|
+
module.debug('<select> modified, recreating menu');
|
1290
1308
|
module.disconnect.selectObserver();
|
1291
1309
|
module.refresh();
|
1292
1310
|
module.setup.select();
|
@@ -1513,7 +1531,7 @@ $.fn.dropdown = function(parameters) {
|
|
1513
1531
|
keydown: function(event) {
|
1514
1532
|
var
|
1515
1533
|
pressedKey = event.which,
|
1516
|
-
isShortcutKey = module.is.inObject(pressedKey, keys)
|
1534
|
+
isShortcutKey = module.is.inObject(pressedKey, keys) || event.key === settings.delimiter
|
1517
1535
|
;
|
1518
1536
|
if(isShortcutKey) {
|
1519
1537
|
var
|
@@ -1531,7 +1549,7 @@ $.fn.dropdown = function(parameters) {
|
|
1531
1549
|
hasSubMenu = ($subMenu.length> 0),
|
1532
1550
|
hasSelectedItem = ($selectedItem.length > 0),
|
1533
1551
|
selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0),
|
1534
|
-
delimiterPressed = (
|
1552
|
+
delimiterPressed = (event.key === settings.delimiter && module.is.multiple()),
|
1535
1553
|
isAdditionWithoutMenu = (settings.allowAdditions && settings.hideAdditions && (pressedKey == keys.enter || delimiterPressed) && selectedIsSelectable),
|
1536
1554
|
$nextItem,
|
1537
1555
|
isSubMenuItem,
|
@@ -1629,7 +1647,7 @@ $.fn.dropdown = function(parameters) {
|
|
1629
1647
|
.addClass(className.selected)
|
1630
1648
|
;
|
1631
1649
|
module.set.scrollPosition($nextItem);
|
1632
|
-
if(settings.selectOnKeydown && module.is.single()) {
|
1650
|
+
if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
|
1633
1651
|
module.set.selectedItem($nextItem);
|
1634
1652
|
}
|
1635
1653
|
}
|
@@ -1656,7 +1674,7 @@ $.fn.dropdown = function(parameters) {
|
|
1656
1674
|
.addClass(className.selected)
|
1657
1675
|
;
|
1658
1676
|
module.set.scrollPosition($nextItem);
|
1659
|
-
if(settings.selectOnKeydown && module.is.single()) {
|
1677
|
+
if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
|
1660
1678
|
module.set.selectedItem($nextItem);
|
1661
1679
|
}
|
1662
1680
|
}
|
@@ -1787,7 +1805,7 @@ $.fn.dropdown = function(parameters) {
|
|
1787
1805
|
;
|
1788
1806
|
if( module.can.activate( $(element) ) ) {
|
1789
1807
|
module.set.selected(value, $(element));
|
1790
|
-
if(!module.is.multiple()) {
|
1808
|
+
if(!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
|
1791
1809
|
module.hideAndClear();
|
1792
1810
|
}
|
1793
1811
|
}
|
@@ -1800,7 +1818,7 @@ $.fn.dropdown = function(parameters) {
|
|
1800
1818
|
;
|
1801
1819
|
if( module.can.activate( $(element) ) ) {
|
1802
1820
|
module.set.value(value, text, $(element));
|
1803
|
-
if(!module.is.multiple()) {
|
1821
|
+
if(!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
|
1804
1822
|
module.hideAndClear();
|
1805
1823
|
}
|
1806
1824
|
}
|
@@ -1851,7 +1869,7 @@ $.fn.dropdown = function(parameters) {
|
|
1851
1869
|
;
|
1852
1870
|
$sizer.text(value);
|
1853
1871
|
// prevent rounding issues
|
1854
|
-
return Math.ceil( $sizer.width() + 1);
|
1872
|
+
return Math.ceil( $sizer.width() + (module.is.edge() ? 3 : 1));
|
1855
1873
|
},
|
1856
1874
|
selectionCount: function() {
|
1857
1875
|
var
|
@@ -2320,7 +2338,7 @@ $.fn.dropdown = function(parameters) {
|
|
2320
2338
|
module.error(error.noStorage);
|
2321
2339
|
return;
|
2322
2340
|
}
|
2323
|
-
name = sessionStorage.getItem(value);
|
2341
|
+
name = sessionStorage.getItem(value + elementNamespace);
|
2324
2342
|
return (name !== undefined)
|
2325
2343
|
? name
|
2326
2344
|
: false
|
@@ -2364,7 +2382,7 @@ $.fn.dropdown = function(parameters) {
|
|
2364
2382
|
return;
|
2365
2383
|
}
|
2366
2384
|
module.verbose('Saving remote data to session storage', value, name);
|
2367
|
-
sessionStorage.setItem(value, name);
|
2385
|
+
sessionStorage.setItem(value + elementNamespace, name);
|
2368
2386
|
}
|
2369
2387
|
},
|
2370
2388
|
|
@@ -2424,7 +2442,7 @@ $.fn.dropdown = function(parameters) {
|
|
2424
2442
|
$nextSelectedItem
|
2425
2443
|
.addClass(className.selected)
|
2426
2444
|
;
|
2427
|
-
if(settings.selectOnKeydown && module.is.single()) {
|
2445
|
+
if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
|
2428
2446
|
module.set.selectedItem($nextSelectedItem);
|
2429
2447
|
}
|
2430
2448
|
$menu
|
@@ -2510,7 +2528,7 @@ $.fn.dropdown = function(parameters) {
|
|
2510
2528
|
var
|
2511
2529
|
length = module.get.query().length
|
2512
2530
|
;
|
2513
|
-
$search.val( text.
|
2531
|
+
$search.val( text.slice(0, length));
|
2514
2532
|
},
|
2515
2533
|
scrollPosition: function($item, forceScroll) {
|
2516
2534
|
var
|
@@ -2627,7 +2645,7 @@ $.fn.dropdown = function(parameters) {
|
|
2627
2645
|
module.set.scrollPosition($nextValue);
|
2628
2646
|
$selectedItem.removeClass(className.selected);
|
2629
2647
|
$nextValue.addClass(className.selected);
|
2630
|
-
if(settings.selectOnKeydown && module.is.single()) {
|
2648
|
+
if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
|
2631
2649
|
module.set.selectedItem($nextValue);
|
2632
2650
|
}
|
2633
2651
|
}
|
@@ -2765,17 +2783,24 @@ $.fn.dropdown = function(parameters) {
|
|
2765
2783
|
|
2766
2784
|
isFiltered = $selected.hasClass(className.filtered),
|
2767
2785
|
isActive = $selected.hasClass(className.active),
|
2786
|
+
isActionable = $selected.hasClass(className.actionable),
|
2768
2787
|
isUserValue = $selected.hasClass(className.addition),
|
2769
2788
|
shouldAnimate = (isMultiple && $selectedItem.length == 1)
|
2770
2789
|
;
|
2771
|
-
if(
|
2790
|
+
if(isActionable){
|
2791
|
+
if((!isMultiple || (!isActive || isUserValue)) && settings.apiSettings && settings.saveRemoteData) {
|
2792
|
+
module.save.remoteData(selectedText, selectedValue);
|
2793
|
+
}
|
2794
|
+
settings.onActionable.call(element, selectedValue, selectedText, $selected);
|
2795
|
+
}
|
2796
|
+
else if(isMultiple) {
|
2772
2797
|
if(!isActive || isUserValue) {
|
2773
2798
|
if(settings.apiSettings && settings.saveRemoteData) {
|
2774
2799
|
module.save.remoteData(selectedText, selectedValue);
|
2775
2800
|
}
|
2776
2801
|
if(settings.useLabels) {
|
2777
|
-
module.add.label(selectedValue, selectedText, shouldAnimate);
|
2778
2802
|
module.add.value(selectedValue, selectedText, $selected);
|
2803
|
+
module.add.label(selectedValue, selectedText, shouldAnimate);
|
2779
2804
|
module.set.activeItem($selected);
|
2780
2805
|
module.filterActive();
|
2781
2806
|
module.select.nextAvailable($selectedItem);
|
@@ -2795,7 +2820,7 @@ $.fn.dropdown = function(parameters) {
|
|
2795
2820
|
if(settings.apiSettings && settings.saveRemoteData) {
|
2796
2821
|
module.save.remoteData(selectedText, selectedValue);
|
2797
2822
|
}
|
2798
|
-
if (!keepSearchTerm) {
|
2823
|
+
if (!keepSearchTerm && !$selected.hasClass(className.actionable)) {
|
2799
2824
|
module.set.text(selectedText);
|
2800
2825
|
}
|
2801
2826
|
module.set.value(selectedValue, selectedText, $selected, preventChangeTrigger);
|
@@ -2985,7 +3010,7 @@ $.fn.dropdown = function(parameters) {
|
|
2985
3010
|
}
|
2986
3011
|
// extend current array
|
2987
3012
|
if(Array.isArray(currentValue)) {
|
2988
|
-
newValue = currentValue.concat([addedValue]);
|
3013
|
+
newValue = $selectedItem.hasClass(className.actionable) ? currentValue : currentValue.concat([addedValue]);
|
2989
3014
|
newValue = module.get.uniqueArray(newValue);
|
2990
3015
|
}
|
2991
3016
|
else {
|
@@ -3069,18 +3094,10 @@ $.fn.dropdown = function(parameters) {
|
|
3069
3094
|
return;
|
3070
3095
|
}
|
3071
3096
|
// temporarily disconnect observer
|
3072
|
-
|
3073
|
-
selectObserver.disconnect();
|
3074
|
-
module.verbose('Temporarily disconnecting mutation observer');
|
3075
|
-
}
|
3097
|
+
module.disconnect.selectObserver();
|
3076
3098
|
$option.remove();
|
3077
3099
|
module.verbose('Removing user addition as an <option>', escapedValue);
|
3078
|
-
|
3079
|
-
selectObserver.observe($input[0], {
|
3080
|
-
childList : true,
|
3081
|
-
subtree : true
|
3082
|
-
});
|
3083
|
-
}
|
3100
|
+
module.observe.select();
|
3084
3101
|
},
|
3085
3102
|
message: function() {
|
3086
3103
|
$menu.children(selector.message).remove();
|
@@ -3379,8 +3396,11 @@ $.fn.dropdown = function(parameters) {
|
|
3379
3396
|
bubbledIconClick: function(event) {
|
3380
3397
|
return $(event.target).closest($icon).length > 0;
|
3381
3398
|
},
|
3399
|
+
edge: function() {
|
3400
|
+
return !!window.chrome && !!window.StyleMedia;
|
3401
|
+
},
|
3382
3402
|
chrome: function() {
|
3383
|
-
return !!window.chrome &&
|
3403
|
+
return !!window.chrome && !window.StyleMedia;
|
3384
3404
|
},
|
3385
3405
|
alreadySetup: function() {
|
3386
3406
|
return ($module.is('select') && $module.parent(selector.dropdown).data(moduleNamespace) !== undefined && $module.prev().length === 0);
|
@@ -3445,7 +3465,7 @@ $.fn.dropdown = function(parameters) {
|
|
3445
3465
|
selectChanged = false
|
3446
3466
|
;
|
3447
3467
|
$.each(mutations, function(index, mutation) {
|
3448
|
-
if($(mutation.target).is('select') || $(mutation.addedNodes).is('select')) {
|
3468
|
+
if($(mutation.target).is('select, option, optgroup') || $(mutation.addedNodes).is('select')) {
|
3449
3469
|
selectChanged = true;
|
3450
3470
|
return false;
|
3451
3471
|
}
|
@@ -3990,7 +4010,7 @@ $.fn.dropdown.settings = {
|
|
3990
4010
|
keepOnScreen : true, // Whether dropdown should check whether it is on screen before showing
|
3991
4011
|
|
3992
4012
|
match : 'both', // what to match against with search selection (both, text, or label)
|
3993
|
-
fullTextSearch :
|
4013
|
+
fullTextSearch : 'exact', // search anywhere in value (set to 'exact' to require exact matches)
|
3994
4014
|
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...)
|
3995
4015
|
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)
|
3996
4016
|
|
@@ -3998,7 +4018,7 @@ $.fn.dropdown.settings = {
|
|
3998
4018
|
preserveHTML : true, // preserve html when selecting value
|
3999
4019
|
sortSelect : false, // sort selection on init
|
4000
4020
|
|
4001
|
-
forceSelection :
|
4021
|
+
forceSelection : false, // force a choice on blur with search selection
|
4002
4022
|
|
4003
4023
|
allowAdditions : false, // whether multiple select should allow user added values
|
4004
4024
|
ignoreCase : false, // whether to consider case sensitivity when creating labels
|
@@ -4009,7 +4029,7 @@ $.fn.dropdown.settings = {
|
|
4009
4029
|
useLabels : true, // whether multiple select should filter currently active selections from choices
|
4010
4030
|
delimiter : ',', // when multiselect uses normal <input> the values will be delimited with this character
|
4011
4031
|
|
4012
|
-
showOnFocus :
|
4032
|
+
showOnFocus : false, // show menu on focus
|
4013
4033
|
allowReselection : false, // whether current value should trigger callbacks when reselected
|
4014
4034
|
allowTab : true, // add tabindex to element
|
4015
4035
|
allowCategorySelection : false, // allow elements with sub-menus to be selected
|
@@ -4024,6 +4044,8 @@ $.fn.dropdown.settings = {
|
|
4024
4044
|
|
4025
4045
|
headerDivider : true, // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
|
4026
4046
|
|
4047
|
+
collapseOnActionable : true, // whether the dropdown should collapse upon selection of an actionable item
|
4048
|
+
|
4027
4049
|
// label settings on multi-select
|
4028
4050
|
label: {
|
4029
4051
|
transition : 'scale',
|
@@ -4043,6 +4065,7 @@ $.fn.dropdown.settings = {
|
|
4043
4065
|
onChange : function(value, text, $selected){},
|
4044
4066
|
onAdd : function(value, text, $selected){},
|
4045
4067
|
onRemove : function(value, text, $selected){},
|
4068
|
+
onActionable : function(value, text, $selected){},
|
4046
4069
|
onSearch : function(searchTerm){},
|
4047
4070
|
|
4048
4071
|
onLabelSelect : function($selectedLabels){},
|
@@ -4105,12 +4128,12 @@ $.fn.dropdown.settings = {
|
|
4105
4128
|
icon : 'icon', // optional icon name
|
4106
4129
|
iconClass : 'iconClass', // optional individual class for icon (for example to use flag instead)
|
4107
4130
|
class : 'class', // optional individual class for item/header
|
4108
|
-
divider : 'divider' // optional divider append for group headers
|
4131
|
+
divider : 'divider', // optional divider append for group headers
|
4132
|
+
actionable : 'actionable' // optional actionable item
|
4109
4133
|
},
|
4110
4134
|
|
4111
4135
|
keys : {
|
4112
4136
|
backspace : 8,
|
4113
|
-
delimiter : 188, // comma
|
4114
4137
|
deleteKey : 46,
|
4115
4138
|
enter : 13,
|
4116
4139
|
escape : 27,
|
@@ -4177,7 +4200,8 @@ $.fn.dropdown.settings = {
|
|
4177
4200
|
header : 'header',
|
4178
4201
|
divider : 'divider',
|
4179
4202
|
groupIcon : '',
|
4180
|
-
unfilterable : 'unfilterable'
|
4203
|
+
unfilterable : 'unfilterable',
|
4204
|
+
actionable : 'actionable'
|
4181
4205
|
}
|
4182
4206
|
|
4183
4207
|
};
|
@@ -4252,6 +4276,9 @@ $.fn.dropdown.settings.templates = {
|
|
4252
4276
|
maybeText = (option[fields.text])
|
4253
4277
|
? ' data-text="' + deQuote(option[fields.text],true) + '"'
|
4254
4278
|
: '',
|
4279
|
+
maybeActionable = (option[fields.actionable])
|
4280
|
+
? className.actionable+' '
|
4281
|
+
: '',
|
4255
4282
|
maybeDisabled = (option[fields.disabled])
|
4256
4283
|
? className.disabled+' '
|
4257
4284
|
: '',
|
@@ -4260,7 +4287,7 @@ $.fn.dropdown.settings.templates = {
|
|
4260
4287
|
: '',
|
4261
4288
|
hasDescription = (escape(option[fields.description] || '', preserveHTML) != '')
|
4262
4289
|
;
|
4263
|
-
html += '<div class="'+ maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
|
4290
|
+
html += '<div class="'+ maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
|
4264
4291
|
if (isMenu) {
|
4265
4292
|
html += '<i class="'+ (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
|
4266
4293
|
}
|