uikit 3.16.4-dev.fd2458e3b → 3.16.5-dev.dda1f1b31

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 (120) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +9 -1
  3. package/build/build.js +5 -4
  4. package/build/icons.js +2 -1
  5. package/build/less.js +2 -11
  6. package/build/prefix.js +2 -1
  7. package/build/release.js +4 -3
  8. package/build/scope.js +2 -1
  9. package/build/scss.js +2 -1
  10. package/build/util.js +3 -3
  11. package/dist/css/uikit-core-rtl.css +1 -1
  12. package/dist/css/uikit-core-rtl.min.css +1 -1
  13. package/dist/css/uikit-core.css +1 -1
  14. package/dist/css/uikit-core.min.css +1 -1
  15. package/dist/css/uikit-rtl.css +1 -1
  16. package/dist/css/uikit-rtl.min.css +1 -1
  17. package/dist/css/uikit.css +1 -1
  18. package/dist/css/uikit.min.css +1 -1
  19. package/dist/js/components/countdown.js +12 -14
  20. package/dist/js/components/countdown.min.js +1 -1
  21. package/dist/js/components/filter.js +506 -22
  22. package/dist/js/components/filter.min.js +1 -1
  23. package/dist/js/components/lightbox-panel.js +2601 -310
  24. package/dist/js/components/lightbox-panel.min.js +1 -1
  25. package/dist/js/components/lightbox.js +2612 -323
  26. package/dist/js/components/lightbox.min.js +1 -1
  27. package/dist/js/components/notification.js +1 -1
  28. package/dist/js/components/notification.min.js +1 -1
  29. package/dist/js/components/parallax.js +466 -43
  30. package/dist/js/components/parallax.min.js +1 -1
  31. package/dist/js/components/slider-parallax.js +184 -2
  32. package/dist/js/components/slider-parallax.min.js +1 -1
  33. package/dist/js/components/slider.js +2345 -49
  34. package/dist/js/components/slider.min.js +1 -1
  35. package/dist/js/components/slideshow-parallax.js +184 -2
  36. package/dist/js/components/slideshow-parallax.min.js +1 -1
  37. package/dist/js/components/slideshow.js +2339 -49
  38. package/dist/js/components/slideshow.min.js +1 -1
  39. package/dist/js/components/sortable.js +472 -1
  40. package/dist/js/components/sortable.min.js +1 -1
  41. package/dist/js/components/tooltip.js +2298 -11
  42. package/dist/js/components/tooltip.min.js +1 -1
  43. package/dist/js/components/upload.js +1 -1
  44. package/dist/js/components/upload.min.js +1 -1
  45. package/dist/js/uikit-core.js +951 -931
  46. package/dist/js/uikit-core.min.js +1 -1
  47. package/dist/js/uikit-icons.js +153 -152
  48. package/dist/js/uikit-icons.min.js +1 -1
  49. package/dist/js/uikit.js +979 -954
  50. package/dist/js/uikit.min.js +1 -1
  51. package/package.json +2 -2
  52. package/src/images/icons/mastodon.svg +3 -0
  53. package/src/js/api/app.js +12 -0
  54. package/src/js/api/boot.js +64 -43
  55. package/src/js/api/component.js +60 -61
  56. package/src/js/api/computed.js +39 -0
  57. package/src/js/api/events.js +45 -0
  58. package/src/js/api/global.js +58 -56
  59. package/src/js/api/hooks.js +35 -114
  60. package/src/js/api/index.js +8 -24
  61. package/src/js/api/instance.js +55 -55
  62. package/src/js/api/log.js +10 -0
  63. package/src/js/api/observables.js +125 -0
  64. package/src/js/api/observer.js +76 -0
  65. package/src/js/{util → api}/options.js +38 -1
  66. package/src/js/api/props.js +102 -0
  67. package/src/js/api/state.js +26 -280
  68. package/src/js/api/update.js +77 -0
  69. package/src/js/api/watch.js +34 -0
  70. package/src/js/components/countdown.js +14 -16
  71. package/src/js/components/filter.js +18 -24
  72. package/src/js/components/internal/slider-preload.js +5 -6
  73. package/src/js/components/lightbox-panel.js +1 -1
  74. package/src/js/components/lightbox.js +11 -23
  75. package/src/js/components/parallax.js +8 -6
  76. package/src/js/components/slider.js +10 -0
  77. package/src/js/components/tooltip.js +2 -1
  78. package/src/js/core/accordion.js +5 -6
  79. package/src/js/core/cover.js +9 -9
  80. package/src/js/core/drop.js +13 -6
  81. package/src/js/core/dropnav.js +1 -1
  82. package/src/js/core/grid.js +2 -5
  83. package/src/js/core/height-match.js +9 -16
  84. package/src/js/core/height-viewport.js +5 -7
  85. package/src/js/core/img.js +12 -19
  86. package/src/js/core/leader.js +4 -2
  87. package/src/js/core/margin.js +11 -21
  88. package/src/js/core/modal.js +1 -1
  89. package/src/js/core/offcanvas.js +6 -2
  90. package/src/js/core/overflow-auto.js +5 -5
  91. package/src/js/core/responsive.js +5 -7
  92. package/src/js/core/scroll.js +19 -10
  93. package/src/js/core/scrollspy-nav.js +6 -5
  94. package/src/js/core/scrollspy.js +27 -36
  95. package/src/js/core/sticky.js +12 -10
  96. package/src/js/core/svg.js +4 -2
  97. package/src/js/core/switcher.js +11 -9
  98. package/src/js/core/toggle.js +4 -4
  99. package/src/js/core/video.js +6 -14
  100. package/src/js/mixin/modal.js +2 -1
  101. package/src/js/mixin/parallax.js +1 -1
  102. package/src/js/mixin/slider-nav.js +2 -1
  103. package/src/js/mixin/slider.js +9 -3
  104. package/src/js/util/filter.js +13 -0
  105. package/src/js/util/index.js +0 -1
  106. package/src/js/util/keys.js +11 -0
  107. package/src/js/util/lang.js +7 -7
  108. package/src/js/util/observer.js +4 -2
  109. package/src/js/util/scroll.js +42 -0
  110. package/src/js/util/svg.js +16 -0
  111. package/src/js/util/viewport.js +1 -1
  112. package/src/scss/mixins-theme.scss +1640 -1596
  113. package/src/scss/mixins.scss +1370 -1370
  114. package/src/scss/variables-theme.scss +1255 -1255
  115. package/src/scss/variables.scss +1113 -1113
  116. package/src/js/mixin/lazyload.js +0 -27
  117. package/src/js/mixin/resize.js +0 -11
  118. package/src/js/mixin/scroll.js +0 -32
  119. package/src/js/mixin/swipe.js +0 -72
  120. package/src/js/mixin/utils.js +0 -91
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.16.4-dev.fd2458e3b | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
1
+ /*! UIkit 3.16.5-dev.dda1f1b31 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
@@ -6,43 +6,6 @@
6
6
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.UIkitParallax = factory(global.UIkit.util));
7
7
  })(this, (function (uikitUtil) { 'use strict';
8
8
 
9
- var Resize = {
10
- connected() {
11
- var _a;
12
- this.registerObserver(
13
- uikitUtil.observeResize(
14
- ((_a = this.$options.resizeTargets) == null ? void 0 : _a.call(this)) || this.$el,
15
- () => this.$emit("resize")
16
- )
17
- );
18
- }
19
- };
20
-
21
- var Scroll = {
22
- connected() {
23
- registerScrollListener(this._uid, () => this.$emit("scroll"));
24
- },
25
- disconnected() {
26
- unregisterScrollListener(this._uid);
27
- }
28
- };
29
- const scrollListeners = /* @__PURE__ */ new Map();
30
- let unbindScrollListener;
31
- function registerScrollListener(id, listener) {
32
- unbindScrollListener = unbindScrollListener || uikitUtil.on(window, "scroll", () => scrollListeners.forEach((listener2) => listener2()), {
33
- passive: true,
34
- capture: true
35
- });
36
- scrollListeners.set(id, listener);
37
- }
38
- function unregisterScrollListener(id) {
39
- scrollListeners.delete(id);
40
- if (unbindScrollListener && !scrollListeners.size) {
41
- unbindScrollListener();
42
- unbindScrollListener = null;
43
- }
44
- }
45
-
46
9
  var Media = {
47
10
  props: {
48
11
  media: Boolean
@@ -82,11 +45,294 @@
82
45
  return value && uikitUtil.isNumeric(value) ? `(min-width: ${value}px)` : "";
83
46
  }
84
47
 
48
+ const hyphenateRe = /\B([A-Z])/g;
49
+ const hyphenate = memoize((str) => str.replace(hyphenateRe, "-$1").toLowerCase());
50
+ const ucfirst = memoize((str) => str.charAt(0).toUpperCase() + str.slice(1));
51
+ function startsWith(str, search) {
52
+ var _a;
53
+ return (_a = str == null ? void 0 : str.startsWith) == null ? void 0 : _a.call(str, search);
54
+ }
55
+ const { isArray, from: toArray } = Array;
56
+ function isFunction(obj) {
57
+ return typeof obj === "function";
58
+ }
59
+ function isObject(obj) {
60
+ return obj !== null && typeof obj === "object";
61
+ }
62
+ function isWindow(obj) {
63
+ return isObject(obj) && obj === obj.window;
64
+ }
65
+ function isDocument(obj) {
66
+ return nodeType(obj) === 9;
67
+ }
68
+ function isNode(obj) {
69
+ return nodeType(obj) >= 1;
70
+ }
71
+ function isElement(obj) {
72
+ return nodeType(obj) === 1;
73
+ }
74
+ function nodeType(obj) {
75
+ return !isWindow(obj) && isObject(obj) && obj.nodeType;
76
+ }
77
+ function isString(value) {
78
+ return typeof value === "string";
79
+ }
80
+ function isNumber(value) {
81
+ return typeof value === "number";
82
+ }
83
+ function isNumeric(value) {
84
+ return isNumber(value) || isString(value) && !isNaN(value - parseFloat(value));
85
+ }
86
+ function isUndefined(value) {
87
+ return value === void 0;
88
+ }
89
+ function toFloat(value) {
90
+ return parseFloat(value) || 0;
91
+ }
92
+ function toNode(element) {
93
+ return toNodes(element)[0];
94
+ }
95
+ function toNodes(element) {
96
+ return isNode(element) ? [element] : Array.from(element || []).filter(isNode);
97
+ }
98
+ function each(obj, cb) {
99
+ for (const key in obj) {
100
+ if (false === cb(obj[key], key)) {
101
+ return false;
102
+ }
103
+ }
104
+ return true;
105
+ }
106
+ function sumBy(array, iteratee) {
107
+ return array.reduce(
108
+ (sum, item) => sum + toFloat(isFunction(iteratee) ? iteratee(item) : item[iteratee]),
109
+ 0
110
+ );
111
+ }
112
+ function noop() {
113
+ }
114
+ function memoize(fn) {
115
+ const cache = /* @__PURE__ */ Object.create(null);
116
+ return (key) => cache[key] || (cache[key] = fn(key));
117
+ }
118
+
119
+ function attr(element, name, value) {
120
+ var _a;
121
+ if (isObject(name)) {
122
+ for (const key in name) {
123
+ attr(element, key, name[key]);
124
+ }
125
+ return;
126
+ }
127
+ if (isUndefined(value)) {
128
+ return (_a = toNode(element)) == null ? void 0 : _a.getAttribute(name);
129
+ } else {
130
+ for (const el of toNodes(element)) {
131
+ if (isFunction(value)) {
132
+ value = value.call(el, attr(el, name));
133
+ }
134
+ if (value === null) {
135
+ removeAttr(el, name);
136
+ } else {
137
+ el.setAttribute(name, value);
138
+ }
139
+ }
140
+ }
141
+ }
142
+ function removeAttr(element, name) {
143
+ toNodes(element).forEach((element2) => element2.removeAttribute(name));
144
+ }
145
+
146
+ function parent(element) {
147
+ var _a;
148
+ return (_a = toNode(element)) == null ? void 0 : _a.parentElement;
149
+ }
150
+ function filter(element, selector) {
151
+ return toNodes(element).filter((element2) => matches(element2, selector));
152
+ }
153
+ function matches(element, selector) {
154
+ return toNodes(element).some((element2) => element2.matches(selector));
155
+ }
156
+ function closest(element, selector) {
157
+ return isElement(element) ? element.closest(startsWith(selector, ">") ? selector.slice(1) : selector) : toNodes(element).map((element2) => closest(element2, selector)).filter(Boolean);
158
+ }
159
+ function within(element, selector) {
160
+ return isString(selector) ? !!closest(element, selector) : toNode(selector).contains(toNode(element));
161
+ }
162
+ function children(element, selector) {
163
+ element = toNode(element);
164
+ const children2 = element ? toNodes(element.children) : [];
165
+ return selector ? filter(children2, selector) : children2;
166
+ }
167
+ function index(element, ref) {
168
+ return ref ? toNodes(element).indexOf(toNode(ref)) : children(parent(element)).indexOf(element);
169
+ }
170
+
171
+ function findAll(selector, context) {
172
+ return toNodes(_query(selector, toNode(context), "querySelectorAll"));
173
+ }
174
+ const contextSelectorRe = /(^|[^\\],)\s*[!>+~-]/;
175
+ const isContextSelector = memoize((selector) => selector.match(contextSelectorRe));
176
+ const contextSanitizeRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
177
+ const sanatize = memoize((selector) => selector.replace(contextSanitizeRe, "$1 *"));
178
+ function _query(selector, context = document, queryFn) {
179
+ if (!selector || !isString(selector)) {
180
+ return selector;
181
+ }
182
+ selector = sanatize(selector);
183
+ if (isContextSelector(selector)) {
184
+ const split = splitSelector(selector);
185
+ selector = "";
186
+ for (let sel of split) {
187
+ let ctx = context;
188
+ if (sel[0] === "!") {
189
+ const selectors = sel.substr(1).trim().split(" ");
190
+ ctx = closest(parent(context), selectors[0]);
191
+ sel = selectors.slice(1).join(" ").trim();
192
+ if (!sel.length && split.length === 1) {
193
+ return ctx;
194
+ }
195
+ }
196
+ if (sel[0] === "-") {
197
+ const selectors = sel.substr(1).trim().split(" ");
198
+ const prev = (ctx || context).previousElementSibling;
199
+ ctx = matches(prev, sel.substr(1)) ? prev : null;
200
+ sel = selectors.slice(1).join(" ");
201
+ }
202
+ if (ctx) {
203
+ selector += `${selector ? "," : ""}${domPath(ctx)} ${sel}`;
204
+ }
205
+ }
206
+ context = document;
207
+ }
208
+ try {
209
+ return context[queryFn](selector);
210
+ } catch (e) {
211
+ return null;
212
+ }
213
+ }
214
+ const selectorRe = /.*?[^\\](?:,|$)/g;
215
+ const splitSelector = memoize(
216
+ (selector) => selector.match(selectorRe).map((selector2) => selector2.replace(/,$/, "").trim())
217
+ );
218
+ function domPath(element) {
219
+ const names = [];
220
+ while (element.parentNode) {
221
+ const id = attr(element, "id");
222
+ if (id) {
223
+ names.unshift(`#${escape(id)}`);
224
+ break;
225
+ } else {
226
+ let { tagName } = element;
227
+ if (tagName !== "HTML") {
228
+ tagName += `:nth-child(${index(element) + 1})`;
229
+ }
230
+ names.unshift(tagName);
231
+ element = element.parentNode;
232
+ }
233
+ }
234
+ return names.join(" > ");
235
+ }
236
+ function escape(css) {
237
+ return isString(css) ? CSS.escape(css) : "";
238
+ }
239
+
240
+ function on(...args) {
241
+ let [targets, types, selector, listener, useCapture = false] = getArgs(args);
242
+ if (listener.length > 1) {
243
+ listener = detail(listener);
244
+ }
245
+ if (useCapture == null ? void 0 : useCapture.self) {
246
+ listener = selfFilter(listener);
247
+ }
248
+ if (selector) {
249
+ listener = delegate(selector, listener);
250
+ }
251
+ for (const type of types) {
252
+ for (const target of targets) {
253
+ target.addEventListener(type, listener, useCapture);
254
+ }
255
+ }
256
+ return () => off(targets, types, listener, useCapture);
257
+ }
258
+ function off(...args) {
259
+ let [targets, types, , listener, useCapture = false] = getArgs(args);
260
+ for (const type of types) {
261
+ for (const target of targets) {
262
+ target.removeEventListener(type, listener, useCapture);
263
+ }
264
+ }
265
+ }
266
+ function getArgs(args) {
267
+ args[0] = toEventTargets(args[0]);
268
+ if (isString(args[1])) {
269
+ args[1] = args[1].split(" ");
270
+ }
271
+ if (isFunction(args[2])) {
272
+ args.splice(2, 0, false);
273
+ }
274
+ return args;
275
+ }
276
+ function delegate(selector, listener) {
277
+ return (e) => {
278
+ const current = selector[0] === ">" ? findAll(selector, e.currentTarget).reverse().filter((element) => within(e.target, element))[0] : closest(e.target, selector);
279
+ if (current) {
280
+ e.current = current;
281
+ listener.call(this, e);
282
+ delete e.current;
283
+ }
284
+ };
285
+ }
286
+ function detail(listener) {
287
+ return (e) => isArray(e.detail) ? listener(e, ...e.detail) : listener(e);
288
+ }
289
+ function selfFilter(listener) {
290
+ return function(e) {
291
+ if (e.target === e.currentTarget || e.target === e.current) {
292
+ return listener.call(null, e);
293
+ }
294
+ };
295
+ }
296
+ function isEventTarget(target) {
297
+ return target && "addEventListener" in target;
298
+ }
299
+ function toEventTarget(target) {
300
+ return isEventTarget(target) ? target : toNode(target);
301
+ }
302
+ function toEventTargets(target) {
303
+ return isArray(target) ? target.map(toEventTarget).filter(Boolean) : isString(target) ? findAll(target) : isEventTarget(target) ? [target] : toNodes(target);
304
+ }
305
+
306
+ const fragmentRe = /^\s*<(\w+|!)[^>]*>/;
307
+ const singleTagRe = /^<(\w+)\s*\/?>(?:<\/\1>)?$/;
308
+ function fragment(html2) {
309
+ const matches = singleTagRe.exec(html2);
310
+ if (matches) {
311
+ return document.createElement(matches[1]);
312
+ }
313
+ const container = document.createElement("div");
314
+ if (fragmentRe.test(html2)) {
315
+ container.insertAdjacentHTML("beforeend", html2.trim());
316
+ } else {
317
+ container.textContent = html2;
318
+ }
319
+ return unwrapSingle(container.childNodes);
320
+ }
321
+ function unwrapSingle(nodes) {
322
+ return nodes.length > 1 ? nodes : nodes[0];
323
+ }
324
+ function $$(selector, context) {
325
+ return isHtml(selector) ? toNodes(fragment(selector)) : findAll(selector, context);
326
+ }
327
+ function isHtml(str) {
328
+ return isString(str) && startsWith(str.trim(), "<");
329
+ }
330
+
85
331
  function getMaxPathLength(el) {
86
332
  return Math.ceil(
87
333
  Math.max(
88
334
  0,
89
- ...uikitUtil.$$("[stroke]", el).map((stroke) => {
335
+ ...$$("[stroke]", el).map((stroke) => {
90
336
  try {
91
337
  return stroke.getTotalLength();
92
338
  } catch (e) {
@@ -392,8 +638,182 @@
392
638
  }, {});
393
639
  }
394
640
 
641
+ const cssNumber = {
642
+ "animation-iteration-count": true,
643
+ "column-count": true,
644
+ "fill-opacity": true,
645
+ "flex-grow": true,
646
+ "flex-shrink": true,
647
+ "font-weight": true,
648
+ "line-height": true,
649
+ opacity: true,
650
+ order: true,
651
+ orphans: true,
652
+ "stroke-dasharray": true,
653
+ "stroke-dashoffset": true,
654
+ widows: true,
655
+ "z-index": true,
656
+ zoom: true
657
+ };
658
+ function css(element, property, value, priority) {
659
+ const elements = toNodes(element);
660
+ for (const element2 of elements) {
661
+ if (isString(property)) {
662
+ property = propName(property);
663
+ if (isUndefined(value)) {
664
+ return getComputedStyle(element2).getPropertyValue(property);
665
+ } else {
666
+ element2.style.setProperty(
667
+ property,
668
+ isNumeric(value) && !cssNumber[property] ? `${value}px` : value || isNumber(value) ? value : "",
669
+ priority
670
+ );
671
+ }
672
+ } else if (isArray(property)) {
673
+ const props = {};
674
+ for (const prop of property) {
675
+ props[prop] = css(element2, prop);
676
+ }
677
+ return props;
678
+ } else if (isObject(property)) {
679
+ priority = value;
680
+ each(property, (value2, property2) => css(element2, property2, value2, priority));
681
+ }
682
+ }
683
+ return elements[0];
684
+ }
685
+ const propName = memoize((name) => vendorPropName(name));
686
+ function vendorPropName(name) {
687
+ if (startsWith(name, "--")) {
688
+ return name;
689
+ }
690
+ name = hyphenate(name);
691
+ const { style } = document.documentElement;
692
+ if (name in style) {
693
+ return name;
694
+ }
695
+ for (const prefix of ["webkit", "moz"]) {
696
+ const prefixedName = `-${prefix}-${name}`;
697
+ if (prefixedName in style) {
698
+ return prefixedName;
699
+ }
700
+ }
701
+ }
702
+
703
+ const dirs = {
704
+ width: ["left", "right"],
705
+ height: ["top", "bottom"]
706
+ };
707
+ dimension("height");
708
+ dimension("width");
709
+ function dimension(prop) {
710
+ const propName = ucfirst(prop);
711
+ return (element, value) => {
712
+ if (isUndefined(value)) {
713
+ if (isWindow(element)) {
714
+ return element[`inner${propName}`];
715
+ }
716
+ if (isDocument(element)) {
717
+ const doc = element.documentElement;
718
+ return Math.max(doc[`offset${propName}`], doc[`scroll${propName}`]);
719
+ }
720
+ element = toNode(element);
721
+ value = css(element, prop);
722
+ value = value === "auto" ? element[`offset${propName}`] : toFloat(value) || 0;
723
+ return value - boxModelAdjust(element, prop);
724
+ } else {
725
+ return css(
726
+ element,
727
+ prop,
728
+ !value && value !== 0 ? "" : +value + boxModelAdjust(element, prop) + "px"
729
+ );
730
+ }
731
+ };
732
+ }
733
+ function boxModelAdjust(element, prop, sizing = "border-box") {
734
+ return css(element, "boxSizing") === sizing ? sumBy(
735
+ dirs[prop].map(ucfirst),
736
+ (prop2) => toFloat(css(element, `padding${prop2}`)) + toFloat(css(element, `border${prop2}Width`))
737
+ ) : 0;
738
+ }
739
+
740
+ const inBrowser = typeof window !== "undefined";
741
+
742
+ const hasResizeObserver = inBrowser && window.ResizeObserver;
743
+ function observeResize(targets, cb, options = { box: "border-box" }) {
744
+ if (hasResizeObserver) {
745
+ return observe$1(ResizeObserver, targets, cb, options);
746
+ }
747
+ initResizeListener();
748
+ listeners.add(cb);
749
+ return {
750
+ observe: noop,
751
+ unobserve: noop,
752
+ disconnect() {
753
+ listeners.delete(cb);
754
+ }
755
+ };
756
+ }
757
+ let listeners;
758
+ function initResizeListener() {
759
+ if (listeners) {
760
+ return;
761
+ }
762
+ listeners = /* @__PURE__ */ new Set();
763
+ let pendingResize;
764
+ const handleResize = () => {
765
+ if (pendingResize) {
766
+ return;
767
+ }
768
+ pendingResize = true;
769
+ requestAnimationFrame(() => pendingResize = false);
770
+ for (const listener of listeners) {
771
+ listener();
772
+ }
773
+ };
774
+ on(window, "load resize", handleResize);
775
+ on(document, "loadedmetadata load", handleResize, true);
776
+ }
777
+ function observe$1(Observer, targets, cb, options) {
778
+ const observer = new Observer(cb);
779
+ for (const el of toNodes(targets)) {
780
+ observer.observe(el, options);
781
+ }
782
+ return observer;
783
+ }
784
+
785
+ function resize(options) {
786
+ return observe(observeResize, options, "resize");
787
+ }
788
+ function scroll(options) {
789
+ return observe(
790
+ function(target, handler) {
791
+ return {
792
+ disconnect: on(target, "scroll", handler, {
793
+ passive: true,
794
+ capture: true
795
+ })
796
+ };
797
+ },
798
+ {
799
+ target: window,
800
+ ...options
801
+ },
802
+ "scroll"
803
+ );
804
+ }
805
+ function observe(observe2, options, emit) {
806
+ return {
807
+ observe: observe2,
808
+ handler() {
809
+ this.$emit(emit);
810
+ },
811
+ ...options
812
+ };
813
+ }
814
+
395
815
  var Component = {
396
- mixins: [Parallax, Resize, Scroll],
816
+ mixins: [Parallax],
397
817
  props: {
398
818
  target: String,
399
819
  viewport: Number,
@@ -425,9 +845,12 @@
425
845
  );
426
846
  }
427
847
  },
428
- resizeTargets() {
429
- return [this.$el, this.target];
430
- },
848
+ observe: [
849
+ resize({
850
+ target: ({ $el, target }) => [$el, target]
851
+ }),
852
+ scroll()
853
+ ],
431
854
  update: {
432
855
  read({ percent }, types) {
433
856
  if (!types.has("scroll")) {
@@ -1 +1 @@
1
- /*! UIkit 3.16.4-dev.fd2458e3b | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */(function(r,m){typeof exports=="object"&&typeof module<"u"?module.exports=m(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitparallax",["uikit-util"],m):(r=typeof globalThis<"u"?globalThis:r||self,r.UIkitParallax=m(r.UIkit.util))})(this,function(r){"use strict";var m={connected(){var e;this.registerObserver(r.observeResize(((e=this.$options.resizeTargets)==null?void 0:e.call(this))||this.$el,()=>this.$emit("resize")))}},_={connected(){B(this._uid,()=>this.$emit("scroll"))},disconnected(){R(this._uid)}};const y=new Map;let b;function B(e,t){b=b||r.on(window,"scroll",()=>y.forEach(n=>n()),{passive:!0,capture:!0}),y.set(e,t)}function R(e){y.delete(e),b&&!y.size&&(b(),b=null)}var V={props:{media:Boolean},data:{media:!1},connected(){const e=q(this.media,this.$el);if(this.matchMedia=!0,e){this.mediaObj=window.matchMedia(e);const t=()=>{this.matchMedia=this.mediaObj.matches,r.trigger(this.$el,r.createEvent("mediachange",!1,!0,[this.mediaObj]))};this.offMediaObj=r.on(this.mediaObj,"change",()=>{t(),this.$emit("resize")}),t()}},disconnected(){var e;(e=this.offMediaObj)==null||e.call(this)}};function q(e,t){if(r.isString(e)){if(r.startsWith(e,"@"))e=r.toFloat(r.css(t,`--uk-breakpoint-${e.substr(1)}`));else if(isNaN(e))return e}return e&&r.isNumeric(e)?`(min-width: ${e}px)`:""}function H(e){return Math.ceil(Math.max(0,...r.$$("[stroke]",e).map(t=>{try{return t.getTotalLength()}catch{return 0}})))}const v={x:F,y:F,rotate:F,scale:F,color:S,backgroundColor:S,borderColor:S,blur:l,hue:l,fopacity:l,grayscale:l,invert:l,saturate:l,sepia:l,opacity:J,stroke:K,bgx:z,bgy:z},{keys:I}=Object;var A={mixins:[V],props:L(I(v),"list"),data:L(I(v),void 0),computed:{props(e,t){const n={};for(const o in e)o in v&&!r.isUndefined(e[o])&&(n[o]=e[o].slice());const s={};for(const o in n)s[o]=v[o](o,t,n[o],n);return s}},events:{load(){this.$emit()}},methods:{reset(){for(const e in this.getCss(0))r.css(this.$el,e,"")},getCss(e){const t={transform:"",filter:""};for(const n in this.props)this.props[n](t,e);return t.willChange=Object.keys(t).filter(n=>t[n]!=="").join(","),t}}};function F(e,t,n){let s=O(n)||{x:"px",y:"px",rotate:"deg"}[e]||"",o;return e==="x"||e==="y"?(e=`translate${r.ucfirst(e)}`,o=a=>r.toFloat(r.toFloat(a).toFixed(s==="px"?0:6))):e==="scale"&&(s="",o=a=>O([a])?r.toPx(a,"width",t,!0)/t.offsetWidth:a),n.length===1&&n.unshift(e==="scale"?1:0),n=g(n,o),(a,c)=>{a.transform+=` ${e}(${x(n,c)}${s})`}}function S(e,t,n){return n.length===1&&n.unshift($(t,e,"")),n=g(n,s=>G(t,s)),(s,o)=>{const[a,c,i]=E(n,o),u=a.map((d,f)=>(d+=i*(c[f]-d),f===3?r.toFloat(d):parseInt(d,10))).join(",");s[e]=`rgba(${u})`}}function G(e,t){return $(e,"color",t).split(/[(),]/g).slice(1,-1).concat(1).slice(0,4).map(r.toFloat)}function l(e,t,n){n.length===1&&n.unshift(0);const s=O(n)||{blur:"px",hue:"deg"}[e]||"%";return e={fopacity:"opacity",hue:"hue-rotate"}[e]||e,n=g(n),(o,a)=>{const c=x(n,a);o.filter+=` ${e}(${c+s})`}}function J(e,t,n){return n.length===1&&n.unshift($(t,e,"")),n=g(n),(s,o)=>{s[e]=x(n,o)}}function K(e,t,n){n.length===1&&n.unshift(0);const s=O(n),o=H(t);return n=g(n.reverse(),a=>(a=r.toFloat(a),s==="%"?a*o/100:a)),n.some(([a])=>a)?(r.css(t,"strokeDasharray",o),(a,c)=>{a.strokeDashoffset=x(n,c)}):r.noop}function z(e,t,n,s){n.length===1&&n.unshift(0);const o=e==="bgy"?"height":"width";s[e]=g(n,i=>r.toPx(i,o,t));const a=["bgx","bgy"].filter(i=>i in s);if(a.length===2&&e==="bgx")return r.noop;if($(t,"backgroundSize","")==="cover")return Q(e,t,n,s);const c={};for(const i of a)c[i]=C(t,i);return p(a,c,s)}function Q(e,t,n,s){const o=X(t);if(!o.width)return r.noop;const a={width:t.offsetWidth,height:t.offsetHeight},c=["bgx","bgy"].filter(f=>f in s),i={};for(const f of c){const h=s[f].map(([k])=>k),w=Math.min(...h),P=Math.max(...h),D=h.indexOf(w)<h.indexOf(P),W=P-w;i[f]=`${(D?-W:0)-(D?w:P)}px`,a[f==="bgy"?"height":"width"]+=W}const u=r.Dimensions.cover(o,a);for(const f of c){const h=f==="bgy"?"height":"width",w=u[h]-a[h];i[f]=`max(${C(t,f)},-${w}px) + ${i[f]}`}const d=p(c,i,s);return(f,h)=>{d(f,h),f.backgroundSize=`${u.width}px ${u.height}px`,f.backgroundRepeat="no-repeat"}}function C(e,t){return $(e,`background-position-${t.substr(-1)}`,"")}function p(e,t,n){return function(s,o){for(const a of e){const c=x(n[a],o);s[`background-position-${a.substr(-1)}`]=`calc(${t[a]} + ${c}px)`}}}const M={};function X(e){const t=r.css(e,"backgroundImage").replace(/^none|url\(["']?(.+?)["']?\)$/,"$1");if(M[t])return M[t];const n=new Image;return t&&(n.src=t,!n.naturalWidth)?(n.onload=()=>{M[t]=j(n),r.trigger(e,r.createEvent("load",!1))},j(n)):M[t]=j(n)}function j(e){return{width:e.naturalWidth,height:e.naturalHeight}}function g(e,t=r.toFloat){const n=[],{length:s}=e;let o=0;for(let a=0;a<s;a++){let[c,i]=r.isString(e[a])?e[a].trim().split(" "):[e[a]];if(c=t(c),i=i?r.toFloat(i)/100:null,a===0?i===null?i=0:i&&n.push([c,0]):a===s-1&&(i===null?i=1:i!==1&&(n.push([c,i]),i=1)),n.push([c,i]),i===null)o++;else if(o){const u=n[a-o-1][1],d=(i-u)/(o+1);for(let f=o;f>0;f--)n[a-f][1]=u+d*(o-f+1);o=0}}return n}function E(e,t){const n=r.findIndex(e.slice(1),([,s])=>t<=s)+1;return[e[n-1][0],e[n][0],(t-e[n-1][1])/(e[n][1]-e[n-1][1])]}function x(e,t){const[n,s,o]=E(e,t);return r.isNumber(n)?n+Math.abs(n-s)*o*(n<s?1:-1):+s}const Y=/^-?\d+(\S+)?/;function O(e,t){var n;for(const s of e){const o=(n=s.match)==null?void 0:n.call(s,Y);if(o)return o[1]}return t}function $(e,t,n){const s=e.style[t],o=r.css(r.css(e,t,n),t);return e.style[t]=s,o}function L(e,t){return e.reduce((n,s)=>(n[s]=t,n),{})}var N={mixins:[A,m,_],props:{target:String,viewport:Number,easing:Number,start:String,end:String},data:{target:!1,viewport:1,easing:1,start:0,end:0},computed:{target({target:e},t){return T(e&&r.query(e,t)||t)},start({start:e}){return r.toPx(e,"height",this.target,!0)},end({end:e,viewport:t}){return r.toPx(e||(t=(1-t)*100)&&`${t}vh+${t}%`,"height",this.target,!0)}},resizeTargets(){return[this.$el,this.target]},update:{read({percent:e},t){if(t.has("scroll")||(e=!1),!r.isVisible(this.$el))return!1;if(!this.matchMedia)return;const n=e;return e=Z(r.scrolledOver(this.target,this.start,this.end),this.easing),{percent:e,style:n===e?!1:this.getCss(e)}},write({style:e}){if(!this.matchMedia){this.reset();return}e&&r.css(this.$el,e)},events:["scroll","resize"]}};function Z(e,t){return t>=0?Math.pow(e,t+1):1-Math.pow(1-e,1-t)}function T(e){return e?"offsetTop"in e?e:T(r.parent(e)):document.documentElement}return typeof window<"u"&&window.UIkit&&window.UIkit.component("parallax",N),N});
1
+ /*! UIkit 3.16.5-dev.dda1f1b31 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */(function(s,y){typeof exports=="object"&&typeof module<"u"?module.exports=y(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitparallax",["uikit-util"],y):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitParallax=y(s.UIkit.util))})(this,function(s){"use strict";var y={props:{media:Boolean},data:{media:!1},connected(){const t=dt(this.media,this.$el);if(this.matchMedia=!0,t){this.mediaObj=window.matchMedia(t);const n=()=>{this.matchMedia=this.mediaObj.matches,s.trigger(this.$el,s.createEvent("mediachange",!1,!0,[this.mediaObj]))};this.offMediaObj=s.on(this.mediaObj,"change",()=>{n(),this.$emit("resize")}),n()}},disconnected(){var t;(t=this.offMediaObj)==null||t.call(this)}};function dt(t,n){if(s.isString(t)){if(s.startsWith(t,"@"))t=s.toFloat(s.css(n,`--uk-breakpoint-${t.substr(1)}`));else if(isNaN(t))return t}return t&&s.isNumeric(t)?`(min-width: ${t}px)`:""}const ht=/\B([A-Z])/g,lt=$(t=>t.replace(ht,"-$1").toLowerCase()),H=$(t=>t.charAt(0).toUpperCase()+t.slice(1));function A(t,n){var e;return(e=t==null?void 0:t.startsWith)==null?void 0:e.call(t,n)}const{isArray:j,from:hn}=Array;function R(t){return typeof t=="function"}function N(t){return t!==null&&typeof t=="object"}function V(t){return N(t)&&t===t.window}function gt(t){return T(t)===9}function Z(t){return T(t)>=1}function mt(t){return T(t)===1}function T(t){return!V(t)&&N(t)&&t.nodeType}function l(t){return typeof t=="string"}function G(t){return typeof t=="number"}function bt(t){return G(t)||l(t)&&!isNaN(t-parseFloat(t))}function I(t){return t===void 0}function z(t){return parseFloat(t)||0}function d(t){return a(t)[0]}function a(t){return Z(t)?[t]:Array.from(t||[]).filter(Z)}function xt(t,n){for(const e in t)if(n(t[e],e)===!1)return!1;return!0}function $t(t,n){return t.reduce((e,r)=>e+z(R(n)?n(r):r[n]),0)}function J(){}function $(t){const n=Object.create(null);return e=>n[e]||(n[e]=t(e))}function B(t,n,e){var r;if(N(n)){for(const o in n)B(t,o,n[o]);return}if(I(e))return(r=d(t))==null?void 0:r.getAttribute(n);for(const o of a(t))R(e)&&(e=e.call(o,B(o,n))),e===null?wt(o,n):o.setAttribute(n,e)}function wt(t,n){a(t).forEach(e=>e.removeAttribute(n))}function K(t){var n;return(n=d(t))==null?void 0:n.parentElement}function yt(t,n){return a(t).filter(e=>Q(e,n))}function Q(t,n){return a(t).some(e=>e.matches(n))}function M(t,n){return mt(t)?t.closest(A(n,">")?n.slice(1):n):a(t).map(e=>M(e,n)).filter(Boolean)}function pt(t,n){return l(n)?!!M(t,n):d(n).contains(d(t))}function vt(t,n){t=d(t);const e=t?a(t.children):[];return n?yt(e,n):e}function Ft(t,n){return n?a(t).indexOf(d(n)):vt(K(t)).indexOf(t)}function L(t,n){return a(Ot(t,d(n),"querySelectorAll"))}const St=/(^|[^\\],)\s*[!>+~-]/,Nt=$(t=>t.match(St)),zt=/([!>+~-])(?=\s+[!>+~-]|\s*$)/g,Mt=$(t=>t.replace(zt,"$1 *"));function Ot(t,n=document,e){if(!t||!l(t))return t;if(t=Mt(t),Nt(t)){const r=Ct(t);t="";for(let o of r){let i=n;if(o[0]==="!"){const f=o.substr(1).trim().split(" ");if(i=M(K(n),f[0]),o=f.slice(1).join(" ").trim(),!o.length&&r.length===1)return i}if(o[0]==="-"){const f=o.substr(1).trim().split(" "),c=(i||n).previousElementSibling;i=Q(c,o.substr(1))?c:null,o=f.slice(1).join(" ")}i&&(t+=`${t?",":""}${Pt(i)} ${o}`)}n=document}try{return n[e](t)}catch{return null}}const Et=/.*?[^\\](?:,|$)/g,Ct=$(t=>t.match(Et).map(n=>n.replace(/,$/,"").trim()));function Pt(t){const n=[];for(;t.parentNode;){const e=B(t,"id");if(e){n.unshift(`#${At(e)}`);break}else{let{tagName:r}=t;r!=="HTML"&&(r+=`:nth-child(${Ft(t)+1})`),n.unshift(r),t=t.parentNode}}return n.join(" > ")}function At(t){return l(t)?CSS.escape(t):""}function W(...t){let[n,e,r,o,i=!1]=X(t);o.length>1&&(o=Tt(o)),i!=null&&i.self&&(o=It(o)),r&&(o=Rt(r,o));for(const f of e)for(const c of n)c.addEventListener(f,o,i);return()=>jt(n,e,o,i)}function jt(...t){let[n,e,,r,o=!1]=X(t);for(const i of e)for(const f of n)f.removeEventListener(i,r,o)}function X(t){return t[0]=Lt(t[0]),l(t[1])&&(t[1]=t[1].split(" ")),R(t[2])&&t.splice(2,0,!1),t}function Rt(t,n){return e=>{const r=t[0]===">"?L(t,e.currentTarget).reverse().filter(o=>pt(e.target,o))[0]:M(e.target,t);r&&(e.current=r,n.call(this,e),delete e.current)}}function Tt(t){return n=>j(n.detail)?t(n,...n.detail):t(n)}function It(t){return function(n){if(n.target===n.currentTarget||n.target===n.current)return t.call(null,n)}}function Y(t){return t&&"addEventListener"in t}function Bt(t){return Y(t)?t:d(t)}function Lt(t){return j(t)?t.map(Bt).filter(Boolean):l(t)?L(t):Y(t)?[t]:a(t)}const Wt=/^\s*<(\w+|!)[^>]*>/,Dt=/^<(\w+)\s*\/?>(?:<\/\1>)?$/;function _t(t){const n=Dt.exec(t);if(n)return document.createElement(n[1]);const e=document.createElement("div");return Wt.test(t)?e.insertAdjacentHTML("beforeend",t.trim()):e.textContent=t,qt(e.childNodes)}function qt(t){return t.length>1?t:t[0]}function Ht(t,n){return Vt(t)?a(_t(t)):L(t,n)}function Vt(t){return l(t)&&A(t.trim(),"<")}function Zt(t){return Math.ceil(Math.max(0,...Ht("[stroke]",t).map(n=>{try{return n.getTotalLength()}catch{return 0}})))}const O={x:E,y:E,rotate:E,scale:E,color:D,backgroundColor:D,borderColor:D,blur:b,hue:b,fopacity:b,grayscale:b,invert:b,saturate:b,sepia:b,opacity:Kt,stroke:Qt,bgx:U,bgy:U},{keys:k}=Object;var Gt={mixins:[y],props:rt(k(O),"list"),data:rt(k(O),void 0),computed:{props(t,n){const e={};for(const o in t)o in O&&!s.isUndefined(t[o])&&(e[o]=t[o].slice());const r={};for(const o in e)r[o]=O[o](o,n,e[o],e);return r}},events:{load(){this.$emit()}},methods:{reset(){for(const t in this.getCss(0))s.css(this.$el,t,"")},getCss(t){const n={transform:"",filter:""};for(const e in this.props)this.props[e](n,t);return n.willChange=Object.keys(n).filter(e=>n[e]!=="").join(","),n}}};function E(t,n,e){let r=P(e)||{x:"px",y:"px",rotate:"deg"}[t]||"",o;return t==="x"||t==="y"?(t=`translate${s.ucfirst(t)}`,o=i=>s.toFloat(s.toFloat(i).toFixed(r==="px"?0:6))):t==="scale"&&(r="",o=i=>P([i])?s.toPx(i,"width",n,!0)/n.offsetWidth:i),e.length===1&&e.unshift(t==="scale"?1:0),e=w(e,o),(i,f)=>{i.transform+=` ${t}(${p(e,f)}${r})`}}function D(t,n,e){return e.length===1&&e.unshift(v(n,t,"")),e=w(e,r=>Jt(n,r)),(r,o)=>{const[i,f,c]=et(e,o),g=i.map((m,u)=>(m+=c*(f[u]-m),u===3?s.toFloat(m):parseInt(m,10))).join(",");r[t]=`rgba(${g})`}}function Jt(t,n){return v(t,"color",n).split(/[(),]/g).slice(1,-1).concat(1).slice(0,4).map(s.toFloat)}function b(t,n,e){e.length===1&&e.unshift(0);const r=P(e)||{blur:"px",hue:"deg"}[t]||"%";return t={fopacity:"opacity",hue:"hue-rotate"}[t]||t,e=w(e),(o,i)=>{const f=p(e,i);o.filter+=` ${t}(${f+r})`}}function Kt(t,n,e){return e.length===1&&e.unshift(v(n,t,"")),e=w(e),(r,o)=>{r[t]=p(e,o)}}function Qt(t,n,e){e.length===1&&e.unshift(0);const r=P(e),o=Zt(n);return e=w(e.reverse(),i=>(i=s.toFloat(i),r==="%"?i*o/100:i)),e.some(([i])=>i)?(s.css(n,"strokeDasharray",o),(i,f)=>{i.strokeDashoffset=p(e,f)}):s.noop}function U(t,n,e,r){e.length===1&&e.unshift(0);const o=t==="bgy"?"height":"width";r[t]=w(e,c=>s.toPx(c,o,n));const i=["bgx","bgy"].filter(c=>c in r);if(i.length===2&&t==="bgx")return s.noop;if(v(n,"backgroundSize","")==="cover")return Xt(t,n,e,r);const f={};for(const c of i)f[c]=tt(n,c);return nt(i,f,r)}function Xt(t,n,e,r){const o=Yt(n);if(!o.width)return s.noop;const i={width:n.offsetWidth,height:n.offsetHeight},f=["bgx","bgy"].filter(u=>u in r),c={};for(const u of f){const h=r[u].map(([dn])=>dn),S=Math.min(...h),q=Math.max(...h),ut=h.indexOf(S)<h.indexOf(q),at=q-S;c[u]=`${(ut?-at:0)-(ut?S:q)}px`,i[u==="bgy"?"height":"width"]+=at}const g=s.Dimensions.cover(o,i);for(const u of f){const h=u==="bgy"?"height":"width",S=g[h]-i[h];c[u]=`max(${tt(n,u)},-${S}px) + ${c[u]}`}const m=nt(f,c,r);return(u,h)=>{m(u,h),u.backgroundSize=`${g.width}px ${g.height}px`,u.backgroundRepeat="no-repeat"}}function tt(t,n){return v(t,`background-position-${n.substr(-1)}`,"")}function nt(t,n,e){return function(r,o){for(const i of t){const f=p(e[i],o);r[`background-position-${i.substr(-1)}`]=`calc(${n[i]} + ${f}px)`}}}const C={};function Yt(t){const n=s.css(t,"backgroundImage").replace(/^none|url\(["']?(.+?)["']?\)$/,"$1");if(C[n])return C[n];const e=new Image;return n&&(e.src=n,!e.naturalWidth)?(e.onload=()=>{C[n]=_(e),s.trigger(t,s.createEvent("load",!1))},_(e)):C[n]=_(e)}function _(t){return{width:t.naturalWidth,height:t.naturalHeight}}function w(t,n=s.toFloat){const e=[],{length:r}=t;let o=0;for(let i=0;i<r;i++){let[f,c]=s.isString(t[i])?t[i].trim().split(" "):[t[i]];if(f=n(f),c=c?s.toFloat(c)/100:null,i===0?c===null?c=0:c&&e.push([f,0]):i===r-1&&(c===null?c=1:c!==1&&(e.push([f,c]),c=1)),e.push([f,c]),c===null)o++;else if(o){const g=e[i-o-1][1],m=(c-g)/(o+1);for(let u=o;u>0;u--)e[i-u][1]=g+m*(o-u+1);o=0}}return e}function et(t,n){const e=s.findIndex(t.slice(1),([,r])=>n<=r)+1;return[t[e-1][0],t[e][0],(n-t[e-1][1])/(t[e][1]-t[e-1][1])]}function p(t,n){const[e,r,o]=et(t,n);return s.isNumber(e)?e+Math.abs(e-r)*o*(e<r?1:-1):+r}const kt=/^-?\d+(\S+)?/;function P(t,n){var e;for(const r of t){const o=(e=r.match)==null?void 0:e.call(r,kt);if(o)return o[1]}return n}function v(t,n,e){const r=t.style[n],o=s.css(s.css(t,n,e),n);return t.style[n]=r,o}function rt(t,n){return t.reduce((e,r)=>(e[r]=n,e),{})}const Ut={"animation-iteration-count":!0,"column-count":!0,"fill-opacity":!0,"flex-grow":!0,"flex-shrink":!0,"font-weight":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,"stroke-dasharray":!0,"stroke-dashoffset":!0,widows:!0,"z-index":!0,zoom:!0};function x(t,n,e,r){const o=a(t);for(const i of o)if(l(n)){if(n=tn(n),I(e))return getComputedStyle(i).getPropertyValue(n);i.style.setProperty(n,bt(e)&&!Ut[n]?`${e}px`:e||G(e)?e:"",r)}else if(j(n)){const f={};for(const c of n)f[c]=x(i,c);return f}else N(n)&&(r=e,xt(n,(f,c)=>x(i,c,f,r)));return o[0]}const tn=$(t=>nn(t));function nn(t){if(A(t,"--"))return t;t=lt(t);const{style:n}=document.documentElement;if(t in n)return t;for(const e of["webkit","moz"]){const r=`-${e}-${t}`;if(r in n)return r}}const en={width:["left","right"],height:["top","bottom"]};ot("height"),ot("width");function ot(t){const n=H(t);return(e,r)=>{if(I(r)){if(V(e))return e[`inner${n}`];if(gt(e)){const o=e.documentElement;return Math.max(o[`offset${n}`],o[`scroll${n}`])}return e=d(e),r=x(e,t),r=r==="auto"?e[`offset${n}`]:z(r)||0,r-it(e,t)}else return x(e,t,!r&&r!==0?"":+r+it(e,t)+"px")}}function it(t,n,e="border-box"){return x(t,"boxSizing")===e?$t(en[n].map(H),r=>z(x(t,`padding${r}`))+z(x(t,`border${r}Width`))):0}const rn=typeof window<"u"&&window.ResizeObserver;function on(t,n,e={box:"border-box"}){return rn?cn(ResizeObserver,t,n,e):(sn(),F.add(n),{observe:J,unobserve:J,disconnect(){F.delete(n)}})}let F;function sn(){if(F)return;F=new Set;let t;const n=()=>{if(!t){t=!0,requestAnimationFrame(()=>t=!1);for(const e of F)e()}};W(window,"load resize",n),W(document,"loadedmetadata load",n,!0)}function cn(t,n,e,r){const o=new t(e);for(const i of a(n))o.observe(i,r);return o}function fn(t){return st(on,t,"resize")}function un(t){return st(function(n,e){return{disconnect:W(n,"scroll",e,{passive:!0,capture:!0})}},{target:window,...t},"scroll")}function st(t,n,e){return{observe:t,handler(){this.$emit(e)},...n}}var ct={mixins:[Gt],props:{target:String,viewport:Number,easing:Number,start:String,end:String},data:{target:!1,viewport:1,easing:1,start:0,end:0},computed:{target({target:t},n){return ft(t&&s.query(t,n)||n)},start({start:t}){return s.toPx(t,"height",this.target,!0)},end({end:t,viewport:n}){return s.toPx(t||(n=(1-n)*100)&&`${n}vh+${n}%`,"height",this.target,!0)}},observe:[fn({target:({$el:t,target:n})=>[t,n]}),un()],update:{read({percent:t},n){if(n.has("scroll")||(t=!1),!s.isVisible(this.$el))return!1;if(!this.matchMedia)return;const e=t;return t=an(s.scrolledOver(this.target,this.start,this.end),this.easing),{percent:t,style:e===t?!1:this.getCss(t)}},write({style:t}){if(!this.matchMedia){this.reset();return}t&&s.css(this.$el,t)},events:["scroll","resize"]}};function an(t,n){return n>=0?Math.pow(t,n+1):1-Math.pow(1-t,1-n)}function ft(t){return t?"offsetTop"in t?t:ft(s.parent(t)):document.documentElement}return typeof window<"u"&&window.UIkit&&window.UIkit.component("parallax",ct),ct});