uikit 3.25.23-dev.2ad20f7 → 3.25.23-dev.9ebc131
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/CHANGELOG.md +4 -0
- package/build/build.js +1 -2
- package/build/scss.js +83 -54
- 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 +2 -2
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +4 -4
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +326 -37
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +326 -37
- 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 +1 -1
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +1 -1
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +195 -195
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +1 -1
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +4 -9
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +1 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +6 -4
- 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 +110 -102
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +109 -104
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/api/app.js +2 -4
- package/src/js/api/component.js +12 -8
- package/src/js/api/observables.js +2 -4
- package/src/js/api/props.js +1 -2
- package/src/js/components/countdown.js +1 -1
- package/src/js/components/slider.js +1 -1
- package/src/js/components/slideshow.js +0 -5
- package/src/js/components/tooltip.js +4 -2
- package/src/js/core/accordion.js +11 -7
- package/src/js/core/drop.js +10 -32
- package/src/js/core/dropnav.js +1 -1
- package/src/js/core/form-custom.js +1 -1
- package/src/js/core/img.js +2 -7
- package/src/js/core/overflow-fade.js +6 -5
- package/src/js/mixin/event.js +31 -0
- package/src/js/mixin/modal.js +26 -34
- package/src/js/mixin/svg.js +1 -1
- package/src/js/util/event.js +1 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.25.23-dev.
|
|
1
|
+
/*! UIkit 3.25.23-dev.9ebc131 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
|
|
2
2
|
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
if (el.textContent !== digits) {
|
|
91
91
|
digits = digits.split("");
|
|
92
92
|
if (digits.length !== el.children.length) {
|
|
93
|
-
uikitUtil.html(el,
|
|
93
|
+
uikitUtil.html(el, "<span></span>".repeat(digits.length));
|
|
94
94
|
}
|
|
95
95
|
digits.forEach((digit, i) => el.children[i].textContent = digit);
|
|
96
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! UIkit 3.25.23-dev.
|
|
1
|
+
/*! UIkit 3.25.23-dev.9ebc131 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(t,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitcountdown",["uikit-util"],n):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitCountdown=n(t.UIkit.util))})(this,(function(t){"use strict";var n={connected(){this._cmpCls=t.hasClass(this.$el,this.$options.id),t.addClass(this.$el,this.$options.id)},disconnected(){this._cmpCls||t.removeClass(this.$el,this.$options.id)}};const r=["days","hours","minutes","seconds"];var d={mixins:[n],props:{date:String,clsWrapper:String,role:String,reload:Boolean},data:{date:"",clsWrapper:".uk-countdown-%unit%",role:"timer",reload:!1},connected(){this.$el.role=this.role,this.date=t.toFloat(Date.parse(this.$props.date)),this.started=this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el:()=>document,handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update()},stop(){this.timer&&(clearInterval(this.timer),t.trigger(this.$el,"countdownstop"),this.timer=null)},update(){const o=a(this.date);o.total?this.timer||(this.started=!0,this.timer=setInterval(this.update,1e3),t.trigger(this.$el,"countdownstart")):(this.stop(),this.end||(t.trigger(this.$el,"countdownend"),this.end=!0,this.reload&&this.started&&window.location.reload()));for(const e of r){const i=t.$(this.clsWrapper.replace("%unit%",e),this.$el);if(!i)continue;let s=Math.trunc(o[e]).toString().padStart(2,"0");i.textContent!==s&&(s=s.split(""),s.length!==i.children.length&&t.html(i,"<span></span>".repeat(s.length)),s.forEach((l,c)=>i.children[c].textContent=l))}}}};function a(o){const e=Math.max(0,o-Date.now())/1e3;return{total:e,seconds:e%60,minutes:e/60%60,hours:e/60/60%24,days:e/60/60/24}}var h="countdown";return typeof window<"u"&&window.UIkit&&window.UIkit.component(h,d),d}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.25.23-dev.
|
|
1
|
+
/*! UIkit 3.25.23-dev.9ebc131 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
|
|
2
2
|
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
|
|
@@ -364,15 +364,15 @@
|
|
|
364
364
|
}
|
|
365
365
|
};
|
|
366
366
|
|
|
367
|
+
const keyMap = {
|
|
368
|
+
SPACE: 32};
|
|
369
|
+
|
|
367
370
|
function maybeDefaultPreventClick(e) {
|
|
368
371
|
if (e.target.closest('a[href="#"],a[href=""]')) {
|
|
369
372
|
e.preventDefault();
|
|
370
373
|
}
|
|
371
374
|
}
|
|
372
375
|
|
|
373
|
-
const keyMap = {
|
|
374
|
-
SPACE: 32};
|
|
375
|
-
|
|
376
376
|
var Component = {
|
|
377
377
|
mixins: [Animate],
|
|
378
378
|
args: "target",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! UIkit 3.25.23-dev.
|
|
1
|
+
/*! UIkit 3.25.23-dev.9ebc131 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(n,v){typeof exports=="object"&&typeof module<"u"?module.exports=v(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],v):(n=typeof globalThis<"u"?globalThis:n||self,n.UIkitFilter=v(n.UIkit.util))})(this,(function(n){"use strict";function v(e,s=[]){try{return e?n.startsWith(e,"{")?JSON.parse(e):s.length&&!n.includes(e,":")?{[s[0]]:e}:e.split(";").reduce((o,t)=>{const[c,r]=t.split(/:(.*)/);return c&&!n.isUndefined(r)&&(o[c.trim()]=r.trim()),o},{}):{}}catch{return{}}}function N(e,s="update"){e._connected&&e._updates.length&&(e._updateCount||(e._updateCount=0,requestAnimationFrame(()=>e._updateCount=0)),e._queued||(e._queued=new Set,n.fastdom.read(()=>{e._connected&&O(e,e._queued),e._queued=null})),e._updateCount++<20&&e._queued.add(s.type||s))}function O(e,s){for(const{read:o,write:t,events:c=[]}of e._updates){if(!s.has("update")&&!c.some(a=>s.has(a)))continue;let r;o&&(r=o.call(e,e._data,s),r&&n.isPlainObject(r)&&n.assign(e._data,r)),t&&r!==!1&&n.fastdom.write(()=>{e._connected&&t.call(e,e._data,s)})}}function j(e){return I(n.observeResize,e,"resize")}function $(e){return I(n.observeMutation,e)}function I(e,s,o){return{observe:e,handler(){N(this,o)},...s}}$({options:{childList:!0}}),$({options:{attributes:!0,attributeFilter:["style"]}}),j({handler(e){for(const{target:s,borderBoxSize:[{inlineSize:o,blockSize:t}]}of e)if(s===this.$el&&!o&&!t)return;this.$emit("resize")},target:({$el:e})=>[e,...n.children(e)]});function B(e){const s=[[]],o=e.some((t,c)=>c&&e[c-1].offsetParent!==t.offsetParent);for(const t of e){if(!n.isVisible(t))continue;const c=P(t,o);for(let r=s.length-1;r>=0;r--){const a=s[r];if(!a[0]){a.push(t);break}const d=P(a[0],o);if(c.top>=d.bottom-1&&c.top!==d.top){s.push([t]);break}if(c.bottom-1>d.top||c.top===d.top){let h=a.length-1;for(;h>=0;h--){const l=P(a[h],o);if(c.left>=l.left)break}a.splice(h+1,0,t);break}if(r===0){s.unshift([t]);break}}}return s}function P(e,s=!1){let{offsetTop:o,offsetLeft:t,offsetHeight:c,offsetWidth:r}=e;return s&&([o,t]=n.offsetPosition(e)),{top:o,left:t,bottom:o+c,right:t+r}}function F(){return new Promise(e=>requestAnimationFrame(e))}function g(e){return new Promise(s=>setTimeout(s,e))}const C="uk-transition-leave",S="uk-transition-enter";function _(e,s,o,t=0){const c=T(s,!0),r={opacity:1},a={opacity:0},d=()=>c===T(s),h=p=>()=>d()?p():Promise.reject(),l=h(async()=>{n.addClass(s,C),await(t?q(s).reduce(async(p,i,u,w)=>{if(await p,!n.isInView(i)||!d()){n.css(i,a);return}await g(t);const f=n.Transition.start(i,a,o/2,"ease");w.length-1===u&&await f},Promise.resolve()):n.Transition.start(s,a,o/2,"ease")),n.removeClass(s,C)}),y=h(async()=>{const p=n.height(s);n.addClass(s,S),e(),n.css(t?n.children(s):s,a),n.height(s,p),await g(),n.height(s,"");const i=n.height(s);n.css(s,"alignContent","flex-start"),n.height(s,p);let u=[],w=o/2;if(t){const f=q(s);n.css(n.children(s),a),u=f.reduce(async(m,b,Z,k)=>{if(await m,!n.isInView(b)||!d()){n.resetProps(b,r);return}await g(t);const U=n.Transition.start(b,r,o/2,"ease").then(()=>d()&&n.resetProps(b,r));k.length-1===Z&&await U},Promise.resolve()),w+=f.length*t}if(!t||p!==i){const f={height:i,...t?{}:r};u.push(n.Transition.start(s,f,w,"ease"))}await Promise.all(u),n.removeClass(s,S),d()&&(n.resetProps(s,{height:"",alignContent:"",...r}),delete s.dataset.transition)});return n.hasClass(s,C)?x(s).then(y):n.hasClass(s,S)?x(s).then(l).then(y):l().then(y)}function T(e,s){return s&&(e.dataset.transition=1+T(e)),n.toNumber(e.dataset.transition)||0}function x(e){return Promise.all(n.children(e).filter(n.Transition.inProgress).map(s=>new Promise(o=>n.once(s,"transitionend transitioncanceled",o))))}function q(e){return B(n.children(e)).flat().filter(n.isVisible)}async function L(e,s,o){await F();let t=n.children(s);const c=t.map(f=>z(f,!0)),r={...n.css(s,["height","padding"]),display:"block"},a=t.filter(f=>n.isInView(f)),d=t.concat(s);await Promise.all(d.map(n.Transition.cancel)),n.css(d,"transitionProperty","none"),await e();const h=n.children(s).filter(f=>!n.includes(t,f));t=t.concat(h),await Promise.resolve(),n.css(d,"transitionProperty","");const l=n.attr(s,"style"),y=n.css(s,["height","padding"]),[p,i]=D(s,t,c),u=t.map(f=>({style:n.attr(f,"style")}));a.push(...t.filter(f=>n.isInView(f))),t.forEach((f,m)=>i[m]&&n.css(f,i[m])),n.css(s,r),n.trigger(s,"scroll"),await F();const w=t.map((f,m)=>{if(n.parent(f)===s&&a.includes(f))return n.Transition.start(f,p[m],o,"ease",!h.includes(f))}).concat(n.Transition.start(s,y,o,"ease",!0));try{await Promise.all(w),t.forEach((f,m)=>{n.attr(f,u[m]),n.parent(f)===s&&n.css(f,"display",p[m].opacity===0?"none":"")}),n.attr(s,"style",l)}catch{n.attr(t,"style",""),n.resetProps(s,r)}}function z(e,s){const o=n.css(e,"zIndex");return n.isVisible(e)?{display:"",opacity:s?n.css(e,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?n.index(e):o,...A(e)}:!1}function D(e,s,o){const t=s.map((r,a)=>n.parent(r)&&a in o?o[a]?n.isVisible(r)?A(r):{opacity:0}:{opacity:n.isVisible(r)?1:0}:!1),c=t.map((r,a)=>{const d=n.parent(s[a])===e&&(o[a]||z(s[a]));if(!d)return!1;if(!r)delete d.opacity;else if(!("opacity"in r)){const{opacity:h}=d;h%1?r.opacity=1:delete d.opacity}return d});return[t,c]}function A(e){const{height:s,width:o}=n.dimensions(e);return{height:s,width:o,transform:"",...n.position(e),...n.css(e,["marginTop","marginLeft"])}}var H={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(e,s=this.$el){const o=this.animation;return(o==="fade"?_:o==="delayed-fade"?(...c)=>_(...c,40):o?L:()=>(e(),Promise.resolve()))(e,s,this.duration).catch(n.noop)}}};const R={SPACE:32};function W(e){e.target.closest('a[href="#"],a[href=""]')&&e.preventDefault()}var E={mixins:[H],args:"target",props:{target:String,selActive:Boolean},data:{target:"",selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{children:({target:e},s)=>n.$$(`${e} > *`,s),toggles:({attrItem:e},s)=>n.$$(`[${e}],[data-${e}]`,s)},watch:{toggles(e){this.updateState();const s=n.$$(this.selActive,this.$el);for(const o of e){this.selActive!==!1&&n.toggleClass(o,this.cls,n.includes(s,o));const t=X(o);n.isTag(t,"a")&&(t.role="button")}},children(e,s){s&&this.updateState()}},events:{name:"click keydown",delegate:({attrItem:e})=>`[${e}],[data-${e}]`,handler(e){e.type==="keydown"&&e.keyCode!==R.SPACE||e.target.closest("a,button")&&(W(e),this.apply(e.current))}},methods:{apply(e){const s=this.getState(),o=V(e,this.attrItem,this.getState());J(s,o)||this.setState(o)},getState(){return this.toggles.filter(e=>n.hasClass(e,this.cls)).reduce((e,s)=>V(s,this.attrItem,e),{filter:{"":""},sort:[]})},async setState(e,s=!0){e={filter:{"":""},sort:[],...e},n.trigger(this.$el,"beforeFilter",[this,e]);for(const o of this.toggles)n.toggleClass(o,this.cls,K(o,this.attrItem,e));await Promise.all(n.$$(this.target,this.$el).map(o=>{const t=()=>G(e,o,n.children(o));return s?this.animate(t,o):t()})),n.trigger(this.$el,"afterFilter",[this])},updateState(){n.fastdom.write(()=>this.setState(this.getState(),!1))}}};function M(e,s){return v(n.data(e,s),["filter"])}function J(e,s){return["filter","sort"].every(o=>n.isEqual(e[o],s[o]))}function G(e,s,o){for(const r of o)n.css(r,"display",Object.values(e.filter).every(a=>!a||n.matches(r,a))?"":"none");const[t,c]=e.sort;if(t){const r=Q(o,t,c);n.isEqual(r,o)||n.append(s,r)}}function V(e,s,o){const{filter:t,group:c,sort:r,order:a="asc"}=M(e,s);return(t||n.isUndefined(r))&&(c?t?(delete o.filter[""],o.filter[c]=t):(delete o.filter[c],(n.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":t||""})):o.filter={"":t||""}),n.isUndefined(r)||(o.sort=[r,a]),o}function K(e,s,{filter:o={"":""},sort:[t,c]}){const{filter:r="",group:a="",sort:d,order:h="asc"}=M(e,s),l=!a&&r===o[""],y=a in o&&r===o[a],p=!r&&a&&!(a in o)&&!o[""],i=l||y||p;return n.isUndefined(d)?i:t===d&&c===h&&(!(r||a)||i)}function Q(e,s,o){return[...e].sort((t,c)=>{const r=n.data(t,s)||"",a=n.data(c,s)||"";return(n.isNumeric(r)&&n.isNumeric(a)?r-a:r.localeCompare(a,void 0,{numeric:!0}))*(o==="asc"||-1)})}function X(e){return n.$("a,button",e)||e}var Y="filter";return typeof window<"u"&&window.UIkit&&window.UIkit.component(Y,E),E}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.25.23-dev.
|
|
1
|
+
/*! UIkit 3.25.23-dev.9ebc131 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
|
|
2
2
|
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
|
|
@@ -117,10 +117,7 @@
|
|
|
117
117
|
} else {
|
|
118
118
|
sources = parseOptions(sources);
|
|
119
119
|
}
|
|
120
|
-
|
|
121
|
-
sources = [sources];
|
|
122
|
-
}
|
|
123
|
-
return sources.filter((source) => !util.isEmpty(source));
|
|
120
|
+
return (util.isArray(sources) ? sources : [sources]).filter((source) => !util.isEmpty(source));
|
|
124
121
|
}
|
|
125
122
|
|
|
126
123
|
function awaitFrame() {
|
|
@@ -206,11 +203,314 @@
|
|
|
206
203
|
}
|
|
207
204
|
};
|
|
208
205
|
|
|
206
|
+
const inBrowser = typeof window !== "undefined";
|
|
207
|
+
const hasTouch = inBrowser && "ontouchstart" in window;
|
|
208
|
+
const hasPointerEvents = inBrowser && window.PointerEvent;
|
|
209
|
+
const pointerDown$1 = hasPointerEvents ? "pointerdown" : hasTouch ? "touchstart" : "mousedown";
|
|
210
|
+
const pointerUp$1 = hasPointerEvents ? "pointerup" : hasTouch ? "touchend" : "mouseup";
|
|
211
|
+
const pointerCancel = hasPointerEvents ? "pointercancel" : "touchcancel";
|
|
212
|
+
|
|
213
|
+
const { isArray, from: toArray } = Array;
|
|
214
|
+
function isFunction(obj) {
|
|
215
|
+
return typeof obj === "function";
|
|
216
|
+
}
|
|
217
|
+
function isObject(obj) {
|
|
218
|
+
return obj !== null && typeof obj === "object";
|
|
219
|
+
}
|
|
220
|
+
function isWindow(obj) {
|
|
221
|
+
return isObject(obj) && obj === obj.window;
|
|
222
|
+
}
|
|
223
|
+
function isDocument(obj) {
|
|
224
|
+
return nodeType(obj) === 9;
|
|
225
|
+
}
|
|
226
|
+
function isNode(obj) {
|
|
227
|
+
return nodeType(obj) >= 1;
|
|
228
|
+
}
|
|
229
|
+
function nodeType(obj) {
|
|
230
|
+
return !isWindow(obj) && isObject(obj) && obj.nodeType;
|
|
231
|
+
}
|
|
232
|
+
function isString(value) {
|
|
233
|
+
return typeof value === "string";
|
|
234
|
+
}
|
|
235
|
+
function isUndefined(value) {
|
|
236
|
+
return value === void 0;
|
|
237
|
+
}
|
|
238
|
+
function toNode(element) {
|
|
239
|
+
return element && toNodes(element)[0];
|
|
240
|
+
}
|
|
241
|
+
function toNodes(element) {
|
|
242
|
+
return isNode(element) ? [element] : Array.from(element || []).filter(isNode);
|
|
243
|
+
}
|
|
244
|
+
function memoize(fn) {
|
|
245
|
+
const cache = /* @__PURE__ */ Object.create(null);
|
|
246
|
+
return (key, ...args) => cache[key] || (cache[key] = fn(key, ...args));
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function attr(element, name, value) {
|
|
250
|
+
var _a;
|
|
251
|
+
if (isObject(name)) {
|
|
252
|
+
for (const key in name) {
|
|
253
|
+
attr(element, key, name[key]);
|
|
254
|
+
}
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
if (isUndefined(value)) {
|
|
258
|
+
return (_a = toNode(element)) == null ? void 0 : _a.getAttribute(name);
|
|
259
|
+
} else {
|
|
260
|
+
for (const el of toNodes(element)) {
|
|
261
|
+
if (value === null) {
|
|
262
|
+
removeAttr(el, name);
|
|
263
|
+
} else {
|
|
264
|
+
el.setAttribute(name, value);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
function removeAttr(element, name) {
|
|
270
|
+
toNodes(element).forEach((element2) => element2.removeAttribute(name));
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
function parent(element) {
|
|
274
|
+
var _a;
|
|
275
|
+
return (_a = toNode(element)) == null ? void 0 : _a.parentElement;
|
|
276
|
+
}
|
|
277
|
+
function filter(element, selector) {
|
|
278
|
+
return toNodes(element).filter((element2) => matches(element2, selector));
|
|
279
|
+
}
|
|
280
|
+
function matches(element, selector) {
|
|
281
|
+
return toNodes(element).some((element2) => element2.matches(selector));
|
|
282
|
+
}
|
|
283
|
+
function children(element, selector) {
|
|
284
|
+
element = toNode(element);
|
|
285
|
+
const children2 = element ? toArray(element.children) : [];
|
|
286
|
+
return selector ? filter(children2, selector) : children2;
|
|
287
|
+
}
|
|
288
|
+
function index(element, ref) {
|
|
289
|
+
return children(parent(element)).indexOf(element);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function findAll(selector, context) {
|
|
293
|
+
return toNodes(_query(selector, toNode(context), "querySelectorAll"));
|
|
294
|
+
}
|
|
295
|
+
const addStarRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
|
|
296
|
+
const splitSelectorRe = /(\([^)]*\)|[^,])+/g;
|
|
297
|
+
const parseSelector = memoize((selector) => {
|
|
298
|
+
let isContextSelector = false;
|
|
299
|
+
if (!selector || !isString(selector)) {
|
|
300
|
+
return {};
|
|
301
|
+
}
|
|
302
|
+
const selectors = [];
|
|
303
|
+
for (let sel of selector.match(splitSelectorRe)) {
|
|
304
|
+
sel = sel.trim().replace(addStarRe, "$1 *");
|
|
305
|
+
isContextSelector || (isContextSelector = ["!", "+", "~", "-", ">"].includes(sel[0]));
|
|
306
|
+
selectors.push(sel);
|
|
307
|
+
}
|
|
308
|
+
return {
|
|
309
|
+
selector: selectors.join(","),
|
|
310
|
+
selectors,
|
|
311
|
+
isContextSelector
|
|
312
|
+
};
|
|
313
|
+
});
|
|
314
|
+
const positionRe = /(\([^)]*\)|\S)*/;
|
|
315
|
+
const parsePositionSelector = memoize((selector) => {
|
|
316
|
+
selector = selector.slice(1).trim();
|
|
317
|
+
const [position] = selector.match(positionRe);
|
|
318
|
+
return [position, selector.slice(position.length + 1)];
|
|
319
|
+
});
|
|
320
|
+
function _query(selector, context = document, queryFn) {
|
|
321
|
+
var _a;
|
|
322
|
+
const parsed = parseSelector(selector);
|
|
323
|
+
if (!parsed.isContextSelector) {
|
|
324
|
+
return parsed.selector ? _doQuery(context, queryFn, parsed.selector) : selector;
|
|
325
|
+
}
|
|
326
|
+
selector = "";
|
|
327
|
+
const isSingle = parsed.selectors.length === 1;
|
|
328
|
+
for (let sel of parsed.selectors) {
|
|
329
|
+
let positionSel;
|
|
330
|
+
let ctx = context;
|
|
331
|
+
if (sel[0] === "!") {
|
|
332
|
+
[positionSel, sel] = parsePositionSelector(sel);
|
|
333
|
+
ctx = (_a = context.parentElement) == null ? void 0 : _a.closest(positionSel);
|
|
334
|
+
if (!sel && isSingle) {
|
|
335
|
+
return ctx;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
if (ctx && sel[0] === "-") {
|
|
339
|
+
[positionSel, sel] = parsePositionSelector(sel);
|
|
340
|
+
ctx = ctx.previousElementSibling;
|
|
341
|
+
ctx = matches(ctx, positionSel) ? ctx : null;
|
|
342
|
+
if (!sel && isSingle) {
|
|
343
|
+
return ctx;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (!ctx) {
|
|
347
|
+
continue;
|
|
348
|
+
}
|
|
349
|
+
if (isSingle) {
|
|
350
|
+
if (sel[0] === "~" || sel[0] === "+") {
|
|
351
|
+
sel = `:scope > :nth-child(${index(ctx) + 1}) ${sel}`;
|
|
352
|
+
ctx = ctx.parentElement;
|
|
353
|
+
} else if (sel[0] === ">") {
|
|
354
|
+
sel = `:scope ${sel}`;
|
|
355
|
+
}
|
|
356
|
+
return _doQuery(ctx, queryFn, sel);
|
|
357
|
+
}
|
|
358
|
+
selector += `${selector ? "," : ""}${domPath(ctx)} ${sel}`;
|
|
359
|
+
}
|
|
360
|
+
if (!isDocument(context)) {
|
|
361
|
+
context = context.ownerDocument;
|
|
362
|
+
}
|
|
363
|
+
return _doQuery(context, queryFn, selector);
|
|
364
|
+
}
|
|
365
|
+
function _doQuery(context, queryFn, selector) {
|
|
366
|
+
try {
|
|
367
|
+
return context[queryFn](selector);
|
|
368
|
+
} catch {
|
|
369
|
+
return null;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
function domPath(element) {
|
|
373
|
+
const names = [];
|
|
374
|
+
while (element.parentNode) {
|
|
375
|
+
const id = attr(element, "id");
|
|
376
|
+
if (id) {
|
|
377
|
+
names.unshift(`#${escape(id)}`);
|
|
378
|
+
break;
|
|
379
|
+
} else {
|
|
380
|
+
let { tagName } = element;
|
|
381
|
+
if (tagName !== "HTML") {
|
|
382
|
+
tagName += `:nth-child(${index(element) + 1})`;
|
|
383
|
+
}
|
|
384
|
+
names.unshift(tagName);
|
|
385
|
+
element = element.parentNode;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
return names.join(" > ");
|
|
389
|
+
}
|
|
390
|
+
function escape(css) {
|
|
391
|
+
return isString(css) ? CSS.escape(css) : "";
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
function on(...args) {
|
|
395
|
+
let [targets, types, selector, listener, useCapture = false] = getArgs(args);
|
|
396
|
+
if (listener.length > 1) {
|
|
397
|
+
listener = detail(listener);
|
|
398
|
+
}
|
|
399
|
+
if (useCapture == null ? void 0 : useCapture.self) {
|
|
400
|
+
listener = selfFilter(listener);
|
|
401
|
+
}
|
|
402
|
+
if (selector) {
|
|
403
|
+
listener = delegate(selector, listener);
|
|
404
|
+
}
|
|
405
|
+
for (const type of types) {
|
|
406
|
+
for (const target of targets) {
|
|
407
|
+
target.addEventListener(type, listener, useCapture);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return () => off(targets, types, listener, useCapture);
|
|
411
|
+
}
|
|
412
|
+
function off(...args) {
|
|
413
|
+
let [targets, types, , listener, useCapture = false] = getArgs(args);
|
|
414
|
+
for (const type of types) {
|
|
415
|
+
for (const target of targets) {
|
|
416
|
+
target.removeEventListener(type, listener, useCapture);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
function once(...args) {
|
|
421
|
+
const [element, types, selector, listener, useCapture = false, condition] = getArgs(args);
|
|
422
|
+
const off2 = on(
|
|
423
|
+
element,
|
|
424
|
+
types,
|
|
425
|
+
selector,
|
|
426
|
+
(e) => {
|
|
427
|
+
const result = !condition || condition(e);
|
|
428
|
+
if (result) {
|
|
429
|
+
off2();
|
|
430
|
+
listener(e, result);
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
useCapture
|
|
434
|
+
);
|
|
435
|
+
return off2;
|
|
436
|
+
}
|
|
437
|
+
function getArgs(args) {
|
|
438
|
+
args[0] = toEventTargets(args[0]);
|
|
439
|
+
if (isString(args[1])) {
|
|
440
|
+
args[1] = args[1].split(" ");
|
|
441
|
+
}
|
|
442
|
+
if (isFunction(args[2])) {
|
|
443
|
+
args.splice(2, 0, false);
|
|
444
|
+
}
|
|
445
|
+
return args;
|
|
446
|
+
}
|
|
447
|
+
function delegate(selector, listener) {
|
|
448
|
+
return (e) => {
|
|
449
|
+
const current = selector[0] === ">" ? findAll(selector, e.currentTarget).reverse().find((element) => element.contains(e.target)) : e.target.closest(selector);
|
|
450
|
+
if (current) {
|
|
451
|
+
e.current = current;
|
|
452
|
+
listener.call(this, e);
|
|
453
|
+
delete e.current;
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
function detail(listener) {
|
|
458
|
+
return (e) => isArray(e.detail) ? listener(e, ...e.detail) : listener(e);
|
|
459
|
+
}
|
|
460
|
+
function selfFilter(listener) {
|
|
461
|
+
return function(e) {
|
|
462
|
+
if (e.target === e.currentTarget || e.target === e.current) {
|
|
463
|
+
return listener.call(null, e);
|
|
464
|
+
}
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
function isEventTarget(target) {
|
|
468
|
+
return target && "addEventListener" in target;
|
|
469
|
+
}
|
|
470
|
+
function toEventTarget(target) {
|
|
471
|
+
return isEventTarget(target) ? target : toNode(target);
|
|
472
|
+
}
|
|
473
|
+
function toEventTargets(target) {
|
|
474
|
+
return isArray(target) ? target.map(toEventTarget).filter(Boolean) : isString(target) ? findAll(target) : isEventTarget(target) ? [target] : toNodes(target);
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
const keyMap = {
|
|
478
|
+
ESC: 27,
|
|
479
|
+
SPACE: 32,
|
|
480
|
+
END: 35,
|
|
481
|
+
HOME: 36,
|
|
482
|
+
LEFT: 37,
|
|
483
|
+
RIGHT: 39};
|
|
484
|
+
|
|
209
485
|
function maybeDefaultPreventClick(e) {
|
|
210
486
|
if (e.target.closest('a[href="#"],a[href=""]')) {
|
|
211
487
|
e.preventDefault();
|
|
212
488
|
}
|
|
213
489
|
}
|
|
490
|
+
function onEscape(handler, isEligible = () => true) {
|
|
491
|
+
return on(document, "keydown", (e) => {
|
|
492
|
+
if (e.keyCode === keyMap.ESC && isEligible()) {
|
|
493
|
+
handler(e);
|
|
494
|
+
}
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
function onOutsidePointer(handler, isOutside, isEligible) {
|
|
498
|
+
return on(document, pointerDown$1, ({ target }) => {
|
|
499
|
+
if (!isOutside(target) || isEligible && !isEligible()) {
|
|
500
|
+
return;
|
|
501
|
+
}
|
|
502
|
+
once(
|
|
503
|
+
document,
|
|
504
|
+
`${pointerUp$1} ${pointerCancel} scroll`,
|
|
505
|
+
({ defaultPrevented, type, target: newTarget }) => {
|
|
506
|
+
if (!defaultPrevented && type === pointerUp$1 && target === newTarget) {
|
|
507
|
+
handler(target);
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
true
|
|
511
|
+
);
|
|
512
|
+
});
|
|
513
|
+
}
|
|
214
514
|
|
|
215
515
|
var Togglable = {
|
|
216
516
|
props: {
|
|
@@ -391,6 +691,7 @@
|
|
|
391
691
|
}
|
|
392
692
|
|
|
393
693
|
const active = [];
|
|
694
|
+
const pendingReject = /* @__PURE__ */ new WeakMap();
|
|
394
695
|
var Modal = {
|
|
395
696
|
mixins: [Class, Container, Togglable],
|
|
396
697
|
props: {
|
|
@@ -545,11 +846,13 @@
|
|
|
545
846
|
}
|
|
546
847
|
};
|
|
547
848
|
function animate(el, show, { transitionElement, _toggle }) {
|
|
849
|
+
let rejectAnimation;
|
|
548
850
|
return new Promise(
|
|
549
851
|
(resolve, reject) => util.once(el, "show hide", () => {
|
|
550
852
|
var _a;
|
|
551
|
-
(_a = el
|
|
552
|
-
|
|
853
|
+
(_a = pendingReject.get(el)) == null ? void 0 : _a();
|
|
854
|
+
rejectAnimation = reject;
|
|
855
|
+
pendingReject.set(el, reject);
|
|
553
856
|
_toggle(el, show);
|
|
554
857
|
const off = util.once(
|
|
555
858
|
transitionElement,
|
|
@@ -570,10 +873,14 @@
|
|
|
570
873
|
toMs(util.css(transitionElement, "transitionDuration"))
|
|
571
874
|
);
|
|
572
875
|
})
|
|
573
|
-
).then(() =>
|
|
876
|
+
).then(() => {
|
|
877
|
+
if (pendingReject.get(el) === rejectAnimation) {
|
|
878
|
+
pendingReject.delete(el);
|
|
879
|
+
}
|
|
880
|
+
});
|
|
574
881
|
}
|
|
575
882
|
function toMs(time) {
|
|
576
|
-
return time
|
|
883
|
+
return util.toFloat(time) * (util.endsWith(time, "ms") ? 1 : 1e3);
|
|
577
884
|
}
|
|
578
885
|
function preventBackgroundFocus(modal) {
|
|
579
886
|
return util.on(document, "focusin", (e) => {
|
|
@@ -589,28 +896,17 @@
|
|
|
589
896
|
});
|
|
590
897
|
}
|
|
591
898
|
function listenForBackgroundClose(modal) {
|
|
592
|
-
return
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
document,
|
|
598
|
-
`${util.pointerUp} ${util.pointerCancel} scroll`,
|
|
599
|
-
({ defaultPrevented, type, target: newTarget }) => {
|
|
600
|
-
if (!defaultPrevented && type === util.pointerUp && target === newTarget) {
|
|
601
|
-
modal.hide();
|
|
602
|
-
}
|
|
603
|
-
},
|
|
604
|
-
true
|
|
605
|
-
);
|
|
606
|
-
});
|
|
899
|
+
return onOutsidePointer(
|
|
900
|
+
() => modal.hide(),
|
|
901
|
+
(target) => (!modal.overlay || modal.$el.contains(target)) && Boolean(modal.panel) && !modal.panel.contains(target),
|
|
902
|
+
() => util.last(active) === modal
|
|
903
|
+
);
|
|
607
904
|
}
|
|
608
905
|
function listenForEscClose(modal) {
|
|
609
|
-
return
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
});
|
|
906
|
+
return onEscape(
|
|
907
|
+
() => modal.hide(),
|
|
908
|
+
() => util.last(active) === modal
|
|
909
|
+
);
|
|
614
910
|
}
|
|
615
911
|
function setAriaExpanded(el, toggled) {
|
|
616
912
|
if (el == null ? void 0 : el.ariaExpanded) {
|
|
@@ -926,7 +1222,7 @@
|
|
|
926
1222
|
|
|
927
1223
|
util.memoize((id, props) => {
|
|
928
1224
|
const attributes = Object.keys(props);
|
|
929
|
-
const filter = attributes.concat(id).
|
|
1225
|
+
const filter = attributes.concat(id).flatMap((key) => [util.hyphenate(key), `data-${util.hyphenate(key)}`]);
|
|
930
1226
|
return { attributes, filter };
|
|
931
1227
|
});
|
|
932
1228
|
|
|
@@ -935,13 +1231,6 @@
|
|
|
935
1231
|
return (el == null ? void 0 : el.id) || `${instance.$options.id}-${id++}`;
|
|
936
1232
|
}
|
|
937
1233
|
|
|
938
|
-
const keyMap = {
|
|
939
|
-
SPACE: 32,
|
|
940
|
-
END: 35,
|
|
941
|
-
HOME: 36,
|
|
942
|
-
LEFT: 37,
|
|
943
|
-
RIGHT: 39};
|
|
944
|
-
|
|
945
1234
|
var SliderNav = {
|
|
946
1235
|
i18n: {
|
|
947
1236
|
next: "Next slide",
|