uikit 3.19.5-dev.8210c3e08 → 3.19.5-dev.97cca0902

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 (63) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/css/uikit-core-rtl.css +2 -2
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +2 -2
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +2 -2
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +2 -2
  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 +55 -55
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +55 -55
  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 +10 -5
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +11 -6
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +11 -7
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +11 -6
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +11 -6
  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 -59
  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 +79 -62
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/api/boot.js +6 -7
  44. package/src/js/api/component.js +4 -4
  45. package/src/js/api/computed.js +24 -23
  46. package/src/js/api/observer.js +1 -1
  47. package/src/js/components/slider-parallax.js +2 -2
  48. package/src/js/components/slider.js +1 -1
  49. package/src/js/core/drop.js +1 -2
  50. package/src/js/core/height-placeholder.js +5 -2
  51. package/src/js/core/height-viewport.js +1 -1
  52. package/src/js/core/icon.js +2 -3
  53. package/src/js/core/img.js +1 -1
  54. package/src/js/core/inverse.js +13 -6
  55. package/src/js/core/switcher.js +5 -1
  56. package/src/js/core/toggle.js +7 -3
  57. package/src/js/mixin/slider.js +0 -3
  58. package/src/js/mixin/slideshow.js +3 -0
  59. package/src/js/util/filter.js +1 -11
  60. package/src/js/util/lang.js +1 -1
  61. package/src/js/util/selector.js +8 -4
  62. package/src/less/components/utility.less +1 -1
  63. package/src/scss/components/utility.scss +1 -1
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.19.5-dev.8210c3e08 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
1
+ /*! UIkit 3.19.5-dev.97cca0902 | 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() :
@@ -88,7 +88,7 @@
88
88
  return parseFloat(value) || 0;
89
89
  }
90
90
  function toNode(element) {
91
- return toNodes(element)[0];
91
+ return element && toNodes(element)[0];
92
92
  }
93
93
  function toNodes(element) {
94
94
  return isNode(element) ? [element] : Array.from(element || []).filter(isNode);
@@ -319,13 +319,6 @@
319
319
  function matches(element, selector) {
320
320
  return toNodes(element).some((element2) => element2.matches(selector));
321
321
  }
322
- function closest(element, selector) {
323
- var _a;
324
- return (_a = toNode(element)) == null ? void 0 : _a.closest(startsWith(selector, ">") ? selector.slice(1) : selector);
325
- }
326
- function within(element, selector) {
327
- return isString(selector) ? !!closest(element, selector) : toNode(selector).contains(toNode(element));
328
- }
329
322
  function parents(element, selector) {
330
323
  const elements = [];
331
324
  while (element = parent(element)) {
@@ -374,10 +367,11 @@
374
367
  const splitSelectorRe = /.*?[^\\](?![^(]*\))(?:,|$)/g;
375
368
  const trailingCommaRe = /\s*,$/;
376
369
  const parseSelector = memoize((selector) => {
370
+ var _a;
377
371
  selector = selector.replace(addStarRe, "$1 *");
378
372
  let isContextSelector = false;
379
373
  const selectors = [];
380
- for (let sel of selector.match(splitSelectorRe)) {
374
+ for (let sel of (_a = selector.match(splitSelectorRe)) != null ? _a : []) {
381
375
  sel = sel.replace(trailingCommaRe, "").trim();
382
376
  if (sel[0] === ">") {
383
377
  sel = `:scope ${sel}`;
@@ -405,7 +399,7 @@
405
399
  let ctx = context;
406
400
  if (sel[0] === "!") {
407
401
  const selectors = sel.substr(1).trim().split(" ");
408
- ctx = parent(context).closest(selectors[0]);
402
+ ctx = context.parentElement.closest(selectors[0]);
409
403
  sel = selectors.slice(1).join(" ").trim();
410
404
  if (!sel.length && isSingle) {
411
405
  return ctx;
@@ -420,7 +414,11 @@
420
414
  return ctx;
421
415
  }
422
416
  } else if (sel[0] === "~" || sel[0] === "+" && isSingle) {
423
- return _doQuery(parent(ctx), queryFn, `:scope :nth-child(${index(ctx) + 1}) ${sel}`);
417
+ return _doQuery(
418
+ ctx.parentElement,
419
+ queryFn,
420
+ `:scope :nth-child(${index(ctx) + 1}) ${sel}`
421
+ );
424
422
  }
425
423
  if (ctx) {
426
424
  selector += `${selector ? "," : ""}${domPath(ctx)} ${sel}`;
@@ -1562,7 +1560,6 @@
1562
1560
  camelize: camelize,
1563
1561
  children: children,
1564
1562
  clamp: clamp,
1565
- closest: closest,
1566
1563
  createEvent: createEvent,
1567
1564
  css: css,
1568
1565
  data: data,
@@ -1683,7 +1680,6 @@
1683
1680
  uniqueBy: uniqueBy,
1684
1681
  unwrap: unwrap,
1685
1682
  width: width,
1686
- within: within,
1687
1683
  wrapAll: wrapAll,
1688
1684
  wrapInner: wrapInner
1689
1685
  });
@@ -3258,6 +3254,7 @@
3258
3254
  }
3259
3255
  }
3260
3256
  }
3257
+ const mutationOptions = { subtree: true, childList: true };
3261
3258
  function registerComputed(instance, key, cb) {
3262
3259
  instance._hasComputed = true;
3263
3260
  Object.defineProperty(instance, key, {
@@ -3266,6 +3263,15 @@
3266
3263
  const { _computed, $props, $el } = instance;
3267
3264
  if (!hasOwn(_computed, key)) {
3268
3265
  _computed[key] = (cb.get || cb).call(instance, $props, $el);
3266
+ if (cb.observe && instance._computedObserver) {
3267
+ const observeEl = cb.observe.call(instance, _computed[key]);
3268
+ if (observeEl && observeEl !== $el) {
3269
+ instance._computedObserver.observe(
3270
+ findClosestCommonParent(observeEl, $el),
3271
+ mutationOptions
3272
+ );
3273
+ }
3274
+ }
3269
3275
  }
3270
3276
  return _computed[key];
3271
3277
  },
@@ -3286,11 +3292,16 @@
3286
3292
  read: () => runWatches(instance, resetComputed(instance)),
3287
3293
  events: ["resize", "computed"]
3288
3294
  });
3289
- registerComputedObserver();
3290
- instances$1.add(instance);
3295
+ instance._computedObserver = observeMutation(
3296
+ instance.$el,
3297
+ () => callUpdate(instance, "computed"),
3298
+ mutationOptions
3299
+ );
3291
3300
  }
3292
3301
  function disconnectComputedUpdates(instance) {
3293
- instances$1 == null ? void 0 : instances$1.delete(instance);
3302
+ var _a;
3303
+ (_a = instance._computedObserver) == null ? void 0 : _a.disconnect();
3304
+ delete instance._computedObserver;
3294
3305
  resetComputed(instance);
3295
3306
  }
3296
3307
  function resetComputed(instance) {
@@ -3298,22 +3309,11 @@
3298
3309
  instance._computed = {};
3299
3310
  return values;
3300
3311
  }
3301
- let observer;
3302
- let instances$1;
3303
- function registerComputedObserver() {
3304
- if (observer) {
3305
- return;
3312
+ function findClosestCommonParent(el1, el2) {
3313
+ while (el1 && !el1.contains(el2)) {
3314
+ el1 = el1.parentNode;
3306
3315
  }
3307
- instances$1 = /* @__PURE__ */ new Set();
3308
- observer = new MutationObserver(() => {
3309
- for (const instance of instances$1) {
3310
- callUpdate(instance, "computed");
3311
- }
3312
- });
3313
- observer.observe(document, {
3314
- subtree: true,
3315
- childList: true
3316
- });
3316
+ return el1;
3317
3317
  }
3318
3318
 
3319
3319
  function initEvents(instance) {
@@ -3399,7 +3399,7 @@
3399
3399
  if (!includes(targets, target)) {
3400
3400
  if (observer.unobserve) {
3401
3401
  observer.unobserve(target);
3402
- } else {
3402
+ } else if (observer.observe) {
3403
3403
  observer.disconnect();
3404
3404
  }
3405
3405
  }
@@ -3567,26 +3567,26 @@
3567
3567
  };
3568
3568
  App.util = util;
3569
3569
  App.options = {};
3570
- App.version = "3.19.5-dev.8210c3e08";
3570
+ App.version = "3.19.5-dev.97cca0902";
3571
3571
 
3572
3572
  const PREFIX = "uk-";
3573
3573
  const DATA = "__uikit__";
3574
3574
  const components$2 = {};
3575
3575
  function component(name, options) {
3576
- var _a;
3576
+ var _a, _b;
3577
3577
  const id = PREFIX + hyphenate(name);
3578
3578
  if (!options) {
3579
- if (isPlainObject(components$2[id])) {
3579
+ if (!components$2[id].options) {
3580
3580
  components$2[id] = App.extend(components$2[id]);
3581
3581
  }
3582
3582
  return components$2[id];
3583
3583
  }
3584
3584
  name = camelize(name);
3585
3585
  App[name] = (element, data) => createComponent(name, element, data);
3586
- const opt = isPlainObject(options) ? { ...options } : options.options;
3586
+ const opt = (_a = options.options) != null ? _a : { ...options };
3587
3587
  opt.id = id;
3588
3588
  opt.name = name;
3589
- (_a = opt.install) == null ? void 0 : _a.call(opt, App, opt, name);
3589
+ (_b = opt.install) == null ? void 0 : _b.call(opt, App, opt, name);
3590
3590
  if (App._initialized && !opt.functional) {
3591
3591
  requestAnimationFrame(() => createComponent(name, `[${id}],[data-${id}]`));
3592
3592
  }
@@ -3594,7 +3594,7 @@
3594
3594
  }
3595
3595
  function createComponent(name, element, data, ...args) {
3596
3596
  const Component = component(name);
3597
- return Component.options.functional ? new Component({ data: isPlainObject(element) ? element : [element, data, ...args] }) : element ? $$(element).map(init)[0] : init();
3597
+ return Component.options.functional ? new Component({ data: isPlainObject(element) ? element : [element, data, ...args] }) : element ? findAll(element).map(init)[0] : init();
3598
3598
  function init(element2) {
3599
3599
  const instance = getComponent(element2, name);
3600
3600
  if (instance) {
@@ -3956,7 +3956,6 @@
3956
3956
  }
3957
3957
  }
3958
3958
  },
3959
- observe: resize(),
3960
3959
  events: {
3961
3960
  itemshow({ target }) {
3962
3961
  addClass(target, this.clsEnter, this.clsSlideActive);
@@ -4085,6 +4084,7 @@
4085
4084
  return { animation: this.animation };
4086
4085
  }
4087
4086
  },
4087
+ observe: resize(),
4088
4088
  events: {
4089
4089
  beforeitemshow({ target }) {
4090
4090
  addClass(target, this.clsActive);
@@ -5277,7 +5277,7 @@
5277
5277
  toggleClass(this.$el, this.clsContainer, !$(`.${this.clsContainer}`, this.$el));
5278
5278
  },
5279
5279
  observe: resize({
5280
- target: ({ slides }) => slides
5280
+ target: ({ slides, $el }) => [$el, ...slides]
5281
5281
  }),
5282
5282
  update: {
5283
5283
  write() {
@@ -5465,7 +5465,7 @@
5465
5465
  var sliderParallax = {
5466
5466
  mixins: [Parallax],
5467
5467
  beforeConnect() {
5468
- this.item = closest(this.$el, `.${this.$options.id.replace("parallax", "items")} > *`);
5468
+ this.item = this.$el.closest(`.${this.$options.id.replace("parallax", "items")} > *`);
5469
5469
  },
5470
5470
  disconnected() {
5471
5471
  this.item = null;
@@ -6402,14 +6402,14 @@
6402
6402
  if (name) {
6403
6403
  if (hasAttr(target, attributeName)) {
6404
6404
  createComponent(name, target);
6405
- return;
6405
+ } else {
6406
+ (_a = getComponent(target, name)) == null ? void 0 : _a.$destroy();
6406
6407
  }
6407
- (_a = getComponent(target, name)) == null ? void 0 : _a.$destroy();
6408
6408
  }
6409
6409
  }
6410
6410
  function connect(node) {
6411
6411
  const components2 = getComponents(node);
6412
- for (const name in getComponents(node)) {
6412
+ for (const name in components2) {
6413
6413
  callConnected(components2[name]);
6414
6414
  }
6415
6415
  for (const attributeName of node.getAttributeNames()) {
@@ -6419,7 +6419,7 @@
6419
6419
  }
6420
6420
  function disconnect(node) {
6421
6421
  const components2 = getComponents(node);
6422
- for (const name in getComponents(node)) {
6422
+ for (const name in components2) {
6423
6423
  callDisconnected(components2[name]);
6424
6424
  }
6425
6425
  }
@@ -6428,7 +6428,7 @@
6428
6428
  attribute = attribute.slice(5);
6429
6429
  }
6430
6430
  const cmp = components$2[attribute];
6431
- return cmp && (isPlainObject(cmp) ? cmp : cmp.options).name;
6431
+ return cmp && (cmp.options || cmp).name;
6432
6432
  }
6433
6433
 
6434
6434
  globalApi(App);
@@ -7171,7 +7171,8 @@
7171
7171
  document,
7172
7172
  `${pointerUp$1} ${pointerCancel} scroll`,
7173
7173
  ({ defaultPrevented, type, target: newTarget }) => {
7174
- if (!defaultPrevented && type === pointerUp$1 && target === newTarget && !(drop.targetEl && within(target, drop.targetEl))) {
7174
+ var _a;
7175
+ if (!defaultPrevented && type === pointerUp$1 && target === newTarget && !((_a = drop.targetEl) == null ? void 0 : _a.contains(target))) {
7175
7176
  drop.hide(false);
7176
7177
  }
7177
7178
  },
@@ -7787,7 +7788,10 @@
7787
7788
  target: ""
7788
7789
  },
7789
7790
  computed: {
7790
- target: ({ target }, $el) => query(target, $el)
7791
+ target: {
7792
+ get: ({ target }, $el) => query(target, $el),
7793
+ observe: (target) => parent(target)
7794
+ }
7791
7795
  },
7792
7796
  observe: resize({ target: ({ target }) => target }),
7793
7797
  update: {
@@ -7843,7 +7847,7 @@
7843
7847
  const top = offsetPosition(offsetTopEl)[0] - offsetPosition(scrollElement)[0];
7844
7848
  minHeight += top > 0 && top < viewportHeight / 2 ? ` - ${top}px` : "";
7845
7849
  } else {
7846
- minHeight += ` - ${css(scrollElement, "paddingTop")}`;
7850
+ minHeight += ` - ${boxModelAdjust(scrollElement, "height", css(scrollElement, "boxSizing"))}px`;
7847
7851
  }
7848
7852
  }
7849
7853
  if (this.offsetBottom === true) {
@@ -8037,7 +8041,7 @@
8037
8041
  i18n: { toggle: "Open Search", submit: "Submit Search" },
8038
8042
  beforeConnect() {
8039
8043
  const isToggle = hasClass(this.$el, "uk-search-toggle") || hasClass(this.$el, "uk-navbar-toggle");
8040
- this.icon = isToggle ? "search-toggle-icon" : hasClass(this.$el, "uk-search-icon") && closest(this.$el, ".uk-search-large") ? "search-large" : closest(this.$el, ".uk-search-navbar") ? "search-navbar" : this.$props.icon;
8044
+ this.icon = isToggle ? "search-toggle-icon" : hasClass(this.$el, "uk-search-icon") && this.$el.closest(".uk-search-large") ? "search-large" : this.$el.closest(".uk-search-navbar") ? "search-navbar" : this.$props.icon;
8041
8045
  if (hasAttr(this.$el, "aria-label")) {
8042
8046
  return;
8043
8047
  }
@@ -8181,13 +8185,13 @@
8181
8185
  delete this.img;
8182
8186
  },
8183
8187
  observe: intersection({
8184
- target: ({ $el, $props }) => [$el, ...queryAll($props.target, $el)],
8185
8188
  handler(entries, observer) {
8186
8189
  this.load();
8187
8190
  observer.disconnect();
8188
8191
  },
8189
8192
  options: ({ margin }) => ({ rootMargin: margin }),
8190
- filter: ({ loading }) => loading === "lazy"
8193
+ filter: ({ loading }) => loading === "lazy",
8194
+ target: ({ $el, $props }) => $props.target ? [$el, ...queryAll($props.target, $el)] : $el
8191
8195
  }),
8192
8196
  methods: {
8193
8197
  load() {
@@ -8277,13 +8281,15 @@
8277
8281
  selActive: false
8278
8282
  },
8279
8283
  computed: {
8280
- target: ({ target }, $el) => target ? $$(target, $el) : [$el]
8284
+ target: ({ target }, $el) => target ? $$(target, $el) : $el
8281
8285
  },
8282
8286
  observe: [
8283
8287
  intersection({
8284
- handler([{ isIntersecting }]) {
8285
- this.isIntersecting = isIntersecting;
8288
+ handler(entries) {
8289
+ this.isIntersecting = entries.some(({ isIntersecting }) => isIntersecting);
8290
+ this.$emit();
8286
8291
  },
8292
+ target: ({ target }) => target,
8287
8293
  args: { intersecting: false }
8288
8294
  }),
8289
8295
  mutation({
@@ -8293,7 +8299,10 @@
8293
8299
  {
8294
8300
  target: ({ target }) => target,
8295
8301
  observe: (target, handler) => {
8296
- const observer = observeResize([...target, document.documentElement], handler);
8302
+ const observer = observeResize(
8303
+ [...toNodes(target), document.documentElement],
8304
+ handler
8305
+ );
8297
8306
  const listener = [
8298
8307
  on(document, "scroll itemshown itemhidden", handler, {
8299
8308
  passive: true,
@@ -8309,6 +8318,8 @@
8309
8318
  })
8310
8319
  ];
8311
8320
  return {
8321
+ observe: observer.observe.bind(observer),
8322
+ unobserve: observer.unobserve.bind(observer),
8312
8323
  disconnect() {
8313
8324
  observer.disconnect();
8314
8325
  listener.map((off) => off());
@@ -8325,7 +8336,7 @@
8325
8336
  if (!this.isIntersecting) {
8326
8337
  return false;
8327
8338
  }
8328
- for (const target of this.target) {
8339
+ for (const target of toNodes(this.target)) {
8329
8340
  replaceClass(
8330
8341
  target,
8331
8342
  "uk-light,uk-dark",
@@ -9475,7 +9486,10 @@
9475
9486
  swiping: true
9476
9487
  },
9477
9488
  computed: {
9478
- connects: ({ connect }, $el) => queryAll(connect, $el),
9489
+ connects: {
9490
+ get: ({ connect }, $el) => queryAll(connect, $el),
9491
+ observe: (connects) => parent(connects[0])
9492
+ },
9479
9493
  connectChildren() {
9480
9494
  return this.connects.map((el) => children(el)).flat();
9481
9495
  },
@@ -9664,9 +9678,12 @@
9664
9678
  queued: true
9665
9679
  },
9666
9680
  computed: {
9667
- target({ target }, $el) {
9668
- target = queryAll(target || $el.hash, $el);
9669
- return target.length ? target : [$el];
9681
+ target: {
9682
+ get: ({ target }, $el) => {
9683
+ target = queryAll(target || $el.hash, $el);
9684
+ return target.length ? target : [$el];
9685
+ },
9686
+ observe: (target) => parent(target[0])
9670
9687
  }
9671
9688
  },
9672
9689
  connected() {