uikit 3.14.1 → 3.14.2-dev.dedde7cc1
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/CHANGELOG.md +10 -3
- package/dist/css/uikit-core-rtl.css +6 -1
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +6 -1
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +6 -1
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +6 -1
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +1 -1
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +1 -1
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +6 -1
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +6 -1
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +1 -1
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +1 -1
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +1 -1
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +1 -1
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +1 -1
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +1 -1
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +1 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +9 -5
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +24 -26
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +24 -26
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/core/drop.js +5 -4
- package/src/js/core/height-viewport.js +1 -2
- package/src/js/mixin/position.js +1 -2
- package/src/js/mixin/togglable.js +5 -0
- package/src/js/util/position.js +9 -9
- package/src/js/util/viewport.js +2 -8
- package/src/less/components/drop.less +1 -0
- package/src/less/components/dropdown.less +1 -0
- package/src/less/components/navbar.less +2 -0
- package/src/less/components/tooltip.less +1 -0
- package/src/scss/components/drop.scss +1 -0
- package/src/scss/components/dropdown.scss +1 -0
- package/src/scss/components/navbar.scss +2 -0
- package/src/scss/components/tooltip.scss +1 -0
- package/tests/drop.html +1 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "uikit",
|
|
3
3
|
"title": "UIkit",
|
|
4
4
|
"description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
|
|
5
|
-
"version": "3.14.
|
|
5
|
+
"version": "3.14.2-dev.dedde7cc1",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
package/src/js/core/drop.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
apply,
|
|
9
9
|
attr,
|
|
10
10
|
css,
|
|
11
|
+
getCssVar,
|
|
11
12
|
hasClass,
|
|
12
13
|
includes,
|
|
13
14
|
isTouch,
|
|
@@ -15,7 +16,6 @@ import {
|
|
|
15
16
|
MouseTracker,
|
|
16
17
|
observeResize,
|
|
17
18
|
offset,
|
|
18
|
-
offsetViewport,
|
|
19
19
|
on,
|
|
20
20
|
once,
|
|
21
21
|
parent,
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
removeClass,
|
|
29
29
|
scrollParents,
|
|
30
30
|
toggleClass,
|
|
31
|
+
toPx,
|
|
31
32
|
within,
|
|
32
33
|
} from 'uikit-util';
|
|
33
34
|
|
|
@@ -378,13 +379,13 @@ export default {
|
|
|
378
379
|
toggleClass(this.$el, `${this.clsDrop}-boundary`, this.boundaryAlign);
|
|
379
380
|
|
|
380
381
|
const boundary = query(this.boundary, this.$el);
|
|
381
|
-
const
|
|
382
|
-
const scrollParentOffset = offsetViewport(scrollParent);
|
|
382
|
+
const scrollParentOffset = offset(scrollParents(this.$el)[0]);
|
|
383
383
|
const boundaryOffset = boundary ? offset(boundary) : scrollParentOffset;
|
|
384
384
|
|
|
385
385
|
css(this.$el, 'maxWidth', '');
|
|
386
386
|
const maxWidth =
|
|
387
|
-
scrollParentOffset.width -
|
|
387
|
+
scrollParentOffset.width -
|
|
388
|
+
2 * toPx(getCssVar('position-viewport-offset', this.$el));
|
|
388
389
|
|
|
389
390
|
if (this.pos[1] === 'justify') {
|
|
390
391
|
const prop = this.axis === 'y' ? 'width' : 'height';
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Class from '../mixin/class';
|
|
2
1
|
import Resize from '../mixin/resize';
|
|
3
2
|
import {
|
|
4
3
|
boxModelAdjust,
|
|
@@ -15,7 +14,7 @@ import {
|
|
|
15
14
|
} from 'uikit-util';
|
|
16
15
|
|
|
17
16
|
export default {
|
|
18
|
-
mixins: [
|
|
17
|
+
mixins: [Resize],
|
|
19
18
|
|
|
20
19
|
props: {
|
|
21
20
|
expand: Boolean,
|
package/src/js/mixin/position.js
CHANGED
|
@@ -21,7 +21,6 @@ export default {
|
|
|
21
21
|
pos: `bottom-${isRtl ? 'right' : 'left'}`,
|
|
22
22
|
flip: true,
|
|
23
23
|
offset: false,
|
|
24
|
-
viewportPadding: 10,
|
|
25
24
|
},
|
|
26
25
|
|
|
27
26
|
connected() {
|
|
@@ -60,8 +59,8 @@ export default {
|
|
|
60
59
|
attach,
|
|
61
60
|
offset,
|
|
62
61
|
boundary,
|
|
63
|
-
viewportPadding: this.boundaryAlign ? 0 : this.viewportPadding,
|
|
64
62
|
flip: this.flip,
|
|
63
|
+
viewportOffset: toPx(getCssVar('position-viewport-offset', element)),
|
|
65
64
|
});
|
|
66
65
|
},
|
|
67
66
|
},
|
package/src/js/util/position.js
CHANGED
|
@@ -49,6 +49,10 @@ function attachTo(element, target, options) {
|
|
|
49
49
|
return position;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
function moveBy(start, end, dim) {
|
|
53
|
+
return start === 'center' ? dim / 2 : start === end ? dim : 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
52
56
|
function attachToWithFlip(element, target, options) {
|
|
53
57
|
const position = attachTo(element, target, options);
|
|
54
58
|
const targetDim = offset(target);
|
|
@@ -59,7 +63,7 @@ function attachToWithFlip(element, target, options) {
|
|
|
59
63
|
offset: elOffset,
|
|
60
64
|
boundary,
|
|
61
65
|
viewport,
|
|
62
|
-
|
|
66
|
+
viewportOffset,
|
|
63
67
|
} = options;
|
|
64
68
|
|
|
65
69
|
let viewports = scrollParents(element);
|
|
@@ -80,9 +84,9 @@ function attachToWithFlip(element, target, options) {
|
|
|
80
84
|
|
|
81
85
|
viewport = getIntersectionArea(...viewports.filter(Boolean).map(offsetViewport));
|
|
82
86
|
|
|
83
|
-
if (
|
|
84
|
-
viewport[start] +=
|
|
85
|
-
viewport[end] -=
|
|
87
|
+
if (viewportOffset) {
|
|
88
|
+
viewport[start] += viewportOffset;
|
|
89
|
+
viewport[end] -= viewportOffset;
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
if (boundary && !willFlip && position[prop] <= offset(boundary)[prop]) {
|
|
@@ -172,10 +176,6 @@ function attachToWithFlip(element, target, options) {
|
|
|
172
176
|
return offsetPosition;
|
|
173
177
|
}
|
|
174
178
|
|
|
175
|
-
function moveBy(start, end, dim) {
|
|
176
|
-
return start === 'center' ? dim / 2 : start === end ? dim : 0;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
179
|
function getIntersectionArea(...rects) {
|
|
180
180
|
let area = {};
|
|
181
181
|
for (const rect of rects) {
|
|
@@ -188,7 +188,7 @@ function getIntersectionArea(...rects) {
|
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
function isInScrollArea(position, scrollElement, dir) {
|
|
191
|
-
const viewport = offsetViewport(scrollElement);
|
|
191
|
+
const viewport = offsetViewport(scrollElement, false);
|
|
192
192
|
const [prop, , start, end] = dirs[dir];
|
|
193
193
|
viewport[start] -= scrollElement[`scroll${ucfirst(start)}`];
|
|
194
194
|
viewport[end] = viewport[start] + scrollElement[`scroll${ucfirst(prop)}`];
|
package/src/js/util/viewport.js
CHANGED
|
@@ -153,11 +153,6 @@ export function scrollParents(element, overflowRe = /auto|scroll|hidden/, scroll
|
|
|
153
153
|
export function offsetViewport(scrollElement) {
|
|
154
154
|
let viewportElement = getViewport(scrollElement);
|
|
155
155
|
|
|
156
|
-
// iOS 12 returns <body> as scrollingElement
|
|
157
|
-
if (viewportElement === scrollingElement(viewportElement)) {
|
|
158
|
-
viewportElement = document.documentElement;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
156
|
let rect = offset(viewportElement);
|
|
162
157
|
for (let [prop, dir, start, end] of [
|
|
163
158
|
['width', 'x', 'left', 'right'],
|
|
@@ -166,9 +161,8 @@ export function offsetViewport(scrollElement) {
|
|
|
166
161
|
if (!isWindow(getViewport(viewportElement))) {
|
|
167
162
|
rect[start] += toFloat(css(viewportElement, `border${ucfirst(start)}Width`));
|
|
168
163
|
}
|
|
169
|
-
rect[prop] = rect[dir] =
|
|
170
|
-
isWindow(viewportElement) ?
|
|
171
|
-
)[`client${ucfirst(prop)}`];
|
|
164
|
+
rect[prop] = rect[dir] =
|
|
165
|
+
viewportElement[(isWindow(viewportElement) ? 'inner' : 'client') + ucfirst(prop)];
|
|
172
166
|
rect[end] = rect[prop] + rect[start];
|
|
173
167
|
}
|
|
174
168
|
return rect;
|
|
@@ -362,6 +362,7 @@
|
|
|
362
362
|
position: absolute;
|
|
363
363
|
z-index: @navbar-dropdown-z-index;
|
|
364
364
|
--uk-position-offset: @navbar-dropdown-margin;
|
|
365
|
+
--uk-position-viewport-offset: 10;
|
|
365
366
|
/* 3 */
|
|
366
367
|
box-sizing: border-box;
|
|
367
368
|
width: @navbar-dropdown-width;
|
|
@@ -410,6 +411,7 @@
|
|
|
410
411
|
.uk-navbar-dropdown-dropbar {
|
|
411
412
|
/* 1 */
|
|
412
413
|
--uk-position-offset: @navbar-dropdown-dropbar-margin-top;
|
|
414
|
+
--uk-position-viewport-offset: 0;
|
|
413
415
|
/* 2 */
|
|
414
416
|
margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
|
|
415
417
|
/* 3 */
|
|
@@ -55,6 +55,7 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
|
|
|
55
55
|
position: absolute;
|
|
56
56
|
z-index: $dropdown-z-index;
|
|
57
57
|
--uk-position-offset: #{$dropdown-margin};
|
|
58
|
+
--uk-position-viewport-offset: 10;
|
|
58
59
|
/* 3 */
|
|
59
60
|
box-sizing: border-box;
|
|
60
61
|
min-width: $dropdown-min-width;
|
|
@@ -362,6 +362,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
362
362
|
position: absolute;
|
|
363
363
|
z-index: $navbar-dropdown-z-index;
|
|
364
364
|
--uk-position-offset: #{$navbar-dropdown-margin};
|
|
365
|
+
--uk-position-viewport-offset: 10;
|
|
365
366
|
/* 3 */
|
|
366
367
|
box-sizing: border-box;
|
|
367
368
|
width: $navbar-dropdown-width;
|
|
@@ -410,6 +411,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
410
411
|
.uk-navbar-dropdown-dropbar {
|
|
411
412
|
/* 1 */
|
|
412
413
|
--uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
|
|
414
|
+
--uk-position-viewport-offset: 0;
|
|
413
415
|
/* 2 */
|
|
414
416
|
margin-bottom: $navbar-dropdown-dropbar-margin-bottom;
|
|
415
417
|
/* 3 */
|