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

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 (47) 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 +76 -53
  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 +76 -53
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/drop.js +0 -6
  44. package/src/js/core/inverse.js +11 -1
  45. package/src/js/util/selector.js +65 -37
  46. package/src/js/util/svg.js +1 -12
  47. package/tests/modal.html +2 -2
package/dist/js/uikit.js CHANGED
@@ -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.c6a7fbca6 | 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) {
@@ -3533,7 +3559,7 @@
3533
3559
  };
3534
3560
  App.util = util;
3535
3561
  App.options = {};
3536
- App.version = "3.19.5-dev.9d6b5103b";
3562
+ App.version = "3.19.5-dev.c6a7fbca6";
3537
3563
 
3538
3564
  const PREFIX = "uk-";
3539
3565
  const DATA = "__uikit__";
@@ -4533,18 +4559,10 @@
4533
4559
  }
4534
4560
 
4535
4561
  function getMaxPathLength(el) {
4536
- return Math.ceil(
4537
- Math.max(
4538
- 0,
4539
- ...$$("[stroke]", el).map((stroke) => {
4540
- try {
4541
- return stroke.getTotalLength();
4542
- } catch (e) {
4543
- return 0;
4544
- }
4545
- })
4546
- )
4547
- );
4562
+ return Math.ceil(Math.max(0, ...$$("[stroke]", el).map((stroke) => {
4563
+ var _a;
4564
+ return (_a = stroke.getTotalLength) == null ? void 0 : _a.call(stroke);
4565
+ })));
4548
4566
  }
4549
4567
 
4550
4568
  const props = {
@@ -6855,10 +6873,6 @@
6855
6873
  }
6856
6874
  css(this.$el, this._style);
6857
6875
  },
6858
- observe: lazyload({
6859
- target: ({ toggle, $el }) => query(toggle, $el),
6860
- targets: ({ $el }) => $el
6861
- }),
6862
6876
  events: [
6863
6877
  {
6864
6878
  name: "click",
@@ -8258,6 +8272,12 @@
8258
8272
  target: ({ target }, $el) => target ? $$(target, $el) : [$el]
8259
8273
  },
8260
8274
  observe: [
8275
+ intersection({
8276
+ handler([{ isIntersecting }]) {
8277
+ this.isIntersecting = isIntersecting;
8278
+ },
8279
+ args: { intersecting: false }
8280
+ }),
8261
8281
  mutation({
8262
8282
  target: ({ target }) => target,
8263
8283
  options: { attributes: true, attributeFilter: ["class"], attributeOldValue: true }
@@ -8294,6 +8314,9 @@
8294
8314
  ],
8295
8315
  update: {
8296
8316
  read() {
8317
+ if (!this.isIntersecting) {
8318
+ return false;
8319
+ }
8297
8320
  for (const target of this.target) {
8298
8321
  replaceClass(
8299
8322
  target,