Skip to content

Commit

Permalink
Merge branch 'release/v3.0.0-rc.15'
Browse files Browse the repository at this point in the history
  • Loading branch information
janschoenherr committed Sep 11, 2018
2 parents 60d0a08 + c95395e commit dfdb5b9
Show file tree
Hide file tree
Showing 21 changed files with 400 additions and 310 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Expand Up @@ -15,7 +15,7 @@ Also try to search for your issue. It may have already been answered or even fix
<!-- BUG REPORT TEMPLATE -->
### UIkit version
<!-- Check if the issue is reproducible with the latest stable version. -->
3.0.0-rc.14
3.0.0-rc.15

### Browser

Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,15 @@
# Changelog

## 3.0.0 rc 15 (September 11, 2018)

### Changed

- Rename `selModal` to `selContainer` and `selPanel` to `selContent` in Overflow Auto component

### Fixed

- Fix `isInView` function for elements with zero width and height

## 3.0.0 rc 14 (September 4, 2018)

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion dist/css/uikit-rtl.css
@@ -1,4 +1,4 @@
/*! UIkit 3.0.0-rc.14 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */
/*! UIkit 3.0.0-rc.15 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */
/* ========================================================================
Component: Base
========================================================================== */
Expand Down
2 changes: 1 addition & 1 deletion dist/css/uikit-rtl.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/css/uikit.css
@@ -1,4 +1,4 @@
/*! UIkit 3.0.0-rc.14 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */
/*! UIkit 3.0.0-rc.15 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */
/* ========================================================================
Component: Base
========================================================================== */
Expand Down
2 changes: 1 addition & 1 deletion dist/css/uikit.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/js/uikit-icons.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/js/uikit-icons.min.js

Large diffs are not rendered by default.

65 changes: 34 additions & 31 deletions dist/js/uikit.js
@@ -1,4 +1,4 @@
/*! UIkit 3.0.0-rc.14 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */
/*! UIkit 3.0.0-rc.15 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
Expand Down Expand Up @@ -96,7 +96,7 @@
}

function isNode(obj) {
return obj instanceof Node || isObject(obj) && obj.nodeType === 1;
return obj instanceof Node || isObject(obj) && obj.nodeType >= 1;
}

var toString = objPrototype.toString;
Expand Down Expand Up @@ -1815,16 +1815,19 @@
}

element = toNode(element);

var win = window$1(element);
var client, bounding;

if (relativeToViewport) {

return intersectRect(element.getBoundingClientRect(), {
client = element.getBoundingClientRect();
bounding = {
top: -topOffset,
left: -leftOffset,
bottom: topOffset + height(win),
right: leftOffset + width(win)
});
};

} else {

Expand All @@ -1834,22 +1837,22 @@
var top = win.pageYOffset;
var left = win.pageXOffset;

return intersectRect(
{
top: elTop,
left: elLeft,
bottom: elTop + element.offsetHeight,
right: elTop + element.offsetWidth
},
{
top: top - topOffset,
left: left - leftOffset,
bottom: top + topOffset + height(win),
right: left + leftOffset + width(win)
}
);
client = {
top: elTop,
left: elLeft,
bottom: elTop + element.offsetHeight,
right: elTop + element.offsetWidth
};
bounding = {
top: top - topOffset,
left: left - leftOffset,
bottom: top + topOffset + height(win),
right: left + leftOffset + width(win)
};
}

return intersectRect(client, bounding) || pointInRect({x: client.left, y: client.top}, bounding);

}

function scrolledOver(element, heightOffset) {
Expand Down Expand Up @@ -6928,27 +6931,27 @@
mixins: [Class],

props: {
selModal: String,
selPanel: String,
selContainer: String,
selContent: String,
},

data: {
selModal: '.uk-modal',
selPanel: '.uk-modal-dialog',
selContainer: '.uk-container',
selContent: '.uk-modal-dialog',
},

computed: {

modal: function(ref, $el) {
var selModal = ref.selModal;
container: function(ref, $el) {
var selContainer = ref.selContainer;

return closest($el, selModal);
return closest($el, selContainer);
},

panel: function(ref, $el) {
var selPanel = ref.selPanel;
content: function(ref, $el) {
var selContent = ref.selContent;

return closest($el, selPanel);
return closest($el, selContent);
}

},
Expand All @@ -6961,13 +6964,13 @@

read: function() {

if (!this.panel || !this.modal) {
if (!this.content || !this.container) {
return false;
}

return {
current: toFloat(css(this.$el, 'maxHeight')),
max: Math.max(150, height(this.modal) - (offset(this.panel).height - height(this.$el)))
max: Math.max(150, height(this.container) - (offset(this.content).height - height(this.$el)))
};
},

Expand Down Expand Up @@ -8040,7 +8043,7 @@

}

UIkit.version = '3.0.0-rc.14';
UIkit.version = '3.0.0-rc.15';

core(UIkit);

Expand Down
4 changes: 2 additions & 2 deletions dist/js/uikit.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -2,7 +2,7 @@
"name": "uikit",
"title": "UIkit",
"description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
"version": "3.0.0-rc.14",
"version": "3.0.0-rc.15",
"main": "dist/js/uikit.js",
"style": "dist/css/uikit.css",
"scripts": {
Expand Down
20 changes: 10 additions & 10 deletions src/js/core/overflow-auto.js
Expand Up @@ -6,23 +6,23 @@ export default {
mixins: [Class],

props: {
selModal: String,
selPanel: String,
selContainer: String,
selContent: String,
},

data: {
selModal: '.uk-modal',
selPanel: '.uk-modal-dialog',
selContainer: '.uk-container',
selContent: '.uk-modal-dialog',
},

computed: {

modal({selModal}, $el) {
return closest($el, selModal);
container({selContainer}, $el) {
return closest($el, selContainer);
},

panel({selPanel}, $el) {
return closest($el, selPanel);
content({selContent}, $el) {
return closest($el, selContent);
}

},
Expand All @@ -35,13 +35,13 @@ export default {

read() {

if (!this.panel || !this.modal) {
if (!this.content || !this.container) {
return false;
}

return {
current: toFloat(css(this.$el, 'maxHeight')),
max: Math.max(150, height(this.modal) - (offset(this.panel).height - height(this.$el)))
max: Math.max(150, height(this.container) - (offset(this.content).height - height(this.$el)))
};
},

Expand Down
37 changes: 20 additions & 17 deletions src/js/util/dimensions.js
@@ -1,7 +1,7 @@
import {css} from './style';
import {attr} from './attr';
import {isVisible} from './filter';
import {clamp, each, endsWith, includes, intersectRect, isDocument, isUndefined, isWindow, toFloat, toNode, ucfirst} from './lang';
import {clamp, each, endsWith, includes, intersectRect, isDocument, isUndefined, isWindow, pointInRect, toFloat, toNode, ucfirst} from './lang';

const dirs = {
width: ['x', 'left', 'right'],
Expand Down Expand Up @@ -297,38 +297,41 @@ export function isInView(element, topOffset = 0, leftOffset = 0, relativeToViewp
}

element = toNode(element);

const win = window(element);
let client, bounding;

if (relativeToViewport) {

return intersectRect(element.getBoundingClientRect(), {
client = element.getBoundingClientRect();
bounding = {
top: -topOffset,
left: -leftOffset,
bottom: topOffset + height(win),
right: leftOffset + width(win)
});
};

} else {

const [elTop, elLeft] = offsetPosition(element);
const {pageYOffset: top, pageXOffset: left} = win;

return intersectRect(
{
top: elTop,
left: elLeft,
bottom: elTop + element.offsetHeight,
right: elTop + element.offsetWidth
},
{
top: top - topOffset,
left: left - leftOffset,
bottom: top + topOffset + height(win),
right: left + leftOffset + width(win)
}
);
client = {
top: elTop,
left: elLeft,
bottom: elTop + element.offsetHeight,
right: elTop + element.offsetWidth
};
bounding = {
top: top - topOffset,
left: left - leftOffset,
bottom: top + topOffset + height(win),
right: left + leftOffset + width(win)
};
}

return intersectRect(client, bounding) || pointInRect({x: client.left, y: client.top}, bounding);

}

export function scrolledOver(element, heightOffset = 0) {
Expand Down
2 changes: 1 addition & 1 deletion src/js/util/lang.js
Expand Up @@ -88,7 +88,7 @@ export function isJQuery(obj) {
}

export function isNode(obj) {
return obj instanceof Node || isObject(obj) && obj.nodeType === 1;
return obj instanceof Node || isObject(obj) && obj.nodeType >= 1;
}

const {toString} = objPrototype;
Expand Down

0 comments on commit dfdb5b9

Please sign in to comment.