uikit 3.15.23-dev.0a3f7fb6d → 3.15.23-dev.7b7e06a3a

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 (68) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/util.js +22 -24
  3. package/dist/css/uikit-core-rtl.css +9 -5
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +9 -5
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +9 -5
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +9 -5
  10. package/dist/css/uikit.min.css +1 -1
  11. package/dist/js/components/countdown.js +1 -1
  12. package/dist/js/components/countdown.min.js +2 -2
  13. package/dist/js/components/filter.js +1 -1
  14. package/dist/js/components/filter.min.js +2 -2
  15. package/dist/js/components/lightbox-panel.js +14 -61
  16. package/dist/js/components/lightbox-panel.min.js +2 -2
  17. package/dist/js/components/lightbox.js +14 -61
  18. package/dist/js/components/lightbox.min.js +2 -2
  19. package/dist/js/components/notification.js +1 -1
  20. package/dist/js/components/notification.min.js +2 -2
  21. package/dist/js/components/parallax.js +1 -1
  22. package/dist/js/components/parallax.min.js +2 -2
  23. package/dist/js/components/slider-parallax.js +1 -1
  24. package/dist/js/components/slider-parallax.min.js +2 -2
  25. package/dist/js/components/slider.js +1 -1
  26. package/dist/js/components/slider.min.js +2 -2
  27. package/dist/js/components/slideshow-parallax.js +1 -1
  28. package/dist/js/components/slideshow-parallax.min.js +2 -2
  29. package/dist/js/components/slideshow.js +1 -1
  30. package/dist/js/components/slideshow.min.js +2 -2
  31. package/dist/js/components/sortable.js +1 -1
  32. package/dist/js/components/sortable.min.js +2 -2
  33. package/dist/js/components/tooltip.js +1 -1
  34. package/dist/js/components/tooltip.min.js +2 -2
  35. package/dist/js/components/upload.js +1 -1
  36. package/dist/js/components/upload.min.js +2 -2
  37. package/dist/js/uikit-core.js +25 -73
  38. package/dist/js/uikit-core.min.js +2 -2
  39. package/dist/js/uikit-icons.js +1 -1
  40. package/dist/js/uikit-icons.min.js +2 -2
  41. package/dist/js/uikit.js +25 -73
  42. package/dist/js/uikit.min.js +2 -2
  43. package/package.json +1 -1
  44. package/src/images/components/subnav-parent-icon.svg +3 -0
  45. package/src/js/core/drop.js +8 -13
  46. package/src/js/core/icon.js +2 -0
  47. package/src/js/core/index.js +1 -0
  48. package/src/js/mixin/modal.js +22 -71
  49. package/src/less/components/form.less +7 -1
  50. package/src/less/components/modal.less +0 -1
  51. package/src/less/components/offcanvas.less +0 -1
  52. package/src/less/components/subnav.less +12 -0
  53. package/src/less/components/utility.less +1 -5
  54. package/src/less/theme/form.less +9 -1
  55. package/src/scss/components/form.scss +3 -0
  56. package/src/scss/components/modal.scss +0 -1
  57. package/src/scss/components/offcanvas.scss +0 -1
  58. package/src/scss/components/subnav.scss +12 -0
  59. package/src/scss/components/utility.scss +1 -5
  60. package/src/scss/mixins-theme.scss +6 -1
  61. package/src/scss/mixins.scss +6 -1
  62. package/src/scss/theme/form.scss +9 -0
  63. package/src/scss/variables-theme.scss +1 -0
  64. package/src/scss/variables.scss +1 -0
  65. package/tests/dropdown.html +0 -1
  66. package/tests/index.html +42 -3
  67. package/tests/navbar.html +0 -1
  68. package/tests/subnav.html +35 -38
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.15.23-dev.0a3f7fb6d | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
1
+ /*! UIkit 3.15.23-dev.7b7e06a3a | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -2975,7 +2975,7 @@
2975
2975
  UIkit.data = '__uikit__';
2976
2976
  UIkit.prefix = 'uk-';
2977
2977
  UIkit.options = {};
2978
- UIkit.version = '3.15.23-dev.0a3f7fb6d';
2978
+ UIkit.version = '3.15.23-dev.7b7e06a3a';
2979
2979
 
2980
2980
  globalAPI(UIkit);
2981
2981
  hooksAPI(UIkit);
@@ -3908,8 +3908,7 @@
3908
3908
 
3909
3909
 
3910
3910
  if (this.overlay) {
3911
- once(this.$el, 'hidden', preventOverscroll(this.$el), { self: true });
3912
- once(this.$el, 'hidden', preventBackgroundScroll(), { self: true });
3911
+ once(this.$el, 'hidden', preventBackgroundScroll(this.$el), { self: true });
3913
3912
  }
3914
3913
 
3915
3914
  if (this.stack) {
@@ -4052,31 +4051,10 @@
4052
4051
  return time ? endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000 : 0;
4053
4052
  }
4054
4053
 
4055
- function preventOverscroll(el) {
4056
- if (CSS.supports('overscroll-behavior', 'contain')) {
4057
- const elements = [
4058
- el,
4059
- ...filterChildren(el, (child) => /auto|scroll/.test(css(child, 'overflow')))];
4060
-
4061
- css(elements, 'overscrollBehavior', 'contain');
4062
- return () => css(elements, 'overscrollBehavior', '');
4063
- }
4064
-
4065
- let startClientY;
4066
-
4067
- const events = [
4068
- on(
4069
- el,
4070
- 'touchstart',
4071
- ({ targetTouches }) => {
4072
- if (targetTouches.length === 1) {
4073
- startClientY = targetTouches[0].clientY;
4074
- }
4075
- },
4076
- { passive: true }),
4077
-
4078
-
4079
- on(
4054
+ let prevented;
4055
+ function preventBackgroundScroll(el) {
4056
+ // 'overscroll-behavior: contain' only works consistently if el overflows (Safari)
4057
+ const off = on(
4080
4058
  el,
4081
4059
  'touchmove',
4082
4060
  (e) => {
@@ -4084,58 +4062,33 @@
4084
4062
  return;
4085
4063
  }
4086
4064
 
4087
- let [scrollParent] = scrollParents(e.target);
4088
- if (!within(scrollParent, el)) {
4089
- scrollParent = el;
4090
- }
4091
-
4092
- const clientY = e.targetTouches[0].clientY - startClientY;
4093
- const { scrollTop, scrollHeight, clientHeight } = scrollParent;
4065
+ let [{ scrollHeight, clientHeight }] = scrollParents(e.target);
4094
4066
 
4095
- if (
4096
- clientHeight >= scrollHeight ||
4097
- scrollTop === 0 && clientY > 0 ||
4098
- scrollHeight - scrollTop <= clientHeight && clientY < 0)
4099
- {
4100
- e.cancelable && e.preventDefault();
4067
+ if (clientHeight >= scrollHeight && e.cancelable) {
4068
+ e.preventDefault();
4101
4069
  }
4102
4070
  },
4103
- { passive: false })];
4104
-
4071
+ { passive: false });
4105
4072
 
4106
4073
 
4107
- return () => events.forEach((fn) => fn());
4108
- }
4109
-
4110
- let prevented;
4111
- function preventBackgroundScroll() {
4112
4074
  if (prevented) {
4113
- return noop;
4075
+ return off;
4114
4076
  }
4115
4077
  prevented = true;
4116
4078
 
4117
4079
  const { scrollingElement } = document;
4118
4080
  css(scrollingElement, {
4119
- overflowY: 'hidden',
4081
+ overflowY: CSS.supports('overflow', 'clip') ? 'clip' : 'hidden',
4120
4082
  touchAction: 'none',
4121
- paddingRight: width(window) - scrollingElement.clientWidth
4083
+ paddingRight: width(window) - scrollingElement.clientWidth || ''
4122
4084
  });
4123
4085
  return () => {
4124
4086
  prevented = false;
4087
+ off();
4125
4088
  css(scrollingElement, { overflowY: '', touchAction: '', paddingRight: '' });
4126
4089
  };
4127
4090
  }
4128
4091
 
4129
- function filterChildren(el, fn) {
4130
- const children = [];
4131
- apply(el, (node) => {
4132
- if (fn(node)) {
4133
- children.push(node);
4134
- }
4135
- });
4136
- return children;
4137
- }
4138
-
4139
4092
  function isSameSiteAnchor(a) {
4140
4093
  return ['origin', 'pathname', 'search'].every((part) => a[part] === location[part]);
4141
4094
  }
@@ -4410,20 +4363,15 @@
4410
4363
  return () => observer.disconnect();
4411
4364
  })(),
4412
4365
 
4413
- ...(this.autoUpdate ?
4414
- [
4415
- on([document, overflowParents(this.$el)], 'scroll', update, {
4366
+ this.autoUpdate &&
4367
+ on([document, ...overflowParents(this.$el)], 'scroll', update, {
4416
4368
  passive: true
4417
- })] :
4418
-
4419
- []),
4369
+ }),
4420
4370
 
4421
- ...(this.bgScroll ?
4422
- [] :
4423
- [preventOverscroll(this.$el), preventBackgroundScroll()])];
4371
+ this.bgScroll && preventBackgroundScroll(this.$el)];
4424
4372
 
4425
4373
 
4426
- once(this.$el, 'hide', () => handlers.forEach((handler) => handler()), {
4374
+ once(this.$el, 'hide', () => handlers.forEach((handler) => handler == null ? void 0 : handler()), {
4427
4375
  self: true
4428
4376
  });
4429
4377
  }
@@ -5388,6 +5336,8 @@
5388
5336
 
5389
5337
  var spinner = "<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\"><circle fill=\"none\" stroke=\"#000\" cx=\"15\" cy=\"15\" r=\"14\"/></svg>";
5390
5338
 
5339
+ var subnavParentIcon = "<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>";
5340
+
5391
5341
  var totop = "<svg width=\"18\" height=\"10\" viewBox=\"0 0 18 10\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" points=\"1 9 9 1 17 9 \"/></svg>";
5392
5342
 
5393
5343
  const icons = {
@@ -5409,7 +5359,8 @@
5409
5359
  'slidenav-next': slidenavNext,
5410
5360
  'slidenav-next-large': slidenavNextLarge,
5411
5361
  'slidenav-previous': slidenavPrevious,
5412
- 'slidenav-previous-large': slidenavPreviousLarge
5362
+ 'slidenav-previous-large': slidenavPreviousLarge,
5363
+ 'subnav-parent-icon': subnavParentIcon
5413
5364
  };
5414
5365
 
5415
5366
  const Icon = {
@@ -7868,6 +7819,7 @@
7868
7819
  SlidenavPrevious: Slidenav,
7869
7820
  Spinner: Spinner,
7870
7821
  Sticky: sticky,
7822
+ SubnavParentIcon: IconComponent,
7871
7823
  Svg: SVG,
7872
7824
  Switcher: Switcher,
7873
7825
  Tab: tab,