uikit 3.14.4-dev.f2e3be255 → 3.14.4-dev.fea9fd466

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 (77) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/dist/css/uikit-core-rtl.css +84 -64
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +84 -64
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +83 -63
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +83 -63
  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 +7 -5
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +6 -14
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +6 -14
  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 +4 -5
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +4 -5
  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 +4 -5
  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 +9 -17
  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 +45 -43
  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 +51 -47
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/images/{backgrounds/nav-parent-close.svg → components/nav-parent-icon-large.svg} +0 -0
  44. package/src/images/{backgrounds/navbar-parent-close.svg → components/nav-parent-icon.svg} +0 -0
  45. package/src/images/{backgrounds/navbar-parent-open.svg → components/navbar-parent-icon.svg} +1 -1
  46. package/src/js/components/filter.js +5 -3
  47. package/src/js/core/height-viewport.js +6 -2
  48. package/src/js/core/icon.js +16 -0
  49. package/src/js/core/index.js +2 -0
  50. package/src/js/core/leader.js +2 -2
  51. package/src/js/mixin/media.js +4 -5
  52. package/src/js/mixin/position.js +3 -4
  53. package/src/js/mixin/togglable.js +8 -17
  54. package/src/js/util/style.js +4 -13
  55. package/src/js/util/viewport.js +2 -4
  56. package/src/less/components/dropdown.less +6 -0
  57. package/src/less/components/leader.less +1 -1
  58. package/src/less/components/nav.less +7 -37
  59. package/src/less/components/navbar.less +70 -21
  60. package/src/less/components/utility.less +10 -2
  61. package/src/less/theme/nav.less +0 -8
  62. package/src/scss/components/dropdown.scss +6 -0
  63. package/src/scss/components/leader.scss +1 -1
  64. package/src/scss/components/nav.scss +7 -26
  65. package/src/scss/components/navbar.scss +58 -21
  66. package/src/scss/components/utility.scss +8 -1
  67. package/src/scss/mixins-theme.scss +14 -14
  68. package/src/scss/mixins.scss +14 -14
  69. package/src/scss/theme/nav.scss +0 -8
  70. package/src/scss/variables-theme.scss +9 -13
  71. package/src/scss/variables.scss +9 -13
  72. package/tests/index.html +3 -3
  73. package/tests/nav.html +20 -87
  74. package/tests/navbar.html +15 -26
  75. package/tests/offcanvas.html +8 -8
  76. package/tests/utility.html +19 -0
  77. package/src/images/backgrounds/nav-parent-open.svg +0 -3
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.14.4-dev.f2e3be255 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.4-dev.fea9fd466 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -785,18 +785,11 @@
785
785
  return elements[0];
786
786
  }
787
787
 
788
- const propertyRe = /^\s*(["'])?(.*?)\1\s*$/;
789
- function getCssVar(name, element) {if (element === void 0) {element = document.documentElement;}
790
- return css(element, "--uk-" + name).replace(propertyRe, '$2');
791
- }
792
-
793
788
  // https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty
794
789
  const propName = memoize((name) => vendorPropName(name));
795
790
 
796
- const cssPrefixes = ['webkit', 'moz'];
797
-
798
791
  function vendorPropName(name) {
799
- if (name[0] === '-') {
792
+ if (startsWith(name, '--')) {
800
793
  return name;
801
794
  }
802
795
 
@@ -808,11 +801,8 @@
808
801
  return name;
809
802
  }
810
803
 
811
- let i = cssPrefixes.length,
812
- prefixedName;
813
-
814
- while (i--) {
815
- prefixedName = "-" + cssPrefixes[i] + "-" + name;
804
+ for (const prefix of ['webkit', 'moz']) {
805
+ const prefixedName = "-" + prefix + "-" + name;
816
806
  if (prefixedName in style) {
817
807
  return prefixedName;
818
808
  }
@@ -1899,12 +1889,10 @@
1899
1889
  function offsetViewport(scrollElement) {
1900
1890
  const window = toWindow(scrollElement);
1901
1891
  const {
1902
- document: { body, documentElement } } =
1892
+ document: { documentElement } } =
1903
1893
  window;
1904
1894
  let viewportElement =
1905
- scrollElement === scrollingElement(scrollElement) || scrollElement === body ?
1906
- window :
1907
- scrollElement;
1895
+ scrollElement === scrollingElement(scrollElement) ? window : scrollElement;
1908
1896
 
1909
1897
  const { visualViewport } = window;
1910
1898
  if (isWindow(viewportElement) && visualViewport) {
@@ -2282,7 +2270,6 @@
2282
2270
  findAll: findAll,
2283
2271
  escape: escape,
2284
2272
  css: css,
2285
- getCssVar: getCssVar,
2286
2273
  propName: propName,
2287
2274
  isInView: isInView,
2288
2275
  scrollIntoView: scrollIntoView,
@@ -2947,7 +2934,7 @@
2947
2934
  UIkit.data = '__uikit__';
2948
2935
  UIkit.prefix = 'uk-';
2949
2936
  UIkit.options = {};
2950
- UIkit.version = '3.14.4-dev.f2e3be255';
2937
+ UIkit.version = '3.14.4-dev.fea9fd466';
2951
2938
 
2952
2939
  globalAPI(UIkit);
2953
2940
  hooksAPI(UIkit);
@@ -3245,7 +3232,7 @@
3245
3232
 
3246
3233
  Transition.cancel(el);
3247
3234
 
3248
- const [scrollElement] = scrollParents(el);
3235
+ const [scrollElement] = scrollParents(el.offsetParent);
3249
3236
  css(scrollElement, 'overflowX', 'hidden');
3250
3237
 
3251
3238
  if (!isToggled(el)) {
@@ -3256,17 +3243,11 @@
3256
3243
  duration = velocity * width + duration;
3257
3244
 
3258
3245
  const percent = visible ? (width + marginLeft * (right ? -1 : 1)) / width * 100 : 0;
3259
- const offsetEl = offset(el);
3260
- const useClipPath = right ?
3261
- offsetEl.right < scrollElement.clientWidth :
3262
- Math.round(offsetEl.left) > 0;
3263
3246
 
3264
3247
  css(el, {
3265
- clipPath: useClipPath ?
3266
- right ? "polygon(0 0," +
3248
+ clipPath: right ? "polygon(0 0," +
3267
3249
  percent + "% 0," + percent + "% 100%,0 100%)" : "polygon(" + (
3268
- 100 - percent) + "% 0,100% 0,100% 100%," + (100 - percent) + "% 100%)" :
3269
- '',
3250
+ 100 - percent) + "% 0,100% 0,100% 100%," + (100 - percent) + "% 100%)",
3270
3251
  marginLeft: (100 - percent) * (right ? 1 : -1) / 100 * width });
3271
3252
 
3272
3253
 
@@ -3275,7 +3256,7 @@
3275
3256
  Transition.start(
3276
3257
  el,
3277
3258
  {
3278
- clipPath: useClipPath ? "polygon(0 0,100% 0,100% 100%,0 100%)" : '',
3259
+ clipPath: "polygon(0 0,100% 0,100% 100%,0 100%)",
3279
3260
  marginLeft: 0 },
3280
3261
 
3281
3262
  duration * (1 - percent / 100),
@@ -3284,11 +3265,9 @@
3284
3265
  Transition.start(
3285
3266
  el,
3286
3267
  {
3287
- clipPath: useClipPath ?
3288
- right ? "polygon(0 0,0 0,0 100%,0 100%)" : "polygon(100% 0,100% 0,100% 100%,100% 100%)" :
3268
+ clipPath: right ? "polygon(0 0,0 0,0 100%,0 100%)" : "polygon(100% 0,100% 0,100% 100%,100% 100%)",
3289
3269
 
3290
3270
 
3291
- '',
3292
3271
  marginLeft: (right ? 1 : -1) * width },
3293
3272
 
3294
3273
  duration * (percent / 100),
@@ -3715,7 +3694,7 @@
3715
3694
  getPositionOffset(element) {
3716
3695
  return (
3717
3696
  toPx(
3718
- this.offset === false ? getCssVar('position-offset', element) : this.offset,
3697
+ this.offset === false ? css(element, '--uk-position-offset') : this.offset,
3719
3698
  this.axis === 'x' ? 'width' : 'height',
3720
3699
  element) * (
3721
3700
  includes(['left', 'top'], this.dir) ? -1 : 1));
@@ -3726,14 +3705,14 @@
3726
3705
  return includes(['center', 'justify', 'stretch'], this.align) ?
3727
3706
  0 :
3728
3707
  toPx(
3729
- getCssVar('position-shift-offset', element),
3708
+ css(element, '--uk-position-shift-offset'),
3730
3709
  this.axis === 'y' ? 'width' : 'height',
3731
3710
  element) * (
3732
3711
  includes(['left', 'top'], this.align) ? 1 : -1);
3733
3712
  },
3734
3713
 
3735
3714
  getViewportOffset(element) {
3736
- return toPx(getCssVar('position-viewport-offset', element));
3715
+ return toPx(css(element, '--uk-position-viewport-offset'));
3737
3716
  } } };
3738
3717
 
3739
3718
  const active$1 = [];
@@ -4973,8 +4952,11 @@
4973
4952
  let minHeight = '';
4974
4953
  const box = boxModelAdjust(this.$el, 'height', 'content-box');
4975
4954
 
4955
+ const { body, scrollingElement } = document;
4976
4956
  const [scrollElement] = scrollParents(this.$el, /auto|scroll/);
4977
- const { height: viewportHeight } = offsetViewport(scrollElement);
4957
+ const { height: viewportHeight } = offsetViewport(
4958
+ scrollElement === body ? scrollingElement : scrollElement);
4959
+
4978
4960
 
4979
4961
  if (this.expand) {
4980
4962
  minHeight = Math.max(
@@ -4984,7 +4966,8 @@
4984
4966
  0);
4985
4967
 
4986
4968
  } else {
4987
- const isScrollingElement = document.scrollingElement === scrollElement;
4969
+ const isScrollingElement =
4970
+ scrollingElement === scrollElement || body === scrollElement;
4988
4971
 
4989
4972
  // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4990
4973
  minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
@@ -5238,6 +5221,12 @@
5238
5221
 
5239
5222
  var marker = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"9\" y=\"4\" width=\"1\" height=\"11\"/><rect x=\"4\" y=\"9\" width=\"11\" height=\"1\"/></svg>";
5240
5223
 
5224
+ var navParentIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 3.5 6 8.5 11 3.5\"/></svg>";
5225
+
5226
+ var navParentIconLarge = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 4 7 10 13 4\"/></svg>";
5227
+
5228
+ var navbarParentIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 3.5 6 8.5 11 3.5\"/></svg>";
5229
+
5241
5230
  var navbarToggleIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect y=\"9\" width=\"20\" height=\"2\"/><rect y=\"3\" width=\"20\" height=\"2\"/><rect y=\"15\" width=\"20\" height=\"2\"/></svg>";
5242
5231
 
5243
5232
  var overlayIcon = "<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"19\" y=\"0\" width=\"1\" height=\"40\"/><rect x=\"0\" y=\"19\" width=\"40\" height=\"1\"/></svg>";
@@ -5270,6 +5259,9 @@
5270
5259
  marker,
5271
5260
  'close-icon': closeIcon,
5272
5261
  'close-large': closeLarge,
5262
+ 'nav-parent-icon': navParentIcon,
5263
+ 'nav-parent-icon-large': navParentIconLarge,
5264
+ 'navbar-parent-icon': navbarParentIcon,
5273
5265
  'navbar-toggle-icon': navbarToggleIcon,
5274
5266
  'overlay-icon': overlayIcon,
5275
5267
  'pagination-next': paginationNext,
@@ -5327,6 +5319,15 @@
5327
5319
  } };
5328
5320
 
5329
5321
 
5322
+ const NavParentIcon = {
5323
+ extends: IconComponent,
5324
+
5325
+ beforeConnect() {
5326
+ const icon = this.$props.icon;
5327
+ this.icon = closest(this.$el, '.uk-nav-primary') ? icon + "-large" : icon;
5328
+ } };
5329
+
5330
+
5330
5331
  const Slidenav = {
5331
5332
  extends: IconComponent,
5332
5333
 
@@ -5587,7 +5588,7 @@
5587
5588
 
5588
5589
 
5589
5590
  connected() {
5590
- const media = toMedia(this.media);
5591
+ const media = toMedia(this.media, this.$el);
5591
5592
  this.matchMedia = true;
5592
5593
  if (media) {
5593
5594
  this.mediaObj = window.matchMedia(media);
@@ -5608,11 +5609,10 @@
5608
5609
  } };
5609
5610
 
5610
5611
 
5611
- function toMedia(value) {
5612
+ function toMedia(value, element) {
5612
5613
  if (isString(value)) {
5613
5614
  if (startsWith(value, '@')) {
5614
- const name = "breakpoint-" + value.substr(1);
5615
- value = toFloat(getCssVar(name));
5615
+ value = toFloat(css(element, "--uk-breakpoint-" + value.substr(1)));
5616
5616
  } else if (isNaN(value)) {
5617
5617
  return value;
5618
5618
  }
@@ -5637,7 +5637,7 @@
5637
5637
 
5638
5638
  computed: {
5639
5639
  fill(_ref) {let { fill } = _ref;
5640
- return fill || getCssVar('leader-fill-content');
5640
+ return fill || css(this.$el, '--uk-leader-fill-content');
5641
5641
  } },
5642
5642
 
5643
5643
 
@@ -7694,10 +7694,12 @@
7694
7694
  Video: Video,
7695
7695
  Close: Close,
7696
7696
  Spinner: Spinner,
7697
+ NavParentIcon: NavParentIcon,
7697
7698
  SlidenavNext: Slidenav,
7698
7699
  SlidenavPrevious: Slidenav,
7699
7700
  SearchIcon: Search,
7700
7701
  Marker: IconComponent,
7702
+ NavbarParentIcon: IconComponent,
7701
7703
  NavbarToggleIcon: IconComponent,
7702
7704
  OverlayIcon: IconComponent,
7703
7705
  PaginationNext: IconComponent,
@@ -8187,7 +8189,7 @@
8187
8189
 
8188
8190
  },
8189
8191
 
8190
- setState(state, animate) {if (animate === void 0) {animate = true;}
8192
+ async setState(state, animate) {if (animate === void 0) {animate = true;}
8191
8193
  state = { filter: { '': '' }, sort: [], ...state };
8192
8194
 
8193
8195
  trigger(this.$el, 'beforeFilter', [this, state]);
@@ -8196,15 +8198,17 @@
8196
8198
  toggleClass(el, this.cls, !!matchFilter(el, this.attrItem, state)));
8197
8199
 
8198
8200
 
8199
- Promise.all(
8201
+ await Promise.all(
8200
8202
  $$(this.target, this.$el).map((target) => {
8201
8203
  const filterFn = () => {
8202
8204
  applyState(state, target, children(target));
8203
8205
  this.$update(this.$el);
8204
8206
  };
8205
8207
  return animate ? this.animate(filterFn, target) : filterFn();
8206
- })).
8207
- then(() => trigger(this.$el, 'afterFilter', [this]));
8208
+ }));
8209
+
8210
+
8211
+ trigger(this.$el, 'afterFilter', [this]);
8208
8212
  },
8209
8213
 
8210
8214
  updateState() {