uikit 3.25.4 → 3.25.5-dev.82c4ad8

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 (48) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/publishDev.js +6 -2
  3. package/dist/css/uikit-core-rtl.css +1 -1
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +1 -1
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +1 -1
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +1 -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 +1 -1
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +2 -4
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +2 -4
  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 -4
  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 +2 -4
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +5 -6
  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 +50 -9
  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 +55 -17
  42. package/dist/js/uikit.min.js +1 -1
  43. package/package.json +64 -63
  44. package/src/js/components/sortable.js +5 -6
  45. package/src/js/core/overflow-fade.js +83 -8
  46. package/src/js/mixin/slider-drag.js +1 -3
  47. package/src/less/components/nav.less +0 -1
  48. package/src/scss/components/nav.scss +0 -1
package/package.json CHANGED
@@ -1,64 +1,65 @@
1
1
  {
2
- "name": "uikit",
3
- "title": "UIkit",
4
- "description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
5
- "version": "3.25.4",
6
- "main": "dist/js/uikit.js",
7
- "style": "dist/css/uikit.css",
8
- "sideEffects": [
9
- "*.css",
10
- "./src/js/*.js",
11
- "./dist/**/*.js"
12
- ],
13
- "repository": {
14
- "type": "git",
15
- "url": "git+https://github.com/uikit/uikit.git"
16
- },
17
- "license": "MIT",
18
- "bugs": {
19
- "url": "https://github.com/uikit/uikit/issues"
20
- },
21
- "homepage": "https://getuikit.com",
22
- "devDependencies": {
23
- "@eslint/js": "^9.39.2",
24
- "@rollup/plugin-alias": "^6.0.0",
25
- "@rollup/plugin-replace": "^6.0.3",
26
- "archiver": "^7.0.1",
27
- "camelcase": "^9.0.0",
28
- "chokidar-cli": "^3.0.0",
29
- "clean-css": "^5.3.3",
30
- "date-fns": "^4.1.0",
31
- "esbuild": "^0.27.2",
32
- "eslint": "^9.39.2",
33
- "eslint-config-prettier": "^10.1.8",
34
- "execa": "^9.6.1",
35
- "fs-extra": "^11.3.2",
36
- "glob": "^13.0.0",
37
- "globals": "^16.5.0",
38
- "inquirer": "^13.1.0",
39
- "less": "^4.5.1",
40
- "minimist": "^1.2.8",
41
- "number-precision": "^1.6.0",
42
- "p-limit": "^7.2.0",
43
- "prettier": "^3.7.4",
44
- "prettier-plugin-organize-imports": "^4.3.0",
45
- "rollup": "^4.53.5",
46
- "rollup-plugin-esbuild": "^6.2.1",
47
- "rtlcss": "^4.3.0",
48
- "semver": "^7.7.3",
49
- "strip-css-comments": "^5.0.0",
50
- "svgo": "^4.0.0"
51
- },
52
- "scripts": {
53
- "build-scss": "node build/scss",
54
- "compile": "pnpm compile-less && pnpm compile-js",
55
- "compile-js": "node build/build",
56
- "compile-less": "pnpm icons && node build/less",
57
- "compile-rtl": "pnpm compile-less rtl",
58
- "icons": "node build/icons",
59
- "prefix": "node build/prefix",
60
- "scope": "node build/scope",
61
- "release": "node build/release",
62
- "watch": "chokidar \"**/*.less\" --initial -i \"node_modules\" -c \"node build/less\""
63
- }
64
- }
2
+ "name": "uikit",
3
+ "title": "UIkit",
4
+ "description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
5
+ "version": "3.25.5-dev.82c4ad8",
6
+ "main": "dist/js/uikit.js",
7
+ "style": "dist/css/uikit.css",
8
+ "sideEffects": [
9
+ "*.css",
10
+ "./src/js/*.js",
11
+ "./dist/**/*.js"
12
+ ],
13
+ "scripts": {
14
+ "build-scss": "node build/scss",
15
+ "compile": "pnpm compile-less && pnpm compile-js",
16
+ "compile-js": "node build/build",
17
+ "compile-less": "pnpm icons && node build/less",
18
+ "compile-rtl": "pnpm compile-less rtl",
19
+ "icons": "node build/icons",
20
+ "prefix": "node build/prefix",
21
+ "scope": "node build/scope",
22
+ "release": "node build/release",
23
+ "watch": "chokidar \"**/*.less\" --initial -i \"node_modules\" -c \"node build/less\""
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/uikit/uikit.git"
28
+ },
29
+ "license": "MIT",
30
+ "bugs": {
31
+ "url": "https://github.com/uikit/uikit/issues"
32
+ },
33
+ "homepage": "https://getuikit.com",
34
+ "packageManager": "pnpm@10.24.0",
35
+ "devDependencies": {
36
+ "@eslint/js": "^9.39.2",
37
+ "@rollup/plugin-alias": "^6.0.0",
38
+ "@rollup/plugin-replace": "^6.0.3",
39
+ "archiver": "^7.0.1",
40
+ "camelcase": "^9.0.0",
41
+ "chokidar-cli": "^3.0.0",
42
+ "clean-css": "^5.3.3",
43
+ "date-fns": "^4.1.0",
44
+ "esbuild": "^0.27.2",
45
+ "eslint": "^9.39.2",
46
+ "eslint-config-prettier": "^10.1.8",
47
+ "execa": "^9.6.1",
48
+ "fs-extra": "^11.3.2",
49
+ "glob": "^13.0.0",
50
+ "globals": "^17.0.0",
51
+ "inquirer": "^13.1.0",
52
+ "less": "^4.5.1",
53
+ "minimist": "^1.2.8",
54
+ "number-precision": "^1.6.0",
55
+ "p-limit": "^7.2.0",
56
+ "prettier": "^3.7.4",
57
+ "prettier-plugin-organize-imports": "^4.3.0",
58
+ "rollup": "^4.53.5",
59
+ "rollup-plugin-esbuild": "^6.2.1",
60
+ "rtlcss": "^4.3.0",
61
+ "semver": "^7.7.3",
62
+ "strip-css-comments": "^5.0.0",
63
+ "svgo": "^4.0.0"
64
+ }
65
+ }
@@ -142,8 +142,7 @@ export default {
142
142
  sortable.target,
143
143
  target,
144
144
  placeholder,
145
- x,
146
- y,
145
+ { x, y },
147
146
  sortable === previous && data.moved !== target,
148
147
  );
149
148
 
@@ -365,7 +364,7 @@ function findTarget(items, point) {
365
364
  return items[findIndex(items, (item) => pointInRect(point, dimensions(item)))];
366
365
  }
367
366
 
368
- function findInsertTarget(list, target, placeholder, x, y, sameList) {
367
+ function findInsertTarget(list, target, placeholder, point, sameList) {
369
368
  if (!children(list).length) {
370
369
  return;
371
370
  }
@@ -373,7 +372,7 @@ function findInsertTarget(list, target, placeholder, x, y, sameList) {
373
372
  const rect = dimensions(target);
374
373
  if (!sameList) {
375
374
  if (!isHorizontal(list, placeholder)) {
376
- return y < rect.top + rect.height / 2 ? target : target.nextElementSibling;
375
+ return point.y < rect.top + rect.height / 2 ? target : target.nextElementSibling;
377
376
  }
378
377
 
379
378
  return target;
@@ -386,8 +385,8 @@ function findInsertTarget(list, target, placeholder, x, y, sameList) {
386
385
  );
387
386
 
388
387
  const [pointerPos, lengthProp, startProp, endProp] = sameRow
389
- ? [x, 'width', 'left', 'right']
390
- : [y, 'height', 'top', 'bottom'];
388
+ ? [point.x, 'width', 'left', 'right']
389
+ : [point.y, 'height', 'top', 'bottom'];
391
390
 
392
391
  const diff =
393
392
  placeholderRect[lengthProp] < rect[lengthProp]
@@ -1,22 +1,45 @@
1
- import { children, clamp, css, toggleClass } from 'uikit-util';
1
+ import {
2
+ children,
3
+ clamp,
4
+ css,
5
+ getEventPos,
6
+ hasClass,
7
+ isInput,
8
+ isTouch,
9
+ on,
10
+ pointerCancel,
11
+ pointerDown,
12
+ pointerMove,
13
+ pointerUp,
14
+ selInput,
15
+ toggleClass,
16
+ } from 'uikit-util';
2
17
  import { mutation, resize } from '../api/observables';
3
18
 
4
19
  export default {
5
20
  data: {
21
+ threshold: 5,
6
22
  fadeDuration: 0.05,
7
23
  },
8
24
 
9
- events: {
10
- name: 'scroll',
25
+ events: [
26
+ {
27
+ name: 'scroll',
11
28
 
12
- self: true,
29
+ self: true,
13
30
 
14
- passive: true,
31
+ passive: true,
15
32
 
16
- handler() {
17
- this.$emit();
33
+ handler() {
34
+ this.$emit();
35
+ },
18
36
  },
19
- },
37
+ {
38
+ name: pointerDown,
39
+
40
+ handler: handleMouseDrag,
41
+ },
42
+ ],
20
43
 
21
44
  observe: [
22
45
  mutation({
@@ -65,3 +88,55 @@ export default {
65
88
  events: ['resize'],
66
89
  },
67
90
  };
91
+
92
+ function handleMouseDrag(e) {
93
+ const { target, button, defaultPrevented } = e;
94
+
95
+ if (
96
+ defaultPrevented ||
97
+ button > 0 ||
98
+ isTouch(e) ||
99
+ target.closest(selInput) ||
100
+ isInput(target)
101
+ ) {
102
+ return;
103
+ }
104
+
105
+ e.preventDefault();
106
+
107
+ const pointerOptions = { passive: false, capture: true };
108
+ const { $el: el, threshold, $options } = this;
109
+ let started;
110
+
111
+ const off = on(document, pointerMove, move(e), pointerOptions);
112
+ on(document, [pointerUp, pointerCancel], end, { capture: true, once: true });
113
+
114
+ function move(e) {
115
+ let origin = getEventPos(e);
116
+ let pos = origin;
117
+ let lastPos = pos;
118
+
119
+ return function (e) {
120
+ lastPos = pos;
121
+ pos = getEventPos(e);
122
+
123
+ const isVertical = hasClass(el, `${$options.id}-vertical`);
124
+ const prop = isVertical ? 'y' : 'x';
125
+
126
+ started ||= Math.abs(pos[prop] - origin[prop]) > threshold;
127
+
128
+ if (started) {
129
+ const delta = lastPos[prop] - pos[prop];
130
+ el[isVertical ? 'scrollTop' : 'scrollLeft'] += delta;
131
+ }
132
+ };
133
+ }
134
+
135
+ function end() {
136
+ off();
137
+
138
+ if (started) {
139
+ setTimeout(on(el, 'click', (e) => e.preventDefault(), pointerOptions));
140
+ }
141
+ }
142
+ }
@@ -13,7 +13,6 @@ import {
13
13
  } from 'uikit-util';
14
14
 
15
15
  const pointerOptions = { passive: false, capture: true };
16
- const pointerUpOptions = { passive: true, capture: true };
17
16
  const pointerDown = 'touchstart mousedown';
18
17
  const pointerMove = 'touchmove mousemove';
19
18
  const pointerUp = 'touchend touchcancel mouseup click input scroll';
@@ -104,7 +103,7 @@ export default {
104
103
  on(document, pointerMove, this.move, pointerOptions);
105
104
 
106
105
  // 'input' event is triggered by video controls
107
- on(document, pointerUp, this.end, pointerUpOptions);
106
+ on(document, pointerUp, this.end, { passive: true, capture: true, once: true });
108
107
 
109
108
  css(this.list, 'userSelect', 'none');
110
109
  },
@@ -181,7 +180,6 @@ export default {
181
180
 
182
181
  end() {
183
182
  off(document, pointerMove, this.move, pointerOptions);
184
- off(document, pointerUp, this.end, pointerUpOptions);
185
183
 
186
184
  if (this.dragging) {
187
185
  setTimeout(on(this.list, 'click', (e) => e.preventDefault(), pointerOptions));
@@ -375,7 +375,6 @@ ul.uk-nav-sub {
375
375
  */
376
376
 
377
377
  .uk-nav-secondary > li > a {
378
-
379
378
  color: @nav-secondary-item-color;
380
379
  .hook-nav-secondary-item();
381
380
  }
@@ -312,7 +312,6 @@ ul.uk-nav-sub {
312
312
  */
313
313
 
314
314
  .uk-nav-secondary > li > a {
315
-
316
315
  color: $nav-secondary-item-color;
317
316
  @if(meta.mixin-exists(hook-nav-secondary-item)) {@include hook-nav-secondary-item();}
318
317
  }