uikit 3.21.8 → 3.21.9-dev.03f75cd57

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 (47) hide show
  1. package/CHANGELOG.md +8 -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 +6 -7
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +6 -7
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +7 -8
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +6 -7
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +6 -7
  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 +15 -15
  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 +16 -16
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/components/slider.js +2 -1
  44. package/src/js/core/offcanvas.js +2 -2
  45. package/src/js/core/sticky.js +8 -2
  46. package/src/js/util/dimensions.js +3 -3
  47. package/src/js/util/selector.js +8 -8
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.8",
5
+ "version": "3.21.9-dev.03f75cd57",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -64,7 +64,8 @@ export default {
64
64
  let lft = 0;
65
65
  const max = getMax(this.list);
66
66
  const index = findIndex(this.slides, (el) => {
67
- if (lft >= max) {
67
+ // 0.005: FF reports different widths for (calc(100% / 3))
68
+ if (lft >= max - 0.005) {
68
69
  return true;
69
70
  }
70
71
 
@@ -102,7 +102,7 @@ export default {
102
102
  const { body, scrollingElement } = document;
103
103
 
104
104
  addClass(body, this.clsContainer, this.clsFlip);
105
- css(body, 'touch-action', 'pan-y pinch-zoom');
105
+ css(body, 'touchAction', 'pan-y pinch-zoom');
106
106
  css(this.$el, 'display', 'block');
107
107
  css(this.panel, 'maxWidth', scrollingElement.clientWidth);
108
108
  addClass(this.$el, this.clsOverlay);
@@ -126,7 +126,7 @@ export default {
126
126
 
127
127
  handler() {
128
128
  removeClass(document.body, this.clsContainerAnimation);
129
- css(document.body, 'touch-action', '');
129
+ css(document.body, 'touchAction', '');
130
130
  },
131
131
  },
132
132
 
@@ -188,7 +188,10 @@ export default {
188
188
  }
189
189
 
190
190
  const overflow = this.overflowFlip ? 0 : Math.max(0, height + offset - viewport);
191
- const topOffset = getOffset(referenceElement).top;
191
+ const topOffset =
192
+ getOffset(referenceElement).top -
193
+ // offset possible `transform: translateY` animation 'uk-animation-slide-top' while hiding
194
+ new DOMMatrix(css(referenceElement, 'transform')).m42;
192
195
  const elHeight = dimensions(this.$el).height;
193
196
 
194
197
  const start =
@@ -460,7 +463,10 @@ function parseProp(value, el, propOffset, padding) {
460
463
  const refElement = value === true ? getVisibleParent(el) : query(value, el);
461
464
  return (
462
465
  getOffset(refElement).bottom -
463
- (padding && refElement?.contains(el) ? toFloat(css(refElement, 'paddingBottom')) : 0)
466
+ (padding && refElement?.contains(el)
467
+ ? toFloat(css(refElement, 'paddingBottom')) +
468
+ toFloat(css(refElement, 'borderBottomWidth'))
469
+ : 0)
464
470
  );
465
471
  }
466
472
  }
@@ -146,10 +146,10 @@ function dimension(prop) {
146
146
  export function boxModelAdjust(element, prop, sizing = 'border-box') {
147
147
  return css(element, 'boxSizing') === sizing
148
148
  ? sumBy(
149
- dirs[prop].map(ucfirst),
149
+ dirs[prop],
150
150
  (prop) =>
151
- toFloat(css(element, `padding${prop}`)) +
152
- toFloat(css(element, `border${prop}Width`)),
151
+ toFloat(css(element, `padding-${prop}`)) +
152
+ toFloat(css(element, `border-${prop}-width`)),
153
153
  )
154
154
  : 0;
155
155
  }
@@ -19,7 +19,7 @@ export function findAll(selector, context) {
19
19
  }
20
20
 
21
21
  function getContext(selector, context = document) {
22
- return (isString(selector) && parseSelector(selector).isContextSelector) || isDocument(context)
22
+ return isDocument(context) || parseSelector(selector).isContextSelector
23
23
  ? context
24
24
  : context.ownerDocument;
25
25
  }
@@ -29,12 +29,16 @@ const addStarRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
29
29
  const splitSelectorRe = /(\([^)]*\)|[^,])+/g;
30
30
 
31
31
  const parseSelector = memoize((selector) => {
32
- selector = selector.replace(addStarRe, '$1 *');
33
32
  let isContextSelector = false;
34
33
 
34
+ if (!selector || !isString(selector)) {
35
+ return {};
36
+ }
37
+
35
38
  const selectors = [];
39
+
36
40
  for (let sel of selector.match(splitSelectorRe)) {
37
- sel = sel.trim();
41
+ sel = sel.trim().replace(addStarRe, '$1 *');
38
42
  isContextSelector ||= ['!', '+', '~', '-', '>'].includes(sel[0]);
39
43
  selectors.push(sel);
40
44
  }
@@ -53,14 +57,10 @@ const parsePositionSelector = memoize((selector) => {
53
57
  });
54
58
 
55
59
  function _query(selector, context = document, queryFn) {
56
- if (!selector || !isString(selector)) {
57
- return selector;
58
- }
59
-
60
60
  const parsed = parseSelector(selector);
61
61
 
62
62
  if (!parsed.isContextSelector) {
63
- return _doQuery(context, queryFn, parsed.selector);
63
+ return parsed.selector && _doQuery(context, queryFn, parsed.selector);
64
64
  }
65
65
 
66
66
  selector = '';