uikit 3.25.11 → 3.25.12-dev.7e5fa64

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 (52) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/css/uikit-core-rtl.css +10 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +10 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +10 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +10 -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 +3 -21
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +3 -21
  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 +3 -9
  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 +91 -105
  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 +91 -105
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/accordion.js +13 -19
  44. package/src/js/mixin/modal.js +1 -4
  45. package/src/js/mixin/position.js +1 -7
  46. package/src/js/mixin/togglable.js +3 -4
  47. package/src/less/components/accordion.less +3 -1
  48. package/src/less/components/nav.less +4 -0
  49. package/src/less/components/utility.less +7 -1
  50. package/src/scss/components/accordion.scss +3 -1
  51. package/src/scss/components/nav.scss +4 -0
  52. package/src/scss/components/utility.scss +7 -1
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.25.11",
5
+ "version": "3.25.12-dev.7e5fa64",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -83,15 +83,7 @@ export default {
83
83
  this.$emit();
84
84
  },
85
85
 
86
- contents(items) {
87
- for (const el of items) {
88
- const isOpen = hasClass(
89
- this.items.find((item) => item.contains(el)),
90
- this.clsOpen,
91
- );
92
-
93
- hide(el, !isOpen);
94
- }
86
+ contents() {
95
87
  this.$emit();
96
88
  },
97
89
  },
@@ -183,7 +175,6 @@ export default {
183
175
  toggleClass(el, this.clsOpen, show);
184
176
 
185
177
  if (animate === false || !this.animation) {
186
- hide($(this.content, el), !show);
187
178
  return;
188
179
  }
189
180
 
@@ -195,23 +186,28 @@ export default {
195
186
  },
196
187
  };
197
188
 
198
- function hide(el, hide) {
199
- el && (el.hidden = hide);
200
- }
201
-
202
189
  async function transition(el, show, { content, duration, velocity, transition }) {
203
190
  content = el._wrapper?.firstElementChild || $(content, el);
204
191
 
192
+ let hidden;
205
193
  if (!el._wrapper) {
206
194
  el._wrapper = wrapAll(content, '<div>');
195
+ hidden = show;
196
+ }
197
+
198
+ if (!show) {
199
+ css(content, 'display', 'flow-root');
207
200
  }
208
201
 
209
202
  const wrapper = el._wrapper;
210
203
  css(wrapper, 'overflow', 'hidden');
211
- const currentHeight = toFloat(css(wrapper, 'height'));
204
+ const currentHeight = hidden ? 0 : toFloat(css(wrapper, 'height'));
212
205
 
213
206
  await Transition.cancel(wrapper);
214
- hide(content, false);
207
+
208
+ if (show) {
209
+ css(content, 'display', 'flow-root');
210
+ }
215
211
 
216
212
  const endHeight =
217
213
  sumBy(['marginTop', 'marginBottom'], (prop) => css(content, prop)) +
@@ -226,9 +222,7 @@ async function transition(el, show, { content, duration, velocity, transition })
226
222
  unwrap(content);
227
223
  delete el._wrapper;
228
224
 
229
- if (!show) {
230
- hide(content, true);
231
- }
225
+ css(content, 'display', '');
232
226
  }
233
227
 
234
228
  function keepScrollPosition(el) {
@@ -23,7 +23,6 @@ import { preventBackgroundScroll } from '../util/scroll';
23
23
  import Class from './class';
24
24
  import Container from './container';
25
25
  import { maybeDefaultPreventClick } from './event';
26
- import { storeScrollPosition } from './position';
27
26
  import Togglable from './togglable';
28
27
 
29
28
  const active = [];
@@ -197,9 +196,7 @@ export default {
197
196
 
198
197
  queueMicrotask(() => {
199
198
  if (isFocusable(target)) {
200
- const restoreScrollPosition = storeScrollPosition(target);
201
- target.focus();
202
- restoreScrollPosition();
199
+ target.focus({ preventScroll: true });
203
200
  }
204
201
  });
205
202
  }
@@ -99,15 +99,9 @@ export function storeScrollPosition(element) {
99
99
  const scrollElement = scrollParent(element);
100
100
  const { scrollTop } = scrollElement;
101
101
 
102
- const restore = () => {
102
+ return () => {
103
103
  if (scrollTop !== scrollElement.scrollTop) {
104
104
  scrollElement.scrollTop = scrollTop;
105
105
  }
106
106
  };
107
-
108
- return () => {
109
- restore();
110
- // setTimeout is needed for iOS Safari
111
- setTimeout(restore);
112
- };
113
107
  }
@@ -20,7 +20,6 @@ import {
20
20
  unwrap,
21
21
  wrapInner,
22
22
  } from 'uikit-util';
23
- import { storeScrollPosition } from './position';
24
23
 
25
24
  export default {
26
25
  props: {
@@ -82,9 +81,9 @@ export default {
82
81
  trigger(el, show ? 'shown' : 'hidden', [this]);
83
82
 
84
83
  if (show) {
85
- const restoreScrollPosition = storeScrollPosition(el);
86
- $$('[autofocus]', el).find(isVisible)?.focus();
87
- restoreScrollPosition();
84
+ $$('[autofocus]', el)
85
+ .find(isVisible)
86
+ ?.focus({ preventScroll: true });
88
87
  }
89
88
  };
90
89
 
@@ -39,7 +39,9 @@
39
39
 
40
40
  .uk-accordion-title { display: block; }
41
41
 
42
- .uk-accordion-content { display: flow-root; }
42
+ .uk-accordion-content { display: none; }
43
+
44
+ .uk-open > .uk-accordion-content { display: flow-root; }
43
45
 
44
46
  /*
45
47
  * Remove margin from the last-child
@@ -131,6 +131,10 @@
131
131
  list-style: none;
132
132
  }
133
133
 
134
+ .uk-nav > .uk-parent > ul { display: none; }
135
+
136
+ .uk-nav > .uk-parent.uk-open > ul { display: block; }
137
+
134
138
  /*
135
139
  * 1. Center content vertically, e.g. an icon
136
140
  * 2. Imitate white space gap when using flexbox
@@ -180,7 +180,13 @@
180
180
  -webkit-overflow-scrolling: touch;
181
181
  -ms-overflow-style: -ms-autohiding-scrollbar;
182
182
  /* 2 */
183
- mask-image: linear-gradient(to var(--uk-overflow-fade-direction), rgba(0,0,0,var(--uk-overflow-fade-start-opacity)), #000 @overflow-fade-size, #000 ~'calc(100% - @{overflow-fade-size})', rgba(0,0,0,var(--uk-overflow-fade-end-opacity)));
183
+ mask-image: linear-gradient(
184
+ to var(--uk-overflow-fade-direction),
185
+ rgba(0,0,0,var(--uk-overflow-fade-start-opacity)),
186
+ #000 @overflow-fade-size,
187
+ #000 ~'calc(100% - @{overflow-fade-size})',
188
+ rgba(0,0,0,var(--uk-overflow-fade-end-opacity))
189
+ );
184
190
  /* 3 */
185
191
  scrollbar-width: none;
186
192
  }
@@ -34,7 +34,9 @@
34
34
 
35
35
  .uk-accordion-title { display: block; }
36
36
 
37
- .uk-accordion-content { display: flow-root; }
37
+ .uk-accordion-content { display: none; }
38
+
39
+ .uk-open > .uk-accordion-content { display: flow-root; }
38
40
 
39
41
  /*
40
42
  * Remove margin from the last-child
@@ -68,6 +68,10 @@ $nav-xlarge-font-size-l: 8rem !default; // 128px
68
68
  list-style: none;
69
69
  }
70
70
 
71
+ .uk-nav > .uk-parent > ul { display: none; }
72
+
73
+ .uk-nav > .uk-parent.uk-open > ul { display: block; }
74
+
71
75
  /*
72
76
  * 1. Center content vertically, e.g. an icon
73
77
  * 2. Imitate white space gap when using flexbox
@@ -163,7 +163,13 @@
163
163
  -webkit-overflow-scrolling: touch;
164
164
  -ms-overflow-style: -ms-autohiding-scrollbar;
165
165
  /* 2 */
166
- mask-image: linear-gradient(to var(--uk-overflow-fade-direction), rgba(0,0,0,var(--uk-overflow-fade-start-opacity)), #000 $overflow-fade-size, #000 string.unquote('calc(100% - #{$overflow-fade-size})'), rgba(0,0,0,var(--uk-overflow-fade-end-opacity)));
166
+ mask-image: linear-gradient(
167
+ to var(--uk-overflow-fade-direction),
168
+ rgba(0,0,0,var(--uk-overflow-fade-start-opacity)),
169
+ #000 $overflow-fade-size,
170
+ #000 string.unquote('calc(100% - #{$overflow-fade-size})'),
171
+ rgba(0,0,0,var(--uk-overflow-fade-end-opacity))
172
+ );
167
173
  /* 3 */
168
174
  scrollbar-width: none;
169
175
  }