uikit 3.23.6 → 3.23.7-dev.ea33b1a06

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 (59) hide show
  1. package/CHANGELOG.md +7 -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 +2 -2
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +8 -8
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +12 -17
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +13 -18
  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 +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +11 -17
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +8 -14
  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 +2 -2
  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 +39 -23
  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 +59 -49
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/components/countdown.js +2 -2
  44. package/src/js/components/filter.js +1 -2
  45. package/src/js/components/lightbox.js +1 -2
  46. package/src/js/components/slider.js +3 -4
  47. package/src/js/components/tooltip.js +1 -1
  48. package/src/js/core/icon.js +3 -5
  49. package/src/js/core/img.js +1 -1
  50. package/src/js/core/inverse.js +19 -2
  51. package/src/js/core/switcher.js +4 -4
  52. package/src/js/core/toggle.js +3 -4
  53. package/src/js/core/video.js +1 -1
  54. package/src/js/mixin/modal.js +4 -4
  55. package/src/js/mixin/slider-nav.js +7 -13
  56. package/src/js/util/style.js +6 -2
  57. package/src/scss/components/_import.components.scss +0 -56
  58. package/src/scss/components/_import.utilities.scss +0 -19
  59. package/src/scss/components/grid-masonry.scss +0 -69
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.23.6 | https://www.getuikit.com | (c) 2014 - 2025 YOOtheme | MIT License */
1
+ /*! UIkit 3.23.7-dev.ea33b1a06 | https://www.getuikit.com | (c) 2014 - 2025 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -596,7 +596,7 @@
596
596
  } else {
597
597
  element2.style.setProperty(
598
598
  property,
599
- isNumeric(value) && !cssNumber[property] ? `${value}px` : value || isNumber(value) ? value : "",
599
+ isNumeric(value) && !cssNumber[property] && !isCustomProperty(property) ? `${value}px` : value || isNumber(value) ? value : "",
600
600
  priority
601
601
  );
602
602
  }
@@ -620,7 +620,7 @@
620
620
  }
621
621
  }
622
622
  const propName = memoize((name) => {
623
- if (startsWith(name, "--")) {
623
+ if (isCustomProperty(name)) {
624
624
  return name;
625
625
  }
626
626
  name = hyphenate(name);
@@ -635,6 +635,9 @@
635
635
  }
636
636
  }
637
637
  });
638
+ function isCustomProperty(name) {
639
+ return startsWith(name, "--");
640
+ }
638
641
 
639
642
  const clsTransition = "uk-transition";
640
643
  const transitionEnd = "transitionend";
@@ -1700,7 +1703,7 @@
1700
1703
  reload: false
1701
1704
  },
1702
1705
  connected() {
1703
- attr(this.$el, "role", this.role);
1706
+ this.$el.role = this.role;
1704
1707
  this.date = toFloat(Date.parse(this.$props.date));
1705
1708
  this.started = this.end = false;
1706
1709
  this.start();
@@ -2344,7 +2347,7 @@
2344
2347
  }
2345
2348
  const button = findButton(toggle);
2346
2349
  if (isTag(button, "a")) {
2347
- attr(button, "role", "button");
2350
+ button.role = "button";
2348
2351
  }
2349
2352
  }
2350
2353
  },
@@ -2400,8 +2403,8 @@
2400
2403
  }
2401
2404
  }
2402
2405
  };
2403
- function getFilter(el, attr2) {
2404
- return parseOptions(data(el, attr2), ["filter"]);
2406
+ function getFilter(el, attr) {
2407
+ return parseOptions(data(el, attr), ["filter"]);
2405
2408
  }
2406
2409
  function isEqualState(stateA, stateB) {
2407
2410
  return ["filter", "sort"].every((prop) => isEqual(stateA[prop], stateB[prop]));
@@ -2422,8 +2425,8 @@
2422
2425
  }
2423
2426
  }
2424
2427
  }
2425
- function mergeState(el, attr2, state) {
2426
- const { filter, group, sort, order = "asc" } = getFilter(el, attr2);
2428
+ function mergeState(el, attr, state) {
2429
+ const { filter, group, sort, order = "asc" } = getFilter(el, attr);
2427
2430
  if (filter || isUndefined(sort)) {
2428
2431
  if (group) {
2429
2432
  if (filter) {
@@ -2444,8 +2447,8 @@
2444
2447
  }
2445
2448
  return state;
2446
2449
  }
2447
- function matchFilter(el, attr2, { filter: stateFilter = { "": "" }, sort: [stateSort, stateOrder] }) {
2448
- const { filter = "", group = "", sort, order = "asc" } = getFilter(el, attr2);
2450
+ function matchFilter(el, attr, { filter: stateFilter = { "": "" }, sort: [stateSort, stateOrder] }) {
2451
+ const { filter = "", group = "", sort, order = "asc" } = getFilter(el, attr);
2449
2452
  return isUndefined(sort) ? group in stateFilter && filter === stateFilter[group] || !filter && group && !(group in stateFilter) && !stateFilter[""] : stateSort === sort && stateOrder === order;
2450
2453
  }
2451
2454
  function sortItems(nodes, sort, order) {
@@ -2535,7 +2538,7 @@
2535
2538
  wrapInPicture(img, sources);
2536
2539
  setSourceProps(el, img);
2537
2540
  img.onload = () => setSrcAttrs(el, img.currentSrc);
2538
- attr(img, "src", src);
2541
+ img.src = src;
2539
2542
  return img;
2540
2543
  }
2541
2544
  function wrapInPicture(img, sources) {
@@ -2925,9 +2928,10 @@
2925
2928
  }
2926
2929
  },
2927
2930
  connected() {
2928
- attr(this.panel || this.$el, "role", this.role);
2931
+ const el = this.panel || this.$el;
2932
+ el.role = this.role;
2929
2933
  if (this.overlay) {
2930
- attr(this.panel || this.$el, "aria-modal", true);
2934
+ el.ariaModal = true;
2931
2935
  }
2932
2936
  },
2933
2937
  beforeDisconnect() {
@@ -3005,7 +3009,7 @@
3005
3009
  self: true,
3006
3010
  handler() {
3007
3011
  if (!isFocusable(this.$el)) {
3008
- attr(this.$el, "tabindex", "-1");
3012
+ this.$el.tabIndex = -1;
3009
3013
  }
3010
3014
  if (!matches(this.$el, ":focus-within")) {
3011
3015
  this.$el.focus();
@@ -3728,7 +3732,7 @@
3728
3732
  };
3729
3733
  App.util = util;
3730
3734
  App.options = {};
3731
- App.version = "3.23.6";
3735
+ App.version = "3.23.7-dev.ea33b1a06";
3732
3736
 
3733
3737
  const PREFIX = "uk-";
3734
3738
  const DATA = "__uikit__";
@@ -3945,7 +3949,7 @@
3945
3949
  ariaControls = slide.id;
3946
3950
  }
3947
3951
  ariaLabel = this.t("slideX", toFloat(cmd) + 1);
3948
- attr(button, "role", "tab");
3952
+ button.role = "tab";
3949
3953
  } else {
3950
3954
  if (this.list) {
3951
3955
  if (!this.list.id) {
@@ -3955,10 +3959,8 @@
3955
3959
  }
3956
3960
  ariaLabel = this.t(cmd);
3957
3961
  }
3958
- attr(button, {
3959
- "aria-controls": ariaControls,
3960
- "aria-label": attr(button, "aria-label") || ariaLabel
3961
- });
3962
+ button.ariaControls = ariaControls;
3963
+ button.ariaLabel = button.ariaLabel || ariaLabel;
3962
3964
  }
3963
3965
  },
3964
3966
  slides(slides) {
@@ -3973,10 +3975,8 @@
3973
3975
  }
3974
3976
  },
3975
3977
  connected() {
3976
- attr(this.$el, {
3977
- role: this.role,
3978
- "aria-roledescription": "carousel"
3979
- });
3978
+ this.$el.role = this.role;
3979
+ this.$el.ariaRoleDescription = "carousel";
3980
3980
  },
3981
3981
  update: [
3982
3982
  {
@@ -4034,10 +4034,8 @@
4034
4034
  const active = item === index;
4035
4035
  toggleClass(el, this.clsActive, active);
4036
4036
  toggleClass(button, "uk-disabled", !!this.parallax);
4037
- attr(button, {
4038
- "aria-selected": active,
4039
- tabindex: active && !this.parallax ? null : -1
4040
- });
4037
+ button.ariaSelected = active;
4038
+ button.tabIndex = active && !this.parallax ? null : -1;
4041
4039
  if (active && button && matches(parent(el), ":focus-within")) {
4042
4040
  button.focus();
4043
4041
  }
@@ -4717,7 +4715,7 @@
4717
4715
  this.hide();
4718
4716
  for (const toggle of toggles) {
4719
4717
  if (isTag(toggle, "a")) {
4720
- attr(toggle, "role", "button");
4718
+ toggle.role = "button";
4721
4719
  }
4722
4720
  }
4723
4721
  }
@@ -5729,12 +5727,12 @@
5729
5727
  for (const slide of this.slides) {
5730
5728
  const active = includes(actives, slide);
5731
5729
  toggleClass(slide, activeClasses, active);
5732
- attr(slide, "aria-hidden", !active);
5730
+ slide.ariaHidden = !active;
5733
5731
  for (const focusable of $$(selFocusable, slide)) {
5734
5732
  if (!hasOwn(focusable, "_tabindex")) {
5735
- focusable._tabindex = attr(focusable, "tabindex");
5733
+ focusable._tabindex = focusable.tabIndex;
5736
5734
  }
5737
- attr(focusable, "tabindex", active ? focusable._tabindex : -1);
5735
+ focusable.tabIndex = active ? focusable._tabindex : -1;
5738
5736
  }
5739
5737
  }
5740
5738
  },
@@ -6327,7 +6325,7 @@
6327
6325
  };
6328
6326
  function makeFocusable(el) {
6329
6327
  if (!isFocusable(el)) {
6330
- attr(el, "tabindex", "0");
6328
+ el.tabIndex = 0;
6331
6329
  }
6332
6330
  }
6333
6331
  function getAlignment(el, target, [dir, align]) {
@@ -6889,7 +6887,7 @@
6889
6887
  }
6890
6888
  if (this.autoplay === "hover") {
6891
6889
  if (isTag(this.$el, "video")) {
6892
- this.$el.tabindex = 0;
6890
+ this.$el.tabIndex = 0;
6893
6891
  } else {
6894
6892
  this.autoplay = true;
6895
6893
  }
@@ -8239,13 +8237,11 @@
8239
8237
  return;
8240
8238
  }
8241
8239
  if (isToggle) {
8242
- const label = this.t("toggle");
8243
- attr(this.$el, "aria-label", label);
8240
+ this.$el.ariaLabel = this.t("toggle");
8244
8241
  } else {
8245
8242
  const button = this.$el.closest("a,button");
8246
8243
  if (button) {
8247
- const label = this.t("submit");
8248
- attr(button, "aria-label", label);
8244
+ button.ariaLabel = this.t("submit");
8249
8245
  }
8250
8246
  }
8251
8247
  }
@@ -8253,7 +8249,7 @@
8253
8249
  const Spinner = {
8254
8250
  extends: IconComponent,
8255
8251
  beforeConnect() {
8256
- attr(this.$el, "role", "status");
8252
+ this.$el.role = "status";
8257
8253
  },
8258
8254
  methods: {
8259
8255
  async getSvg() {
@@ -8356,13 +8352,27 @@
8356
8352
  target: false,
8357
8353
  selActive: false
8358
8354
  },
8355
+ connected() {
8356
+ this.isIntersecting = 0;
8357
+ },
8359
8358
  computed: {
8360
8359
  target: ({ target }, $el) => target ? $$(target, $el) : $el
8361
8360
  },
8361
+ watch: {
8362
+ target: {
8363
+ handler() {
8364
+ queueMicrotask(() => this.$reset());
8365
+ },
8366
+ immediate: false
8367
+ }
8368
+ },
8362
8369
  observe: [
8363
8370
  intersection({
8364
8371
  handler(entries) {
8365
- this.isIntersecting = entries.some(({ isIntersecting }) => isIntersecting);
8372
+ this.isIntersecting = entries.reduce(
8373
+ (sum, { isIntersecting }) => sum + (isIntersecting ? 1 : this.isIntersecting ? -1 : 0),
8374
+ this.isIntersecting
8375
+ );
8366
8376
  this.$emit();
8367
8377
  },
8368
8378
  target: ({ target }) => target,
@@ -8370,7 +8380,7 @@
8370
8380
  }),
8371
8381
  mutation({
8372
8382
  target: ({ target }) => target,
8373
- options: { attributes: true, attributeFilter: ["class"], attributeOldValue: true }
8383
+ options: { attributes: true, attributeFilter: ["class"] }
8374
8384
  }),
8375
8385
  {
8376
8386
  target: ({ target }) => target,
@@ -9590,7 +9600,7 @@
9590
9600
  }
9591
9601
  },
9592
9602
  connected() {
9593
- attr(this.$el, "role", "tablist");
9603
+ this.$el.role = "tablist";
9594
9604
  },
9595
9605
  observe: [
9596
9606
  lazyload({ targets: ({ connectChildren }) => connectChildren }),
@@ -9649,20 +9659,20 @@
9649
9659
  var _a;
9650
9660
  for (const el of this.connects) {
9651
9661
  if (isTag(el, "ul")) {
9652
- attr(el, "role", "presentation");
9662
+ el.role = "presentation";
9653
9663
  }
9654
9664
  }
9655
9665
  attr(children(this.$el), "role", "presentation");
9656
9666
  for (const index in this.toggles) {
9657
9667
  const toggle = this.toggles[index];
9658
9668
  const item = (_a = this.connects[0]) == null ? void 0 : _a.children[index];
9659
- attr(toggle, "role", "tab");
9669
+ toggle.role = "tab";
9660
9670
  if (!item) {
9661
9671
  continue;
9662
9672
  }
9663
9673
  toggle.id = generateId(this, toggle);
9664
9674
  item.id = generateId(this, item);
9665
- attr(toggle, "aria-controls", item.id);
9675
+ toggle.ariaControls = item.id;
9666
9676
  attr(item, { role: "tabpanel", "aria-labelledby": toggle.id });
9667
9677
  }
9668
9678
  attr(this.$el, "aria-orientation", matches(this.$el, this.selVertical) ? "vertical" : null);
@@ -9748,10 +9758,10 @@
9748
9758
  connected() {
9749
9759
  if (!includes(this.mode, "media")) {
9750
9760
  if (!isFocusable(this.$el)) {
9751
- attr(this.$el, "tabindex", "0");
9761
+ this.$el.tabIndex = 0;
9752
9762
  }
9753
9763
  if (!this.cls && isTag(this.$el, "a")) {
9754
- attr(this.$el, "role", "button");
9764
+ this.$el.role = "button";
9755
9765
  }
9756
9766
  }
9757
9767
  },
@@ -9842,7 +9852,7 @@
9842
9852
  return;
9843
9853
  }
9844
9854
  if (hasAttr(this.$el, "aria-expanded")) {
9845
- attr(this.$el, "aria-expanded", !this.isToggled(this.target));
9855
+ this.$el.ariaExpanded = !this.isToggled(this.target);
9846
9856
  }
9847
9857
  if (!this.queued) {
9848
9858
  return this.toggleElement(this.target);