fomantic-ui 2.10.0-beta.8 → 2.10.0-beta.81
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/.eslintrc.js +6 -23
- package/.github/workflows/ci.yml +9 -9
- package/.github/workflows/depsreview.yml +1 -1
- package/.github/workflows/nightly.yml +7 -5
- package/.github/workflows/release.yml +2 -2
- package/.stylelintrc.js +1 -15
- package/CHANGELOG.md +5289 -2325
- package/README.md +8 -4
- package/changelog-setup.js +32 -10
- package/changelog-template.hbs +256 -251
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +62 -73
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +3 -3
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +101 -161
- 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 +5 -6
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +3 -3
- package/dist/components/calendar.js +283 -332
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +3 -3
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +58 -79
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +3 -3
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +1 -1
- package/dist/components/container.min.css +1 -1
- package/dist/components/dimmer.css +2 -2
- package/dist/components/dimmer.js +39 -52
- 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 +21 -35
- package/dist/components/dropdown.js +435 -531
- 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 +55 -68
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +3 -3
- 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 +1 -1
- package/dist/components/flyout.js +149 -168
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +3 -3
- package/dist/components/form.css +3 -5
- package/dist/components/form.js +249 -269
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +3 -3
- package/dist/components/grid.css +2 -2
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +6 -6
- package/dist/components/header.min.css +2 -2
- package/dist/components/icon.css +10 -37
- 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 +284 -12
- 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 +6 -14
- package/dist/components/label.min.css +2 -2
- package/dist/components/list.css +3 -3
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +53 -53
- package/dist/components/loader.min.css +2 -2
- package/dist/components/menu.css +45 -60
- package/dist/components/menu.min.css +2 -2
- package/dist/components/message.css +2 -2
- package/dist/components/message.min.css +2 -2
- package/dist/components/modal.css +5 -5
- package/dist/components/modal.js +161 -170
- 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 +74 -88
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +3 -3
- package/dist/components/placeholder.css +2 -2
- package/dist/components/placeholder.min.css +2 -2
- package/dist/components/popup.css +19 -73
- package/dist/components/popup.js +105 -138
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +3 -3
- package/dist/components/progress.css +4 -13
- package/dist/components/progress.js +75 -97
- package/dist/components/progress.min.css +2 -2
- 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 +49 -61
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +3 -3
- package/dist/components/reset.css +48 -208
- package/dist/components/reset.min.css +2 -2
- package/dist/components/reveal.css +2 -5
- package/dist/components/reveal.min.css +2 -2
- package/dist/components/search.css +2 -3
- package/dist/components/search.js +178 -198
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +3 -3
- package/dist/components/segment.css +6 -6
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +59 -69
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +3 -3
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +81 -101
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +3 -3
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +37 -58
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +3 -3
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +169 -183
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +3 -3
- package/dist/components/state.js +45 -59
- package/dist/components/state.min.js +3 -3
- 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 +95 -117
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +3 -3
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +83 -115
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +3 -3
- package/dist/components/table.css +8 -8
- package/dist/components/table.min.css +2 -2
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +64 -74
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +3 -3
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +61 -85
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +3 -3
- package/dist/components/visibility.js +120 -140
- package/dist/components/visibility.min.js +3 -3
- package/dist/semantic.css +4480 -8222
- package/dist/semantic.js +2886 -3485
- package/dist/semantic.min.css +3 -3
- package/dist/semantic.min.js +3 -3
- package/examples/attached.html +1 -1
- package/examples/components/menu.html +1 -1
- package/package.json +8 -5
- package/scripts/nightly-version.js +4 -4
- package/src/definitions/behaviors/api.js +100 -160
- package/src/definitions/behaviors/form.js +248 -268
- package/src/definitions/behaviors/state.js +44 -58
- package/src/definitions/behaviors/visibility.js +119 -139
- package/src/definitions/collections/breadcrumb.less +0 -1
- package/src/definitions/collections/form.less +3 -9
- package/src/definitions/collections/grid.less +1 -2
- package/src/definitions/collections/menu.less +106 -117
- package/src/definitions/collections/message.less +1 -2
- package/src/definitions/collections/table.less +7 -8
- package/src/definitions/elements/button.less +4 -6
- package/src/definitions/elements/container.less +0 -1
- package/src/definitions/elements/divider.less +1 -2
- package/src/definitions/elements/emoji.less +1 -1
- package/src/definitions/elements/flag.less +1 -1
- package/src/definitions/elements/header.less +4 -5
- package/src/definitions/elements/icon.less +10 -37
- package/src/definitions/elements/image.less +0 -1
- package/src/definitions/elements/input.less +4 -7
- package/src/definitions/elements/label.less +5 -14
- package/src/definitions/elements/list.less +2 -3
- package/src/definitions/elements/loader.less +10 -11
- package/src/definitions/elements/placeholder.less +1 -2
- package/src/definitions/elements/rail.less +0 -1
- package/src/definitions/elements/reveal.less +1 -5
- package/src/definitions/elements/segment.less +5 -6
- package/src/definitions/elements/step.less +3 -4
- package/src/definitions/elements/text.less +0 -1
- package/src/definitions/globals/reset.less +0 -1
- package/src/definitions/globals/site.js +36 -57
- package/src/definitions/globals/site.less +0 -1
- package/src/definitions/modules/accordion.js +61 -72
- package/src/definitions/modules/accordion.less +0 -1
- package/src/definitions/modules/calendar.js +282 -331
- package/src/definitions/modules/calendar.less +2 -3
- package/src/definitions/modules/checkbox.js +57 -78
- package/src/definitions/modules/checkbox.less +0 -1
- package/src/definitions/modules/dimmer.js +38 -51
- package/src/definitions/modules/dimmer.less +1 -2
- package/src/definitions/modules/dropdown.js +434 -530
- package/src/definitions/modules/dropdown.less +27 -38
- package/src/definitions/modules/embed.js +54 -67
- package/src/definitions/modules/embed.less +0 -1
- package/src/definitions/modules/flyout.js +148 -167
- package/src/definitions/modules/flyout.less +0 -1
- package/src/definitions/modules/modal.js +160 -169
- package/src/definitions/modules/modal.less +3 -4
- package/src/definitions/modules/nag.js +73 -87
- package/src/definitions/modules/nag.less +0 -1
- package/src/definitions/modules/popup.js +104 -137
- package/src/definitions/modules/popup.less +18 -73
- package/src/definitions/modules/progress.js +74 -96
- package/src/definitions/modules/progress.less +3 -13
- package/src/definitions/modules/rating.js +48 -60
- package/src/definitions/modules/rating.less +0 -1
- package/src/definitions/modules/search.js +177 -197
- package/src/definitions/modules/search.less +2 -4
- package/src/definitions/modules/shape.js +58 -68
- package/src/definitions/modules/shape.less +0 -1
- package/src/definitions/modules/sidebar.js +80 -100
- package/src/definitions/modules/sidebar.less +0 -1
- package/src/definitions/modules/slider.js +168 -182
- package/src/definitions/modules/slider.less +0 -1
- package/src/definitions/modules/sticky.js +94 -116
- package/src/definitions/modules/sticky.less +0 -1
- package/src/definitions/modules/tab.js +82 -114
- package/src/definitions/modules/tab.less +0 -1
- package/src/definitions/modules/toast.js +63 -73
- package/src/definitions/modules/toast.less +0 -1
- package/src/definitions/modules/transition.js +60 -84
- package/src/definitions/modules/transition.less +1 -2
- package/src/definitions/views/ad.less +0 -1
- package/src/definitions/views/card.less +0 -1
- package/src/definitions/views/comment.less +0 -1
- package/src/definitions/views/feed.less +0 -1
- package/src/definitions/views/item.less +0 -1
- package/src/definitions/views/statistic.less +0 -1
- package/src/semantic.less +1 -1
- package/src/themes/amazon/elements/button.overrides +1 -1
- package/src/themes/amazon/elements/button.variables +5 -6
- package/src/themes/amazon/globals/site.variables +2 -3
- package/src/themes/bookish/elements/header.variables +2 -2
- package/src/themes/bootstrap3/elements/button.variables +4 -5
- package/src/themes/chubby/collections/menu.variables +1 -1
- package/src/themes/chubby/elements/button.overrides +4 -4
- package/src/themes/chubby/modules/accordion.overrides +1 -1
- package/src/themes/chubby/views/comment.overrides +2 -2
- package/src/themes/chubby/views/comment.variables +2 -2
- package/src/themes/classic/collections/table.variables +2 -2
- package/src/themes/classic/elements/button.variables +11 -11
- package/src/themes/classic/modules/progress.variables +2 -2
- package/src/themes/classic/views/card.variables +2 -2
- package/src/themes/default/collections/form.variables +2 -3
- package/src/themes/default/collections/menu.variables +28 -28
- package/src/themes/default/collections/message.variables +1 -1
- package/src/themes/default/collections/table.variables +4 -4
- package/src/themes/default/elements/button.variables +9 -10
- package/src/themes/default/elements/divider.variables +1 -1
- package/src/themes/default/elements/icon.variables +2 -2
- package/src/themes/default/elements/image.variables +1 -1
- package/src/themes/default/elements/input.variables +2 -2
- package/src/themes/default/elements/label.variables +4 -4
- package/src/themes/default/elements/list.variables +1 -1
- package/src/themes/default/elements/placeholder.variables +6 -6
- package/src/themes/default/elements/segment.variables +8 -8
- package/src/themes/default/globals/reset.overrides +45 -201
- package/src/themes/default/globals/site.variables +50 -50
- package/src/themes/default/globals/variation.variables +3 -2
- package/src/themes/default/modules/accordion.variables +0 -1
- package/src/themes/default/modules/checkbox.variables +1 -1
- package/src/themes/default/modules/dimmer.variables +12 -12
- package/src/themes/default/modules/dropdown.variables +17 -16
- package/src/themes/default/modules/embed.variables +2 -2
- package/src/themes/default/modules/flyout.variables +3 -3
- package/src/themes/default/modules/modal.variables +14 -14
- package/src/themes/default/modules/nag.variables +1 -1
- package/src/themes/default/modules/rating.variables +1 -1
- package/src/themes/default/modules/search.variables +1 -1
- package/src/themes/default/modules/shape.variables +1 -1
- package/src/themes/default/modules/sidebar.variables +2 -2
- package/src/themes/default/modules/toast.variables +4 -4
- package/src/themes/default/views/card.variables +6 -7
- package/src/themes/default/views/feed.variables +4 -4
- package/src/themes/default/views/item.variables +2 -3
- package/src/themes/flat/collections/form.variables +1 -1
- package/src/themes/flat/globals/site.variables +9 -9
- package/src/themes/github/collections/form.overrides +3 -3
- package/src/themes/github/collections/form.variables +3 -3
- package/src/themes/github/collections/menu.overrides +1 -1
- package/src/themes/github/collections/menu.variables +10 -10
- package/src/themes/github/collections/message.variables +6 -6
- package/src/themes/github/elements/button.variables +17 -17
- package/src/themes/github/elements/input.variables +3 -3
- package/src/themes/github/elements/segment.variables +2 -2
- package/src/themes/github/elements/step.overrides +4 -4
- package/src/themes/github/elements/step.variables +3 -3
- package/src/themes/github/globals/site.variables +2 -2
- package/src/themes/github/modules/dropdown.variables +1 -3
- package/src/themes/gmail/collections/message.variables +2 -2
- package/src/themes/material/collections/menu.variables +1 -1
- package/src/themes/material/elements/button.overrides +4 -4
- package/src/themes/material/elements/button.variables +5 -5
- package/src/themes/material/modules/dropdown.variables +1 -1
- package/src/themes/material/modules/modal.variables +1 -1
- package/src/themes/raised/elements/button.variables +1 -1
- package/src/themes/round/elements/button.variables +12 -12
- package/src/themes/striped/modules/progress.overrides +3 -3
- package/src/themes/timeline/views/feed.variables +2 -2
- package/src/themes/twitter/elements/button.overrides +1 -1
- package/src/themes/twitter/elements/button.variables +4 -5
- package/tasks/admin/components/create.js +12 -15
- package/tasks/admin/components/init.js +11 -12
- package/tasks/admin/components/update.js +19 -20
- package/tasks/admin/distributions/create.js +30 -51
- package/tasks/admin/distributions/init.js +11 -12
- package/tasks/admin/distributions/update.js +18 -19
- package/tasks/admin/register.js +7 -7
- package/tasks/build/assets.js +1 -1
- package/tasks/build/css.js +5 -5
- package/tasks/build/javascript.js +1 -1
- package/tasks/config/admin/github.js +1 -1
- package/tasks/config/admin/templates/css-package.js +1 -1
- package/tasks/config/admin/templates/less-package.js +1 -1
- package/tasks/config/project/config.js +10 -10
- package/tasks/config/project/install.js +12 -12
- package/tasks/config/project/release.js +6 -12
- package/tasks/config/tasks.js +15 -11
- package/tasks/config/user.js +1 -4
- package/tasks/docs/metadata.js +18 -20
- package/tasks/install.js +14 -12
- package/test/meteor/assets.js +4 -4
- package/test/meteor/fonts.js +10 -11
- package/test/modules/module.spec.js +18 -18
|
@@ -19,25 +19,25 @@
|
|
|
19
19
|
? window
|
|
20
20
|
: globalThis;
|
|
21
21
|
|
|
22
|
-
$.fn.popup = function (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
$.fn.popup = function (...args) {
|
|
23
|
+
const $allModules = $(this);
|
|
24
|
+
const $document = $(document);
|
|
25
|
+
const $window = $(window);
|
|
26
|
+
const $body = $('body');
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
const clickEvent = 'ontouchstart' in document.documentElement
|
|
29
29
|
? 'touchstart'
|
|
30
30
|
: 'click';
|
|
31
31
|
|
|
32
32
|
let time = Date.now();
|
|
33
33
|
let performance = [];
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const parameters = args[0];
|
|
36
|
+
const methodInvoked = typeof parameters === 'string';
|
|
37
|
+
const queryArguments = args.slice(1);
|
|
38
|
+
const contextCheck = function (context, win) {
|
|
39
39
|
let $context;
|
|
40
|
-
if ([window, document].
|
|
40
|
+
if ([window, document].includes(context)) {
|
|
41
41
|
$context = $(context);
|
|
42
42
|
} else {
|
|
43
43
|
$context = $(win.document).find(context);
|
|
@@ -51,24 +51,24 @@
|
|
|
51
51
|
|
|
52
52
|
let returnedValue;
|
|
53
53
|
$allModules.each(function () {
|
|
54
|
-
|
|
54
|
+
const settings = $.isPlainObject(parameters)
|
|
55
55
|
? $.extend(true, {}, $.fn.popup.settings, parameters)
|
|
56
56
|
: $.extend({}, $.fn.popup.settings);
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
const selector = settings.selector;
|
|
59
|
+
const className = settings.className;
|
|
60
|
+
const error = settings.error;
|
|
61
|
+
const metadata = settings.metadata;
|
|
62
|
+
const namespace = settings.namespace;
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
const eventNamespace = '.' + settings.namespace;
|
|
65
|
+
const moduleNamespace = 'module-' + namespace;
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
const $module = $(this);
|
|
68
|
+
const $context = contextCheck(settings.context, window);
|
|
69
|
+
const $scrollContext = contextCheck(settings.scrollContext, window);
|
|
70
|
+
const $boundary = contextCheck(settings.boundary, window);
|
|
71
|
+
const $target = settings.target ? contextCheck(settings.target, window) : $module;
|
|
72
72
|
|
|
73
73
|
let $popup;
|
|
74
74
|
let $offsetParent;
|
|
@@ -77,15 +77,14 @@
|
|
|
77
77
|
let triedPositions = false;
|
|
78
78
|
let openedWithTouch = false;
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
const element = this;
|
|
81
81
|
let instance = $module.data(moduleNamespace);
|
|
82
82
|
|
|
83
83
|
let documentObserver;
|
|
84
84
|
let elementNamespace;
|
|
85
85
|
let id;
|
|
86
|
-
let module;
|
|
87
86
|
|
|
88
|
-
module = {
|
|
87
|
+
const module = {
|
|
89
88
|
|
|
90
89
|
// binds events
|
|
91
90
|
initialize: function () {
|
|
@@ -109,24 +108,20 @@
|
|
|
109
108
|
},
|
|
110
109
|
|
|
111
110
|
observeChanges: function () {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
module.debug('Setting up mutation observer', documentObserver);
|
|
119
|
-
}
|
|
111
|
+
documentObserver = new MutationObserver(module.event.documentChanged);
|
|
112
|
+
documentObserver.observe(document, {
|
|
113
|
+
childList: true,
|
|
114
|
+
subtree: true,
|
|
115
|
+
});
|
|
116
|
+
module.debug('Setting up mutation observer', documentObserver);
|
|
120
117
|
},
|
|
121
118
|
|
|
122
119
|
refresh: function () {
|
|
123
120
|
if (settings.popup) {
|
|
124
121
|
$popup = $document.find(settings.popup).eq(0);
|
|
125
|
-
} else {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
settings.popup = $popup;
|
|
129
|
-
}
|
|
122
|
+
} else if (settings.inline) {
|
|
123
|
+
$popup = $target.nextAll(selector.popup).eq(0);
|
|
124
|
+
settings.popup = $popup;
|
|
130
125
|
}
|
|
131
126
|
if (settings.popup) {
|
|
132
127
|
module.set.invisible();
|
|
@@ -180,7 +175,7 @@
|
|
|
180
175
|
|
|
181
176
|
event: {
|
|
182
177
|
start: function (event) {
|
|
183
|
-
|
|
178
|
+
const delay = $.isPlainObject(settings.delay)
|
|
184
179
|
? settings.delay.show
|
|
185
180
|
: settings.delay;
|
|
186
181
|
clearTimeout(module.hideTimer);
|
|
@@ -191,7 +186,7 @@
|
|
|
191
186
|
}
|
|
192
187
|
},
|
|
193
188
|
end: function () {
|
|
194
|
-
|
|
189
|
+
const delay = $.isPlainObject(settings.delay)
|
|
195
190
|
? settings.delay.hide
|
|
196
191
|
: settings.delay;
|
|
197
192
|
clearTimeout(module.showTimer);
|
|
@@ -211,21 +206,19 @@
|
|
|
211
206
|
}
|
|
212
207
|
},
|
|
213
208
|
documentChanged: function (mutations) {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
});
|
|
209
|
+
for (const mutation of mutations) {
|
|
210
|
+
for (const node of mutation.removedNodes) {
|
|
211
|
+
if (node === element || $(node).find(element).length > 0) {
|
|
212
|
+
module.debug('Element removed from DOM, tearing down events');
|
|
213
|
+
module.destroy();
|
|
214
|
+
}
|
|
222
215
|
}
|
|
223
|
-
}
|
|
216
|
+
}
|
|
224
217
|
},
|
|
225
218
|
hideGracefully: function (event) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
219
|
+
const $target = $(event.target);
|
|
220
|
+
const isInDOM = document.documentElement.contains(event.target);
|
|
221
|
+
const inPopup = $target.closest(selector.popup).length > 0;
|
|
229
222
|
// don't close on clicks inside popup
|
|
230
223
|
if (event && !inPopup && isInDOM) {
|
|
231
224
|
module.debug('Click occurred outside popup hiding popup');
|
|
@@ -238,11 +231,11 @@
|
|
|
238
231
|
|
|
239
232
|
// generates popup html from metadata
|
|
240
233
|
create: function () {
|
|
241
|
-
|
|
242
|
-
|
|
234
|
+
const targetSibling = $target.next(selector.popup);
|
|
235
|
+
const contentFallback = !settings.popup && targetSibling.length === 0 ? $module.attr('title') : false;
|
|
243
236
|
let html = module.get.html();
|
|
244
|
-
|
|
245
|
-
|
|
237
|
+
const title = module.get.title();
|
|
238
|
+
const content = module.get.content(contentFallback);
|
|
246
239
|
|
|
247
240
|
if (html || content || title) {
|
|
248
241
|
module.debug('Creating pop-up html');
|
|
@@ -311,8 +304,7 @@
|
|
|
311
304
|
}
|
|
312
305
|
},
|
|
313
306
|
|
|
314
|
-
show: function (callback) {
|
|
315
|
-
callback = callback || function () {};
|
|
307
|
+
show: function (callback = function () {}) {
|
|
316
308
|
module.debug('Showing pop-up', settings.transition);
|
|
317
309
|
if (module.is.hidden() && !(module.is.active() && module.is.dropdown())) {
|
|
318
310
|
if (!module.exists()) {
|
|
@@ -336,8 +328,7 @@
|
|
|
336
328
|
}
|
|
337
329
|
},
|
|
338
330
|
|
|
339
|
-
hide: function (callback) {
|
|
340
|
-
callback = callback || function () {};
|
|
331
|
+
hide: function (callback = function () {}) {
|
|
341
332
|
if (module.is.visible() || module.is.animating()) {
|
|
342
333
|
if (settings.onHide.call($popup, element) === false) {
|
|
343
334
|
module.debug('onHide callback returned false, cancelling popup animation');
|
|
@@ -485,22 +476,20 @@
|
|
|
485
476
|
return $popup.offset();
|
|
486
477
|
},
|
|
487
478
|
calculations: function () {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
479
|
+
const $popupOffsetParent = module.get.offsetParent($popup);
|
|
480
|
+
const targetElement = $target[0];
|
|
481
|
+
const isWindowEl = $boundary[0] === window;
|
|
482
|
+
const targetOffset = $target.offset();
|
|
483
|
+
const parentOffset = settings.inline || (settings.popup && settings.movePopup)
|
|
493
484
|
? $target.offsetParent().offset()
|
|
494
485
|
: { top: 0, left: 0 };
|
|
495
|
-
|
|
486
|
+
const screenPosition = isWindowEl
|
|
496
487
|
? { top: 0, left: 0 }
|
|
497
488
|
: $boundary.offset();
|
|
498
|
-
|
|
499
|
-
let scroll = isWindowEl
|
|
489
|
+
const scroll = isWindowEl
|
|
500
490
|
? { top: $window.scrollTop(), left: $window.scrollLeft() }
|
|
501
491
|
: { top: 0, left: 0 };
|
|
502
|
-
|
|
503
|
-
calculations = {
|
|
492
|
+
const calculations = {
|
|
504
493
|
// element which is launching popup
|
|
505
494
|
target: {
|
|
506
495
|
element: $target[0],
|
|
@@ -535,7 +524,7 @@
|
|
|
535
524
|
|
|
536
525
|
// if popup offset context is different from target, then adjust calculations
|
|
537
526
|
if ($popupOffsetParent[0] !== $offsetParent[0]) {
|
|
538
|
-
|
|
527
|
+
const popupOffset = $popupOffsetParent.offset();
|
|
539
528
|
calculations.target.top -= popupOffset.top;
|
|
540
529
|
calculations.target.left -= popupOffset.left;
|
|
541
530
|
calculations.parent.width = $popupOffsetParent.outerWidth();
|
|
@@ -552,15 +541,15 @@
|
|
|
552
541
|
|
|
553
542
|
// add in margins if inline
|
|
554
543
|
calculations.target.margin.top = settings.inline
|
|
555
|
-
? parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)
|
|
544
|
+
? Number.parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)
|
|
556
545
|
: 0;
|
|
557
546
|
calculations.target.margin.left = settings.inline
|
|
558
547
|
? (module.is.rtl()
|
|
559
|
-
? parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)
|
|
560
|
-
: parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10))
|
|
548
|
+
? Number.parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)
|
|
549
|
+
: Number.parseInt(window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10))
|
|
561
550
|
: 0;
|
|
562
551
|
// calculate screen boundaries
|
|
563
|
-
screen = calculations.screen;
|
|
552
|
+
const screen = calculations.screen;
|
|
564
553
|
calculations.boundary = {
|
|
565
554
|
top: screen.top + screen.scroll.top,
|
|
566
555
|
bottom: screen.top + screen.scroll.top + screen.height,
|
|
@@ -596,15 +585,12 @@
|
|
|
596
585
|
|
|
597
586
|
return false;
|
|
598
587
|
},
|
|
599
|
-
distanceFromBoundary: function (offset, calculations) {
|
|
588
|
+
distanceFromBoundary: function (offset, calculations = module.get.calculations()) {
|
|
600
589
|
let distanceFromBoundary = {};
|
|
601
|
-
let popup;
|
|
602
|
-
let boundary;
|
|
603
|
-
calculations = calculations || module.get.calculations();
|
|
604
590
|
|
|
605
591
|
// shorthand
|
|
606
|
-
popup = calculations.popup;
|
|
607
|
-
boundary = calculations.boundary;
|
|
592
|
+
const popup = calculations.popup;
|
|
593
|
+
const boundary = calculations.boundary;
|
|
608
594
|
|
|
609
595
|
if (offset) {
|
|
610
596
|
distanceFromBoundary = {
|
|
@@ -619,7 +605,7 @@
|
|
|
619
605
|
return distanceFromBoundary;
|
|
620
606
|
},
|
|
621
607
|
offsetParent: function ($element) {
|
|
622
|
-
|
|
608
|
+
const element = $element !== undefined
|
|
623
609
|
? $element[0]
|
|
624
610
|
: $target[0];
|
|
625
611
|
let parentNode = element.parentNode;
|
|
@@ -654,21 +640,21 @@
|
|
|
654
640
|
};
|
|
655
641
|
},
|
|
656
642
|
nextPosition: function (position) {
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
643
|
+
const positions = position.split(' ');
|
|
644
|
+
const verticalPosition = positions[0];
|
|
645
|
+
const horizontalPosition = positions[1];
|
|
646
|
+
const opposite = {
|
|
661
647
|
top: 'bottom',
|
|
662
648
|
bottom: 'top',
|
|
663
649
|
left: 'right',
|
|
664
650
|
right: 'left',
|
|
665
651
|
};
|
|
666
|
-
|
|
652
|
+
const adjacent = {
|
|
667
653
|
left: 'center',
|
|
668
654
|
center: 'right',
|
|
669
655
|
right: 'left',
|
|
670
656
|
};
|
|
671
|
-
|
|
657
|
+
const backup = {
|
|
672
658
|
'top left': 'top center',
|
|
673
659
|
'top center': 'top right',
|
|
674
660
|
'top right': 'right center',
|
|
@@ -678,7 +664,7 @@
|
|
|
678
664
|
'bottom left': 'left center',
|
|
679
665
|
'left center': 'top left',
|
|
680
666
|
};
|
|
681
|
-
|
|
667
|
+
const adjacentsAvailable = verticalPosition === 'top' || verticalPosition === 'bottom';
|
|
682
668
|
let oppositeTried = false;
|
|
683
669
|
let adjacentTried = false;
|
|
684
670
|
let nextPosition = false;
|
|
@@ -712,7 +698,7 @@
|
|
|
712
698
|
},
|
|
713
699
|
|
|
714
700
|
set: {
|
|
715
|
-
position: function (position, calculations) {
|
|
701
|
+
position: function (position = $module.data(metadata.position) || settings.position, calculations = module.get.calculations()) {
|
|
716
702
|
// exit conditions
|
|
717
703
|
if ($target.length === 0 || $popup.length === 0) {
|
|
718
704
|
module.error(error.notFound);
|
|
@@ -721,23 +707,15 @@
|
|
|
721
707
|
}
|
|
722
708
|
let offset;
|
|
723
709
|
let distanceAway;
|
|
724
|
-
let target;
|
|
725
|
-
let popup;
|
|
726
|
-
let parent;
|
|
727
710
|
let positioning;
|
|
728
|
-
let popupOffset;
|
|
729
|
-
let distanceFromBoundary;
|
|
730
|
-
|
|
731
|
-
calculations = calculations || module.get.calculations();
|
|
732
|
-
position = position || $module.data(metadata.position) || settings.position;
|
|
733
711
|
|
|
734
712
|
offset = $module.data(metadata.offset) || settings.offset;
|
|
735
713
|
distanceAway = settings.distanceAway;
|
|
736
714
|
|
|
737
715
|
// shorthand
|
|
738
|
-
target = calculations.target;
|
|
739
|
-
popup = calculations.popup;
|
|
740
|
-
parent = calculations.parent;
|
|
716
|
+
const target = calculations.target;
|
|
717
|
+
const popup = calculations.popup;
|
|
718
|
+
const parent = calculations.parent;
|
|
741
719
|
|
|
742
720
|
if (module.should.centerArrow(calculations)) {
|
|
743
721
|
module.verbose('Adjusting offset to center arrow on small target element');
|
|
@@ -868,6 +846,7 @@
|
|
|
868
846
|
|
|
869
847
|
break;
|
|
870
848
|
}
|
|
849
|
+
// no default
|
|
871
850
|
}
|
|
872
851
|
if (positioning === undefined) {
|
|
873
852
|
module.error(error.invalidPosition, position);
|
|
@@ -882,10 +861,10 @@
|
|
|
882
861
|
.addClass(position);
|
|
883
862
|
module.set.invisible();
|
|
884
863
|
|
|
885
|
-
popupOffset = module.get.popupOffset();
|
|
864
|
+
const popupOffset = module.get.popupOffset();
|
|
886
865
|
|
|
887
866
|
// see if any boundaries are surpassed with this tentative position
|
|
888
|
-
distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);
|
|
867
|
+
const distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);
|
|
889
868
|
|
|
890
869
|
if (!settings.forcePosition && module.is.offstage(distanceFromBoundary, position)) {
|
|
891
870
|
module.debug('Position is outside viewport', position);
|
|
@@ -921,8 +900,7 @@
|
|
|
921
900
|
return true;
|
|
922
901
|
},
|
|
923
902
|
|
|
924
|
-
fluidWidth: function (calculations) {
|
|
925
|
-
calculations = calculations || module.get.calculations();
|
|
903
|
+
fluidWidth: function (calculations = module.get.calculations()) {
|
|
926
904
|
module.debug('Automatically setting element width to parent width', calculations.parent.width);
|
|
927
905
|
$popup.css('width', calculations.container.width);
|
|
928
906
|
},
|
|
@@ -935,8 +913,7 @@
|
|
|
935
913
|
$popup.addClass(className.invisible);
|
|
936
914
|
},
|
|
937
915
|
|
|
938
|
-
variation: function (variation) {
|
|
939
|
-
variation = variation || module.get.variation();
|
|
916
|
+
variation: function (variation = module.get.variation()) {
|
|
940
917
|
if (variation && module.has.popup()) {
|
|
941
918
|
module.verbose('Adding variation to popup', variation);
|
|
942
919
|
$popup.addClass(variation);
|
|
@@ -955,8 +932,7 @@
|
|
|
955
932
|
invisible: function () {
|
|
956
933
|
$popup.removeClass(className.invisible);
|
|
957
934
|
},
|
|
958
|
-
variation: function (variation) {
|
|
959
|
-
variation = variation || module.get.variation();
|
|
935
|
+
variation: function (variation = module.get.variation()) {
|
|
960
936
|
if (variation) {
|
|
961
937
|
module.verbose('Removing variation', variation);
|
|
962
938
|
$popup.removeClass(variation);
|
|
@@ -1081,7 +1057,7 @@
|
|
|
1081
1057
|
return settings.closable;
|
|
1082
1058
|
},
|
|
1083
1059
|
offstage: function (distanceFromBoundary, position) {
|
|
1084
|
-
|
|
1060
|
+
const offstage = [];
|
|
1085
1061
|
// return boundaries that have been surpassed
|
|
1086
1062
|
$.each(distanceFromBoundary, function (direction, distance) {
|
|
1087
1063
|
if (distance < -settings.jitter) {
|
|
@@ -1151,30 +1127,30 @@
|
|
|
1151
1127
|
return module[name];
|
|
1152
1128
|
}
|
|
1153
1129
|
},
|
|
1154
|
-
debug: function () {
|
|
1130
|
+
debug: function (...args) {
|
|
1155
1131
|
if (!settings.silent && settings.debug) {
|
|
1156
1132
|
if (settings.performance) {
|
|
1157
|
-
module.performance.log(
|
|
1133
|
+
module.performance.log(args);
|
|
1158
1134
|
} else {
|
|
1159
1135
|
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
1160
|
-
module.debug.apply(console,
|
|
1136
|
+
module.debug.apply(console, args);
|
|
1161
1137
|
}
|
|
1162
1138
|
}
|
|
1163
1139
|
},
|
|
1164
|
-
verbose: function () {
|
|
1140
|
+
verbose: function (...args) {
|
|
1165
1141
|
if (!settings.silent && settings.verbose && settings.debug) {
|
|
1166
1142
|
if (settings.performance) {
|
|
1167
|
-
module.performance.log(
|
|
1143
|
+
module.performance.log(args);
|
|
1168
1144
|
} else {
|
|
1169
1145
|
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
|
1170
|
-
module.verbose.apply(console,
|
|
1146
|
+
module.verbose.apply(console, args);
|
|
1171
1147
|
}
|
|
1172
1148
|
}
|
|
1173
1149
|
},
|
|
1174
|
-
error: function () {
|
|
1150
|
+
error: function (...args) {
|
|
1175
1151
|
if (!settings.silent) {
|
|
1176
1152
|
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
|
1177
|
-
module.error.apply(console,
|
|
1153
|
+
module.error.apply(console, args);
|
|
1178
1154
|
}
|
|
1179
1155
|
},
|
|
1180
1156
|
performance: {
|
|
@@ -1189,7 +1165,7 @@
|
|
|
1189
1165
|
time = currentTime;
|
|
1190
1166
|
performance.push({
|
|
1191
1167
|
Name: message[0],
|
|
1192
|
-
Arguments:
|
|
1168
|
+
Arguments: message.slice(1),
|
|
1193
1169
|
Element: element,
|
|
1194
1170
|
'Execution Time': executionTime,
|
|
1195
1171
|
});
|
|
@@ -1210,30 +1186,22 @@
|
|
|
1210
1186
|
title += ' ' + totalTime + 'ms';
|
|
1211
1187
|
if (performance.length > 0) {
|
|
1212
1188
|
console.groupCollapsed(title);
|
|
1213
|
-
|
|
1214
|
-
console.table(performance);
|
|
1215
|
-
} else {
|
|
1216
|
-
$.each(performance, function (index, data) {
|
|
1217
|
-
console.log(data.Name + ': ' + data['Execution Time'] + 'ms');
|
|
1218
|
-
});
|
|
1219
|
-
}
|
|
1189
|
+
console.table(performance);
|
|
1220
1190
|
console.groupEnd();
|
|
1221
1191
|
}
|
|
1222
1192
|
performance = [];
|
|
1223
1193
|
},
|
|
1224
1194
|
},
|
|
1225
|
-
invoke: function (query, passedArguments, context) {
|
|
1195
|
+
invoke: function (query, passedArguments = queryArguments, context = element) {
|
|
1226
1196
|
let object = instance;
|
|
1227
1197
|
let maxDepth;
|
|
1228
1198
|
let found;
|
|
1229
1199
|
let response;
|
|
1230
|
-
passedArguments = passedArguments || queryArguments;
|
|
1231
|
-
context = context || element;
|
|
1232
1200
|
if (typeof query === 'string' && object !== undefined) {
|
|
1233
1201
|
query = query.split(/[ .]/);
|
|
1234
1202
|
maxDepth = query.length - 1;
|
|
1235
1203
|
$.each(query, function (depth, value) {
|
|
1236
|
-
|
|
1204
|
+
const camelCaseValue = depth !== maxDepth
|
|
1237
1205
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
|
1238
1206
|
: query;
|
|
1239
1207
|
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
|
|
@@ -1276,7 +1244,7 @@
|
|
|
1276
1244
|
if (instance === undefined) {
|
|
1277
1245
|
module.initialize();
|
|
1278
1246
|
}
|
|
1279
|
-
module.invoke(
|
|
1247
|
+
module.invoke(parameters);
|
|
1280
1248
|
} else {
|
|
1281
1249
|
if (instance !== undefined) {
|
|
1282
1250
|
instance.invoke('destroy');
|
|
@@ -1457,8 +1425,7 @@
|
|
|
1457
1425
|
|
|
1458
1426
|
templates: {
|
|
1459
1427
|
escape: function (string) {
|
|
1460
|
-
const
|
|
1461
|
-
const escape = {
|
|
1428
|
+
const escapeMap = {
|
|
1462
1429
|
'"': '"',
|
|
1463
1430
|
'&': '&',
|
|
1464
1431
|
"'": ''',
|
|
@@ -1466,11 +1433,11 @@
|
|
|
1466
1433
|
'>': '>',
|
|
1467
1434
|
};
|
|
1468
1435
|
|
|
1469
|
-
return string.replace(
|
|
1436
|
+
return String(string).replace(/["&'<>]/g, (chr) => escapeMap[chr]);
|
|
1470
1437
|
},
|
|
1471
1438
|
popup: function (text) {
|
|
1472
1439
|
let html = '';
|
|
1473
|
-
|
|
1440
|
+
const escape = $.fn.popup.settings.templates.escape;
|
|
1474
1441
|
if (text !== undefined) {
|
|
1475
1442
|
if (text.title) {
|
|
1476
1443
|
text.title = escape(text.title);
|