fomantic-ui 2.10.0-beta.1 → 2.10.0-beta.10
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 +9 -0
- package/.eslintrc.js +0 -10
- package/CONTRIBUTING.md +4 -1
- package/CONTRIBUTORS.md +1 -0
- package/FAQ.md +7 -2
- package/README.md +5 -9
- package/ROADMAP.md +4 -4
- package/SECURITY.md +8 -7
- package/changelog-setup.js +64 -70
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +103 -142
- 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 +157 -210
- package/dist/components/api.min.js +2 -2
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -2
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +1 -2
- package/dist/components/calendar.js +314 -352
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +2 -2
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -2
- package/dist/components/checkbox.js +85 -135
- package/dist/components/checkbox.min.css +2 -2
- package/dist/components/checkbox.min.js +2 -2
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +2 -4
- package/dist/components/container.min.css +2 -2
- package/dist/components/dimmer.css +1 -11
- package/dist/components/dimmer.js +61 -94
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +2 -2
- package/dist/components/divider.css +1 -2
- package/dist/components/divider.min.css +2 -2
- package/dist/components/dropdown.css +30 -51
- package/dist/components/dropdown.js +736 -1055
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +85 -114
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/emoji.css +3809 -7617
- package/dist/components/emoji.min.css +2 -2
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +2 -3
- package/dist/components/flyout.js +226 -355
- package/dist/components/flyout.min.css +2 -2
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +5 -95
- package/dist/components/form.js +335 -444
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +2 -58
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +4 -4
- 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 +1 -536
- 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 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -3
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/menu.css +1 -9
- 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 +5 -9
- package/dist/components/modal.js +261 -384
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +68 -98
- 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 -2
- package/dist/components/popup.js +198 -271
- 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 +109 -144
- 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 +91 -123
- 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 +2 -9
- package/dist/components/search.js +277 -379
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +2 -7
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -2
- package/dist/components/shape.js +158 -224
- package/dist/components/shape.min.css +2 -2
- package/dist/components/shape.min.js +2 -2
- package/dist/components/sidebar.css +2 -3
- package/dist/components/sidebar.js +124 -206
- package/dist/components/sidebar.min.css +2 -2
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +9 -25
- package/dist/components/site.js +38 -57
- 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 +246 -329
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +70 -100
- 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 +135 -180
- 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 +176 -244
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +3 -37
- 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 -3
- package/dist/components/toast.js +109 -147
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +91 -146
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +146 -224
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +3906 -8720
- package/dist/semantic.js +4397 -6155
- package/dist/semantic.min.css +2 -2
- package/dist/semantic.min.js +2 -2
- package/examples/assets/show-examples.js +2 -4
- package/gulpfile.js +5 -7
- package/package.json +3 -5
- package/scripts/nightly-version.js +7 -10
- package/src/README.md +3 -3
- package/src/definitions/behaviors/api.js +156 -209
- package/src/definitions/behaviors/form.js +334 -443
- package/src/definitions/behaviors/state.js +69 -99
- package/src/definitions/behaviors/visibility.js +145 -223
- package/src/definitions/collections/form.less +1 -13
- package/src/definitions/collections/grid.less +1 -61
- package/src/definitions/collections/menu.less +0 -11
- package/src/definitions/collections/table.less +1 -35
- package/src/definitions/elements/input.less +1 -61
- package/src/definitions/elements/segment.less +0 -6
- package/src/definitions/globals/site.js +37 -56
- package/src/definitions/globals/site.less +2 -18
- package/src/definitions/modules/accordion.js +102 -141
- package/src/definitions/modules/calendar.js +313 -351
- package/src/definitions/modules/checkbox.js +84 -134
- package/src/definitions/modules/dimmer.js +60 -93
- package/src/definitions/modules/dimmer.less +0 -9
- package/src/definitions/modules/dropdown.js +735 -1054
- package/src/definitions/modules/dropdown.less +31 -47
- package/src/definitions/modules/embed.js +84 -113
- package/src/definitions/modules/flyout.js +225 -354
- package/src/definitions/modules/modal.js +260 -383
- package/src/definitions/modules/modal.less +1 -1
- package/src/definitions/modules/nag.js +67 -97
- package/src/definitions/modules/popup.js +197 -270
- package/src/definitions/modules/progress.js +108 -143
- package/src/definitions/modules/rating.js +90 -122
- package/src/definitions/modules/search.js +276 -378
- package/src/definitions/modules/search.less +0 -3
- package/src/definitions/modules/shape.js +157 -223
- package/src/definitions/modules/sidebar.js +123 -205
- package/src/definitions/modules/slider.js +245 -328
- package/src/definitions/modules/slider.less +1 -1
- package/src/definitions/modules/sticky.js +134 -179
- package/src/definitions/modules/tab.js +175 -243
- package/src/definitions/modules/toast.js +108 -146
- package/src/definitions/modules/toast.less +1 -1
- package/src/definitions/modules/transition.js +90 -145
- package/src/theme.less +0 -13
- package/src/themes/basic/elements/icon.variables +1 -1
- package/src/themes/default/collections/grid.variables +0 -30
- package/src/themes/default/collections/table.variables +1 -5
- package/src/themes/default/elements/icon.variables +3 -3
- package/src/themes/default/globals/site.variables +8 -15
- package/src/themes/default/globals/variation.variables +1 -2
- package/src/themes/default/modules/dropdown.variables +1 -0
- package/src/themes/default/modules/slider.variables +1 -1
- package/src/themes/github/elements/icon.variables +1 -1
- package/src/themes/material/elements/icon.variables +1 -1
- package/tasks/README.md +1 -1
- package/tasks/admin/components/create.js +89 -122
- package/tasks/admin/components/init.js +34 -65
- package/tasks/admin/components/update.js +50 -61
- package/tasks/admin/distributions/create.js +71 -111
- package/tasks/admin/distributions/init.js +32 -63
- package/tasks/admin/distributions/update.js +49 -57
- package/tasks/admin/publish.js +1 -1
- package/tasks/admin/register.js +14 -19
- package/tasks/admin/release.js +2 -2
- package/tasks/build/assets.js +14 -18
- package/tasks/build/css.js +59 -68
- package/tasks/build/javascript.js +48 -56
- package/tasks/build.js +4 -6
- package/tasks/check-install.js +5 -8
- package/tasks/clean.js +5 -7
- package/tasks/collections/admin.js +14 -16
- package/tasks/collections/build.js +6 -8
- package/tasks/collections/docs.js +4 -6
- package/tasks/collections/install.js +2 -4
- package/tasks/collections/rtl.js +2 -4
- package/tasks/collections/various.js +2 -4
- package/tasks/config/admin/github.js +9 -19
- package/tasks/config/admin/templates/README.md +2 -2
- package/tasks/config/admin/templates/bower.json +2 -4
- package/tasks/config/admin/templates/composer.json +1 -1
- package/tasks/config/admin/templates/css-package.js +1 -4
- package/tasks/config/admin/templates/less-package.js +1 -3
- package/tasks/config/defaults.js +0 -1
- package/tasks/config/npm/gulpfile.js +4 -6
- package/tasks/config/project/config.js +27 -35
- package/tasks/config/project/install.js +64 -82
- package/tasks/config/project/release.js +7 -9
- package/tasks/config/tasks.js +10 -21
- package/tasks/config/user.js +14 -20
- package/tasks/docs/build.js +26 -31
- package/tasks/docs/metadata.js +30 -39
- package/tasks/docs/serve.js +23 -27
- package/tasks/install.js +94 -128
- package/tasks/rtl/build.js +2 -4
- package/tasks/rtl/watch.js +3 -5
- package/tasks/watch.js +13 -13
- package/test/meteor/fonts.js +1 -2
- package/test/modules/module.spec.js +16 -18
- package/types/fomantic-ui-calendar.d.ts +1 -1
- package/types/fomantic-ui-dropdown.d.ts +45 -1
- package/types/fomantic-ui-embed.d.ts +1 -1
- package/types/fomantic-ui-flyout.d.ts +1 -1
- package/types/fomantic-ui-form.d.ts +0 -7
- package/types/fomantic-ui-modal.d.ts +1 -1
- package/types/fomantic-ui-search.d.ts +12 -6
- package/types/fomantic-ui-toast.d.ts +1 -1
- package/src/themes/basic/assets/fonts/icons.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
- package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
- package/src/themes/default/assets/fonts/icons.woff +0 -0
- package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
- package/src/themes/github/assets/fonts/octicons.woff +0 -0
- package/src/themes/material/assets/fonts/icons.woff +0 -0
@@ -439,18 +439,6 @@ select.ui.dropdown {
|
|
439
439
|
opacity: @selectionIconOpacity;
|
440
440
|
transition: @selectionIconTransition;
|
441
441
|
}
|
442
|
-
& when (@variationDropdownCompact) {
|
443
|
-
/* Compact */
|
444
|
-
.ui.compact.selection.dropdown {
|
445
|
-
min-width: 0;
|
446
|
-
& > .menu {
|
447
|
-
width: auto;
|
448
|
-
&:not(.multiline) {
|
449
|
-
width: max-content;
|
450
|
-
}
|
451
|
-
}
|
452
|
-
}
|
453
|
-
}
|
454
442
|
|
455
443
|
/* Selection Menu */
|
456
444
|
.ui.selection.dropdown@{notUnlimited} .menu {
|
@@ -628,14 +616,20 @@ select.ui.dropdown {
|
|
628
616
|
.ui.ui.selection.dropdown@{notInverted}:has(> input:focus) {
|
629
617
|
border-color: @selectionFocusBorderColor;
|
630
618
|
box-shadow: none;
|
631
|
-
|
632
|
-
|
619
|
+
}
|
620
|
+
|
621
|
+
.ui.ui.selection.dropdown {
|
622
|
+
&:focus,
|
623
|
+
&:has(> input:focus) {
|
624
|
+
& > i.icon:not(.remove) {
|
625
|
+
opacity: @selectionIconFocusOpacity;
|
626
|
+
}
|
627
|
+
& > i.icon.remove:not(:hover) {
|
628
|
+
opacity: @actionIconFocusOpacity;
|
629
|
+
}
|
633
630
|
}
|
634
631
|
}
|
635
632
|
}
|
636
|
-
.ui.ui.selection.dropdown:focus > i.icon {
|
637
|
-
opacity: @selectionIconFocusOpacity;
|
638
|
-
}
|
639
633
|
|
640
634
|
/* Visible */
|
641
635
|
.ui.selection.visible.dropdown > .text:not(.default) {
|
@@ -712,7 +706,21 @@ select.ui.dropdown {
|
|
712
706
|
}
|
713
707
|
}
|
714
708
|
}
|
715
|
-
|
709
|
+
& when (@variationDropdownCompact) {
|
710
|
+
/* Compact */
|
711
|
+
.ui.compact.dropdown {
|
712
|
+
min-width: 0;
|
713
|
+
& > .menu {
|
714
|
+
width: auto;
|
715
|
+
&:not(.multiline) {
|
716
|
+
width: max-content;
|
717
|
+
}
|
718
|
+
}
|
719
|
+
& .menu > .item {
|
720
|
+
white-space: normal;
|
721
|
+
}
|
722
|
+
}
|
723
|
+
}
|
716
724
|
& when (@variationDropdownSearch) {
|
717
725
|
/* --------------
|
718
726
|
Searchable
|
@@ -1395,15 +1403,6 @@ select.ui.dropdown {
|
|
1395
1403
|
.ui.dropdown > .visible.menu .scrolling.menu {
|
1396
1404
|
display: block;
|
1397
1405
|
}
|
1398
|
-
& when (@supportIE) {
|
1399
|
-
/* Scrollbar in IE */
|
1400
|
-
@media all and (-ms-high-contrast: none) {
|
1401
|
-
.ui.scrolling.dropdown .menu,
|
1402
|
-
.ui.dropdown .scrolling.menu {
|
1403
|
-
min-width: e(%("calc(100%% - %d)", @scrollbarWidth));
|
1404
|
-
}
|
1405
|
-
}
|
1406
|
-
}
|
1407
1406
|
@media only screen and (max-width: @largestMobileScreen) {
|
1408
1407
|
.ui.scrolling.dropdown .menu,
|
1409
1408
|
.ui.dropdown .scrolling.menu {
|
@@ -1519,12 +1518,6 @@ select.ui.dropdown {
|
|
1519
1518
|
}
|
1520
1519
|
.ui.simple.dropdown .menu {
|
1521
1520
|
position: absolute;
|
1522
|
-
& when (@supportIE) {
|
1523
|
-
/* IE hack to make dropdown icons appear inline */
|
1524
|
-
// stylelint-disable-next-line value-no-vendor-prefix
|
1525
|
-
display: -ms-inline-flexbox !important;
|
1526
|
-
}
|
1527
|
-
|
1528
1521
|
display: block;
|
1529
1522
|
overflow: hidden;
|
1530
1523
|
top: -9999px;
|
@@ -1814,15 +1807,15 @@ select.ui.dropdown {
|
|
1814
1807
|
}
|
1815
1808
|
|
1816
1809
|
/* Upward pointing */
|
1817
|
-
.ui.pointing.upward.dropdown .menu,
|
1818
|
-
.ui.top.pointing.upward.dropdown .menu {
|
1810
|
+
.ui.pointing.upward.dropdown > .menu,
|
1811
|
+
.ui.top.pointing.upward.dropdown > .menu {
|
1819
1812
|
top: auto !important;
|
1820
1813
|
bottom: 100% !important;
|
1821
1814
|
margin: 0 0 @pointingMenuDistance;
|
1822
1815
|
border-radius: @pointingUpwardMenuBorderRadius;
|
1823
1816
|
}
|
1824
|
-
.ui.pointing.upward.dropdown .menu::after,
|
1825
|
-
.ui.top.pointing.upward.dropdown .menu::after {
|
1817
|
+
.ui.pointing.upward.dropdown > .menu::after,
|
1818
|
+
.ui.top.pointing.upward.dropdown > .menu::after {
|
1826
1819
|
top: 100% !important;
|
1827
1820
|
bottom: auto !important;
|
1828
1821
|
box-shadow: @pointingUpwardArrowBoxShadow;
|
@@ -2075,16 +2068,7 @@ select.ui.dropdown {
|
|
2075
2068
|
.ui.inverted.dropdown .menu::-webkit-scrollbar-thumb:hover {
|
2076
2069
|
background: @thumbInvertedHoverBackground;
|
2077
2070
|
}
|
2078
|
-
|
2079
|
-
.ui.dropdown .inverted.menu,
|
2080
|
-
.ui.inverted.dropdown .menu {
|
2081
|
-
/* IE11 */
|
2082
|
-
scrollbar-face-color: @thumbInvertedBackgroundHex;
|
2083
|
-
scrollbar-shadow-color: @thumbInvertedBackgroundHex;
|
2084
|
-
scrollbar-track-color: @trackInvertedBackgroundHex;
|
2085
|
-
scrollbar-arrow-color: @trackInvertedBackgroundHex;
|
2086
|
-
}
|
2087
|
-
}
|
2071
|
+
|
2088
2072
|
@supports (-moz-appearance: none) {
|
2089
2073
|
.ui.dropdown .inverted.menu,
|
2090
2074
|
.ui.inverted.dropdown .menu {
|
@@ -20,45 +20,41 @@
|
|
20
20
|
: globalThis;
|
21
21
|
|
22
22
|
$.fn.embed = function (parameters) {
|
23
|
-
|
24
|
-
$allModules = $(this),
|
23
|
+
let $allModules = $(this);
|
25
24
|
|
26
|
-
|
27
|
-
|
25
|
+
let time = Date.now();
|
26
|
+
let performance = [];
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
let query = arguments[0];
|
29
|
+
let methodInvoked = typeof query === 'string';
|
30
|
+
let queryArguments = [].slice.call(arguments, 1);
|
32
31
|
|
33
|
-
|
34
|
-
;
|
32
|
+
let returnedValue;
|
35
33
|
|
36
34
|
$allModules.each(function () {
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
module
|
61
|
-
;
|
35
|
+
let settings = $.isPlainObject(parameters)
|
36
|
+
? $.extend(true, {}, $.fn.embed.settings, parameters)
|
37
|
+
: $.extend({}, $.fn.embed.settings);
|
38
|
+
|
39
|
+
let selector = settings.selector;
|
40
|
+
let className = settings.className;
|
41
|
+
let sources = settings.sources;
|
42
|
+
let error = settings.error;
|
43
|
+
let metadata = settings.metadata;
|
44
|
+
let namespace = settings.namespace;
|
45
|
+
let templates = settings.templates;
|
46
|
+
|
47
|
+
let eventNamespace = '.' + namespace;
|
48
|
+
let moduleNamespace = 'module-' + namespace;
|
49
|
+
|
50
|
+
let $module = $(this);
|
51
|
+
let $placeholder = $module.find(selector.placeholder);
|
52
|
+
let $icon = $module.find(selector.icon);
|
53
|
+
let $embed = $module.find(selector.embed);
|
54
|
+
|
55
|
+
let element = this;
|
56
|
+
let instance = $module.data(moduleNamespace);
|
57
|
+
let module;
|
62
58
|
|
63
59
|
module = {
|
64
60
|
|
@@ -74,8 +70,7 @@
|
|
74
70
|
module.verbose('Storing instance of module', module);
|
75
71
|
instance = module;
|
76
72
|
$module
|
77
|
-
.data(moduleNamespace, module)
|
78
|
-
;
|
73
|
+
.data(moduleNamespace, module);
|
79
74
|
},
|
80
75
|
|
81
76
|
destroy: function () {
|
@@ -83,8 +78,7 @@
|
|
83
78
|
module.reset();
|
84
79
|
$module
|
85
80
|
.removeData(moduleNamespace)
|
86
|
-
.off(eventNamespace)
|
87
|
-
;
|
81
|
+
.off(eventNamespace);
|
88
82
|
},
|
89
83
|
|
90
84
|
refresh: function () {
|
@@ -100,16 +94,13 @@
|
|
100
94
|
module.debug('Adding placeholder events');
|
101
95
|
$module
|
102
96
|
.on('click' + eventNamespace, selector.placeholder, module.createAndShow)
|
103
|
-
.on('click' + eventNamespace, selector.icon, module.createAndShow)
|
104
|
-
;
|
97
|
+
.on('click' + eventNamespace, selector.icon, module.createAndShow);
|
105
98
|
}
|
106
99
|
},
|
107
100
|
},
|
108
101
|
|
109
102
|
create: function () {
|
110
|
-
|
111
|
-
placeholder = module.get.placeholder()
|
112
|
-
;
|
103
|
+
let placeholder = module.get.placeholder();
|
113
104
|
if (placeholder) {
|
114
105
|
module.createPlaceholder();
|
115
106
|
} else {
|
@@ -118,10 +109,8 @@
|
|
118
109
|
},
|
119
110
|
|
120
111
|
createPlaceholder: function (placeholder) {
|
121
|
-
|
122
|
-
|
123
|
-
alt = module.get.alt()
|
124
|
-
;
|
112
|
+
let icon = module.get.icon();
|
113
|
+
let alt = module.get.alt();
|
125
114
|
placeholder = placeholder || module.get.placeholder();
|
126
115
|
$module.html(templates.placeholder(placeholder, icon, alt));
|
127
116
|
module.debug('Creating placeholder for embed', placeholder, icon, alt);
|
@@ -133,16 +122,14 @@
|
|
133
122
|
$embed = $('<div/>')
|
134
123
|
.addClass(className.embed)
|
135
124
|
.html(module.generate.embed(url))
|
136
|
-
.appendTo($module)
|
137
|
-
;
|
125
|
+
.appendTo($module);
|
138
126
|
settings.onCreate.call(element, url);
|
139
127
|
module.debug('Creating embed object', $embed);
|
140
128
|
},
|
141
129
|
|
142
130
|
changeEmbed: function (url) {
|
143
131
|
$embed
|
144
|
-
.html(module.generate.embed(url))
|
145
|
-
;
|
132
|
+
.html(module.generate.embed(url));
|
146
133
|
},
|
147
134
|
|
148
135
|
createAndShow: function () {
|
@@ -155,8 +142,7 @@
|
|
155
142
|
module.debug('Changing video to ', source, id, url);
|
156
143
|
$module
|
157
144
|
.data(metadata.source, source)
|
158
|
-
.data(metadata.id, id)
|
159
|
-
;
|
145
|
+
.data(metadata.id, id);
|
160
146
|
if (url) {
|
161
147
|
$module.data(metadata.url, url);
|
162
148
|
} else {
|
@@ -169,7 +155,7 @@
|
|
169
155
|
}
|
170
156
|
},
|
171
157
|
|
172
|
-
//
|
158
|
+
// clear embed
|
173
159
|
reset: function () {
|
174
160
|
module.debug('Clearing embed and showing placeholder');
|
175
161
|
module.remove.data();
|
@@ -218,7 +204,7 @@
|
|
218
204
|
: module.determine.source());
|
219
205
|
},
|
220
206
|
type: function () {
|
221
|
-
|
207
|
+
let source = module.get.source();
|
222
208
|
|
223
209
|
return sources[source] !== undefined
|
224
210
|
? sources[source].type
|
@@ -238,9 +224,7 @@
|
|
238
224
|
}
|
239
225
|
},
|
240
226
|
source: function (url) {
|
241
|
-
|
242
|
-
matchedSource = false
|
243
|
-
;
|
227
|
+
let matchedSource = false;
|
244
228
|
url = url || module.get.url();
|
245
229
|
if (url) {
|
246
230
|
$.each(sources, function (name, source) {
|
@@ -255,20 +239,16 @@
|
|
255
239
|
return matchedSource;
|
256
240
|
},
|
257
241
|
icon: function () {
|
258
|
-
|
259
|
-
source = module.get.source()
|
260
|
-
;
|
242
|
+
let source = module.get.source();
|
261
243
|
|
262
244
|
return sources[source] !== undefined
|
263
245
|
? sources[source].icon
|
264
246
|
: false;
|
265
247
|
},
|
266
248
|
url: function () {
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
url
|
271
|
-
;
|
249
|
+
let id = settings.id || $module.data(metadata.id);
|
250
|
+
let source = settings.source || $module.data(metadata.source);
|
251
|
+
let url;
|
272
252
|
url = sources[source] !== undefined
|
273
253
|
? sources[source].url.replace('{id}', id)
|
274
254
|
: false;
|
@@ -294,8 +274,7 @@
|
|
294
274
|
.removeData(metadata.placeholder)
|
295
275
|
.removeData(metadata.alt)
|
296
276
|
.removeData(metadata.source)
|
297
|
-
.removeData(metadata.url)
|
298
|
-
;
|
277
|
+
.removeData(metadata.url);
|
299
278
|
},
|
300
279
|
active: function () {
|
301
280
|
$module.removeClass(className.active);
|
@@ -307,10 +286,8 @@
|
|
307
286
|
|
308
287
|
encode: {
|
309
288
|
parameters: function (parameters) {
|
310
|
-
|
311
|
-
|
312
|
-
index
|
313
|
-
;
|
289
|
+
let urlString = [];
|
290
|
+
let index;
|
314
291
|
for (index in parameters) {
|
315
292
|
urlString.push(encodeURIComponent(index) + '=' + encodeURIComponent(parameters[index]));
|
316
293
|
}
|
@@ -322,11 +299,9 @@
|
|
322
299
|
generate: {
|
323
300
|
embed: function (url) {
|
324
301
|
module.debug('Generating embed html');
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
parameters
|
329
|
-
;
|
302
|
+
let source = module.get.source();
|
303
|
+
let html;
|
304
|
+
let parameters;
|
330
305
|
url = module.get.url(url);
|
331
306
|
if (url) {
|
332
307
|
parameters = module.generate.parameters(source);
|
@@ -338,11 +313,9 @@
|
|
338
313
|
return html;
|
339
314
|
},
|
340
315
|
parameters: function (source, extraParameters) {
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
: {}
|
345
|
-
;
|
316
|
+
let parameters = sources[source] && sources[source].parameters !== undefined
|
317
|
+
? sources[source].parameters(settings)
|
318
|
+
: {};
|
346
319
|
extraParameters = extraParameters || settings.parameters;
|
347
320
|
if (extraParameters) {
|
348
321
|
parameters = $.extend({}, parameters, extraParameters);
|
@@ -427,11 +400,9 @@
|
|
427
400
|
},
|
428
401
|
performance: {
|
429
402
|
log: function (message) {
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
previousTime
|
434
|
-
;
|
403
|
+
let currentTime;
|
404
|
+
let executionTime;
|
405
|
+
let previousTime;
|
435
406
|
if (settings.performance) {
|
436
407
|
currentTime = Date.now();
|
437
408
|
previousTime = time || currentTime;
|
@@ -450,10 +421,8 @@
|
|
450
421
|
}, 500);
|
451
422
|
},
|
452
423
|
display: function () {
|
453
|
-
|
454
|
-
|
455
|
-
totalTime = 0
|
456
|
-
;
|
424
|
+
let title = settings.name + ':';
|
425
|
+
let totalTime = 0;
|
457
426
|
time = false;
|
458
427
|
clearTimeout(module.performance.timer);
|
459
428
|
$.each(performance, function (index, data) {
|
@@ -478,22 +447,19 @@
|
|
478
447
|
},
|
479
448
|
},
|
480
449
|
invoke: function (query, passedArguments, context) {
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
response
|
486
|
-
;
|
450
|
+
let object = instance;
|
451
|
+
let maxDepth;
|
452
|
+
let found;
|
453
|
+
let response;
|
487
454
|
passedArguments = passedArguments || queryArguments;
|
488
455
|
context = context || element;
|
489
456
|
if (typeof query === 'string' && object !== undefined) {
|
490
457
|
query = query.split(/[ .]/);
|
491
458
|
maxDepth = query.length - 1;
|
492
459
|
$.each(query, function (depth, value) {
|
493
|
-
|
460
|
+
let camelCaseValue = depth !== maxDepth
|
494
461
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
495
|
-
: query
|
496
|
-
;
|
462
|
+
: query;
|
497
463
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
498
464
|
object = object[camelCaseValue];
|
499
465
|
} else if (object[camelCaseValue] !== undefined) {
|
@@ -645,33 +611,38 @@
|
|
645
611
|
},
|
646
612
|
|
647
613
|
templates: {
|
648
|
-
|
649
|
-
|
614
|
+
escape: function (string) {
|
615
|
+
const badChars = /["'<>]|&(?![\d#A-Za-z]{1,12};)/g;
|
616
|
+
const escape = {
|
617
|
+
'"': '"',
|
618
|
+
'&': '&',
|
619
|
+
"'": ''',
|
620
|
+
'<': '<',
|
621
|
+
'>': '>',
|
622
|
+
};
|
623
|
+
|
624
|
+
return String(string).replace(badChars, (chr) => escape[chr]);
|
650
625
|
},
|
651
626
|
iframe: function (url, parameters) {
|
652
|
-
|
653
|
-
|
654
|
-
deQuote = $.fn.embed.settings.templates.deQuote
|
655
|
-
;
|
627
|
+
let src = url;
|
628
|
+
let escape = $.fn.embed.settings.templates.escape;
|
656
629
|
if (parameters) {
|
657
630
|
src += '?' + parameters;
|
658
631
|
}
|
659
632
|
|
660
633
|
return ''
|
661
|
-
+ '<iframe src="' +
|
634
|
+
+ '<iframe src="' + escape(src) + '"'
|
662
635
|
+ ' width="100%" height="100%"'
|
663
636
|
+ ' msallowFullScreen allowFullScreen></iframe>';
|
664
637
|
},
|
665
638
|
placeholder: function (image, icon, alt) {
|
666
|
-
|
667
|
-
|
668
|
-
deQuote = $.fn.embed.settings.templates.deQuote
|
669
|
-
;
|
639
|
+
let html = '';
|
640
|
+
let escape = $.fn.embed.settings.templates.escape;
|
670
641
|
if (icon) {
|
671
|
-
html += '<i class="' +
|
642
|
+
html += '<i class="' + escape(icon) + ' icon"></i>';
|
672
643
|
}
|
673
644
|
if (image) {
|
674
|
-
html += '<img class="placeholder" src="' +
|
645
|
+
html += '<img class="placeholder" src="' + escape(image) + '"' + (alt ? ' alt="' + escape(alt) + '"' : '') + '>';
|
675
646
|
}
|
676
647
|
|
677
648
|
return html;
|