uikit 3.20.7 → 3.20.8-dev.a340cc6f4

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 (46) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/publishDev.js +0 -0
  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 +5 -2
  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 +9 -6
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +9 -6
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +9 -6
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +9 -6
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +9 -6
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +28 -18
  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 +3 -3
  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 +30 -20
  42. package/dist/js/uikit.min.js +1 -1
  43. package/package.json +63 -64
  44. package/src/js/components/sortable.js +25 -19
  45. package/src/js/mixin/internal/animate-slide.js +9 -1
  46. package/src/js/util/filter.js +5 -5
package/package.json CHANGED
@@ -1,65 +1,64 @@
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.20.7",
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@9.0.5",
35
- "devDependencies": {
36
- "@eslint/js": "^9.0.0",
37
- "@rollup/plugin-alias": "^5.1.0",
38
- "@rollup/plugin-replace": "^5.0.5",
39
- "archiver": "^7.0.1",
40
- "camelcase": "^8.0.0",
41
- "chokidar-cli": "^3.0.0",
42
- "clean-css": "^5.3.3",
43
- "dateformat": "^5.0.3",
44
- "esbuild": "^0.20.1",
45
- "eslint": "^9.0.0",
46
- "eslint-config-prettier": "^9.1.0",
47
- "execa": "^8.0.1",
48
- "fs-extra": "^11.2.0",
49
- "glob": "^10.3.10",
50
- "globals": "^15.0.0",
51
- "inquirer": "^9.2.15",
52
- "less": "^4.2.0",
53
- "minimist": "^1.2.8",
54
- "number-precision": "^1.6.0",
55
- "p-limit": "^5.0.0",
56
- "prettier": "^3.2.5",
57
- "prettier-plugin-organize-imports": "^3.2.4",
58
- "rollup": "^4.13.0",
59
- "rollup-plugin-esbuild": "^6.1.1",
60
- "rollup-plugin-modify": "^3.0.0",
61
- "rtlcss": "^4.1.1",
62
- "semver": "^7.6.0",
63
- "svgo": "^3.2.0"
64
- }
65
- }
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.20.8-dev.a340cc6f4",
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.1.1",
24
+ "@rollup/plugin-alias": "^5.1.0",
25
+ "@rollup/plugin-replace": "^5.0.5",
26
+ "archiver": "^7.0.1",
27
+ "camelcase": "^8.0.0",
28
+ "chokidar-cli": "^3.0.0",
29
+ "clean-css": "^5.3.3",
30
+ "dateformat": "^5.0.3",
31
+ "esbuild": "^0.20.2",
32
+ "eslint": "^9.1.1",
33
+ "eslint-config-prettier": "^9.1.0",
34
+ "execa": "^8.0.1",
35
+ "fs-extra": "^11.2.0",
36
+ "glob": "^10.3.12",
37
+ "globals": "^15.0.0",
38
+ "inquirer": "^9.2.19",
39
+ "less": "^4.2.0",
40
+ "minimist": "^1.2.8",
41
+ "number-precision": "^1.6.0",
42
+ "p-limit": "^5.0.0",
43
+ "prettier": "^3.2.5",
44
+ "prettier-plugin-organize-imports": "^3.2.4",
45
+ "rollup": "^4.16.4",
46
+ "rollup-plugin-esbuild": "^6.1.1",
47
+ "rollup-plugin-modify": "^3.0.0",
48
+ "rtlcss": "^4.1.1",
49
+ "semver": "^7.6.0",
50
+ "svgo": "^3.2.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
+ }
@@ -65,16 +65,6 @@ export default {
65
65
  pos: {},
66
66
  },
67
67
 
68
- created() {
69
- for (const key of ['init', 'start', 'move', 'end']) {
70
- const fn = this[key];
71
- this[key] = (e) => {
72
- assign(this.pos, getEventPos(e));
73
- fn(e);
74
- };
75
- }
76
- },
77
-
78
68
  events: {
79
69
  name: pointerDown,
80
70
  passive: false,
@@ -194,6 +184,7 @@ export default {
194
184
 
195
185
  e.preventDefault();
196
186
 
187
+ this.pos = getEventPos(e);
197
188
  this.touched = new Set([this]);
198
189
  this.placeholder = placeholder;
199
190
  this.origin = { target, index: index(placeholder), ...this.pos };
@@ -223,7 +214,9 @@ export default {
223
214
  this.move(e);
224
215
  },
225
216
 
226
- move(e) {
217
+ move: throttle(function (e) {
218
+ assign(this.pos, getEventPos(e));
219
+
227
220
  if (this.drag) {
228
221
  this.$emit('move');
229
222
  } else if (
@@ -232,7 +225,7 @@ export default {
232
225
  ) {
233
226
  this.start(e);
234
227
  }
235
- },
228
+ }),
236
229
 
237
230
  end() {
238
231
  off(document, pointerMove, this.move);
@@ -272,17 +265,17 @@ export default {
272
265
  insert(element, target) {
273
266
  addClass(this.items, this.clsItem);
274
267
 
275
- const insert = () => (target ? before(target, element) : append(this.target, element));
276
-
277
- this.animate(insert);
268
+ if (target && target.previousElementSibling !== element) {
269
+ this.animate(() => before(target, element));
270
+ } else if (!target && this.target.lastElementChild !== element) {
271
+ this.animate(() => append(this.target, element));
272
+ }
278
273
  },
279
274
 
280
275
  remove(element) {
281
- if (!this.target.contains(element)) {
282
- return;
276
+ if (this.target.contains(element)) {
277
+ this.animate(() => remove(element));
283
278
  }
284
-
285
- this.animate(() => remove(element));
286
279
  },
287
280
 
288
281
  getSortable(element) {
@@ -438,3 +431,16 @@ function isHorizontal(list, placeholder) {
438
431
  function linesIntersect(lineA, lineB) {
439
432
  return lineA[1] > lineB[0] && lineB[1] > lineA[0];
440
433
  }
434
+
435
+ function throttle(fn) {
436
+ let throttled;
437
+ return function (...args) {
438
+ if (!throttled) {
439
+ throttled = true;
440
+ requestAnimationFrame(() => {
441
+ throttled = false;
442
+ fn.call(this, ...args);
443
+ });
444
+ }
445
+ };
446
+ }
@@ -21,8 +21,13 @@ export default async function (action, target, duration) {
21
21
  const currentProps = nodes.map((el) => getProps(el, true));
22
22
  const targetProps = { ...css(target, ['height', 'padding']), display: 'block' };
23
23
 
24
+ const targets = nodes.concat(target);
25
+
24
26
  // Cancel previous animations
25
- await Promise.all(nodes.concat(target).map(Transition.cancel));
27
+ await Promise.all(targets.map(Transition.cancel));
28
+
29
+ // Force transition to be canceled in Safari
30
+ css(targets, 'transitionProperty', 'none');
26
31
 
27
32
  // Adding, sorting, removing nodes
28
33
  await action();
@@ -33,6 +38,9 @@ export default async function (action, target, duration) {
33
38
  // Wait for update to propagate
34
39
  await Promise.resolve();
35
40
 
41
+ // Possibly reset the forced transition property
42
+ css(targets, 'transitionProperty', '');
43
+
36
44
  // Get new state
37
45
  const targetStyle = attr(target, 'style');
38
46
  const targetPropsTo = css(target, ['height', 'padding']);
@@ -22,11 +22,11 @@ export function isVoidElement(element) {
22
22
  return toNodes(element).some((element) => voidElements[element.tagName.toLowerCase()]);
23
23
  }
24
24
 
25
- const isVisibleFn = inBrowser
26
- ? Element.prototype.checkVisibility
27
- : function () {
28
- return this.offsetWidth || this.offsetHeight || this.getClientRects().length;
29
- };
25
+ const isVisibleFn =
26
+ (inBrowser && Element.prototype.checkVisibility) ||
27
+ function () {
28
+ return this.offsetWidth || this.offsetHeight || this.getClientRects().length;
29
+ };
30
30
  export function isVisible(element) {
31
31
  return toNodes(element).some((element) => isVisibleFn.call(element));
32
32
  }