uikit 3.25.8 → 3.25.10-dev.17473f4

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 (49) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/build/scss.js +1 -3
  3. package/dist/css/uikit-core-rtl.css +4 -1
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +4 -1
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +4 -1
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +4 -1
  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 +1 -1
  13. package/dist/js/components/filter.js +4 -3
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +1 -1
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +1 -1
  18. package/dist/js/components/lightbox.min.js +1 -1
  19. package/dist/js/components/notification.js +1 -1
  20. package/dist/js/components/notification.min.js +1 -1
  21. package/dist/js/components/parallax.js +1 -1
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +1 -1
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +2 -2
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +1 -1
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +1 -1
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +4 -3
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +1 -1
  34. package/dist/js/components/tooltip.min.js +1 -1
  35. package/dist/js/components/upload.js +1 -1
  36. package/dist/js/components/upload.min.js +1 -1
  37. package/dist/js/uikit-core.js +30 -22
  38. package/dist/js/uikit-core.min.js +1 -1
  39. package/dist/js/uikit-icons.js +1 -1
  40. package/dist/js/uikit-icons.min.js +1 -1
  41. package/dist/js/uikit.js +31 -23
  42. package/dist/js/uikit.min.js +1 -1
  43. package/package.json +4 -4
  44. package/src/js/components/slider.js +1 -1
  45. package/src/js/core/height-viewport.js +1 -2
  46. package/src/js/core/margin.js +4 -2
  47. package/src/js/core/switcher.js +27 -18
  48. package/src/less/components/lightbox.less +2 -0
  49. package/src/scss/components/lightbox.scss +2 -0
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.8",
5
+ "version": "3.25.10-dev.17473f4",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -31,9 +31,9 @@
31
31
  "url": "https://github.com/uikit/uikit/issues"
32
32
  },
33
33
  "homepage": "https://getuikit.com",
34
- "packageManager": "pnpm@10.28.2",
34
+ "packageManager": "pnpm@10.29.2",
35
35
  "devDependencies": {
36
- "@eslint/js": "^9.39.2",
36
+ "@eslint/js": "^10.0.1",
37
37
  "@rollup/plugin-alias": "^6.0.0",
38
38
  "@rollup/plugin-replace": "^6.0.3",
39
39
  "archiver": "^7.0.1",
@@ -42,7 +42,7 @@
42
42
  "clean-css": "^5.3.3",
43
43
  "date-fns": "^4.1.0",
44
44
  "esbuild": "^0.27.2",
45
- "eslint": "^9.39.2",
45
+ "eslint": "^10.0.0",
46
46
  "eslint-config-prettier": "^10.1.8",
47
47
  "execa": "^9.6.1",
48
48
  "fs-extra": "^11.3.2",
@@ -312,7 +312,7 @@ export default {
312
312
  : getWidth(this.list, this.maxIndex);
313
313
 
314
314
  let dist = percent * scrollDist;
315
- let slidePercent = 0;
315
+ let slidePercent;
316
316
 
317
317
  do {
318
318
  const slideWidth = dimensions(this.slides[++index]).width;
@@ -51,7 +51,6 @@ export default {
51
51
  return { minHeight: false };
52
52
  }
53
53
 
54
- let minHeight = '';
55
54
  const box = boxModelAdjust(this.$el, 'height', 'content-box');
56
55
 
57
56
  const { body, scrollingElement } = document;
@@ -63,7 +62,7 @@ export default {
63
62
  const isScrollingElement = scrollingElement === scrollElement || body === scrollElement;
64
63
 
65
64
  // on mobile devices (iOS and Android) window.innerHeight !== 100vh
66
- minHeight = `calc(${isScrollingElement ? '100vh' : `${viewportHeight}px`}`;
65
+ let minHeight = `calc(${isScrollingElement ? '100vh' : `${viewportHeight}px`}`;
67
66
 
68
67
  if (this.expand) {
69
68
  const diff = dimensions(scrollElement).height - dimensions(this.$el).height;
@@ -27,13 +27,15 @@ export default {
27
27
  resize({
28
28
  handler(mutations) {
29
29
  for (const {
30
+ target,
30
31
  borderBoxSize: [{ inlineSize, blockSize }],
31
32
  } of mutations) {
32
- if (inlineSize || blockSize) {
33
- this.$emit('resize');
33
+ // Skip if the element is hidden
34
+ if (target === this.$el && !inlineSize && !blockSize) {
34
35
  return;
35
36
  }
36
37
  }
38
+ this.$emit('resize');
37
39
  },
38
40
  target: ({ $el }) => [$el, ...children($el)],
39
41
  }),
@@ -8,8 +8,7 @@ import {
8
8
  findIndex,
9
9
  getIndex,
10
10
  hasClass,
11
- includes,
12
- isNode,
11
+ isNumeric,
13
12
  isTag,
14
13
  matches,
15
14
  queryAll,
@@ -85,10 +84,10 @@ export default {
85
84
  this.$emit();
86
85
  },
87
86
 
88
- toggles(toggles) {
87
+ toggles() {
89
88
  this.$emit();
90
89
  const active = this.index();
91
- this.show(~active ? active : toggles[this.active] || toggles[0]);
90
+ this.show(~active ? active : this.next(this.active));
92
91
  },
93
92
  },
94
93
 
@@ -142,8 +141,7 @@ export default {
142
141
 
143
142
  if (~i) {
144
143
  e.preventDefault();
145
- const toggles = this.toggles.filter((el) => !matches(el, selDisabled));
146
- const next = toggles[getIndex(i, toggles, toggles.indexOf(current))];
144
+ const next = this.toggles[this.next(i, this.toggles.indexOf(current))];
147
145
  next.focus();
148
146
  if (this.followFocus) {
149
147
  this.show(next);
@@ -213,32 +211,43 @@ export default {
213
211
  return findIndex(this.children, (el) => hasClass(el, this.cls));
214
212
  },
215
213
 
216
- show(item) {
214
+ next(item, prev = this.index()) {
215
+ if (isNumeric(item)) {
216
+ for (let i = 0; i < this.toggles.length; i++) {
217
+ let index = getIndex(i + +item, this.toggles);
218
+ if (!matches(this.toggles[index], selDisabled)) {
219
+ return index;
220
+ }
221
+ }
222
+ }
223
+
217
224
  const toggles = this.toggles.filter((el) => !matches(el, selDisabled));
218
- const prev = this.index();
219
- const next = getIndex(
220
- !isNode(item) || includes(toggles, item) ? item : 0,
221
- toggles,
222
- getIndex(this.toggles[prev], toggles),
225
+ return getIndex(
226
+ toggles[getIndex(item, toggles, toggles.indexOf(this.toggles[prev]))],
227
+ this.toggles,
223
228
  );
224
- const active = getIndex(toggles[next], this.toggles);
229
+ },
230
+
231
+ show(item) {
232
+ const prev = this.index();
233
+ const next = this.next(item);
225
234
 
226
235
  this.children.forEach((child, i) => {
227
- toggleClass(child, this.cls, active === i);
236
+ toggleClass(child, this.cls, next === i);
228
237
  attr(this.toggles[i], {
229
- 'aria-selected': active === i,
230
- tabindex: active === i ? null : -1,
238
+ 'aria-selected': next === i,
239
+ tabindex: next === i ? null : -1,
231
240
  });
232
241
  });
233
242
 
234
243
  const animate = prev >= 0 && prev !== next;
235
244
  this.connects.forEach(async ({ children }) => {
236
245
  const actives = toArray(children).filter(
237
- (child, i) => i !== active && hasClass(child, this.cls),
246
+ (child, i) => i !== next && hasClass(child, this.cls),
238
247
  );
239
248
 
240
249
  if (await this.toggleElement(actives, false, animate)) {
241
- await this.toggleElement(children[active], true, animate);
250
+ await this.toggleElement(children[next], true, animate);
242
251
  }
243
252
  });
244
253
  },
@@ -154,6 +154,8 @@
154
154
  max-height: @lightbox-item-max-height;
155
155
  }
156
156
 
157
+ .uk-lightbox-items-fit > * > :not(iframe) { object-fit: contain; }
158
+
157
159
  /* Zoom Cursor */
158
160
  .uk-lightbox-items.uk-lightbox-items-fit .uk-lightbox-zoom:hover { cursor: zoom-in; }
159
161
  .uk-lightbox-items:not(.uk-lightbox-items-fit) .uk-lightbox-zoom:hover { cursor: zoom-out; }
@@ -144,6 +144,8 @@
144
144
  max-height: $lightbox-item-max-height;
145
145
  }
146
146
 
147
+ .uk-lightbox-items-fit > * > :not(iframe) { object-fit: contain; }
148
+
147
149
  /* Zoom Cursor */
148
150
  .uk-lightbox-items.uk-lightbox-items-fit .uk-lightbox-zoom:hover { cursor: zoom-in; }
149
151
  .uk-lightbox-items:not(.uk-lightbox-items-fit) .uk-lightbox-zoom:hover { cursor: zoom-out; }