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.
- package/.eslintrc.json +1 -0
- package/CHANGELOG.md +9 -1
- package/build/build.js +5 -4
- package/build/icons.js +2 -1
- package/build/less.js +2 -11
- package/build/prefix.js +2 -1
- package/build/release.js +4 -3
- package/build/scope.js +2 -1
- package/build/scss.js +2 -1
- package/build/util.js +3 -3
- package/dist/css/uikit-core-rtl.css +1 -1
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +1 -1
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +1 -1
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +1 -1
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +12 -14
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +506 -22
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +2601 -310
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +2612 -323
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +1 -1
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +466 -43
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +184 -2
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +2345 -49
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +184 -2
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +2339 -49
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +472 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +2298 -11
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +951 -931
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +153 -152
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +979 -954
- package/dist/js/uikit.min.js +1 -1
- package/package.json +2 -2
- package/src/images/icons/mastodon.svg +3 -0
- package/src/js/api/app.js +12 -0
- package/src/js/api/boot.js +64 -43
- package/src/js/api/component.js +60 -61
- package/src/js/api/computed.js +39 -0
- package/src/js/api/events.js +45 -0
- package/src/js/api/global.js +58 -56
- package/src/js/api/hooks.js +35 -114
- package/src/js/api/index.js +8 -24
- package/src/js/api/instance.js +55 -55
- package/src/js/api/log.js +10 -0
- package/src/js/api/observables.js +125 -0
- package/src/js/api/observer.js +76 -0
- package/src/js/{util → api}/options.js +38 -1
- package/src/js/api/props.js +102 -0
- package/src/js/api/state.js +26 -280
- package/src/js/api/update.js +77 -0
- package/src/js/api/watch.js +34 -0
- package/src/js/components/countdown.js +14 -16
- package/src/js/components/filter.js +18 -24
- package/src/js/components/internal/slider-preload.js +5 -6
- package/src/js/components/lightbox-panel.js +1 -1
- package/src/js/components/lightbox.js +11 -23
- package/src/js/components/parallax.js +8 -6
- package/src/js/components/slider.js +10 -0
- package/src/js/components/tooltip.js +2 -1
- package/src/js/core/accordion.js +5 -6
- package/src/js/core/cover.js +9 -9
- package/src/js/core/drop.js +13 -6
- package/src/js/core/dropnav.js +1 -1
- package/src/js/core/grid.js +2 -5
- package/src/js/core/height-match.js +9 -16
- package/src/js/core/height-viewport.js +5 -7
- package/src/js/core/img.js +12 -19
- package/src/js/core/leader.js +4 -2
- package/src/js/core/margin.js +11 -21
- package/src/js/core/modal.js +1 -1
- package/src/js/core/offcanvas.js +6 -2
- package/src/js/core/overflow-auto.js +5 -5
- package/src/js/core/responsive.js +5 -7
- package/src/js/core/scroll.js +19 -10
- package/src/js/core/scrollspy-nav.js +6 -5
- package/src/js/core/scrollspy.js +27 -36
- package/src/js/core/sticky.js +12 -10
- package/src/js/core/svg.js +4 -2
- package/src/js/core/switcher.js +11 -9
- package/src/js/core/toggle.js +4 -4
- package/src/js/core/video.js +6 -14
- package/src/js/mixin/modal.js +2 -1
- package/src/js/mixin/parallax.js +1 -1
- package/src/js/mixin/slider-nav.js +2 -1
- package/src/js/mixin/slider.js +9 -3
- package/src/js/util/filter.js +13 -0
- package/src/js/util/index.js +0 -1
- package/src/js/util/keys.js +11 -0
- package/src/js/util/lang.js +7 -7
- package/src/js/util/observer.js +4 -2
- package/src/js/util/scroll.js +42 -0
- package/src/js/util/svg.js +16 -0
- package/src/js/util/viewport.js +1 -1
- package/src/scss/mixins-theme.scss +1640 -1596
- package/src/scss/mixins.scss +1370 -1370
- package/src/scss/variables-theme.scss +1255 -1255
- package/src/scss/variables.scss +1113 -1113
- package/src/js/mixin/lazyload.js +0 -27
- package/src/js/mixin/resize.js +0 -11
- package/src/js/mixin/scroll.js +0 -32
- package/src/js/mixin/swipe.js +0 -72
- package/src/js/mixin/utils.js +0 -91
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.16.
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
429
|
-
|
|
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});
|