uikit 3.21.6 → 3.21.7-dev.d6b3704e9

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.
Files changed (44) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/css/uikit-core-rtl.css +1 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +1 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +1 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +1 -1
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +1 -1
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +1 -1
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +1 -1
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +1 -1
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +1 -1
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +1 -1
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +1 -1
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +1 -1
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +12 -12
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +1 -1
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +12 -12
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/modal.js +1 -2
  44. package/src/js/util/viewport.js +17 -21
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.21.6",
5
+ "version": "3.21.7-dev.d6b3704e9",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -22,8 +22,7 @@ export default {
22
22
  data: {
23
23
  clsPage: 'uk-modal-page',
24
24
  selPanel: '.uk-modal-dialog',
25
- selClose:
26
- '.uk-modal-close, .uk-modal-close-default, .uk-modal-close-outside, .uk-modal-close-full',
25
+ selClose: '[class*="uk-modal-close"]',
27
26
  },
28
27
 
29
28
  events: [
@@ -1,16 +1,7 @@
1
1
  import { hasClass } from './class';
2
2
  import { dimensions, offset, offsetPosition } from './dimensions';
3
3
  import { isVisible, parent, parents } from './filter';
4
- import {
5
- clamp,
6
- findIndex,
7
- includes,
8
- intersectRect,
9
- isWindow,
10
- toFloat,
11
- toWindow,
12
- ucfirst,
13
- } from './lang';
4
+ import { clamp, findIndex, includes, intersectRect, toFloat, toWindow, ucfirst } from './lang';
14
5
  import { css } from './style';
15
6
 
16
7
  export function isInView(element, offsetTop = 0, offsetLeft = 0) {
@@ -162,37 +153,42 @@ export function overflowParents(element) {
162
153
 
163
154
  export function offsetViewport(scrollElement) {
164
155
  const window = toWindow(scrollElement);
165
- let viewportElement =
166
- scrollElement === scrollingElement(scrollElement) ? window : scrollElement;
156
+ const documentScrollingElement = scrollingElement(scrollElement);
157
+ const useWindow = scrollElement.contains(documentScrollingElement);
167
158
 
168
- if (isWindow(viewportElement) && window.visualViewport) {
159
+ if (useWindow && window.visualViewport) {
169
160
  let { height, width, scale, pageTop: top, pageLeft: left } = window.visualViewport;
170
161
  height = Math.round(height * scale);
171
162
  width = Math.round(width * scale);
172
163
  return { height, width, top, left, bottom: top + height, right: left + width };
173
164
  }
174
165
 
175
- let rect = offset(viewportElement);
176
- if (css(viewportElement, 'display') === 'inline') {
166
+ let rect = offset(useWindow ? window : scrollElement);
167
+ if (css(scrollElement, 'display') === 'inline') {
177
168
  return rect;
178
169
  }
179
170
 
171
+ const { body, documentElement } = window.document;
172
+ const viewportElement = useWindow
173
+ ? documentScrollingElement === documentElement ||
174
+ // In quirks mode the scrolling element is body, even though the viewport is html
175
+ documentScrollingElement.clientHeight < body.clientHeight
176
+ ? documentScrollingElement
177
+ : body
178
+ : scrollElement;
180
179
  for (let [prop, dir, start, end] of [
181
180
  ['width', 'x', 'left', 'right'],
182
181
  ['height', 'y', 'top', 'bottom'],
183
182
  ]) {
184
- if (isWindow(viewportElement)) {
185
- // iOS 12 returns <body> as scrollingElement
186
- viewportElement = viewportElement.document;
187
- } else {
188
- rect[start] += toFloat(css(viewportElement, `border-${start}-width`));
189
- }
190
183
  const subpixel = rect[prop] % 1;
184
+
185
+ rect[start] += toFloat(css(viewportElement, `border-${start}-width`));
191
186
  rect[prop] = rect[dir] =
192
187
  viewportElement[`client${ucfirst(prop)}`] -
193
188
  (subpixel ? (subpixel < 0.5 ? -subpixel : 1 - subpixel) : 0);
194
189
  rect[end] = rect[prop] + rect[start];
195
190
  }
191
+
196
192
  return rect;
197
193
  }
198
194