fomantic-ui 2.9.0-beta.25 → 2.9.0-beta.252
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 +62 -38
- 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 +30 -28
- 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 +421 -244
- 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 +29 -27
- 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 +61 -37
- 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/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.252 - 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.252 - 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
|
}
|
@@ -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();
|
@@ -3380,7 +3397,7 @@ $.fn.dropdown = function(parameters) {
|
|
3380
3397
|
return $(event.target).closest($icon).length > 0;
|
3381
3398
|
},
|
3382
3399
|
chrome: function() {
|
3383
|
-
return !!window.chrome &&
|
3400
|
+
return !!window.chrome && !window.StyleMedia;
|
3384
3401
|
},
|
3385
3402
|
alreadySetup: function() {
|
3386
3403
|
return ($module.is('select') && $module.parent(selector.dropdown).data(moduleNamespace) !== undefined && $module.prev().length === 0);
|
@@ -3445,7 +3462,7 @@ $.fn.dropdown = function(parameters) {
|
|
3445
3462
|
selectChanged = false
|
3446
3463
|
;
|
3447
3464
|
$.each(mutations, function(index, mutation) {
|
3448
|
-
if($(mutation.target).is('select') || $(mutation.addedNodes).is('select')) {
|
3465
|
+
if($(mutation.target).is('select, option, optgroup') || $(mutation.addedNodes).is('select')) {
|
3449
3466
|
selectChanged = true;
|
3450
3467
|
return false;
|
3451
3468
|
}
|
@@ -3990,7 +4007,7 @@ $.fn.dropdown.settings = {
|
|
3990
4007
|
keepOnScreen : true, // Whether dropdown should check whether it is on screen before showing
|
3991
4008
|
|
3992
4009
|
match : 'both', // what to match against with search selection (both, text, or label)
|
3993
|
-
fullTextSearch :
|
4010
|
+
fullTextSearch : 'exact', // search anywhere in value (set to 'exact' to require exact matches)
|
3994
4011
|
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
4012
|
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
4013
|
|
@@ -3998,7 +4015,7 @@ $.fn.dropdown.settings = {
|
|
3998
4015
|
preserveHTML : true, // preserve html when selecting value
|
3999
4016
|
sortSelect : false, // sort selection on init
|
4000
4017
|
|
4001
|
-
forceSelection :
|
4018
|
+
forceSelection : false, // force a choice on blur with search selection
|
4002
4019
|
|
4003
4020
|
allowAdditions : false, // whether multiple select should allow user added values
|
4004
4021
|
ignoreCase : false, // whether to consider case sensitivity when creating labels
|
@@ -4009,7 +4026,7 @@ $.fn.dropdown.settings = {
|
|
4009
4026
|
useLabels : true, // whether multiple select should filter currently active selections from choices
|
4010
4027
|
delimiter : ',', // when multiselect uses normal <input> the values will be delimited with this character
|
4011
4028
|
|
4012
|
-
showOnFocus :
|
4029
|
+
showOnFocus : false, // show menu on focus
|
4013
4030
|
allowReselection : false, // whether current value should trigger callbacks when reselected
|
4014
4031
|
allowTab : true, // add tabindex to element
|
4015
4032
|
allowCategorySelection : false, // allow elements with sub-menus to be selected
|
@@ -4024,6 +4041,8 @@ $.fn.dropdown.settings = {
|
|
4024
4041
|
|
4025
4042
|
headerDivider : true, // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
|
4026
4043
|
|
4044
|
+
collapseOnActionable : true, // whether the dropdown should collapse upon selection of an actionable item
|
4045
|
+
|
4027
4046
|
// label settings on multi-select
|
4028
4047
|
label: {
|
4029
4048
|
transition : 'scale',
|
@@ -4043,6 +4062,7 @@ $.fn.dropdown.settings = {
|
|
4043
4062
|
onChange : function(value, text, $selected){},
|
4044
4063
|
onAdd : function(value, text, $selected){},
|
4045
4064
|
onRemove : function(value, text, $selected){},
|
4065
|
+
onActionable : function(value, text, $selected){},
|
4046
4066
|
onSearch : function(searchTerm){},
|
4047
4067
|
|
4048
4068
|
onLabelSelect : function($selectedLabels){},
|
@@ -4105,12 +4125,12 @@ $.fn.dropdown.settings = {
|
|
4105
4125
|
icon : 'icon', // optional icon name
|
4106
4126
|
iconClass : 'iconClass', // optional individual class for icon (for example to use flag instead)
|
4107
4127
|
class : 'class', // optional individual class for item/header
|
4108
|
-
divider : 'divider' // optional divider append for group headers
|
4128
|
+
divider : 'divider', // optional divider append for group headers
|
4129
|
+
actionable : 'actionable' // optional actionable item
|
4109
4130
|
},
|
4110
4131
|
|
4111
4132
|
keys : {
|
4112
4133
|
backspace : 8,
|
4113
|
-
delimiter : 188, // comma
|
4114
4134
|
deleteKey : 46,
|
4115
4135
|
enter : 13,
|
4116
4136
|
escape : 27,
|
@@ -4177,7 +4197,8 @@ $.fn.dropdown.settings = {
|
|
4177
4197
|
header : 'header',
|
4178
4198
|
divider : 'divider',
|
4179
4199
|
groupIcon : '',
|
4180
|
-
unfilterable : 'unfilterable'
|
4200
|
+
unfilterable : 'unfilterable',
|
4201
|
+
actionable : 'actionable'
|
4181
4202
|
}
|
4182
4203
|
|
4183
4204
|
};
|
@@ -4252,6 +4273,9 @@ $.fn.dropdown.settings.templates = {
|
|
4252
4273
|
maybeText = (option[fields.text])
|
4253
4274
|
? ' data-text="' + deQuote(option[fields.text],true) + '"'
|
4254
4275
|
: '',
|
4276
|
+
maybeActionable = (option[fields.actionable])
|
4277
|
+
? className.actionable+' '
|
4278
|
+
: '',
|
4255
4279
|
maybeDisabled = (option[fields.disabled])
|
4256
4280
|
? className.disabled+' '
|
4257
4281
|
: '',
|
@@ -4260,7 +4284,7 @@ $.fn.dropdown.settings.templates = {
|
|
4260
4284
|
: '',
|
4261
4285
|
hasDescription = (escape(option[fields.description] || '', preserveHTML) != '')
|
4262
4286
|
;
|
4263
|
-
html += '<div class="'+ maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
|
4287
|
+
html += '<div class="'+ maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
|
4264
4288
|
if (isMenu) {
|
4265
4289
|
html += '<i class="'+ (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
|
4266
4290
|
}
|