uikit 3.19.5-dev.9d6b5103b → 3.19.5-dev.c75dd5d38

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 +4 -0
  2. package/dist/css/uikit-core-rtl.css +1 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +1 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +1 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +1 -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 +1 -1
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +1 -1
  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 +62 -44
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +62 -44
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +63 -45
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +62 -44
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +62 -44
  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 +1 -1
  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 +93 -58
  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 +93 -58
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/api/observer.js +17 -5
  44. package/src/js/core/drop.js +0 -6
  45. package/src/js/core/inverse.js +11 -1
  46. package/src/js/util/selector.js +65 -37
  47. package/src/js/util/svg.js +1 -12
  48. package/tests/modal.html +2 -2
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.19.5-dev.9d6b5103b | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
1
+ /*! UIkit 3.19.5-dev.c75dd5d38 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -367,55 +367,81 @@
367
367
  function findAll(selector, context) {
368
368
  return toNodes(_query(selector, toNode(context), "querySelectorAll"));
369
369
  }
370
- const contextSelectorRe = /(^|[^\\],)\s*[!>+~-]/;
371
- const isContextSelector = memoize((selector) => selector.match(contextSelectorRe));
372
370
  function getContext(selector, context = document) {
373
- return isString(selector) && isContextSelector(selector) || isDocument(context) ? context : context.ownerDocument;
374
- }
375
- const contextSanitizeRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
376
- const sanatize = memoize((selector) => selector.replace(contextSanitizeRe, "$1 *"));
371
+ return isString(selector) && parseSelector(selector).isContextSelector || isDocument(context) ? context : context.ownerDocument;
372
+ }
373
+ const addStarRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
374
+ const splitSelectorRe = /.*?[^\\](?![^(]*\))(?:,|$)/g;
375
+ const trailingCommaRe = /\s*,$/;
376
+ const parseSelector = memoize((selector) => {
377
+ selector = selector.replace(addStarRe, "$1 *");
378
+ let isContextSelector = false;
379
+ const selectors = [];
380
+ for (let sel of selector.match(splitSelectorRe)) {
381
+ sel = sel.replace(trailingCommaRe, "").trim();
382
+ if (sel[0] === ">") {
383
+ sel = `:scope ${sel}`;
384
+ }
385
+ isContextSelector || (isContextSelector = ["!", "+", "~", "-"].includes(sel[0]));
386
+ selectors.push(sel);
387
+ }
388
+ return {
389
+ selector: selectors.join(","),
390
+ selectors,
391
+ isContextSelector
392
+ };
393
+ });
377
394
  function _query(selector, context = document, queryFn) {
378
395
  if (!selector || !isString(selector)) {
379
396
  return selector;
380
397
  }
381
- selector = sanatize(selector);
382
- if (isContextSelector(selector)) {
383
- const split = splitSelector(selector);
384
- selector = "";
385
- for (let sel of split) {
386
- let ctx = context;
387
- if (sel[0] === "!") {
388
- const selectors = sel.substr(1).trim().split(" ");
389
- ctx = parent(context).closest(selectors[0]);
390
- sel = selectors.slice(1).join(" ").trim();
391
- if (!sel.length && split.length === 1) {
392
- return ctx;
393
- }
394
- }
395
- if (sel[0] === "-") {
396
- const selectors = sel.substr(1).trim().split(" ");
397
- const prev = (ctx || context).previousElementSibling;
398
- ctx = matches(prev, sel.substr(1)) ? prev : null;
399
- sel = selectors.slice(1).join(" ");
400
- }
401
- if (ctx) {
402
- selector += `${selector ? "," : ""}${domPath(ctx)} ${sel}`;
403
- }
398
+ const parsed = parseSelector(selector);
399
+ if (!parsed.isContextSelector) {
400
+ return _doQuery(context, queryFn, parsed.selector);
401
+ }
402
+ selector = "";
403
+ const isSingle = parsed.selectors.length === 1;
404
+ for (let sel of parsed.selectors) {
405
+ let ctx = context;
406
+ if (sel[0] === "!") {
407
+ const selectors = sel.substr(1).trim().split(" ");
408
+ ctx = parent(context).closest(selectors[0]);
409
+ sel = selectors.slice(1).join(" ").trim();
410
+ if (!sel.length && isSingle) {
411
+ return ctx;
412
+ }
413
+ }
414
+ if (sel[0] === "-") {
415
+ const selectors = sel.substr(1).trim().split(" ");
416
+ const prev = (ctx || context).previousElementSibling;
417
+ ctx = matches(prev, sel.substr(1)) ? prev : null;
418
+ sel = selectors.slice(1).join(" ");
419
+ if (!sel.length && isSingle) {
420
+ return ctx;
421
+ }
422
+ } else if (sel[0] === "~" || sel[0] === "+" && isSingle) {
423
+ return _doQuery(
424
+ parent(context),
425
+ queryFn,
426
+ `:scope :nth-child(${index(context) + 1}) ${sel}`
427
+ );
404
428
  }
405
- if (!isDocument(context)) {
406
- context = context.ownerDocument;
429
+ if (ctx) {
430
+ selector += `${selector ? "," : ""}${domPath(ctx)} ${sel}`;
407
431
  }
408
432
  }
433
+ if (!isDocument(context)) {
434
+ context = context.ownerDocument;
435
+ }
436
+ return _doQuery(context, queryFn, selector);
437
+ }
438
+ function _doQuery(context, queryFn, selector) {
409
439
  try {
410
440
  return context[queryFn](selector);
411
441
  } catch (e) {
412
442
  return null;
413
443
  }
414
444
  }
415
- const selectorRe = /.*?[^\\](?![^(]*\))(?:,|$)/g;
416
- const splitSelector = memoize(
417
- (selector) => selector.match(selectorRe).map((selector2) => selector2.replace(/,$/, "").trim())
418
- );
419
445
  function domPath(element) {
420
446
  const names = [];
421
447
  while (element.parentNode) {
@@ -1875,18 +1901,30 @@
1875
1901
  }
1876
1902
  const targets = hasOwn(instance, key) ? instance[key] : target;
1877
1903
  const observer = observe(targets, handler, options, args);
1878
- if (isFunction(target) && isArray(instance[key]) && observer.unobserve) {
1879
- registerWatch(instance, { handler: updateTargets(observer), immediate: false }, key);
1904
+ if (isFunction(target) && isArray(instance[key])) {
1905
+ registerWatch(
1906
+ instance,
1907
+ { handler: updateTargets(observer, options), immediate: false },
1908
+ key
1909
+ );
1880
1910
  }
1881
1911
  registerObserver(instance, observer);
1882
1912
  }
1883
- function updateTargets(observer) {
1913
+ function updateTargets(observer, options) {
1884
1914
  return (targets, prev) => {
1885
1915
  for (const target of prev) {
1886
- !includes(targets, target) && observer.unobserve(target);
1916
+ if (!includes(targets, target)) {
1917
+ if (observer.unobserve) {
1918
+ observer.unobserve(target);
1919
+ } else {
1920
+ observer.disconnect();
1921
+ }
1922
+ }
1887
1923
  }
1888
1924
  for (const target of targets) {
1889
- !includes(prev, target) && observer.observe(target);
1925
+ if (!includes(prev, target) || !observer.unobserve) {
1926
+ observer.observe(target, options);
1927
+ }
1890
1928
  }
1891
1929
  };
1892
1930
  }
@@ -2153,7 +2191,7 @@
2153
2191
  };
2154
2192
  App.util = util;
2155
2193
  App.options = {};
2156
- App.version = "3.19.5-dev.9d6b5103b";
2194
+ App.version = "3.19.5-dev.c75dd5d38";
2157
2195
 
2158
2196
  const PREFIX = "uk-";
2159
2197
  const DATA = "__uikit__";
@@ -3253,10 +3291,6 @@
3253
3291
  }
3254
3292
  css(this.$el, this._style);
3255
3293
  },
3256
- observe: lazyload({
3257
- target: ({ toggle, $el }) => query(toggle, $el),
3258
- targets: ({ $el }) => $el
3259
- }),
3260
3294
  events: [
3261
3295
  {
3262
3296
  name: "click",
@@ -4766,6 +4800,12 @@
4766
4800
  target: ({ target }, $el) => target ? $$(target, $el) : [$el]
4767
4801
  },
4768
4802
  observe: [
4803
+ intersection({
4804
+ handler([{ isIntersecting }]) {
4805
+ this.isIntersecting = isIntersecting;
4806
+ },
4807
+ args: { intersecting: false }
4808
+ }),
4769
4809
  mutation({
4770
4810
  target: ({ target }) => target,
4771
4811
  options: { attributes: true, attributeFilter: ["class"], attributeOldValue: true }
@@ -4802,6 +4842,9 @@
4802
4842
  ],
4803
4843
  update: {
4804
4844
  read() {
4845
+ if (!this.isIntersecting) {
4846
+ return false;
4847
+ }
4805
4848
  for (const target of this.target) {
4806
4849
  replaceClass(
4807
4850
  target,
@@ -6084,18 +6127,10 @@
6084
6127
  }
6085
6128
 
6086
6129
  function getMaxPathLength(el) {
6087
- return Math.ceil(
6088
- Math.max(
6089
- 0,
6090
- ...$$("[stroke]", el).map((stroke) => {
6091
- try {
6092
- return stroke.getTotalLength();
6093
- } catch (e) {
6094
- return 0;
6095
- }
6096
- })
6097
- )
6098
- );
6130
+ return Math.ceil(Math.max(0, ...$$("[stroke]", el).map((stroke) => {
6131
+ var _a;
6132
+ return (_a = stroke.getTotalLength) == null ? void 0 : _a.call(stroke);
6133
+ })));
6099
6134
  }
6100
6135
 
6101
6136
  var svg = {