diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 2580e98..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,23 +0,0 @@ -// http://eslint.org/docs/user-guide/configuring - -module.exports = { - root: true, - env: { - browser: true, - }, - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "prettier", - ], - // required to lint *.vue files - plugins: ['@typescript-eslint', 'prettier'], - // add your custom rules here - rules: { - // allow debugger during development - 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, - 'arrow-parens': 'off', - 'no-param-reassign': 'off', - }, -}; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea6b2dc..953d4c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,13 +12,17 @@ jobs: strategy: matrix: - node-version: [18.x, 20.x] + node-version: [20.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9.9.0 - run: pnpm install - run: pnpm run test:ci - run: pnpm run build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9c00480..a51fe02 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,9 +11,13 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 18 - - run: npm ci - - run: npm run build + node-version: 20 + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9.9.0 + - run: pnpm ci + - run: pnpm run build publish-npm: needs: build @@ -22,9 +26,13 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 18 + node-version: 20 registry-url: https://registry.npmjs.org/ - - run: npm ci - - run: npm publish + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9.9.0 + - run: pnpm ci + - run: pnpm publish env: NODE_AUTH_TOKEN: ${{secrets.npm_token}} diff --git a/.gitignore b/.gitignore index 7f14fd2..09e49ab 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ yarn-error.log* .temp/ .cache/ coverage/ +dist/ +docs/.vuepress/dist/ \ No newline at end of file diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100644 index 0000000..66ae5b5 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1 @@ +pnpm commitlint --edit $1 \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..1fdde16 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,2 @@ +pnpm test +pnpm lint diff --git a/README.md b/README.md index 9b1fafd..23ff580 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,16 @@ [![Netlify Status](https://api.netlify.com/api/v1/badges/0d134e46-98be-4533-a02f-fbf9e0358879/deploy-status)](https://app.netlify.com/sites/vue-interact/deploys) - -:book: [Checkout the documentation](https://vue-interact.netlify.com/) +:book: [Checkout the documentation](https://vue-interact.netlify.app/) ## Build Setup -``` bash +```bash npm install vue-interact --save # or yarn add vue-interact ``` - -## Back-To-Work Plan - -- [ ] Contribuition directives -- [X] Separate properly InteractPanel -- [ ] Directive -- [ ] Documentation -- [X] Change building process -- [X] CI Process - -> Any contribuition is welcome :arrow_up: - ## ©️ License [MIT](http://opensource.org/licenses/MIT) diff --git a/commitlint.config.ts b/commitlint.config.ts new file mode 100644 index 0000000..103b053 --- /dev/null +++ b/commitlint.config.ts @@ -0,0 +1,22 @@ +module.exports = { + extends: ['@commitlint/config-conventional'], + rules: { + 'type-enum': [ + 2, + 'always', + [ + 'build', + 'chore', + 'ci', + 'docs', + 'feat', + 'fix', + 'perf', + 'refactor', + 'revert', + 'style', + 'test', + ], + ], + }, +}; diff --git a/dist/composables/useDraggable.d.ts b/dist/composables/useDraggable.d.ts deleted file mode 100644 index d689dff..0000000 --- a/dist/composables/useDraggable.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { DraggableOptions } from '@interactjs/actions/drag/plugin'; -import { InteractContext } from './useInteractContext'; -export interface IPosition { - x: number; - y: number; -} -declare const useDraggable: (context: InteractContext, interactOptions?: DraggableOptions) => { - init: () => void; - position: import('vue').Ref; - draggableOptions: import('vue').WritableComputedRef; - isDragging: import('vue').Ref; -}; -export default useDraggable; diff --git a/dist/composables/useInteractContext.d.ts b/dist/composables/useInteractContext.d.ts deleted file mode 100644 index 85b49ad..0000000 --- a/dist/composables/useInteractContext.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Interactable } from '@interactjs/types'; -import { default as interact } from 'interactjs'; -import { Ref } from 'vue'; -export interface IPosition { - x: number; - y: number; -} -export interface ISizeData { - width: number; - height: number; -} -export interface InteractContext { - interactable: Ref; - interact: typeof interact; - position: Ref; - size: Ref; -} -declare const useInteractContext: (elRef: Ref) => InteractContext; -export default useInteractContext; diff --git a/dist/composables/useResizable.d.ts b/dist/composables/useResizable.d.ts deleted file mode 100644 index 076166e..0000000 --- a/dist/composables/useResizable.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { ResizableOptions } from '@interactjs/actions/resize/plugin'; -import { InteractContext } from './useInteractContext'; -declare const useResizable: (context: InteractContext, interactOptions: ResizableOptions) => { - init: () => void; - resizeData: import('vue').Ref; - position: import('vue').Ref; - resizableOptions: import('vue').WritableComputedRef; - isResizing: import('vue').Ref; -}; -export default useResizable; diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index c466c4d..0000000 --- a/dist/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Plugin } from 'vue'; -import { default as useInteractContext } from './composables/useInteractContext'; -import { default as useDraggable } from './composables/useDraggable'; -import { default as useResizable } from './composables/useResizable'; -export interface IVueInteractOptions { - installInject?: boolean; - installGlobalProperty?: boolean; -} -declare const VueInteract: Plugin; -export { useInteractContext, useDraggable, useResizable }; -export default VueInteract; diff --git a/dist/vue-interact.js b/dist/vue-interact.js deleted file mode 100644 index 697de72..0000000 --- a/dist/vue-interact.js +++ /dev/null @@ -1,2414 +0,0 @@ -import { ref as Oe, watch as wt, computed as _n } from "vue"; -var Yr = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; -function Lr(P) { - return P && P.__esModule && Object.prototype.hasOwnProperty.call(P, "default") ? P.default : P; -} -var We = { exports: {} }; -We.exports; -(function(P, R) { - (function(C, I) { - P.exports = I(); - })(Yr, function() { - function C(t, e) { - var n = Object.keys(t); - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(t); - e && (r = r.filter(function(i) { - return Object.getOwnPropertyDescriptor(t, i).enumerable; - })), n.push.apply(n, r); - } - return n; - } - function I(t) { - for (var e = 1; e < arguments.length; e++) { - var n = arguments[e] != null ? arguments[e] : {}; - e % 2 ? C(Object(n), !0).forEach(function(r) { - re(t, r, n[r]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : C(Object(n)).forEach(function(r) { - Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(n, r)); - }); - } - return t; - } - function M(t) { - return M = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { - return typeof e; - } : function(e) { - return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; - }, M(t); - } - function k(t, e) { - if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function"); - } - function W(t, e) { - for (var n = 0; n < e.length; n++) { - var r = e[n]; - r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, ve(r.key), r); - } - } - function O(t, e, n) { - return e && W(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t; - } - function re(t, e, n) { - return (e = ve(e)) in t ? Object.defineProperty(t, e, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = n, t; - } - function j(t, e) { - if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function"); - t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && z(t, e); - } - function q(t) { - return q = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) { - return e.__proto__ || Object.getPrototypeOf(e); - }, q(t); - } - function z(t, e) { - return z = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, r) { - return n.__proto__ = r, n; - }, z(t, e); - } - function ie(t) { - if (t === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - return t; - } - function J(t) { - var e = function() { - if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1; - if (typeof Proxy == "function") return !0; - try { - return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { - })), !0; - } catch { - return !1; - } - }(); - return function() { - var n, r = q(t); - if (e) { - var i = q(this).constructor; - n = Reflect.construct(r, arguments, i); - } else n = r.apply(this, arguments); - return function(o, a) { - if (a && (typeof a == "object" || typeof a == "function")) return a; - if (a !== void 0) throw new TypeError("Derived constructors may only return object or undefined"); - return ie(o); - }(this, n); - }; - } - function oe() { - return oe = typeof Reflect < "u" && Reflect.get ? Reflect.get.bind() : function(t, e, n) { - var r = function(o, a) { - for (; !Object.prototype.hasOwnProperty.call(o, a) && (o = q(o)) !== null; ) ; - return o; - }(t, e); - if (r) { - var i = Object.getOwnPropertyDescriptor(r, e); - return i.get ? i.get.call(arguments.length < 3 ? t : n) : i.value; - } - }, oe.apply(this, arguments); - } - function ve(t) { - var e = function(n, r) { - if (typeof n != "object" || n === null) return n; - var i = n[Symbol.toPrimitive]; - if (i !== void 0) { - var o = i.call(n, r); - if (typeof o != "object") return o; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return String(n); - }(t, "string"); - return typeof e == "symbol" ? e : e + ""; - } - var Et = function(t) { - return !(!t || !t.Window) && t instanceof t.Window; - }, Tt = void 0, ae = void 0; - function St(t) { - Tt = t; - var e = t.document.createTextNode(""); - e.ownerDocument !== t.document && typeof t.wrap == "function" && t.wrap(e) === e && (t = t.wrap(t)), ae = t; - } - function $(t) { - return Et(t) ? t : (t.ownerDocument || t).defaultView || ae.window; - } - typeof window < "u" && window && St(window); - var ke = function(t) { - return !!t && M(t) === "object"; - }, _t = function(t) { - return typeof t == "function"; - }, d = { window: function(t) { - return t === ae || Et(t); - }, docFrag: function(t) { - return ke(t) && t.nodeType === 11; - }, object: ke, func: _t, number: function(t) { - return typeof t == "number"; - }, bool: function(t) { - return typeof t == "boolean"; - }, string: function(t) { - return typeof t == "string"; - }, element: function(t) { - if (!t || M(t) !== "object") return !1; - var e = $(t) || ae; - return /object|function/.test(typeof Element > "u" ? "undefined" : M(Element)) ? t instanceof Element || t instanceof e.Element : t.nodeType === 1 && typeof t.nodeName == "string"; - }, plainObject: function(t) { - return ke(t) && !!t.constructor && /function Object\b/.test(t.constructor.toString()); - }, array: function(t) { - return ke(t) && t.length !== void 0 && _t(t.splice); - } }; - function Ne(t) { - var e = t.interaction; - if (e.prepared.name === "drag") { - var n = e.prepared.axis; - n === "x" ? (e.coords.cur.page.y = e.coords.start.page.y, e.coords.cur.client.y = e.coords.start.client.y, e.coords.velocity.client.y = 0, e.coords.velocity.page.y = 0) : n === "y" && (e.coords.cur.page.x = e.coords.start.page.x, e.coords.cur.client.x = e.coords.start.client.x, e.coords.velocity.client.x = 0, e.coords.velocity.page.x = 0); - } - } - function Pt(t) { - var e = t.iEvent, n = t.interaction; - if (n.prepared.name === "drag") { - var r = n.prepared.axis; - if (r === "x" || r === "y") { - var i = r === "x" ? "y" : "x"; - e.page[i] = n.coords.start.page[i], e.client[i] = n.coords.start.client[i], e.delta[i] = 0; - } - } - } - var De = { id: "actions/drag", install: function(t) { - var e = t.actions, n = t.Interactable, r = t.defaults; - n.prototype.draggable = De.draggable, e.map.drag = De, e.methodDict.drag = "draggable", r.actions.drag = De.defaults; - }, listeners: { "interactions:before-action-move": Ne, "interactions:action-resume": Ne, "interactions:action-move": Pt, "auto-start:check": function(t) { - var e = t.interaction, n = t.interactable, r = t.buttons, i = n.options.drag; - if (i && i.enabled && (!e.pointerIsDown || !/mouse|pointer/.test(e.pointerType) || r & n.options.drag.mouseButtons)) return t.action = { name: "drag", axis: i.lockAxis === "start" ? i.startAxis : i.lockAxis }, !1; - } }, draggable: function(t) { - return d.object(t) ? (this.options.drag.enabled = t.enabled !== !1, this.setPerAction("drag", t), this.setOnEvents("drag", t), /^(xy|x|y|start)$/.test(t.lockAxis) && (this.options.drag.lockAxis = t.lockAxis), /^(xy|x|y)$/.test(t.startAxis) && (this.options.drag.startAxis = t.startAxis), this) : d.bool(t) ? (this.options.drag.enabled = t, this) : this.options.drag; - }, beforeMove: Ne, move: Pt, defaults: { startAxis: "xy", lockAxis: "xy" }, getCursor: function() { - return "move"; - }, filterEventType: function(t) { - return t.search("drag") === 0; - } }, Ot = De, L = { init: function(t) { - var e = t; - L.document = e.document, L.DocumentFragment = e.DocumentFragment || pe, L.SVGElement = e.SVGElement || pe, L.SVGSVGElement = e.SVGSVGElement || pe, L.SVGElementInstance = e.SVGElementInstance || pe, L.Element = e.Element || pe, L.HTMLElement = e.HTMLElement || L.Element, L.Event = e.Event, L.Touch = e.Touch || pe, L.PointerEvent = e.PointerEvent || e.MSPointerEvent; - }, document: null, DocumentFragment: null, SVGElement: null, SVGSVGElement: null, SVGElementInstance: null, Element: null, HTMLElement: null, Event: null, Touch: null, PointerEvent: null }; - function pe() { - } - var A = L, V = { init: function(t) { - var e = A.Element, n = t.navigator || {}; - V.supportsTouch = "ontouchstart" in t || d.func(t.DocumentTouch) && A.document instanceof t.DocumentTouch, V.supportsPointerEvent = n.pointerEnabled !== !1 && !!A.PointerEvent, V.isIOS = /iP(hone|od|ad)/.test(n.platform), V.isIOS7 = /iP(hone|od|ad)/.test(n.platform) && /OS 7[^\d]/.test(n.appVersion), V.isIe9 = /MSIE 9/.test(n.userAgent), V.isOperaMobile = n.appName === "Opera" && V.supportsTouch && /Presto/.test(n.userAgent), V.prefixedMatchesSelector = "matches" in e.prototype ? "matches" : "webkitMatchesSelector" in e.prototype ? "webkitMatchesSelector" : "mozMatchesSelector" in e.prototype ? "mozMatchesSelector" : "oMatchesSelector" in e.prototype ? "oMatchesSelector" : "msMatchesSelector", V.pEventTypes = V.supportsPointerEvent ? A.PointerEvent === t.MSPointerEvent ? { up: "MSPointerUp", down: "MSPointerDown", over: "mouseover", out: "mouseout", move: "MSPointerMove", cancel: "MSPointerCancel" } : { up: "pointerup", down: "pointerdown", over: "pointerover", out: "pointerout", move: "pointermove", cancel: "pointercancel" } : null, V.wheelEvent = A.document && "onmousewheel" in A.document ? "mousewheel" : "wheel"; - }, supportsTouch: null, supportsPointerEvent: null, isIOS7: null, isIOS: null, isIe9: null, isOperaMobile: null, prefixedMatchesSelector: null, pEventTypes: null, wheelEvent: null }, B = V; - function se(t, e) { - if (t.contains) return t.contains(e); - for (; e; ) { - if (e === t) return !0; - e = e.parentNode; - } - return !1; - } - function kt(t, e) { - for (; d.element(t); ) { - if (Q(t, e)) return t; - t = N(t); - } - return null; - } - function N(t) { - var e = t.parentNode; - if (d.docFrag(e)) { - for (; (e = e.host) && d.docFrag(e); ) ; - return e; - } - return e; - } - function Q(t, e) { - return ae !== Tt && (e = e.replace(/\/deep\//g, " ")), t[B.prefixedMatchesSelector](e); - } - var Ue = function(t) { - return t.parentNode || t.host; - }; - function Dt(t, e) { - for (var n, r = [], i = t; (n = Ue(i)) && i !== e && n !== i.ownerDocument; ) r.unshift(i), i = n; - return r; - } - function He(t, e, n) { - for (; d.element(t); ) { - if (Q(t, e)) return !0; - if ((t = N(t)) === n) return Q(t, e); - } - return !1; - } - function It(t) { - return t.correspondingUseElement || t; - } - function Ke(t) { - var e = t instanceof A.SVGElement ? t.getBoundingClientRect() : t.getClientRects()[0]; - return e && { left: e.left, right: e.right, top: e.top, bottom: e.bottom, width: e.width || e.right - e.left, height: e.height || e.bottom - e.top }; - } - function Je(t) { - var e, n = Ke(t); - if (!B.isIOS7 && n) { - var r = { x: (e = (e = $(t)) || ae).scrollX || e.document.documentElement.scrollLeft, y: e.scrollY || e.document.documentElement.scrollTop }; - n.left += r.x, n.right += r.x, n.top += r.y, n.bottom += r.y; - } - return n; - } - function Mt(t) { - for (var e = []; t; ) e.push(t), t = N(t); - return e; - } - function zt(t) { - return !!d.string(t) && (A.document.querySelector(t), !0); - } - function x(t, e) { - for (var n in e) t[n] = e[n]; - return t; - } - function At(t, e, n) { - return t === "parent" ? N(n) : t === "self" ? e.getRect(n) : kt(n, t); - } - function he(t, e, n, r) { - var i = t; - return d.string(i) ? i = At(i, e, n) : d.func(i) && (i = i.apply(void 0, r)), d.element(i) && (i = Je(i)), i; - } - function Ie(t) { - return t && { x: "x" in t ? t.x : t.left, y: "y" in t ? t.y : t.top }; - } - function Qe(t) { - return !t || "x" in t && "y" in t || ((t = x({}, t)).x = t.left || 0, t.y = t.top || 0, t.width = t.width || (t.right || 0) - t.x, t.height = t.height || (t.bottom || 0) - t.y), t; - } - function Me(t, e, n) { - t.left && (e.left += n.x), t.right && (e.right += n.x), t.top && (e.top += n.y), t.bottom && (e.bottom += n.y), e.width = e.right - e.left, e.height = e.bottom - e.top; - } - function ge(t, e, n) { - var r = n && t.options[n]; - return Ie(he(r && r.origin || t.options.origin, t, e, [t && e])) || { x: 0, y: 0 }; - } - function ce(t, e) { - var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function(c) { - return !0; - }, r = arguments.length > 3 ? arguments[3] : void 0; - if (r = r || {}, d.string(t) && t.search(" ") !== -1 && (t = Rt(t)), d.array(t)) return t.forEach(function(c) { - return ce(c, e, n, r); - }), r; - if (d.object(t) && (e = t, t = ""), d.func(e) && n(t)) r[t] = r[t] || [], r[t].push(e); - else if (d.array(e)) for (var i = 0, o = e; i < o.length; i++) { - var a = o[i]; - ce(t, a, n, r); - } - else if (d.object(e)) for (var s in e) - ce(Rt(s).map(function(c) { - return "".concat(t).concat(c); - }), e[s], n, r); - return r; - } - function Rt(t) { - return t.trim().split(/ +/); - } - var me = function(t, e) { - return Math.sqrt(t * t + e * e); - }, Pn = ["webkit", "moz"]; - function ze(t, e) { - t.__set || (t.__set = {}); - var n = function(i) { - if (Pn.some(function(o) { - return i.indexOf(o) === 0; - })) return 1; - typeof t[i] != "function" && i !== "__set" && Object.defineProperty(t, i, { get: function() { - return i in t.__set ? t.__set[i] : t.__set[i] = e[i]; - }, set: function(o) { - t.__set[i] = o; - }, configurable: !0 }); - }; - for (var r in e) n(r); - return t; - } - function Ae(t, e) { - t.page = t.page || {}, t.page.x = e.page.x, t.page.y = e.page.y, t.client = t.client || {}, t.client.x = e.client.x, t.client.y = e.client.y, t.timeStamp = e.timeStamp; - } - function Ct(t) { - t.page.x = 0, t.page.y = 0, t.client.x = 0, t.client.y = 0; - } - function jt(t) { - return t instanceof A.Event || t instanceof A.Touch; - } - function Re(t, e, n) { - return t = t || "page", (n = n || {}).x = e[t + "X"], n.y = e[t + "Y"], n; - } - function Ft(t, e) { - return e = e || { x: 0, y: 0 }, B.isOperaMobile && jt(t) ? (Re("screen", t, e), e.x += window.scrollX, e.y += window.scrollY) : Re("page", t, e), e; - } - function ye(t) { - return d.number(t.pointerId) ? t.pointerId : t.identifier; - } - function On(t, e, n) { - var r = e.length > 1 ? Xt(e) : e[0]; - Ft(r, t.page), function(i, o) { - o = o || {}, B.isOperaMobile && jt(i) ? Re("screen", i, o) : Re("client", i, o); - }(r, t.client), t.timeStamp = n; - } - function Ze(t) { - var e = []; - return d.array(t) ? (e[0] = t[0], e[1] = t[1]) : t.type === "touchend" ? t.touches.length === 1 ? (e[0] = t.touches[0], e[1] = t.changedTouches[0]) : t.touches.length === 0 && (e[0] = t.changedTouches[0], e[1] = t.changedTouches[1]) : (e[0] = t.touches[0], e[1] = t.touches[1]), e; - } - function Xt(t) { - for (var e = { pageX: 0, pageY: 0, clientX: 0, clientY: 0, screenX: 0, screenY: 0 }, n = 0; n < t.length; n++) { - var r = t[n]; - for (var i in e) e[i] += r[i]; - } - for (var o in e) e[o] /= t.length; - return e; - } - function et(t) { - if (!t.length) return null; - var e = Ze(t), n = Math.min(e[0].pageX, e[1].pageX), r = Math.min(e[0].pageY, e[1].pageY), i = Math.max(e[0].pageX, e[1].pageX), o = Math.max(e[0].pageY, e[1].pageY); - return { x: n, y: r, left: n, top: r, right: i, bottom: o, width: i - n, height: o - r }; - } - function tt(t, e) { - var n = e + "X", r = e + "Y", i = Ze(t), o = i[0][n] - i[1][n], a = i[0][r] - i[1][r]; - return me(o, a); - } - function nt(t, e) { - var n = e + "X", r = e + "Y", i = Ze(t), o = i[1][n] - i[0][n], a = i[1][r] - i[0][r]; - return 180 * Math.atan2(a, o) / Math.PI; - } - function Yt(t) { - return d.string(t.pointerType) ? t.pointerType : d.number(t.pointerType) ? [void 0, void 0, "touch", "pen", "mouse"][t.pointerType] : /touch/.test(t.type || "") || t instanceof A.Touch ? "touch" : "mouse"; - } - function Lt(t) { - var e = d.func(t.composedPath) ? t.composedPath() : t.path; - return [It(e ? e[0] : t.target), It(t.currentTarget)]; - } - var Ce = function() { - function t(e) { - k(this, t), this.immediatePropagationStopped = !1, this.propagationStopped = !1, this._interaction = e; - } - return O(t, [{ key: "preventDefault", value: function() { - } }, { key: "stopPropagation", value: function() { - this.propagationStopped = !0; - } }, { key: "stopImmediatePropagation", value: function() { - this.immediatePropagationStopped = this.propagationStopped = !0; - } }]), t; - }(); - Object.defineProperty(Ce.prototype, "interaction", { get: function() { - return this._interaction._proxy; - }, set: function() { - } }); - var Vt = function(t, e) { - for (var n = 0; n < e.length; n++) { - var r = e[n]; - t.push(r); - } - return t; - }, qt = function(t) { - return Vt([], t); - }, be = function(t, e) { - for (var n = 0; n < t.length; n++) if (e(t[n], n, t)) return n; - return -1; - }, xe = function(t, e) { - return t[be(t, e)]; - }, fe = function(t) { - j(n, t); - var e = J(n); - function n(r, i, o) { - var a; - k(this, n), (a = e.call(this, i._interaction)).dropzone = void 0, a.dragEvent = void 0, a.relatedTarget = void 0, a.draggable = void 0, a.propagationStopped = !1, a.immediatePropagationStopped = !1; - var s = o === "dragleave" ? r.prev : r.cur, c = s.element, u = s.dropzone; - return a.type = o, a.target = c, a.currentTarget = c, a.dropzone = u, a.dragEvent = i, a.relatedTarget = i.target, a.draggable = i.interactable, a.timeStamp = i.timeStamp, a; - } - return O(n, [{ key: "reject", value: function() { - var r = this, i = this._interaction.dropState; - if (this.type === "dropactivate" || this.dropzone && i.cur.dropzone === this.dropzone && i.cur.element === this.target) if (i.prev.dropzone = this.dropzone, i.prev.element = this.target, i.rejected = !0, i.events.enter = null, this.stopImmediatePropagation(), this.type === "dropactivate") { - var o = i.activeDrops, a = be(o, function(c) { - var u = c.dropzone, l = c.element; - return u === r.dropzone && l === r.target; - }); - i.activeDrops.splice(a, 1); - var s = new n(i, this.dragEvent, "dropdeactivate"); - s.dropzone = this.dropzone, s.target = this.target, this.dropzone.fire(s); - } else this.dropzone.fire(new n(i, this.dragEvent, "dragleave")); - } }, { key: "preventDefault", value: function() { - } }, { key: "stopPropagation", value: function() { - this.propagationStopped = !0; - } }, { key: "stopImmediatePropagation", value: function() { - this.immediatePropagationStopped = this.propagationStopped = !0; - } }]), n; - }(Ce); - function Bt(t, e) { - for (var n = 0, r = t.slice(); n < r.length; n++) { - var i = r[n], o = i.dropzone, a = i.element; - e.dropzone = o, e.target = a, o.fire(e), e.propagationStopped = e.immediatePropagationStopped = !1; - } - } - function rt(t, e) { - for (var n = function(o, a) { - for (var s = [], c = 0, u = o.interactables.list; c < u.length; c++) { - var l = u[c]; - if (l.options.drop.enabled) { - var p = l.options.drop.accept; - if (!(d.element(p) && p !== a || d.string(p) && !Q(a, p) || d.func(p) && !p({ dropzone: l, draggableElement: a }))) for (var f = 0, h = l.getAllElements(); f < h.length; f++) { - var v = h[f]; - v !== a && s.push({ dropzone: l, element: v, rect: l.getRect(v) }); - } - } - } - return s; - }(t, e), r = 0; r < n.length; r++) { - var i = n[r]; - i.rect = i.dropzone.getRect(i.element); - } - return n; - } - function Gt(t, e, n) { - for (var r = t.dropState, i = t.interactable, o = t.element, a = [], s = 0, c = r.activeDrops; s < c.length; s++) { - var u = c[s], l = u.dropzone, p = u.element, f = u.rect, h = l.dropCheck(e, n, i, o, p, f); - a.push(h ? p : null); - } - var v = function(g) { - for (var y, m, b, T = [], _ = 0; _ < g.length; _++) { - var w = g[_], S = g[y]; - if (w && _ !== y) if (S) { - var X = Ue(w), D = Ue(S); - if (X !== w.ownerDocument) if (D !== w.ownerDocument) if (X !== D) { - T = T.length ? T : Dt(S); - var Y = void 0; - if (S instanceof A.HTMLElement && w instanceof A.SVGElement && !(w instanceof A.SVGSVGElement)) { - if (w === D) continue; - Y = w.ownerSVGElement; - } else Y = w; - for (var G = Dt(Y, S.ownerDocument), K = 0; G[K] && G[K] === T[K]; ) K++; - var Ge = [G[K - 1], G[K], T[K]]; - if (Ge[0]) for (var Pe = Ge[0].lastChild; Pe; ) { - if (Pe === Ge[1]) { - y = _, T = G; - break; - } - if (Pe === Ge[2]) break; - Pe = Pe.previousSibling; - } - } else b = S, (parseInt($(m = w).getComputedStyle(m).zIndex, 10) || 0) >= (parseInt($(b).getComputedStyle(b).zIndex, 10) || 0) && (y = _); - else y = _; - } else y = _; - } - return y; - }(a); - return r.activeDrops[v] || null; - } - function it(t, e, n) { - var r = t.dropState, i = { enter: null, leave: null, activate: null, deactivate: null, move: null, drop: null }; - return n.type === "dragstart" && (i.activate = new fe(r, n, "dropactivate"), i.activate.target = null, i.activate.dropzone = null), n.type === "dragend" && (i.deactivate = new fe(r, n, "dropdeactivate"), i.deactivate.target = null, i.deactivate.dropzone = null), r.rejected || (r.cur.element !== r.prev.element && (r.prev.dropzone && (i.leave = new fe(r, n, "dragleave"), n.dragLeave = i.leave.target = r.prev.element, n.prevDropzone = i.leave.dropzone = r.prev.dropzone), r.cur.dropzone && (i.enter = new fe(r, n, "dragenter"), n.dragEnter = r.cur.element, n.dropzone = r.cur.dropzone)), n.type === "dragend" && r.cur.dropzone && (i.drop = new fe(r, n, "drop"), n.dropzone = r.cur.dropzone, n.relatedTarget = r.cur.element), n.type === "dragmove" && r.cur.dropzone && (i.move = new fe(r, n, "dropmove"), n.dropzone = r.cur.dropzone)), i; - } - function ot(t, e) { - var n = t.dropState, r = n.activeDrops, i = n.cur, o = n.prev; - e.leave && o.dropzone.fire(e.leave), e.enter && i.dropzone.fire(e.enter), e.move && i.dropzone.fire(e.move), e.drop && i.dropzone.fire(e.drop), e.deactivate && Bt(r, e.deactivate), n.prev.dropzone = i.dropzone, n.prev.element = i.element; - } - function Wt(t, e) { - var n = t.interaction, r = t.iEvent, i = t.event; - if (r.type === "dragmove" || r.type === "dragend") { - var o = n.dropState; - e.dynamicDrop && (o.activeDrops = rt(e, n.element)); - var a = r, s = Gt(n, a, i); - o.rejected = o.rejected && !!s && s.dropzone === o.cur.dropzone && s.element === o.cur.element, o.cur.dropzone = s && s.dropzone, o.cur.element = s && s.element, o.events = it(n, 0, a); - } - } - var $t = { id: "actions/drop", install: function(t) { - var e = t.actions, n = t.interactStatic, r = t.Interactable, i = t.defaults; - t.usePlugin(Ot), r.prototype.dropzone = function(o) { - return function(a, s) { - if (d.object(s)) { - if (a.options.drop.enabled = s.enabled !== !1, s.listeners) { - var c = ce(s.listeners), u = Object.keys(c).reduce(function(p, f) { - return p[/^(enter|leave)/.test(f) ? "drag".concat(f) : /^(activate|deactivate|move)/.test(f) ? "drop".concat(f) : f] = c[f], p; - }, {}), l = a.options.drop.listeners; - l && a.off(l), a.on(u), a.options.drop.listeners = u; - } - return d.func(s.ondrop) && a.on("drop", s.ondrop), d.func(s.ondropactivate) && a.on("dropactivate", s.ondropactivate), d.func(s.ondropdeactivate) && a.on("dropdeactivate", s.ondropdeactivate), d.func(s.ondragenter) && a.on("dragenter", s.ondragenter), d.func(s.ondragleave) && a.on("dragleave", s.ondragleave), d.func(s.ondropmove) && a.on("dropmove", s.ondropmove), /^(pointer|center)$/.test(s.overlap) ? a.options.drop.overlap = s.overlap : d.number(s.overlap) && (a.options.drop.overlap = Math.max(Math.min(1, s.overlap), 0)), "accept" in s && (a.options.drop.accept = s.accept), "checker" in s && (a.options.drop.checker = s.checker), a; - } - return d.bool(s) ? (a.options.drop.enabled = s, a) : a.options.drop; - }(this, o); - }, r.prototype.dropCheck = function(o, a, s, c, u, l) { - return function(p, f, h, v, g, y, m) { - var b = !1; - if (!(m = m || p.getRect(y))) return !!p.options.drop.checker && p.options.drop.checker(f, h, b, p, y, v, g); - var T = p.options.drop.overlap; - if (T === "pointer") { - var _ = ge(v, g, "drag"), w = Ft(f); - w.x += _.x, w.y += _.y; - var S = w.x > m.left && w.x < m.right, X = w.y > m.top && w.y < m.bottom; - b = S && X; - } - var D = v.getRect(g); - if (D && T === "center") { - var Y = D.left + D.width / 2, G = D.top + D.height / 2; - b = Y >= m.left && Y <= m.right && G >= m.top && G <= m.bottom; - } - return D && d.number(T) && (b = Math.max(0, Math.min(m.right, D.right) - Math.max(m.left, D.left)) * Math.max(0, Math.min(m.bottom, D.bottom) - Math.max(m.top, D.top)) / (D.width * D.height) >= T), p.options.drop.checker && (b = p.options.drop.checker(f, h, b, p, y, v, g)), b; - }(this, o, a, s, c, u, l); - }, n.dynamicDrop = function(o) { - return d.bool(o) ? (t.dynamicDrop = o, n) : t.dynamicDrop; - }, x(e.phaselessTypes, { dragenter: !0, dragleave: !0, dropactivate: !0, dropdeactivate: !0, dropmove: !0, drop: !0 }), e.methodDict.drop = "dropzone", t.dynamicDrop = !1, i.actions.drop = $t.defaults; - }, listeners: { "interactions:before-action-start": function(t) { - var e = t.interaction; - e.prepared.name === "drag" && (e.dropState = { cur: { dropzone: null, element: null }, prev: { dropzone: null, element: null }, rejected: null, events: null, activeDrops: [] }); - }, "interactions:after-action-start": function(t, e) { - var n = t.interaction, r = (t.event, t.iEvent); - if (n.prepared.name === "drag") { - var i = n.dropState; - i.activeDrops = [], i.events = {}, i.activeDrops = rt(e, n.element), i.events = it(n, 0, r), i.events.activate && (Bt(i.activeDrops, i.events.activate), e.fire("actions/drop:start", { interaction: n, dragEvent: r })); - } - }, "interactions:action-move": Wt, "interactions:after-action-move": function(t, e) { - var n = t.interaction, r = t.iEvent; - if (n.prepared.name === "drag") { - var i = n.dropState; - ot(n, i.events), e.fire("actions/drop:move", { interaction: n, dragEvent: r }), i.events = {}; - } - }, "interactions:action-end": function(t, e) { - if (t.interaction.prepared.name === "drag") { - var n = t.interaction, r = t.iEvent; - Wt(t, e), ot(n, n.dropState.events), e.fire("actions/drop:end", { interaction: n, dragEvent: r }); - } - }, "interactions:stop": function(t) { - var e = t.interaction; - if (e.prepared.name === "drag") { - var n = e.dropState; - n && (n.activeDrops = null, n.events = null, n.cur.dropzone = null, n.cur.element = null, n.prev.dropzone = null, n.prev.element = null, n.rejected = !1); - } - } }, getActiveDrops: rt, getDrop: Gt, getDropEvents: it, fireDropEvents: ot, filterEventType: function(t) { - return t.search("drag") === 0 || t.search("drop") === 0; - }, defaults: { enabled: !1, accept: null, overlap: "pointer" } }, kn = $t; - function at(t) { - var e = t.interaction, n = t.iEvent, r = t.phase; - if (e.prepared.name === "gesture") { - var i = e.pointers.map(function(u) { - return u.pointer; - }), o = r === "start", a = r === "end", s = e.interactable.options.deltaSource; - if (n.touches = [i[0], i[1]], o) n.distance = tt(i, s), n.box = et(i), n.scale = 1, n.ds = 0, n.angle = nt(i, s), n.da = 0, e.gesture.startDistance = n.distance, e.gesture.startAngle = n.angle; - else if (a || e.pointers.length < 2) { - var c = e.prevEvent; - n.distance = c.distance, n.box = c.box, n.scale = c.scale, n.ds = 0, n.angle = c.angle, n.da = 0; - } else n.distance = tt(i, s), n.box = et(i), n.scale = n.distance / e.gesture.startDistance, n.angle = nt(i, s), n.ds = n.scale - e.gesture.scale, n.da = n.angle - e.gesture.angle; - e.gesture.distance = n.distance, e.gesture.angle = n.angle, d.number(n.scale) && n.scale !== 1 / 0 && !isNaN(n.scale) && (e.gesture.scale = n.scale); - } - } - var st = { id: "actions/gesture", before: ["actions/drag", "actions/resize"], install: function(t) { - var e = t.actions, n = t.Interactable, r = t.defaults; - n.prototype.gesturable = function(i) { - return d.object(i) ? (this.options.gesture.enabled = i.enabled !== !1, this.setPerAction("gesture", i), this.setOnEvents("gesture", i), this) : d.bool(i) ? (this.options.gesture.enabled = i, this) : this.options.gesture; - }, e.map.gesture = st, e.methodDict.gesture = "gesturable", r.actions.gesture = st.defaults; - }, listeners: { "interactions:action-start": at, "interactions:action-move": at, "interactions:action-end": at, "interactions:new": function(t) { - t.interaction.gesture = { angle: 0, distance: 0, scale: 1, startAngle: 0, startDistance: 0 }; - }, "auto-start:check": function(t) { - if (!(t.interaction.pointers.length < 2)) { - var e = t.interactable.options.gesture; - if (e && e.enabled) return t.action = { name: "gesture" }, !1; - } - } }, defaults: {}, getCursor: function() { - return ""; - }, filterEventType: function(t) { - return t.search("gesture") === 0; - } }, Dn = st; - function In(t, e, n, r, i, o, a) { - if (!e) return !1; - if (e === !0) { - var s = d.number(o.width) ? o.width : o.right - o.left, c = d.number(o.height) ? o.height : o.bottom - o.top; - if (a = Math.min(a, Math.abs((t === "left" || t === "right" ? s : c) / 2)), s < 0 && (t === "left" ? t = "right" : t === "right" && (t = "left")), c < 0 && (t === "top" ? t = "bottom" : t === "bottom" && (t = "top")), t === "left") { - var u = s >= 0 ? o.left : o.right; - return n.x < u + a; - } - if (t === "top") { - var l = c >= 0 ? o.top : o.bottom; - return n.y < l + a; - } - if (t === "right") return n.x > (s >= 0 ? o.right : o.left) - a; - if (t === "bottom") return n.y > (c >= 0 ? o.bottom : o.top) - a; - } - return !!d.element(r) && (d.element(e) ? e === r : He(r, e, i)); - } - function Nt(t) { - var e = t.iEvent, n = t.interaction; - if (n.prepared.name === "resize" && n.resizeAxes) { - var r = e; - n.interactable.options.resize.square ? (n.resizeAxes === "y" ? r.delta.x = r.delta.y : r.delta.y = r.delta.x, r.axes = "xy") : (r.axes = n.resizeAxes, n.resizeAxes === "x" ? r.delta.y = 0 : n.resizeAxes === "y" && (r.delta.x = 0)); - } - } - var U, le, H = { id: "actions/resize", before: ["actions/drag"], install: function(t) { - var e = t.actions, n = t.browser, r = t.Interactable, i = t.defaults; - H.cursors = function(o) { - return o.isIe9 ? { x: "e-resize", y: "s-resize", xy: "se-resize", top: "n-resize", left: "w-resize", bottom: "s-resize", right: "e-resize", topleft: "se-resize", bottomright: "se-resize", topright: "ne-resize", bottomleft: "ne-resize" } : { x: "ew-resize", y: "ns-resize", xy: "nwse-resize", top: "ns-resize", left: "ew-resize", bottom: "ns-resize", right: "ew-resize", topleft: "nwse-resize", bottomright: "nwse-resize", topright: "nesw-resize", bottomleft: "nesw-resize" }; - }(n), H.defaultMargin = n.supportsTouch || n.supportsPointerEvent ? 20 : 10, r.prototype.resizable = function(o) { - return function(a, s, c) { - return d.object(s) ? (a.options.resize.enabled = s.enabled !== !1, a.setPerAction("resize", s), a.setOnEvents("resize", s), d.string(s.axis) && /^x$|^y$|^xy$/.test(s.axis) ? a.options.resize.axis = s.axis : s.axis === null && (a.options.resize.axis = c.defaults.actions.resize.axis), d.bool(s.preserveAspectRatio) ? a.options.resize.preserveAspectRatio = s.preserveAspectRatio : d.bool(s.square) && (a.options.resize.square = s.square), a) : d.bool(s) ? (a.options.resize.enabled = s, a) : a.options.resize; - }(this, o, t); - }, e.map.resize = H, e.methodDict.resize = "resizable", i.actions.resize = H.defaults; - }, listeners: { "interactions:new": function(t) { - t.interaction.resizeAxes = "xy"; - }, "interactions:action-start": function(t) { - (function(e) { - var n = e.iEvent, r = e.interaction; - if (r.prepared.name === "resize" && r.prepared.edges) { - var i = n, o = r.rect; - r._rects = { start: x({}, o), corrected: x({}, o), previous: x({}, o), delta: { left: 0, right: 0, width: 0, top: 0, bottom: 0, height: 0 } }, i.edges = r.prepared.edges, i.rect = r._rects.corrected, i.deltaRect = r._rects.delta; - } - })(t), Nt(t); - }, "interactions:action-move": function(t) { - (function(e) { - var n = e.iEvent, r = e.interaction; - if (r.prepared.name === "resize" && r.prepared.edges) { - var i = n, o = r.interactable.options.resize.invert, a = o === "reposition" || o === "negate", s = r.rect, c = r._rects, u = c.start, l = c.corrected, p = c.delta, f = c.previous; - if (x(f, l), a) { - if (x(l, s), o === "reposition") { - if (l.top > l.bottom) { - var h = l.top; - l.top = l.bottom, l.bottom = h; - } - if (l.left > l.right) { - var v = l.left; - l.left = l.right, l.right = v; - } - } - } else l.top = Math.min(s.top, u.bottom), l.bottom = Math.max(s.bottom, u.top), l.left = Math.min(s.left, u.right), l.right = Math.max(s.right, u.left); - for (var g in l.width = l.right - l.left, l.height = l.bottom - l.top, l) p[g] = l[g] - f[g]; - i.edges = r.prepared.edges, i.rect = l, i.deltaRect = p; - } - })(t), Nt(t); - }, "interactions:action-end": function(t) { - var e = t.iEvent, n = t.interaction; - if (n.prepared.name === "resize" && n.prepared.edges) { - var r = e; - r.edges = n.prepared.edges, r.rect = n._rects.corrected, r.deltaRect = n._rects.delta; - } - }, "auto-start:check": function(t) { - var e = t.interaction, n = t.interactable, r = t.element, i = t.rect, o = t.buttons; - if (i) { - var a = x({}, e.coords.cur.page), s = n.options.resize; - if (s && s.enabled && (!e.pointerIsDown || !/mouse|pointer/.test(e.pointerType) || o & s.mouseButtons)) { - if (d.object(s.edges)) { - var c = { left: !1, right: !1, top: !1, bottom: !1 }; - for (var u in c) c[u] = In(u, s.edges[u], a, e._latestPointer.eventTarget, r, i, s.margin || H.defaultMargin); - c.left = c.left && !c.right, c.top = c.top && !c.bottom, (c.left || c.right || c.top || c.bottom) && (t.action = { name: "resize", edges: c }); - } else { - var l = s.axis !== "y" && a.x > i.right - H.defaultMargin, p = s.axis !== "x" && a.y > i.bottom - H.defaultMargin; - (l || p) && (t.action = { name: "resize", axes: (l ? "x" : "") + (p ? "y" : "") }); - } - return !t.action && void 0; - } - } - } }, defaults: { square: !1, preserveAspectRatio: !1, axis: "xy", margin: NaN, edges: null, invert: "none" }, cursors: null, getCursor: function(t) { - var e = t.edges, n = t.axis, r = t.name, i = H.cursors, o = null; - if (n) o = i[r + n]; - else if (e) { - for (var a = "", s = 0, c = ["top", "bottom", "left", "right"]; s < c.length; s++) { - var u = c[s]; - e[u] && (a += u); - } - o = i[a]; - } - return o; - }, filterEventType: function(t) { - return t.search("resize") === 0; - }, defaultMargin: null }, Mn = H, zn = { id: "actions", install: function(t) { - t.usePlugin(Dn), t.usePlugin(Mn), t.usePlugin(Ot), t.usePlugin(kn); - } }, Ut = 0, Z = { request: function(t) { - return U(t); - }, cancel: function(t) { - return le(t); - }, init: function(t) { - if (U = t.requestAnimationFrame, le = t.cancelAnimationFrame, !U) for (var e = ["ms", "moz", "webkit", "o"], n = 0; n < e.length; n++) { - var r = e[n]; - U = t["".concat(r, "RequestAnimationFrame")], le = t["".concat(r, "CancelAnimationFrame")] || t["".concat(r, "CancelRequestAnimationFrame")]; - } - U = U && U.bind(t), le = le && le.bind(t), U || (U = function(i) { - var o = Date.now(), a = Math.max(0, 16 - (o - Ut)), s = t.setTimeout(function() { - i(o + a); - }, a); - return Ut = o + a, s; - }, le = function(i) { - return clearTimeout(i); - }); - } }, E = { defaults: { enabled: !1, margin: 60, container: null, speed: 300 }, now: Date.now, interaction: null, i: 0, x: 0, y: 0, isScrolling: !1, prevTime: 0, margin: 0, speed: 0, start: function(t) { - E.isScrolling = !0, Z.cancel(E.i), t.autoScroll = E, E.interaction = t, E.prevTime = E.now(), E.i = Z.request(E.scroll); - }, stop: function() { - E.isScrolling = !1, E.interaction && (E.interaction.autoScroll = null), Z.cancel(E.i); - }, scroll: function() { - var t = E.interaction, e = t.interactable, n = t.element, r = t.prepared.name, i = e.options[r].autoScroll, o = Ht(i.container, e, n), a = E.now(), s = (a - E.prevTime) / 1e3, c = i.speed * s; - if (c >= 1) { - var u = { x: E.x * c, y: E.y * c }; - if (u.x || u.y) { - var l = Kt(o); - d.window(o) ? o.scrollBy(u.x, u.y) : o && (o.scrollLeft += u.x, o.scrollTop += u.y); - var p = Kt(o), f = { x: p.x - l.x, y: p.y - l.y }; - (f.x || f.y) && e.fire({ type: "autoscroll", target: n, interactable: e, delta: f, interaction: t, container: o }); - } - E.prevTime = a; - } - E.isScrolling && (Z.cancel(E.i), E.i = Z.request(E.scroll)); - }, check: function(t, e) { - var n; - return (n = t.options[e].autoScroll) == null ? void 0 : n.enabled; - }, onInteractionMove: function(t) { - var e = t.interaction, n = t.pointer; - if (e.interacting() && E.check(e.interactable, e.prepared.name)) if (e.simulation) E.x = E.y = 0; - else { - var r, i, o, a, s = e.interactable, c = e.element, u = e.prepared.name, l = s.options[u].autoScroll, p = Ht(l.container, s, c); - if (d.window(p)) a = n.clientX < E.margin, r = n.clientY < E.margin, i = n.clientX > p.innerWidth - E.margin, o = n.clientY > p.innerHeight - E.margin; - else { - var f = Ke(p); - a = n.clientX < f.left + E.margin, r = n.clientY < f.top + E.margin, i = n.clientX > f.right - E.margin, o = n.clientY > f.bottom - E.margin; - } - E.x = i ? 1 : a ? -1 : 0, E.y = o ? 1 : r ? -1 : 0, E.isScrolling || (E.margin = l.margin, E.speed = l.speed, E.start(e)); - } - } }; - function Ht(t, e, n) { - return (d.string(t) ? At(t, e, n) : t) || $(n); - } - function Kt(t) { - return d.window(t) && (t = window.document.body), { x: t.scrollLeft, y: t.scrollTop }; - } - var An = { id: "auto-scroll", install: function(t) { - var e = t.defaults, n = t.actions; - t.autoScroll = E, E.now = function() { - return t.now(); - }, n.phaselessTypes.autoscroll = !0, e.perAction.autoScroll = E.defaults; - }, listeners: { "interactions:new": function(t) { - t.interaction.autoScroll = null; - }, "interactions:destroy": function(t) { - t.interaction.autoScroll = null, E.stop(), E.interaction && (E.interaction = null); - }, "interactions:stop": E.stop, "interactions:action-move": function(t) { - return E.onInteractionMove(t); - } } }, Rn = An; - function we(t, e) { - var n = !1; - return function() { - return n || (ae.console.warn(e), n = !0), t.apply(this, arguments); - }; - } - function ct(t, e) { - return t.name = e.name, t.axis = e.axis, t.edges = e.edges, t; - } - function Cn(t) { - return d.bool(t) ? (this.options.styleCursor = t, this) : t === null ? (delete this.options.styleCursor, this) : this.options.styleCursor; - } - function jn(t) { - return d.func(t) ? (this.options.actionChecker = t, this) : t === null ? (delete this.options.actionChecker, this) : this.options.actionChecker; - } - var Fn = { id: "auto-start/interactableMethods", install: function(t) { - var e = t.Interactable; - e.prototype.getAction = function(n, r, i, o) { - var a = function(s, c, u, l, p) { - var f = s.getRect(l), h = c.buttons || { 0: 1, 1: 4, 3: 8, 4: 16 }[c.button], v = { action: null, interactable: s, interaction: u, element: l, rect: f, buttons: h }; - return p.fire("auto-start:check", v), v.action; - }(this, r, i, o, t); - return this.options.actionChecker ? this.options.actionChecker(n, r, a, this, o, i) : a; - }, e.prototype.ignoreFrom = we(function(n) { - return this._backCompatOption("ignoreFrom", n); - }, "Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."), e.prototype.allowFrom = we(function(n) { - return this._backCompatOption("allowFrom", n); - }, "Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."), e.prototype.actionChecker = jn, e.prototype.styleCursor = Cn; - } }; - function Jt(t, e, n, r, i) { - return e.testIgnoreAllow(e.options[t.name], n, r) && e.options[t.name].enabled && je(e, n, t, i) ? t : null; - } - function Xn(t, e, n, r, i, o, a) { - for (var s = 0, c = r.length; s < c; s++) { - var u = r[s], l = i[s], p = u.getAction(e, n, t, l); - if (p) { - var f = Jt(p, u, l, o, a); - if (f) return { action: f, interactable: u, element: l }; - } - } - return { action: null, interactable: null, element: null }; - } - function Qt(t, e, n, r, i) { - var o = [], a = [], s = r; - function c(l) { - o.push(l), a.push(s); - } - for (; d.element(s); ) { - o = [], a = [], i.interactables.forEachMatch(s, c); - var u = Xn(t, e, n, o, a, r, i); - if (u.action && !u.interactable.options[u.action.name].manualStart) return u; - s = N(s); - } - return { action: null, interactable: null, element: null }; - } - function Zt(t, e, n) { - var r = e.action, i = e.interactable, o = e.element; - r = r || { name: null }, t.interactable = i, t.element = o, ct(t.prepared, r), t.rect = i && r.name ? i.getRect(o) : null, tn(t, n), n.fire("autoStart:prepared", { interaction: t }); - } - function je(t, e, n, r) { - var i = t.options, o = i[n.name].max, a = i[n.name].maxPerElement, s = r.autoStart.maxInteractions, c = 0, u = 0, l = 0; - if (!(o && a && s)) return !1; - for (var p = 0, f = r.interactions.list; p < f.length; p++) { - var h = f[p], v = h.prepared.name; - if (h.interacting() && (++c >= s || h.interactable === t && ((u += v === n.name ? 1 : 0) >= o || h.element === e && (l++, v === n.name && l >= a)))) - return !1; - } - return s > 0; - } - function en(t, e) { - return d.number(t) ? (e.autoStart.maxInteractions = t, this) : e.autoStart.maxInteractions; - } - function lt(t, e, n) { - var r = n.autoStart.cursorElement; - r && r !== t && (r.style.cursor = ""), t.ownerDocument.documentElement.style.cursor = e, t.style.cursor = e, n.autoStart.cursorElement = e ? t : null; - } - function tn(t, e) { - var n = t.interactable, r = t.element, i = t.prepared; - if (t.pointerType === "mouse" && n && n.options.styleCursor) { - var o = ""; - if (i.name) { - var a = n.options[i.name].cursorChecker; - o = d.func(a) ? a(i, n, r, t._interacting) : e.actions.map[i.name].getCursor(i); - } - lt(t.element, o || "", e); - } else e.autoStart.cursorElement && lt(e.autoStart.cursorElement, "", e); - } - var Yn = { id: "auto-start/base", before: ["actions"], install: function(t) { - var e = t.interactStatic, n = t.defaults; - t.usePlugin(Fn), n.base.actionChecker = null, n.base.styleCursor = !0, x(n.perAction, { manualStart: !1, max: 1 / 0, maxPerElement: 1, allowFrom: null, ignoreFrom: null, mouseButtons: 1 }), e.maxInteractions = function(r) { - return en(r, t); - }, t.autoStart = { maxInteractions: 1 / 0, withinInteractionLimit: je, cursorElement: null }; - }, listeners: { "interactions:down": function(t, e) { - var n = t.interaction, r = t.pointer, i = t.event, o = t.eventTarget; - n.interacting() || Zt(n, Qt(n, r, i, o, e), e); - }, "interactions:move": function(t, e) { - (function(n, r) { - var i = n.interaction, o = n.pointer, a = n.event, s = n.eventTarget; - i.pointerType !== "mouse" || i.pointerIsDown || i.interacting() || Zt(i, Qt(i, o, a, s, r), r); - })(t, e), function(n, r) { - var i = n.interaction; - if (i.pointerIsDown && !i.interacting() && i.pointerWasMoved && i.prepared.name) { - r.fire("autoStart:before-start", n); - var o = i.interactable, a = i.prepared.name; - a && o && (o.options[a].manualStart || !je(o, i.element, i.prepared, r) ? i.stop() : (i.start(i.prepared, o, i.element), tn(i, r))); - } - }(t, e); - }, "interactions:stop": function(t, e) { - var n = t.interaction, r = n.interactable; - r && r.options.styleCursor && lt(n.element, "", e); - } }, maxInteractions: en, withinInteractionLimit: je, validateAction: Jt }, ut = Yn, Ln = { id: "auto-start/dragAxis", listeners: { "autoStart:before-start": function(t, e) { - var n = t.interaction, r = t.eventTarget, i = t.dx, o = t.dy; - if (n.prepared.name === "drag") { - var a = Math.abs(i), s = Math.abs(o), c = n.interactable.options.drag, u = c.startAxis, l = a > s ? "x" : a < s ? "y" : "xy"; - if (n.prepared.axis = c.lockAxis === "start" ? l[0] : c.lockAxis, l !== "xy" && u !== "xy" && u !== l) { - n.prepared.name = null; - for (var p = r, f = function(v) { - if (v !== n.interactable) { - var g = n.interactable.options.drag; - if (!g.manualStart && v.testIgnoreAllow(g, p, r)) { - var y = v.getAction(n.downPointer, n.downEvent, n, p); - if (y && y.name === "drag" && function(m, b) { - if (!b) return !1; - var T = b.options.drag.startAxis; - return m === "xy" || T === "xy" || T === m; - }(l, v) && ut.validateAction(y, v, p, r, e)) return v; - } - } - }; d.element(p); ) { - var h = e.interactables.forEachMatch(p, f); - if (h) { - n.prepared.name = "drag", n.interactable = h, n.element = p; - break; - } - p = N(p); - } - } - } - } } }; - function pt(t) { - var e = t.prepared && t.prepared.name; - if (!e) return null; - var n = t.interactable.options; - return n[e].hold || n[e].delay; - } - var Vn = { id: "auto-start/hold", install: function(t) { - var e = t.defaults; - t.usePlugin(ut), e.perAction.hold = 0, e.perAction.delay = 0; - }, listeners: { "interactions:new": function(t) { - t.interaction.autoStartHoldTimer = null; - }, "autoStart:prepared": function(t) { - var e = t.interaction, n = pt(e); - n > 0 && (e.autoStartHoldTimer = setTimeout(function() { - e.start(e.prepared, e.interactable, e.element); - }, n)); - }, "interactions:move": function(t) { - var e = t.interaction, n = t.duplicate; - e.autoStartHoldTimer && e.pointerWasMoved && !n && (clearTimeout(e.autoStartHoldTimer), e.autoStartHoldTimer = null); - }, "autoStart:before-start": function(t) { - var e = t.interaction; - pt(e) > 0 && (e.prepared.name = null); - } }, getHoldDuration: pt }, qn = Vn, Bn = { id: "auto-start", install: function(t) { - t.usePlugin(ut), t.usePlugin(qn), t.usePlugin(Ln); - } }, Gn = function(t) { - return /^(always|never|auto)$/.test(t) ? (this.options.preventDefault = t, this) : d.bool(t) ? (this.options.preventDefault = t ? "always" : "never", this) : this.options.preventDefault; - }; - function Wn(t) { - var e = t.interaction, n = t.event; - e.interactable && e.interactable.checkAndPreventDefault(n); - } - var nn = { id: "core/interactablePreventDefault", install: function(t) { - var e = t.Interactable; - e.prototype.preventDefault = Gn, e.prototype.checkAndPreventDefault = function(n) { - return function(r, i, o) { - var a = r.options.preventDefault; - if (a !== "never") if (a !== "always") { - if (i.events.supportsPassive && /^touch(start|move)$/.test(o.type)) { - var s = $(o.target).document, c = i.getDocOptions(s); - if (!c || !c.events || c.events.passive !== !1) return; - } - /^(mouse|pointer|touch)*(down|start)/i.test(o.type) || d.element(o.target) && Q(o.target, "input,select,textarea,[contenteditable=true],[contenteditable=true] *") || o.preventDefault(); - } else o.preventDefault(); - }(this, t, n); - }, t.interactions.docEvents.push({ type: "dragstart", listener: function(n) { - for (var r = 0, i = t.interactions.list; r < i.length; r++) { - var o = i[r]; - if (o.element && (o.element === n.target || se(o.element, n.target))) return void o.interactable.checkAndPreventDefault(n); - } - } }); - }, listeners: ["down", "move", "up", "cancel"].reduce(function(t, e) { - return t["interactions:".concat(e)] = Wn, t; - }, {}) }; - function Fe(t, e) { - if (e.phaselessTypes[t]) return !0; - for (var n in e.map) if (t.indexOf(n) === 0 && t.substr(n.length) in e.phases) return !0; - return !1; - } - function de(t) { - var e = {}; - for (var n in t) { - var r = t[n]; - d.plainObject(r) ? e[n] = de(r) : d.array(r) ? e[n] = qt(r) : e[n] = r; - } - return e; - } - var ft = function() { - function t(e) { - k(this, t), this.states = [], this.startOffset = { left: 0, right: 0, top: 0, bottom: 0 }, this.startDelta = void 0, this.result = void 0, this.endResult = void 0, this.startEdges = void 0, this.edges = void 0, this.interaction = void 0, this.interaction = e, this.result = Xe(), this.edges = { left: !1, right: !1, top: !1, bottom: !1 }; - } - return O(t, [{ key: "start", value: function(e, n) { - var r, i, o = e.phase, a = this.interaction, s = function(u) { - var l = u.interactable.options[u.prepared.name], p = l.modifiers; - return p && p.length ? p : ["snap", "snapSize", "snapEdges", "restrict", "restrictEdges", "restrictSize"].map(function(f) { - var h = l[f]; - return h && h.enabled && { options: h, methods: h._methods }; - }).filter(function(f) { - return !!f; - }); - }(a); - this.prepareStates(s), this.startEdges = x({}, a.edges), this.edges = x({}, this.startEdges), this.startOffset = (r = a.rect, i = n, r ? { left: i.x - r.left, top: i.y - r.top, right: r.right - i.x, bottom: r.bottom - i.y } : { left: 0, top: 0, right: 0, bottom: 0 }), this.startDelta = { x: 0, y: 0 }; - var c = this.fillArg({ phase: o, pageCoords: n, preEnd: !1 }); - return this.result = Xe(), this.startAll(c), this.result = this.setAll(c); - } }, { key: "fillArg", value: function(e) { - var n = this.interaction; - return e.interaction = n, e.interactable = n.interactable, e.element = n.element, e.rect || (e.rect = n.rect), e.edges || (e.edges = this.startEdges), e.startOffset = this.startOffset, e; - } }, { key: "startAll", value: function(e) { - for (var n = 0, r = this.states; n < r.length; n++) { - var i = r[n]; - i.methods.start && (e.state = i, i.methods.start(e)); - } - } }, { key: "setAll", value: function(e) { - var n = e.phase, r = e.preEnd, i = e.skipModifiers, o = e.rect, a = e.edges; - e.coords = x({}, e.pageCoords), e.rect = x({}, o), e.edges = x({}, a); - for (var s = i ? this.states.slice(i) : this.states, c = Xe(e.coords, e.rect), u = 0; u < s.length; u++) { - var l, p = s[u], f = p.options, h = x({}, e.coords), v = null; - (l = p.methods) != null && l.set && this.shouldDo(f, r, n) && (e.state = p, v = p.methods.set(e), Me(e.edges, e.rect, { x: e.coords.x - h.x, y: e.coords.y - h.y })), c.eventProps.push(v); - } - x(this.edges, e.edges), c.delta.x = e.coords.x - e.pageCoords.x, c.delta.y = e.coords.y - e.pageCoords.y, c.rectDelta.left = e.rect.left - o.left, c.rectDelta.right = e.rect.right - o.right, c.rectDelta.top = e.rect.top - o.top, c.rectDelta.bottom = e.rect.bottom - o.bottom; - var g = this.result.coords, y = this.result.rect; - if (g && y) { - var m = c.rect.left !== y.left || c.rect.right !== y.right || c.rect.top !== y.top || c.rect.bottom !== y.bottom; - c.changed = m || g.x !== c.coords.x || g.y !== c.coords.y; - } - return c; - } }, { key: "applyToInteraction", value: function(e) { - var n = this.interaction, r = e.phase, i = n.coords.cur, o = n.coords.start, a = this.result, s = this.startDelta, c = a.delta; - r === "start" && x(this.startDelta, a.delta); - for (var u = 0, l = [[o, s], [i, c]]; u < l.length; u++) { - var p = l[u], f = p[0], h = p[1]; - f.page.x += h.x, f.page.y += h.y, f.client.x += h.x, f.client.y += h.y; - } - var v = this.result.rectDelta, g = e.rect || n.rect; - g.left += v.left, g.right += v.right, g.top += v.top, g.bottom += v.bottom, g.width = g.right - g.left, g.height = g.bottom - g.top; - } }, { key: "setAndApply", value: function(e) { - var n = this.interaction, r = e.phase, i = e.preEnd, o = e.skipModifiers, a = this.setAll(this.fillArg({ preEnd: i, phase: r, pageCoords: e.modifiedCoords || n.coords.cur.page })); - if (this.result = a, !a.changed && (!o || o < this.states.length) && n.interacting()) return !1; - if (e.modifiedCoords) { - var s = n.coords.cur.page, c = { x: e.modifiedCoords.x - s.x, y: e.modifiedCoords.y - s.y }; - a.coords.x += c.x, a.coords.y += c.y, a.delta.x += c.x, a.delta.y += c.y; - } - this.applyToInteraction(e); - } }, { key: "beforeEnd", value: function(e) { - var n = e.interaction, r = e.event, i = this.states; - if (i && i.length) { - for (var o = !1, a = 0; a < i.length; a++) { - var s = i[a]; - e.state = s; - var c = s.options, u = s.methods, l = u.beforeEnd && u.beforeEnd(e); - if (l) return this.endResult = l, !1; - o = o || !o && this.shouldDo(c, !0, e.phase, !0); - } - o && n.move({ event: r, preEnd: !0 }); - } - } }, { key: "stop", value: function(e) { - var n = e.interaction; - if (this.states && this.states.length) { - var r = x({ states: this.states, interactable: n.interactable, element: n.element, rect: null }, e); - this.fillArg(r); - for (var i = 0, o = this.states; i < o.length; i++) { - var a = o[i]; - r.state = a, a.methods.stop && a.methods.stop(r); - } - this.states = null, this.endResult = null; - } - } }, { key: "prepareStates", value: function(e) { - this.states = []; - for (var n = 0; n < e.length; n++) { - var r = e[n], i = r.options, o = r.methods, a = r.name; - this.states.push({ options: i, methods: o, index: n, name: a }); - } - return this.states; - } }, { key: "restoreInteractionCoords", value: function(e) { - var n = e.interaction, r = n.coords, i = n.rect, o = n.modification; - if (o.result) { - for (var a = o.startDelta, s = o.result, c = s.delta, u = s.rectDelta, l = 0, p = [[r.start, a], [r.cur, c]]; l < p.length; l++) { - var f = p[l], h = f[0], v = f[1]; - h.page.x -= v.x, h.page.y -= v.y, h.client.x -= v.x, h.client.y -= v.y; - } - i.left -= u.left, i.right -= u.right, i.top -= u.top, i.bottom -= u.bottom; - } - } }, { key: "shouldDo", value: function(e, n, r, i) { - return !(!e || e.enabled === !1 || i && !e.endOnly || e.endOnly && !n || r === "start" && !e.setStart); - } }, { key: "copyFrom", value: function(e) { - this.startOffset = e.startOffset, this.startDelta = e.startDelta, this.startEdges = e.startEdges, this.edges = e.edges, this.states = e.states.map(function(n) { - return de(n); - }), this.result = Xe(x({}, e.result.coords), x({}, e.result.rect)); - } }, { key: "destroy", value: function() { - for (var e in this) this[e] = null; - } }]), t; - }(); - function Xe(t, e) { - return { rect: e, coords: t, delta: { x: 0, y: 0 }, rectDelta: { left: 0, right: 0, top: 0, bottom: 0 }, eventProps: [], changed: !0 }; - } - function ee(t, e) { - var n = t.defaults, r = { start: t.start, set: t.set, beforeEnd: t.beforeEnd, stop: t.stop }, i = function(o) { - var a = o || {}; - for (var s in a.enabled = a.enabled !== !1, n) s in a || (a[s] = n[s]); - var c = { options: a, methods: r, name: e, enable: function() { - return a.enabled = !0, c; - }, disable: function() { - return a.enabled = !1, c; - } }; - return c; - }; - return e && typeof e == "string" && (i._defaults = n, i._methods = r), i; - } - function Ee(t) { - var e = t.iEvent, n = t.interaction.modification.result; - n && (e.modifiers = n.eventProps); - } - var $n = { id: "modifiers/base", before: ["actions"], install: function(t) { - t.defaults.perAction.modifiers = []; - }, listeners: { "interactions:new": function(t) { - var e = t.interaction; - e.modification = new ft(e); - }, "interactions:before-action-start": function(t) { - var e = t.interaction, n = t.interaction.modification; - n.start(t, e.coords.start.page), e.edges = n.edges, n.applyToInteraction(t); - }, "interactions:before-action-move": function(t) { - var e = t.interaction, n = e.modification, r = n.setAndApply(t); - return e.edges = n.edges, r; - }, "interactions:before-action-end": function(t) { - var e = t.interaction, n = e.modification, r = n.beforeEnd(t); - return e.edges = n.startEdges, r; - }, "interactions:action-start": Ee, "interactions:action-move": Ee, "interactions:action-end": Ee, "interactions:after-action-start": function(t) { - return t.interaction.modification.restoreInteractionCoords(t); - }, "interactions:after-action-move": function(t) { - return t.interaction.modification.restoreInteractionCoords(t); - }, "interactions:stop": function(t) { - return t.interaction.modification.stop(t); - } } }, rn = $n, on = { base: { preventDefault: "auto", deltaSource: "page" }, perAction: { enabled: !1, origin: { x: 0, y: 0 } }, actions: {} }, dt = function(t) { - j(n, t); - var e = J(n); - function n(r, i, o, a, s, c, u) { - var l; - k(this, n), (l = e.call(this, r)).relatedTarget = null, l.screenX = void 0, l.screenY = void 0, l.button = void 0, l.buttons = void 0, l.ctrlKey = void 0, l.shiftKey = void 0, l.altKey = void 0, l.metaKey = void 0, l.page = void 0, l.client = void 0, l.delta = void 0, l.rect = void 0, l.x0 = void 0, l.y0 = void 0, l.t0 = void 0, l.dt = void 0, l.duration = void 0, l.clientX0 = void 0, l.clientY0 = void 0, l.velocity = void 0, l.speed = void 0, l.swipe = void 0, l.axes = void 0, l.preEnd = void 0, s = s || r.element; - var p = r.interactable, f = (p && p.options || on).deltaSource, h = ge(p, s, o), v = a === "start", g = a === "end", y = v ? ie(l) : r.prevEvent, m = v ? r.coords.start : g ? { page: y.page, client: y.client, timeStamp: r.coords.cur.timeStamp } : r.coords.cur; - return l.page = x({}, m.page), l.client = x({}, m.client), l.rect = x({}, r.rect), l.timeStamp = m.timeStamp, g || (l.page.x -= h.x, l.page.y -= h.y, l.client.x -= h.x, l.client.y -= h.y), l.ctrlKey = i.ctrlKey, l.altKey = i.altKey, l.shiftKey = i.shiftKey, l.metaKey = i.metaKey, l.button = i.button, l.buttons = i.buttons, l.target = s, l.currentTarget = s, l.preEnd = c, l.type = u || o + (a || ""), l.interactable = p, l.t0 = v ? r.pointers[r.pointers.length - 1].downTime : y.t0, l.x0 = r.coords.start.page.x - h.x, l.y0 = r.coords.start.page.y - h.y, l.clientX0 = r.coords.start.client.x - h.x, l.clientY0 = r.coords.start.client.y - h.y, l.delta = v || g ? { x: 0, y: 0 } : { x: l[f].x - y[f].x, y: l[f].y - y[f].y }, l.dt = r.coords.delta.timeStamp, l.duration = l.timeStamp - l.t0, l.velocity = x({}, r.coords.velocity[f]), l.speed = me(l.velocity.x, l.velocity.y), l.swipe = g || a === "inertiastart" ? l.getSwipe() : null, l; - } - return O(n, [{ key: "getSwipe", value: function() { - var r = this._interaction; - if (r.prevEvent.speed < 600 || this.timeStamp - r.prevEvent.timeStamp > 150) return null; - var i = 180 * Math.atan2(r.prevEvent.velocityY, r.prevEvent.velocityX) / Math.PI; - i < 0 && (i += 360); - var o = 112.5 <= i && i < 247.5, a = 202.5 <= i && i < 337.5; - return { up: a, down: !a && 22.5 <= i && i < 157.5, left: o, right: !o && (292.5 <= i || i < 67.5), angle: i, speed: r.prevEvent.speed, velocity: { x: r.prevEvent.velocityX, y: r.prevEvent.velocityY } }; - } }, { key: "preventDefault", value: function() { - } }, { key: "stopImmediatePropagation", value: function() { - this.immediatePropagationStopped = this.propagationStopped = !0; - } }, { key: "stopPropagation", value: function() { - this.propagationStopped = !0; - } }]), n; - }(Ce); - Object.defineProperties(dt.prototype, { pageX: { get: function() { - return this.page.x; - }, set: function(t) { - this.page.x = t; - } }, pageY: { get: function() { - return this.page.y; - }, set: function(t) { - this.page.y = t; - } }, clientX: { get: function() { - return this.client.x; - }, set: function(t) { - this.client.x = t; - } }, clientY: { get: function() { - return this.client.y; - }, set: function(t) { - this.client.y = t; - } }, dx: { get: function() { - return this.delta.x; - }, set: function(t) { - this.delta.x = t; - } }, dy: { get: function() { - return this.delta.y; - }, set: function(t) { - this.delta.y = t; - } }, velocityX: { get: function() { - return this.velocity.x; - }, set: function(t) { - this.velocity.x = t; - } }, velocityY: { get: function() { - return this.velocity.y; - }, set: function(t) { - this.velocity.y = t; - } } }); - var Nn = O(function t(e, n, r, i, o) { - k(this, t), this.id = void 0, this.pointer = void 0, this.event = void 0, this.downTime = void 0, this.downTarget = void 0, this.id = e, this.pointer = n, this.event = r, this.downTime = i, this.downTarget = o; - }), Un = function(t) { - return t.interactable = "", t.element = "", t.prepared = "", t.pointerIsDown = "", t.pointerWasMoved = "", t._proxy = "", t; - }({}), an = function(t) { - return t.start = "", t.move = "", t.end = "", t.stop = "", t.interacting = "", t; - }({}), Hn = 0, Kn = function() { - function t(e) { - var n = this, r = e.pointerType, i = e.scopeFire; - k(this, t), this.interactable = null, this.element = null, this.rect = null, this._rects = void 0, this.edges = null, this._scopeFire = void 0, this.prepared = { name: null, axis: null, edges: null }, this.pointerType = void 0, this.pointers = [], this.downEvent = null, this.downPointer = {}, this._latestPointer = { pointer: null, event: null, eventTarget: null }, this.prevEvent = null, this.pointerIsDown = !1, this.pointerWasMoved = !1, this._interacting = !1, this._ending = !1, this._stopped = !0, this._proxy = void 0, this.simulation = null, this.doMove = we(function(l) { - this.move(l); - }, "The interaction.doMove() method has been renamed to interaction.move()"), this.coords = { start: { page: { x: 0, y: 0 }, client: { x: 0, y: 0 }, timeStamp: 0 }, prev: { page: { x: 0, y: 0 }, client: { x: 0, y: 0 }, timeStamp: 0 }, cur: { page: { x: 0, y: 0 }, client: { x: 0, y: 0 }, timeStamp: 0 }, delta: { page: { x: 0, y: 0 }, client: { x: 0, y: 0 }, timeStamp: 0 }, velocity: { page: { x: 0, y: 0 }, client: { x: 0, y: 0 }, timeStamp: 0 } }, this._id = Hn++, this._scopeFire = i, this.pointerType = r; - var o = this; - this._proxy = {}; - var a = function(l) { - Object.defineProperty(n._proxy, l, { get: function() { - return o[l]; - } }); - }; - for (var s in Un) a(s); - var c = function(l) { - Object.defineProperty(n._proxy, l, { value: function() { - return o[l].apply(o, arguments); - } }); - }; - for (var u in an) c(u); - this._scopeFire("interactions:new", { interaction: this }); - } - return O(t, [{ key: "pointerMoveTolerance", get: function() { - return 1; - } }, { key: "pointerDown", value: function(e, n, r) { - var i = this.updatePointer(e, n, r, !0), o = this.pointers[i]; - this._scopeFire("interactions:down", { pointer: e, event: n, eventTarget: r, pointerIndex: i, pointerInfo: o, type: "down", interaction: this }); - } }, { key: "start", value: function(e, n, r) { - return !(this.interacting() || !this.pointerIsDown || this.pointers.length < (e.name === "gesture" ? 2 : 1) || !n.options[e.name].enabled) && (ct(this.prepared, e), this.interactable = n, this.element = r, this.rect = n.getRect(r), this.edges = this.prepared.edges ? x({}, this.prepared.edges) : { left: !0, right: !0, top: !0, bottom: !0 }, this._stopped = !1, this._interacting = this._doPhase({ interaction: this, event: this.downEvent, phase: "start" }) && !this._stopped, this._interacting); - } }, { key: "pointerMove", value: function(e, n, r) { - this.simulation || this.modification && this.modification.endResult || this.updatePointer(e, n, r, !1); - var i, o, a = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y; - this.pointerIsDown && !this.pointerWasMoved && (i = this.coords.cur.client.x - this.coords.start.client.x, o = this.coords.cur.client.y - this.coords.start.client.y, this.pointerWasMoved = me(i, o) > this.pointerMoveTolerance); - var s, c, u, l = this.getPointerIndex(e), p = { pointer: e, pointerIndex: l, pointerInfo: this.pointers[l], event: n, type: "move", eventTarget: r, dx: i, dy: o, duplicate: a, interaction: this }; - a || (s = this.coords.velocity, c = this.coords.delta, u = Math.max(c.timeStamp / 1e3, 1e-3), s.page.x = c.page.x / u, s.page.y = c.page.y / u, s.client.x = c.client.x / u, s.client.y = c.client.y / u, s.timeStamp = u), this._scopeFire("interactions:move", p), a || this.simulation || (this.interacting() && (p.type = null, this.move(p)), this.pointerWasMoved && Ae(this.coords.prev, this.coords.cur)); - } }, { key: "move", value: function(e) { - e && e.event || Ct(this.coords.delta), (e = x({ pointer: this._latestPointer.pointer, event: this._latestPointer.event, eventTarget: this._latestPointer.eventTarget, interaction: this }, e || {})).phase = "move", this._doPhase(e); - } }, { key: "pointerUp", value: function(e, n, r, i) { - var o = this.getPointerIndex(e); - o === -1 && (o = this.updatePointer(e, n, r, !1)); - var a = /cancel$/i.test(n.type) ? "cancel" : "up"; - this._scopeFire("interactions:".concat(a), { pointer: e, pointerIndex: o, pointerInfo: this.pointers[o], event: n, eventTarget: r, type: a, curEventTarget: i, interaction: this }), this.simulation || this.end(n), this.removePointer(e, n); - } }, { key: "documentBlur", value: function(e) { - this.end(e), this._scopeFire("interactions:blur", { event: e, type: "blur", interaction: this }); - } }, { key: "end", value: function(e) { - var n; - this._ending = !0, e = e || this._latestPointer.event, this.interacting() && (n = this._doPhase({ event: e, interaction: this, phase: "end" })), this._ending = !1, n === !0 && this.stop(); - } }, { key: "currentAction", value: function() { - return this._interacting ? this.prepared.name : null; - } }, { key: "interacting", value: function() { - return this._interacting; - } }, { key: "stop", value: function() { - this._scopeFire("interactions:stop", { interaction: this }), this.interactable = this.element = null, this._interacting = !1, this._stopped = !0, this.prepared.name = this.prevEvent = null; - } }, { key: "getPointerIndex", value: function(e) { - var n = ye(e); - return this.pointerType === "mouse" || this.pointerType === "pen" ? this.pointers.length - 1 : be(this.pointers, function(r) { - return r.id === n; - }); - } }, { key: "getPointerInfo", value: function(e) { - return this.pointers[this.getPointerIndex(e)]; - } }, { key: "updatePointer", value: function(e, n, r, i) { - var o, a, s, c = ye(e), u = this.getPointerIndex(e), l = this.pointers[u]; - return i = i !== !1 && (i || /(down|start)$/i.test(n.type)), l ? l.pointer = e : (l = new Nn(c, e, n, null, null), u = this.pointers.length, this.pointers.push(l)), On(this.coords.cur, this.pointers.map(function(p) { - return p.pointer; - }), this._now()), o = this.coords.delta, a = this.coords.prev, s = this.coords.cur, o.page.x = s.page.x - a.page.x, o.page.y = s.page.y - a.page.y, o.client.x = s.client.x - a.client.x, o.client.y = s.client.y - a.client.y, o.timeStamp = s.timeStamp - a.timeStamp, i && (this.pointerIsDown = !0, l.downTime = this.coords.cur.timeStamp, l.downTarget = r, ze(this.downPointer, e), this.interacting() || (Ae(this.coords.start, this.coords.cur), Ae(this.coords.prev, this.coords.cur), this.downEvent = n, this.pointerWasMoved = !1)), this._updateLatestPointer(e, n, r), this._scopeFire("interactions:update-pointer", { pointer: e, event: n, eventTarget: r, down: i, pointerInfo: l, pointerIndex: u, interaction: this }), u; - } }, { key: "removePointer", value: function(e, n) { - var r = this.getPointerIndex(e); - if (r !== -1) { - var i = this.pointers[r]; - this._scopeFire("interactions:remove-pointer", { pointer: e, event: n, eventTarget: null, pointerIndex: r, pointerInfo: i, interaction: this }), this.pointers.splice(r, 1), this.pointerIsDown = !1; - } - } }, { key: "_updateLatestPointer", value: function(e, n, r) { - this._latestPointer.pointer = e, this._latestPointer.event = n, this._latestPointer.eventTarget = r; - } }, { key: "destroy", value: function() { - this._latestPointer.pointer = null, this._latestPointer.event = null, this._latestPointer.eventTarget = null; - } }, { key: "_createPreparedEvent", value: function(e, n, r, i) { - return new dt(this, e, this.prepared.name, n, this.element, r, i); - } }, { key: "_fireEvent", value: function(e) { - var n; - (n = this.interactable) == null || n.fire(e), (!this.prevEvent || e.timeStamp >= this.prevEvent.timeStamp) && (this.prevEvent = e); - } }, { key: "_doPhase", value: function(e) { - var n = e.event, r = e.phase, i = e.preEnd, o = e.type, a = this.rect; - if (a && r === "move" && (Me(this.edges, a, this.coords.delta[this.interactable.options.deltaSource]), a.width = a.right - a.left, a.height = a.bottom - a.top), this._scopeFire("interactions:before-action-".concat(r), e) === !1) return !1; - var s = e.iEvent = this._createPreparedEvent(n, r, i, o); - return this._scopeFire("interactions:action-".concat(r), e), r === "start" && (this.prevEvent = s), this._fireEvent(s), this._scopeFire("interactions:after-action-".concat(r), e), !0; - } }, { key: "_now", value: function() { - return Date.now(); - } }]), t; - }(); - function sn(t) { - cn(t.interaction); - } - function cn(t) { - if (!function(n) { - return !(!n.offset.pending.x && !n.offset.pending.y); - }(t)) return !1; - var e = t.offset.pending; - return vt(t.coords.cur, e), vt(t.coords.delta, e), Me(t.edges, t.rect, e), e.x = 0, e.y = 0, !0; - } - function Jn(t) { - var e = t.x, n = t.y; - this.offset.pending.x += e, this.offset.pending.y += n, this.offset.total.x += e, this.offset.total.y += n; - } - function vt(t, e) { - var n = t.page, r = t.client, i = e.x, o = e.y; - n.x += i, n.y += o, r.x += i, r.y += o; - } - an.offsetBy = ""; - var Qn = { id: "offset", before: ["modifiers", "pointer-events", "actions", "inertia"], install: function(t) { - t.Interaction.prototype.offsetBy = Jn; - }, listeners: { "interactions:new": function(t) { - t.interaction.offset = { total: { x: 0, y: 0 }, pending: { x: 0, y: 0 } }; - }, "interactions:update-pointer": function(t) { - return function(e) { - e.pointerIsDown && (vt(e.coords.cur, e.offset.total), e.offset.pending.x = 0, e.offset.pending.y = 0); - }(t.interaction); - }, "interactions:before-action-start": sn, "interactions:before-action-move": sn, "interactions:before-action-end": function(t) { - var e = t.interaction; - if (cn(e)) return e.move({ offset: !0 }), e.end(), !1; - }, "interactions:stop": function(t) { - var e = t.interaction; - e.offset.total.x = 0, e.offset.total.y = 0, e.offset.pending.x = 0, e.offset.pending.y = 0; - } } }, ln = Qn, Zn = function() { - function t(e) { - k(this, t), this.active = !1, this.isModified = !1, this.smoothEnd = !1, this.allowResume = !1, this.modification = void 0, this.modifierCount = 0, this.modifierArg = void 0, this.startCoords = void 0, this.t0 = 0, this.v0 = 0, this.te = 0, this.targetOffset = void 0, this.modifiedOffset = void 0, this.currentOffset = void 0, this.lambda_v0 = 0, this.one_ve_v0 = 0, this.timeout = void 0, this.interaction = void 0, this.interaction = e; - } - return O(t, [{ key: "start", value: function(e) { - var n = this.interaction, r = Ye(n); - if (!r || !r.enabled) return !1; - var i = n.coords.velocity.client, o = me(i.x, i.y), a = this.modification || (this.modification = new ft(n)); - if (a.copyFrom(n.modification), this.t0 = n._now(), this.allowResume = r.allowResume, this.v0 = o, this.currentOffset = { x: 0, y: 0 }, this.startCoords = n.coords.cur.page, this.modifierArg = a.fillArg({ pageCoords: this.startCoords, preEnd: !0, phase: "inertiastart" }), this.t0 - n.coords.cur.timeStamp < 50 && o > r.minSpeed && o > r.endSpeed) this.startInertia(); - else { - if (a.result = a.setAll(this.modifierArg), !a.result.changed) return !1; - this.startSmoothEnd(); - } - return n.modification.result.rect = null, n.offsetBy(this.targetOffset), n._doPhase({ interaction: n, event: e, phase: "inertiastart" }), n.offsetBy({ x: -this.targetOffset.x, y: -this.targetOffset.y }), n.modification.result.rect = null, this.active = !0, n.simulation = this, !0; - } }, { key: "startInertia", value: function() { - var e = this, n = this.interaction.coords.velocity.client, r = Ye(this.interaction), i = r.resistance, o = -Math.log(r.endSpeed / this.v0) / i; - this.targetOffset = { x: (n.x - o) / i, y: (n.y - o) / i }, this.te = o, this.lambda_v0 = i / this.v0, this.one_ve_v0 = 1 - r.endSpeed / this.v0; - var a = this.modification, s = this.modifierArg; - s.pageCoords = { x: this.startCoords.x + this.targetOffset.x, y: this.startCoords.y + this.targetOffset.y }, a.result = a.setAll(s), a.result.changed && (this.isModified = !0, this.modifiedOffset = { x: this.targetOffset.x + a.result.delta.x, y: this.targetOffset.y + a.result.delta.y }), this.onNextFrame(function() { - return e.inertiaTick(); - }); - } }, { key: "startSmoothEnd", value: function() { - var e = this; - this.smoothEnd = !0, this.isModified = !0, this.targetOffset = { x: this.modification.result.delta.x, y: this.modification.result.delta.y }, this.onNextFrame(function() { - return e.smoothEndTick(); - }); - } }, { key: "onNextFrame", value: function(e) { - var n = this; - this.timeout = Z.request(function() { - n.active && e(); - }); - } }, { key: "inertiaTick", value: function() { - var e, n, r, i, o, a, s, c = this, u = this.interaction, l = Ye(u).resistance, p = (u._now() - this.t0) / 1e3; - if (p < this.te) { - var f, h = 1 - (Math.exp(-l * p) - this.lambda_v0) / this.one_ve_v0; - this.isModified ? (e = 0, n = 0, r = this.targetOffset.x, i = this.targetOffset.y, o = this.modifiedOffset.x, a = this.modifiedOffset.y, f = { x: un(s = h, e, r, o), y: un(s, n, i, a) }) : f = { x: this.targetOffset.x * h, y: this.targetOffset.y * h }; - var v = { x: f.x - this.currentOffset.x, y: f.y - this.currentOffset.y }; - this.currentOffset.x += v.x, this.currentOffset.y += v.y, u.offsetBy(v), u.move(), this.onNextFrame(function() { - return c.inertiaTick(); - }); - } else u.offsetBy({ x: this.modifiedOffset.x - this.currentOffset.x, y: this.modifiedOffset.y - this.currentOffset.y }), this.end(); - } }, { key: "smoothEndTick", value: function() { - var e = this, n = this.interaction, r = n._now() - this.t0, i = Ye(n).smoothEndDuration; - if (r < i) { - var o = { x: pn(r, 0, this.targetOffset.x, i), y: pn(r, 0, this.targetOffset.y, i) }, a = { x: o.x - this.currentOffset.x, y: o.y - this.currentOffset.y }; - this.currentOffset.x += a.x, this.currentOffset.y += a.y, n.offsetBy(a), n.move({ skipModifiers: this.modifierCount }), this.onNextFrame(function() { - return e.smoothEndTick(); - }); - } else n.offsetBy({ x: this.targetOffset.x - this.currentOffset.x, y: this.targetOffset.y - this.currentOffset.y }), this.end(); - } }, { key: "resume", value: function(e) { - var n = e.pointer, r = e.event, i = e.eventTarget, o = this.interaction; - o.offsetBy({ x: -this.currentOffset.x, y: -this.currentOffset.y }), o.updatePointer(n, r, i, !0), o._doPhase({ interaction: o, event: r, phase: "resume" }), Ae(o.coords.prev, o.coords.cur), this.stop(); - } }, { key: "end", value: function() { - this.interaction.move(), this.interaction.end(), this.stop(); - } }, { key: "stop", value: function() { - this.active = this.smoothEnd = !1, this.interaction.simulation = null, Z.cancel(this.timeout); - } }]), t; - }(); - function Ye(t) { - var e = t.interactable, n = t.prepared; - return e && e.options && n.name && e.options[n.name].inertia; - } - var er = { id: "inertia", before: ["modifiers", "actions"], install: function(t) { - var e = t.defaults; - t.usePlugin(ln), t.usePlugin(rn), t.actions.phases.inertiastart = !0, t.actions.phases.resume = !0, e.perAction.inertia = { enabled: !1, resistance: 10, minSpeed: 100, endSpeed: 10, allowResume: !0, smoothEndDuration: 300 }; - }, listeners: { "interactions:new": function(t) { - var e = t.interaction; - e.inertia = new Zn(e); - }, "interactions:before-action-end": function(t) { - var e = t.interaction, n = t.event; - return (!e._interacting || e.simulation || !e.inertia.start(n)) && null; - }, "interactions:down": function(t) { - var e = t.interaction, n = t.eventTarget, r = e.inertia; - if (r.active) for (var i = n; d.element(i); ) { - if (i === e.element) { - r.resume(t); - break; - } - i = N(i); - } - }, "interactions:stop": function(t) { - var e = t.interaction.inertia; - e.active && e.stop(); - }, "interactions:before-action-resume": function(t) { - var e = t.interaction.modification; - e.stop(t), e.start(t, t.interaction.coords.cur.page), e.applyToInteraction(t); - }, "interactions:before-action-inertiastart": function(t) { - return t.interaction.modification.setAndApply(t); - }, "interactions:action-resume": Ee, "interactions:action-inertiastart": Ee, "interactions:after-action-inertiastart": function(t) { - return t.interaction.modification.restoreInteractionCoords(t); - }, "interactions:after-action-resume": function(t) { - return t.interaction.modification.restoreInteractionCoords(t); - } } }; - function un(t, e, n, r) { - var i = 1 - t; - return i * i * e + 2 * i * t * n + t * t * r; - } - function pn(t, e, n, r) { - return -n * (t /= r) * (t - 2) + e; - } - var tr = er; - function fn(t, e) { - for (var n = 0; n < e.length; n++) { - var r = e[n]; - if (t.immediatePropagationStopped) break; - r(t); - } - } - var dn = function() { - function t(e) { - k(this, t), this.options = void 0, this.types = {}, this.propagationStopped = !1, this.immediatePropagationStopped = !1, this.global = void 0, this.options = x({}, e || {}); - } - return O(t, [{ key: "fire", value: function(e) { - var n, r = this.global; - (n = this.types[e.type]) && fn(e, n), !e.propagationStopped && r && (n = r[e.type]) && fn(e, n); - } }, { key: "on", value: function(e, n) { - var r = ce(e, n); - for (e in r) this.types[e] = Vt(this.types[e] || [], r[e]); - } }, { key: "off", value: function(e, n) { - var r = ce(e, n); - for (e in r) { - var i = this.types[e]; - if (i && i.length) for (var o = 0, a = r[e]; o < a.length; o++) { - var s = a[o], c = i.indexOf(s); - c !== -1 && i.splice(c, 1); - } - } - } }, { key: "getRect", value: function(e) { - return null; - } }]), t; - }(), nr = function() { - function t(e) { - k(this, t), this.currentTarget = void 0, this.originalEvent = void 0, this.type = void 0, this.originalEvent = e, ze(this, e); - } - return O(t, [{ key: "preventOriginalDefault", value: function() { - this.originalEvent.preventDefault(); - } }, { key: "stopPropagation", value: function() { - this.originalEvent.stopPropagation(); - } }, { key: "stopImmediatePropagation", value: function() { - this.originalEvent.stopImmediatePropagation(); - } }]), t; - }(); - function Te(t) { - return d.object(t) ? { capture: !!t.capture, passive: !!t.passive } : { capture: !!t, passive: !1 }; - } - function Le(t, e) { - return t === e || (typeof t == "boolean" ? !!e.capture === t && !e.passive : !!t.capture == !!e.capture && !!t.passive == !!e.passive); - } - var rr = { id: "events", install: function(t) { - var e, n = [], r = {}, i = [], o = { add: a, remove: s, addDelegate: function(l, p, f, h, v) { - var g = Te(v); - if (!r[f]) { - r[f] = []; - for (var y = 0; y < i.length; y++) { - var m = i[y]; - a(m, f, c), a(m, f, u, !0); - } - } - var b = r[f], T = xe(b, function(_) { - return _.selector === l && _.context === p; - }); - T || (T = { selector: l, context: p, listeners: [] }, b.push(T)), T.listeners.push({ func: h, options: g }); - }, removeDelegate: function(l, p, f, h, v) { - var g, y = Te(v), m = r[f], b = !1; - if (m) - for (g = m.length - 1; g >= 0; g--) { - var T = m[g]; - if (T.selector === l && T.context === p) { - for (var _ = T.listeners, w = _.length - 1; w >= 0; w--) { - var S = _[w]; - if (S.func === h && Le(S.options, y)) { - _.splice(w, 1), _.length || (m.splice(g, 1), s(p, f, c), s(p, f, u, !0)), b = !0; - break; - } - } - if (b) break; - } - } - }, delegateListener: c, delegateUseCapture: u, delegatedEvents: r, documents: i, targets: n, supportsOptions: !1, supportsPassive: !1 }; - function a(l, p, f, h) { - if (l.addEventListener) { - var v = Te(h), g = xe(n, function(y) { - return y.eventTarget === l; - }); - g || (g = { eventTarget: l, events: {} }, n.push(g)), g.events[p] || (g.events[p] = []), xe(g.events[p], function(y) { - return y.func === f && Le(y.options, v); - }) || (l.addEventListener(p, f, o.supportsOptions ? v : v.capture), g.events[p].push({ func: f, options: v })); - } - } - function s(l, p, f, h) { - if (l.addEventListener && l.removeEventListener) { - var v = be(n, function(X) { - return X.eventTarget === l; - }), g = n[v]; - if (g && g.events) if (p !== "all") { - var y = !1, m = g.events[p]; - if (m) { - if (f === "all") { - for (var b = m.length - 1; b >= 0; b--) { - var T = m[b]; - s(l, p, T.func, T.options); - } - return; - } - for (var _ = Te(h), w = 0; w < m.length; w++) { - var S = m[w]; - if (S.func === f && Le(S.options, _)) { - l.removeEventListener(p, f, o.supportsOptions ? _ : _.capture), m.splice(w, 1), m.length === 0 && (delete g.events[p], y = !0); - break; - } - } - } - y && !Object.keys(g.events).length && n.splice(v, 1); - } else for (p in g.events) g.events.hasOwnProperty(p) && s(l, p, "all"); - } - } - function c(l, p) { - for (var f = Te(p), h = new nr(l), v = r[l.type], g = Lt(l)[0], y = g; d.element(y); ) { - for (var m = 0; m < v.length; m++) { - var b = v[m], T = b.selector, _ = b.context; - if (Q(y, T) && se(_, g) && se(_, y)) { - var w = b.listeners; - h.currentTarget = y; - for (var S = 0; S < w.length; S++) { - var X = w[S]; - Le(X.options, f) && X.func(h); - } - } - } - y = N(y); - } - } - function u(l) { - return c(l, !0); - } - return (e = t.document) == null || e.createElement("div").addEventListener("test", null, { get capture() { - return o.supportsOptions = !0; - }, get passive() { - return o.supportsPassive = !0; - } }), t.events = o, o; - } }, ht = { methodOrder: ["simulationResume", "mouseOrPen", "hasPointer", "idle"], search: function(t) { - for (var e = 0, n = ht.methodOrder; e < n.length; e++) { - var r = n[e], i = ht[r](t); - if (i) return i; - } - return null; - }, simulationResume: function(t) { - var e = t.pointerType, n = t.eventType, r = t.eventTarget, i = t.scope; - if (!/down|start/i.test(n)) return null; - for (var o = 0, a = i.interactions.list; o < a.length; o++) { - var s = a[o], c = r; - if (s.simulation && s.simulation.allowResume && s.pointerType === e) for (; c; ) { - if (c === s.element) return s; - c = N(c); - } - } - return null; - }, mouseOrPen: function(t) { - var e, n = t.pointerId, r = t.pointerType, i = t.eventType, o = t.scope; - if (r !== "mouse" && r !== "pen") return null; - for (var a = 0, s = o.interactions.list; a < s.length; a++) { - var c = s[a]; - if (c.pointerType === r) { - if (c.simulation && !vn(c, n)) continue; - if (c.interacting()) return c; - e || (e = c); - } - } - if (e) return e; - for (var u = 0, l = o.interactions.list; u < l.length; u++) { - var p = l[u]; - if (!(p.pointerType !== r || /down/i.test(i) && p.simulation)) return p; - } - return null; - }, hasPointer: function(t) { - for (var e = t.pointerId, n = 0, r = t.scope.interactions.list; n < r.length; n++) { - var i = r[n]; - if (vn(i, e)) return i; - } - return null; - }, idle: function(t) { - for (var e = t.pointerType, n = 0, r = t.scope.interactions.list; n < r.length; n++) { - var i = r[n]; - if (i.pointers.length === 1) { - var o = i.interactable; - if (o && (!o.options.gesture || !o.options.gesture.enabled)) continue; - } else if (i.pointers.length >= 2) continue; - if (!i.interacting() && e === i.pointerType) return i; - } - return null; - } }; - function vn(t, e) { - return t.pointers.some(function(n) { - return n.id === e; - }); - } - var ir = ht, gt = ["pointerDown", "pointerMove", "pointerUp", "updatePointer", "removePointer", "windowBlur"]; - function hn(t, e) { - return function(n) { - var r = e.interactions.list, i = Yt(n), o = Lt(n), a = o[0], s = o[1], c = []; - if (/^touch/.test(n.type)) { - e.prevTouchTime = e.now(); - for (var u = 0, l = n.changedTouches; u < l.length; u++) { - var p = l[u], f = { pointer: p, pointerId: ye(p), pointerType: i, eventType: n.type, eventTarget: a, curEventTarget: s, scope: e }, h = gn(f); - c.push([f.pointer, f.eventTarget, f.curEventTarget, h]); - } - } else { - var v = !1; - if (!B.supportsPointerEvent && /mouse/.test(n.type)) { - for (var g = 0; g < r.length && !v; g++) v = r[g].pointerType !== "mouse" && r[g].pointerIsDown; - v = v || e.now() - e.prevTouchTime < 500 || n.timeStamp === 0; - } - if (!v) { - var y = { pointer: n, pointerId: ye(n), pointerType: i, eventType: n.type, curEventTarget: s, eventTarget: a, scope: e }, m = gn(y); - c.push([y.pointer, y.eventTarget, y.curEventTarget, m]); - } - } - for (var b = 0; b < c.length; b++) { - var T = c[b], _ = T[0], w = T[1], S = T[2]; - T[3][t](_, n, w, S); - } - }; - } - function gn(t) { - var e = t.pointerType, n = t.scope, r = { interaction: ir.search(t), searchDetails: t }; - return n.fire("interactions:find", r), r.interaction || n.interactions.new({ pointerType: e }); - } - function mt(t, e) { - var n = t.doc, r = t.scope, i = t.options, o = r.interactions.docEvents, a = r.events, s = a[e]; - for (var c in r.browser.isIOS && !i.events && (i.events = { passive: !1 }), a.delegatedEvents) s(n, c, a.delegateListener), s(n, c, a.delegateUseCapture, !0); - for (var u = i && i.events, l = 0; l < o.length; l++) { - var p = o[l]; - s(n, p.type, p.listener, u); - } - } - var or = { id: "core/interactions", install: function(t) { - for (var e = {}, n = 0; n < gt.length; n++) { - var r = gt[n]; - e[r] = hn(r, t); - } - var i, o = B.pEventTypes; - function a() { - for (var s = 0, c = t.interactions.list; s < c.length; s++) { - var u = c[s]; - if (u.pointerIsDown && u.pointerType === "touch" && !u._interacting) for (var l = function() { - var h = f[p]; - t.documents.some(function(v) { - return se(v.doc, h.downTarget); - }) || u.removePointer(h.pointer, h.event); - }, p = 0, f = u.pointers; p < f.length; p++) l(); - } - } - (i = A.PointerEvent ? [{ type: o.down, listener: a }, { type: o.down, listener: e.pointerDown }, { type: o.move, listener: e.pointerMove }, { type: o.up, listener: e.pointerUp }, { type: o.cancel, listener: e.pointerUp }] : [{ type: "mousedown", listener: e.pointerDown }, { type: "mousemove", listener: e.pointerMove }, { type: "mouseup", listener: e.pointerUp }, { type: "touchstart", listener: a }, { type: "touchstart", listener: e.pointerDown }, { type: "touchmove", listener: e.pointerMove }, { type: "touchend", listener: e.pointerUp }, { type: "touchcancel", listener: e.pointerUp }]).push({ type: "blur", listener: function(s) { - for (var c = 0, u = t.interactions.list; c < u.length; c++) - u[c].documentBlur(s); - } }), t.prevTouchTime = 0, t.Interaction = function(s) { - j(u, s); - var c = J(u); - function u() { - return k(this, u), c.apply(this, arguments); - } - return O(u, [{ key: "pointerMoveTolerance", get: function() { - return t.interactions.pointerMoveTolerance; - }, set: function(l) { - t.interactions.pointerMoveTolerance = l; - } }, { key: "_now", value: function() { - return t.now(); - } }]), u; - }(Kn), t.interactions = { list: [], new: function(s) { - s.scopeFire = function(u, l) { - return t.fire(u, l); - }; - var c = new t.Interaction(s); - return t.interactions.list.push(c), c; - }, listeners: e, docEvents: i, pointerMoveTolerance: 1 }, t.usePlugin(nn); - }, listeners: { "scope:add-document": function(t) { - return mt(t, "add"); - }, "scope:remove-document": function(t) { - return mt(t, "remove"); - }, "interactable:unset": function(t, e) { - for (var n = t.interactable, r = e.interactions.list.length - 1; r >= 0; r--) { - var i = e.interactions.list[r]; - i.interactable === n && (i.stop(), e.fire("interactions:destroy", { interaction: i }), i.destroy(), e.interactions.list.length > 2 && e.interactions.list.splice(r, 1)); - } - } }, onDocSignal: mt, doOnInteractions: hn, methodNames: gt }, ar = or, te = function(t) { - return t[t.On = 0] = "On", t[t.Off = 1] = "Off", t; - }(te || {}), sr = function() { - function t(e, n, r, i) { - k(this, t), this.target = void 0, this.options = void 0, this._actions = void 0, this.events = new dn(), this._context = void 0, this._win = void 0, this._doc = void 0, this._scopeEvents = void 0, this._actions = n.actions, this.target = e, this._context = n.context || r, this._win = $(zt(e) ? this._context : e), this._doc = this._win.document, this._scopeEvents = i, this.set(n); - } - return O(t, [{ key: "_defaults", get: function() { - return { base: {}, perAction: {}, actions: {} }; - } }, { key: "setOnEvents", value: function(e, n) { - return d.func(n.onstart) && this.on("".concat(e, "start"), n.onstart), d.func(n.onmove) && this.on("".concat(e, "move"), n.onmove), d.func(n.onend) && this.on("".concat(e, "end"), n.onend), d.func(n.oninertiastart) && this.on("".concat(e, "inertiastart"), n.oninertiastart), this; - } }, { key: "updatePerActionListeners", value: function(e, n, r) { - var i, o = this, a = (i = this._actions.map[e]) == null ? void 0 : i.filterEventType, s = function(c) { - return (a == null || a(c)) && Fe(c, o._actions); - }; - (d.array(n) || d.object(n)) && this._onOff(te.Off, e, n, void 0, s), (d.array(r) || d.object(r)) && this._onOff(te.On, e, r, void 0, s); - } }, { key: "setPerAction", value: function(e, n) { - var r = this._defaults; - for (var i in n) { - var o = i, a = this.options[e], s = n[o]; - o === "listeners" && this.updatePerActionListeners(e, a.listeners, s), d.array(s) ? a[o] = qt(s) : d.plainObject(s) ? (a[o] = x(a[o] || {}, de(s)), d.object(r.perAction[o]) && "enabled" in r.perAction[o] && (a[o].enabled = s.enabled !== !1)) : d.bool(s) && d.object(r.perAction[o]) ? a[o].enabled = s : a[o] = s; - } - } }, { key: "getRect", value: function(e) { - return e = e || (d.element(this.target) ? this.target : null), d.string(this.target) && (e = e || this._context.querySelector(this.target)), Je(e); - } }, { key: "rectChecker", value: function(e) { - var n = this; - return d.func(e) ? (this.getRect = function(r) { - var i = x({}, e.apply(n, r)); - return "width" in i || (i.width = i.right - i.left, i.height = i.bottom - i.top), i; - }, this) : e === null ? (delete this.getRect, this) : this.getRect; - } }, { key: "_backCompatOption", value: function(e, n) { - if (zt(n) || d.object(n)) { - for (var r in this.options[e] = n, this._actions.map) this.options[r][e] = n; - return this; - } - return this.options[e]; - } }, { key: "origin", value: function(e) { - return this._backCompatOption("origin", e); - } }, { key: "deltaSource", value: function(e) { - return e === "page" || e === "client" ? (this.options.deltaSource = e, this) : this.options.deltaSource; - } }, { key: "getAllElements", value: function() { - var e = this.target; - return d.string(e) ? Array.from(this._context.querySelectorAll(e)) : d.func(e) && e.getAllElements ? e.getAllElements() : d.element(e) ? [e] : []; - } }, { key: "context", value: function() { - return this._context; - } }, { key: "inContext", value: function(e) { - return this._context === e.ownerDocument || se(this._context, e); - } }, { key: "testIgnoreAllow", value: function(e, n, r) { - return !this.testIgnore(e.ignoreFrom, n, r) && this.testAllow(e.allowFrom, n, r); - } }, { key: "testAllow", value: function(e, n, r) { - return !e || !!d.element(r) && (d.string(e) ? He(r, e, n) : !!d.element(e) && se(e, r)); - } }, { key: "testIgnore", value: function(e, n, r) { - return !(!e || !d.element(r)) && (d.string(e) ? He(r, e, n) : !!d.element(e) && se(e, r)); - } }, { key: "fire", value: function(e) { - return this.events.fire(e), this; - } }, { key: "_onOff", value: function(e, n, r, i, o) { - d.object(n) && !d.array(n) && (i = r, r = null); - var a = ce(n, r, o); - for (var s in a) { - s === "wheel" && (s = B.wheelEvent); - for (var c = 0, u = a[s]; c < u.length; c++) { - var l = u[c]; - Fe(s, this._actions) ? this.events[e === te.On ? "on" : "off"](s, l) : d.string(this.target) ? this._scopeEvents[e === te.On ? "addDelegate" : "removeDelegate"](this.target, this._context, s, l, i) : this._scopeEvents[e === te.On ? "add" : "remove"](this.target, s, l, i); - } - } - return this; - } }, { key: "on", value: function(e, n, r) { - return this._onOff(te.On, e, n, r); - } }, { key: "off", value: function(e, n, r) { - return this._onOff(te.Off, e, n, r); - } }, { key: "set", value: function(e) { - var n = this._defaults; - for (var r in d.object(e) || (e = {}), this.options = de(n.base), this._actions.methodDict) { - var i = r, o = this._actions.methodDict[i]; - this.options[i] = {}, this.setPerAction(i, x(x({}, n.perAction), n.actions[i])), this[o](e[i]); - } - for (var a in e) a !== "getRect" ? d.func(this[a]) && this[a](e[a]) : this.rectChecker(e.getRect); - return this; - } }, { key: "unset", value: function() { - if (d.string(this.target)) for (var e in this._scopeEvents.delegatedEvents) for (var n = this._scopeEvents.delegatedEvents[e], r = n.length - 1; r >= 0; r--) { - var i = n[r], o = i.selector, a = i.context, s = i.listeners; - o === this.target && a === this._context && n.splice(r, 1); - for (var c = s.length - 1; c >= 0; c--) this._scopeEvents.removeDelegate(this.target, this._context, e, s[c][0], s[c][1]); - } - else this._scopeEvents.remove(this.target, "all"); - } }]), t; - }(), cr = function() { - function t(e) { - var n = this; - k(this, t), this.list = [], this.selectorMap = {}, this.scope = void 0, this.scope = e, e.addListeners({ "interactable:unset": function(r) { - var i = r.interactable, o = i.target, a = d.string(o) ? n.selectorMap[o] : o[n.scope.id], s = be(a, function(c) { - return c === i; - }); - a.splice(s, 1); - } }); - } - return O(t, [{ key: "new", value: function(e, n) { - n = x(n || {}, { actions: this.scope.actions }); - var r = new this.scope.Interactable(e, n, this.scope.document, this.scope.events); - return this.scope.addDocument(r._doc), this.list.push(r), d.string(e) ? (this.selectorMap[e] || (this.selectorMap[e] = []), this.selectorMap[e].push(r)) : (r.target[this.scope.id] || Object.defineProperty(e, this.scope.id, { value: [], configurable: !0 }), e[this.scope.id].push(r)), this.scope.fire("interactable:new", { target: e, options: n, interactable: r, win: this.scope._win }), r; - } }, { key: "getExisting", value: function(e, n) { - var r = n && n.context || this.scope.document, i = d.string(e), o = i ? this.selectorMap[e] : e[this.scope.id]; - if (o) return xe(o, function(a) { - return a._context === r && (i || a.inContext(e)); - }); - } }, { key: "forEachMatch", value: function(e, n) { - for (var r = 0, i = this.list; r < i.length; r++) { - var o = i[r], a = void 0; - if ((d.string(o.target) ? d.element(e) && Q(e, o.target) : e === o.target) && o.inContext(e) && (a = n(o)), a !== void 0) return a; - } - } }]), t; - }(), lr = function() { - function t() { - var e = this; - k(this, t), this.id = "__interact_scope_".concat(Math.floor(100 * Math.random())), this.isInitialized = !1, this.listenerMaps = [], this.browser = B, this.defaults = de(on), this.Eventable = dn, this.actions = { map: {}, phases: { start: !0, move: !0, end: !0 }, methodDict: {}, phaselessTypes: {} }, this.interactStatic = function(r) { - var i = function o(a, s) { - var c = r.interactables.getExisting(a, s); - return c || ((c = r.interactables.new(a, s)).events.global = o.globalEvents), c; - }; - return i.getPointerAverage = Xt, i.getTouchBBox = et, i.getTouchDistance = tt, i.getTouchAngle = nt, i.getElementRect = Je, i.getElementClientRect = Ke, i.matchesSelector = Q, i.closest = kt, i.globalEvents = {}, i.version = "1.10.27", i.scope = r, i.use = function(o, a) { - return this.scope.usePlugin(o, a), this; - }, i.isSet = function(o, a) { - return !!this.scope.interactables.get(o, a && a.context); - }, i.on = we(function(o, a, s) { - if (d.string(o) && o.search(" ") !== -1 && (o = o.trim().split(/ +/)), d.array(o)) { - for (var c = 0, u = o; c < u.length; c++) { - var l = u[c]; - this.on(l, a, s); - } - return this; - } - if (d.object(o)) { - for (var p in o) this.on(p, o[p], a); - return this; - } - return Fe(o, this.scope.actions) ? this.globalEvents[o] ? this.globalEvents[o].push(a) : this.globalEvents[o] = [a] : this.scope.events.add(this.scope.document, o, a, { options: s }), this; - }, "The interact.on() method is being deprecated"), i.off = we(function(o, a, s) { - if (d.string(o) && o.search(" ") !== -1 && (o = o.trim().split(/ +/)), d.array(o)) { - for (var c = 0, u = o; c < u.length; c++) { - var l = u[c]; - this.off(l, a, s); - } - return this; - } - if (d.object(o)) { - for (var p in o) this.off(p, o[p], a); - return this; - } - var f; - return Fe(o, this.scope.actions) ? o in this.globalEvents && (f = this.globalEvents[o].indexOf(a)) !== -1 && this.globalEvents[o].splice(f, 1) : this.scope.events.remove(this.scope.document, o, a, s), this; - }, "The interact.off() method is being deprecated"), i.debug = function() { - return this.scope; - }, i.supportsTouch = function() { - return B.supportsTouch; - }, i.supportsPointerEvent = function() { - return B.supportsPointerEvent; - }, i.stop = function() { - for (var o = 0, a = this.scope.interactions.list; o < a.length; o++) a[o].stop(); - return this; - }, i.pointerMoveTolerance = function(o) { - return d.number(o) ? (this.scope.interactions.pointerMoveTolerance = o, this) : this.scope.interactions.pointerMoveTolerance; - }, i.addDocument = function(o, a) { - this.scope.addDocument(o, a); - }, i.removeDocument = function(o) { - this.scope.removeDocument(o); - }, i; - }(this), this.InteractEvent = dt, this.Interactable = void 0, this.interactables = new cr(this), this._win = void 0, this.document = void 0, this.window = void 0, this.documents = [], this._plugins = { list: [], map: {} }, this.onWindowUnload = function(r) { - return e.removeDocument(r.target); - }; - var n = this; - this.Interactable = function(r) { - j(o, r); - var i = J(o); - function o() { - return k(this, o), i.apply(this, arguments); - } - return O(o, [{ key: "_defaults", get: function() { - return n.defaults; - } }, { key: "set", value: function(a) { - return oe(q(o.prototype), "set", this).call(this, a), n.fire("interactable:set", { options: a, interactable: this }), this; - } }, { key: "unset", value: function() { - oe(q(o.prototype), "unset", this).call(this); - var a = n.interactables.list.indexOf(this); - a < 0 || (n.interactables.list.splice(a, 1), n.fire("interactable:unset", { interactable: this })); - } }]), o; - }(sr); - } - return O(t, [{ key: "addListeners", value: function(e, n) { - this.listenerMaps.push({ id: n, map: e }); - } }, { key: "fire", value: function(e, n) { - for (var r = 0, i = this.listenerMaps; r < i.length; r++) { - var o = i[r].map[e]; - if (o && o(n, this, e) === !1) return !1; - } - } }, { key: "init", value: function(e) { - return this.isInitialized ? this : function(n, r) { - return n.isInitialized = !0, d.window(r) && St(r), A.init(r), B.init(r), Z.init(r), n.window = r, n.document = r.document, n.usePlugin(ar), n.usePlugin(rr), n; - }(this, e); - } }, { key: "pluginIsInstalled", value: function(e) { - var n = e.id; - return n ? !!this._plugins.map[n] : this._plugins.list.indexOf(e) !== -1; - } }, { key: "usePlugin", value: function(e, n) { - if (!this.isInitialized) return this; - if (this.pluginIsInstalled(e)) return this; - if (e.id && (this._plugins.map[e.id] = e), this._plugins.list.push(e), e.install && e.install(this, n), e.listeners && e.before) { - for (var r = 0, i = this.listenerMaps.length, o = e.before.reduce(function(s, c) { - return s[c] = !0, s[mn(c)] = !0, s; - }, {}); r < i; r++) { - var a = this.listenerMaps[r].id; - if (a && (o[a] || o[mn(a)])) break; - } - this.listenerMaps.splice(r, 0, { id: e.id, map: e.listeners }); - } else e.listeners && this.listenerMaps.push({ id: e.id, map: e.listeners }); - return this; - } }, { key: "addDocument", value: function(e, n) { - if (this.getDocIndex(e) !== -1) return !1; - var r = $(e); - n = n ? x({}, n) : {}, this.documents.push({ doc: e, options: n }), this.events.documents.push(e), e !== this.document && this.events.add(r, "unload", this.onWindowUnload), this.fire("scope:add-document", { doc: e, window: r, scope: this, options: n }); - } }, { key: "removeDocument", value: function(e) { - var n = this.getDocIndex(e), r = $(e), i = this.documents[n].options; - this.events.remove(r, "unload", this.onWindowUnload), this.documents.splice(n, 1), this.events.documents.splice(n, 1), this.fire("scope:remove-document", { doc: e, window: r, scope: this, options: i }); - } }, { key: "getDocIndex", value: function(e) { - for (var n = 0; n < this.documents.length; n++) if (this.documents[n].doc === e) return n; - return -1; - } }, { key: "getDocOptions", value: function(e) { - var n = this.getDocIndex(e); - return n === -1 ? null : this.documents[n].options; - } }, { key: "now", value: function() { - return (this.window.Date || Date).now(); - } }]), t; - }(); - function mn(t) { - return t && t.replace(/\/.*$/, ""); - } - var yn = new lr(), F = yn.interactStatic, ur = typeof globalThis < "u" ? globalThis : window; - yn.init(ur); - var pr = Object.freeze({ __proto__: null, edgeTarget: function() { - }, elements: function() { - }, grid: function(t) { - var e = [["x", "y"], ["left", "top"], ["right", "bottom"], ["width", "height"]].filter(function(r) { - var i = r[0], o = r[1]; - return i in t || o in t; - }), n = function(r, i) { - for (var o = t.range, a = t.limits, s = a === void 0 ? { left: -1 / 0, right: 1 / 0, top: -1 / 0, bottom: 1 / 0 } : a, c = t.offset, u = c === void 0 ? { x: 0, y: 0 } : c, l = { range: o, grid: t, x: null, y: null }, p = 0; p < e.length; p++) { - var f = e[p], h = f[0], v = f[1], g = Math.round((r - u.x) / t[h]), y = Math.round((i - u.y) / t[v]); - l[h] = Math.max(s.left, Math.min(s.right, g * t[h] + u.x)), l[v] = Math.max(s.top, Math.min(s.bottom, y * t[v] + u.y)); - } - return l; - }; - return n.grid = t, n.coordFields = e, n; - } }), fr = { id: "snappers", install: function(t) { - var e = t.interactStatic; - e.snappers = x(e.snappers || {}, pr), e.createSnapGrid = e.snappers.grid; - } }, dr = fr, vr = { start: function(t) { - var e = t.state, n = t.rect, r = t.edges, i = t.pageCoords, o = e.options, a = o.ratio, s = o.enabled, c = e.options, u = c.equalDelta, l = c.modifiers; - a === "preserve" && (a = n.width / n.height), e.startCoords = x({}, i), e.startRect = x({}, n), e.ratio = a, e.equalDelta = u; - var p = e.linkedEdges = { top: r.top || r.left && !r.bottom, left: r.left || r.top && !r.right, bottom: r.bottom || r.right && !r.top, right: r.right || r.bottom && !r.left }; - if (e.xIsPrimaryAxis = !(!r.left && !r.right), e.equalDelta) { - var f = (p.left ? 1 : -1) * (p.top ? 1 : -1); - e.edgeSign = { x: f, y: f }; - } else e.edgeSign = { x: p.left ? -1 : 1, y: p.top ? -1 : 1 }; - if (s !== !1 && x(r, p), l != null && l.length) { - var h = new ft(t.interaction); - h.copyFrom(t.interaction.modification), h.prepareStates(l), e.subModification = h, h.startAll(I({}, t)); - } - }, set: function(t) { - var e = t.state, n = t.rect, r = t.coords, i = e.linkedEdges, o = x({}, r), a = e.equalDelta ? hr : gr; - if (x(t.edges, i), a(e, e.xIsPrimaryAxis, r, n), !e.subModification) return null; - var s = x({}, n); - Me(i, s, { x: r.x - o.x, y: r.y - o.y }); - var c = e.subModification.setAll(I(I({}, t), {}, { rect: s, edges: i, pageCoords: r, prevCoords: r, prevRect: s })), u = c.delta; - return c.changed && (a(e, Math.abs(u.x) > Math.abs(u.y), c.coords, c.rect), x(r, c.coords)), c.eventProps; - }, defaults: { ratio: "preserve", equalDelta: !1, modifiers: [], enabled: !1 } }; - function hr(t, e, n) { - var r = t.startCoords, i = t.edgeSign; - e ? n.y = r.y + (n.x - r.x) * i.y : n.x = r.x + (n.y - r.y) * i.x; - } - function gr(t, e, n, r) { - var i = t.startRect, o = t.startCoords, a = t.ratio, s = t.edgeSign; - if (e) { - var c = r.width / a; - n.y = o.y + (c - i.height) * s.y; - } else { - var u = r.height * a; - n.x = o.x + (u - i.width) * s.x; - } - } - var mr = ee(vr, "aspectRatio"), bn = function() { - }; - bn._defaults = {}; - var Ve = bn; - function ue(t, e, n) { - return d.func(t) ? he(t, e.interactable, e.element, [n.x, n.y, e]) : he(t, e.interactable, e.element); - } - var qe = { start: function(t) { - var e = t.rect, n = t.startOffset, r = t.state, i = t.interaction, o = t.pageCoords, a = r.options, s = a.elementRect, c = x({ left: 0, top: 0, right: 0, bottom: 0 }, a.offset || {}); - if (e && s) { - var u = ue(a.restriction, i, o); - if (u) { - var l = u.right - u.left - e.width, p = u.bottom - u.top - e.height; - l < 0 && (c.left += l, c.right += l), p < 0 && (c.top += p, c.bottom += p); - } - c.left += n.left - e.width * s.left, c.top += n.top - e.height * s.top, c.right += n.right - e.width * (1 - s.right), c.bottom += n.bottom - e.height * (1 - s.bottom); - } - r.offset = c; - }, set: function(t) { - var e = t.coords, n = t.interaction, r = t.state, i = r.options, o = r.offset, a = ue(i.restriction, n, e); - if (a) { - var s = function(c) { - return !c || "left" in c && "top" in c || ((c = x({}, c)).left = c.x || 0, c.top = c.y || 0, c.right = c.right || c.left + c.width, c.bottom = c.bottom || c.top + c.height), c; - }(a); - e.x = Math.max(Math.min(s.right - o.right, e.x), s.left + o.left), e.y = Math.max(Math.min(s.bottom - o.bottom, e.y), s.top + o.top); - } - }, defaults: { restriction: null, elementRect: null, offset: null, endOnly: !1, enabled: !1 } }, yr = ee(qe, "restrict"), xn = { top: 1 / 0, left: 1 / 0, bottom: -1 / 0, right: -1 / 0 }, wn = { top: -1 / 0, left: -1 / 0, bottom: 1 / 0, right: 1 / 0 }; - function En(t, e) { - for (var n = 0, r = ["top", "left", "bottom", "right"]; n < r.length; n++) { - var i = r[n]; - i in t || (t[i] = e[i]); - } - return t; - } - var Se = { noInner: xn, noOuter: wn, start: function(t) { - var e, n = t.interaction, r = t.startOffset, i = t.state, o = i.options; - o && (e = Ie(ue(o.offset, n, n.coords.start.page))), e = e || { x: 0, y: 0 }, i.offset = { top: e.y + r.top, left: e.x + r.left, bottom: e.y - r.bottom, right: e.x - r.right }; - }, set: function(t) { - var e = t.coords, n = t.edges, r = t.interaction, i = t.state, o = i.offset, a = i.options; - if (n) { - var s = x({}, e), c = ue(a.inner, r, s) || {}, u = ue(a.outer, r, s) || {}; - En(c, xn), En(u, wn), n.top ? e.y = Math.min(Math.max(u.top + o.top, s.y), c.top + o.top) : n.bottom && (e.y = Math.max(Math.min(u.bottom + o.bottom, s.y), c.bottom + o.bottom)), n.left ? e.x = Math.min(Math.max(u.left + o.left, s.x), c.left + o.left) : n.right && (e.x = Math.max(Math.min(u.right + o.right, s.x), c.right + o.right)); - } - }, defaults: { inner: null, outer: null, offset: null, endOnly: !1, enabled: !1 } }, br = ee(Se, "restrictEdges"), xr = x({ get elementRect() { - return { top: 0, left: 0, bottom: 1, right: 1 }; - }, set elementRect(t) { - } }, qe.defaults), wr = ee({ start: qe.start, set: qe.set, defaults: xr }, "restrictRect"), Er = { width: -1 / 0, height: -1 / 0 }, Tr = { width: 1 / 0, height: 1 / 0 }, Sr = ee({ start: function(t) { - return Se.start(t); - }, set: function(t) { - var e = t.interaction, n = t.state, r = t.rect, i = t.edges, o = n.options; - if (i) { - var a = Qe(ue(o.min, e, t.coords)) || Er, s = Qe(ue(o.max, e, t.coords)) || Tr; - n.options = { endOnly: o.endOnly, inner: x({}, Se.noInner), outer: x({}, Se.noOuter) }, i.top ? (n.options.inner.top = r.bottom - a.height, n.options.outer.top = r.bottom - s.height) : i.bottom && (n.options.inner.bottom = r.top + a.height, n.options.outer.bottom = r.top + s.height), i.left ? (n.options.inner.left = r.right - a.width, n.options.outer.left = r.right - s.width) : i.right && (n.options.inner.right = r.left + a.width, n.options.outer.right = r.left + s.width), Se.set(t), n.options = o; - } - }, defaults: { min: null, max: null, endOnly: !1, enabled: !1 } }, "restrictSize"), yt = { start: function(t) { - var e, n = t.interaction, r = t.interactable, i = t.element, o = t.rect, a = t.state, s = t.startOffset, c = a.options, u = c.offsetWithOrigin ? function(f) { - var h = f.interaction.element, v = Ie(he(f.state.options.origin, null, null, [h])), g = v || ge(f.interactable, h, f.interaction.prepared.name); - return g; - }(t) : { x: 0, y: 0 }; - if (c.offset === "startCoords") e = { x: n.coords.start.page.x, y: n.coords.start.page.y }; - else { - var l = he(c.offset, r, i, [n]); - (e = Ie(l) || { x: 0, y: 0 }).x += u.x, e.y += u.y; - } - var p = c.relativePoints; - a.offsets = o && p && p.length ? p.map(function(f, h) { - return { index: h, relativePoint: f, x: s.left - o.width * f.x + e.x, y: s.top - o.height * f.y + e.y }; - }) : [{ index: 0, relativePoint: null, x: e.x, y: e.y }]; - }, set: function(t) { - var e = t.interaction, n = t.coords, r = t.state, i = r.options, o = r.offsets, a = ge(e.interactable, e.element, e.prepared.name), s = x({}, n), c = []; - i.offsetWithOrigin || (s.x -= a.x, s.y -= a.y); - for (var u = 0, l = o; u < l.length; u++) for (var p = l[u], f = s.x - p.x, h = s.y - p.y, v = 0, g = i.targets.length; v < g; v++) { - var y = i.targets[v], m = void 0; - (m = d.func(y) ? y(f, h, e._proxy, p, v) : y) && c.push({ x: (d.number(m.x) ? m.x : f) + p.x, y: (d.number(m.y) ? m.y : h) + p.y, range: d.number(m.range) ? m.range : i.range, source: y, index: v, offset: p }); - } - for (var b = { target: null, inRange: !1, distance: 0, range: 0, delta: { x: 0, y: 0 } }, T = 0; T < c.length; T++) { - var _ = c[T], w = _.range, S = _.x - s.x, X = _.y - s.y, D = me(S, X), Y = D <= w; - w === 1 / 0 && b.inRange && b.range !== 1 / 0 && (Y = !1), b.target && !(Y ? b.inRange && w !== 1 / 0 ? D / w < b.distance / b.range : w === 1 / 0 && b.range !== 1 / 0 || D < b.distance : !b.inRange && D < b.distance) || (b.target = _, b.distance = D, b.range = w, b.inRange = Y, b.delta.x = S, b.delta.y = X); - } - return b.inRange && (n.x = b.target.x, n.y = b.target.y), r.closest = b, b; - }, defaults: { range: 1 / 0, targets: null, offset: null, offsetWithOrigin: !0, origin: null, relativePoints: null, endOnly: !1, enabled: !1 } }, _r = ee(yt, "snap"), Be = { start: function(t) { - var e = t.state, n = t.edges, r = e.options; - if (!n) return null; - t.state = { options: { targets: null, relativePoints: [{ x: n.left ? 0 : 1, y: n.top ? 0 : 1 }], offset: r.offset || "self", origin: { x: 0, y: 0 }, range: r.range } }, e.targetFields = e.targetFields || [["width", "height"], ["x", "y"]], yt.start(t), e.offsets = t.state.offsets, t.state = e; - }, set: function(t) { - var e = t.interaction, n = t.state, r = t.coords, i = n.options, o = n.offsets, a = { x: r.x - o[0].x, y: r.y - o[0].y }; - n.options = x({}, i), n.options.targets = []; - for (var s = 0, c = i.targets || []; s < c.length; s++) { - var u = c[s], l = void 0; - if (l = d.func(u) ? u(a.x, a.y, e) : u) { - for (var p = 0, f = n.targetFields; p < f.length; p++) { - var h = f[p], v = h[0], g = h[1]; - if (v in l || g in l) { - l.x = l[v], l.y = l[g]; - break; - } - } - n.options.targets.push(l); - } - } - var y = yt.set(t); - return n.options = i, y; - }, defaults: { range: 1 / 0, targets: null, offset: null, endOnly: !1, enabled: !1 } }, Pr = ee(Be, "snapSize"), bt = { aspectRatio: mr, restrictEdges: br, restrict: yr, restrictRect: wr, restrictSize: Sr, snapEdges: ee({ start: function(t) { - var e = t.edges; - return e ? (t.state.targetFields = t.state.targetFields || [[e.left ? "left" : "right", e.top ? "top" : "bottom"]], Be.start(t)) : null; - }, set: Be.set, defaults: x(de(Be.defaults), { targets: void 0, range: void 0, offset: { x: 0, y: 0 } }) }, "snapEdges"), snap: _r, snapSize: Pr, spring: Ve, avoid: Ve, transform: Ve, rubberband: Ve }, Or = { id: "modifiers", install: function(t) { - var e = t.interactStatic; - for (var n in t.usePlugin(rn), t.usePlugin(dr), e.modifiers = bt, bt) { - var r = bt[n], i = r._defaults, o = r._methods; - i._methods = o, t.defaults.perAction[n] = i; - } - } }, kr = Or, Tn = function(t) { - j(n, t); - var e = J(n); - function n(r, i, o, a, s, c) { - var u; - if (k(this, n), ze(ie(u = e.call(this, s)), o), o !== i && ze(ie(u), i), u.timeStamp = c, u.originalEvent = o, u.type = r, u.pointerId = ye(i), u.pointerType = Yt(i), u.target = a, u.currentTarget = null, r === "tap") { - var l = s.getPointerIndex(i); - u.dt = u.timeStamp - s.pointers[l].downTime; - var p = u.timeStamp - s.tapTime; - u.double = !!s.prevTap && s.prevTap.type !== "doubletap" && s.prevTap.target === u.target && p < 500; - } else r === "doubletap" && (u.dt = i.timeStamp - s.tapTime, u.double = !0); - return u; - } - return O(n, [{ key: "_subtractOrigin", value: function(r) { - var i = r.x, o = r.y; - return this.pageX -= i, this.pageY -= o, this.clientX -= i, this.clientY -= o, this; - } }, { key: "_addOrigin", value: function(r) { - var i = r.x, o = r.y; - return this.pageX += i, this.pageY += o, this.clientX += i, this.clientY += o, this; - } }, { key: "preventDefault", value: function() { - this.originalEvent.preventDefault(); - } }]), n; - }(Ce), _e = { id: "pointer-events/base", before: ["inertia", "modifiers", "auto-start", "actions"], install: function(t) { - t.pointerEvents = _e, t.defaults.actions.pointerEvents = _e.defaults, x(t.actions.phaselessTypes, _e.types); - }, listeners: { "interactions:new": function(t) { - var e = t.interaction; - e.prevTap = null, e.tapTime = 0; - }, "interactions:update-pointer": function(t) { - var e = t.down, n = t.pointerInfo; - !e && n.hold || (n.hold = { duration: 1 / 0, timeout: null }); - }, "interactions:move": function(t, e) { - var n = t.interaction, r = t.pointer, i = t.event, o = t.eventTarget; - t.duplicate || n.pointerIsDown && !n.pointerWasMoved || (n.pointerIsDown && xt(t), ne({ interaction: n, pointer: r, event: i, eventTarget: o, type: "move" }, e)); - }, "interactions:down": function(t, e) { - (function(n, r) { - for (var i = n.interaction, o = n.pointer, a = n.event, s = n.eventTarget, c = n.pointerIndex, u = i.pointers[c].hold, l = Mt(s), p = { interaction: i, pointer: o, event: a, eventTarget: s, type: "hold", targets: [], path: l, node: null }, f = 0; f < l.length; f++) { - var h = l[f]; - p.node = h, r.fire("pointerEvents:collect-targets", p); - } - if (p.targets.length) { - for (var v = 1 / 0, g = 0, y = p.targets; g < y.length; g++) { - var m = y[g].eventable.options.holdDuration; - m < v && (v = m); - } - u.duration = v, u.timeout = setTimeout(function() { - ne({ interaction: i, eventTarget: s, pointer: o, event: a, type: "hold" }, r); - }, v); - } - })(t, e), ne(t, e); - }, "interactions:up": function(t, e) { - xt(t), ne(t, e), function(n, r) { - var i = n.interaction, o = n.pointer, a = n.event, s = n.eventTarget; - i.pointerWasMoved || ne({ interaction: i, eventTarget: s, pointer: o, event: a, type: "tap" }, r); - }(t, e); - }, "interactions:cancel": function(t, e) { - xt(t), ne(t, e); - } }, PointerEvent: Tn, fire: ne, collectEventTargets: Sn, defaults: { holdDuration: 600, ignoreFrom: null, allowFrom: null, origin: { x: 0, y: 0 } }, types: { down: !0, move: !0, up: !0, cancel: !0, tap: !0, doubletap: !0, hold: !0 } }; - function ne(t, e) { - var n = t.interaction, r = t.pointer, i = t.event, o = t.eventTarget, a = t.type, s = t.targets, c = s === void 0 ? Sn(t, e) : s, u = new Tn(a, r, i, o, n, e.now()); - e.fire("pointerEvents:new", { pointerEvent: u }); - for (var l = { interaction: n, pointer: r, event: i, eventTarget: o, targets: c, type: a, pointerEvent: u }, p = 0; p < c.length; p++) { - var f = c[p]; - for (var h in f.props || {}) u[h] = f.props[h]; - var v = ge(f.eventable, f.node); - if (u._subtractOrigin(v), u.eventable = f.eventable, u.currentTarget = f.node, f.eventable.fire(u), u._addOrigin(v), u.immediatePropagationStopped || u.propagationStopped && p + 1 < c.length && c[p + 1].node !== u.currentTarget) break; - } - if (e.fire("pointerEvents:fired", l), a === "tap") { - var g = u.double ? ne({ interaction: n, pointer: r, event: i, eventTarget: o, type: "doubletap" }, e) : u; - n.prevTap = g, n.tapTime = g.timeStamp; - } - return u; - } - function Sn(t, e) { - var n = t.interaction, r = t.pointer, i = t.event, o = t.eventTarget, a = t.type, s = n.getPointerIndex(r), c = n.pointers[s]; - if (a === "tap" && (n.pointerWasMoved || !c || c.downTarget !== o)) return []; - for (var u = Mt(o), l = { interaction: n, pointer: r, event: i, eventTarget: o, type: a, path: u, targets: [], node: null }, p = 0; p < u.length; p++) { - var f = u[p]; - l.node = f, e.fire("pointerEvents:collect-targets", l); - } - return a === "hold" && (l.targets = l.targets.filter(function(h) { - var v, g; - return h.eventable.options.holdDuration === ((v = n.pointers[s]) == null || (g = v.hold) == null ? void 0 : g.duration); - })), l.targets; - } - function xt(t) { - var e = t.interaction, n = t.pointerIndex, r = e.pointers[n].hold; - r && r.timeout && (clearTimeout(r.timeout), r.timeout = null); - } - var Dr = Object.freeze({ __proto__: null, default: _e }); - function Ir(t) { - var e = t.interaction; - e.holdIntervalHandle && (clearInterval(e.holdIntervalHandle), e.holdIntervalHandle = null); - } - var Mr = { id: "pointer-events/holdRepeat", install: function(t) { - t.usePlugin(_e); - var e = t.pointerEvents; - e.defaults.holdRepeatInterval = 0, e.types.holdrepeat = t.actions.phaselessTypes.holdrepeat = !0; - }, listeners: ["move", "up", "cancel", "endall"].reduce(function(t, e) { - return t["pointerEvents:".concat(e)] = Ir, t; - }, { "pointerEvents:new": function(t) { - var e = t.pointerEvent; - e.type === "hold" && (e.count = (e.count || 0) + 1); - }, "pointerEvents:fired": function(t, e) { - var n = t.interaction, r = t.pointerEvent, i = t.eventTarget, o = t.targets; - if (r.type === "hold" && o.length) { - var a = o[0].eventable.options.holdRepeatInterval; - a <= 0 || (n.holdIntervalHandle = setTimeout(function() { - e.pointerEvents.fire({ interaction: n, eventTarget: i, type: "hold", pointer: r, event: r }, e); - }, a)); - } - } }) }, zr = Mr, Ar = { id: "pointer-events/interactableTargets", install: function(t) { - var e = t.Interactable; - e.prototype.pointerEvents = function(r) { - return x(this.events.options, r), this; - }; - var n = e.prototype._backCompatOption; - e.prototype._backCompatOption = function(r, i) { - var o = n.call(this, r, i); - return o === this && (this.events.options[r] = i), o; - }; - }, listeners: { "pointerEvents:collect-targets": function(t, e) { - var n = t.targets, r = t.node, i = t.type, o = t.eventTarget; - e.interactables.forEachMatch(r, function(a) { - var s = a.events, c = s.options; - s.types[i] && s.types[i].length && a.testIgnoreAllow(c, r, o) && n.push({ node: r, eventable: s, props: { interactable: a } }); - }); - }, "interactable:new": function(t) { - var e = t.interactable; - e.events.getRect = function(n) { - return e.getRect(n); - }; - }, "interactable:set": function(t, e) { - var n = t.interactable, r = t.options; - x(n.events.options, e.pointerEvents.defaults), x(n.events.options, r.pointerEvents || {}); - } } }, Rr = Ar, Cr = { id: "pointer-events", install: function(t) { - t.usePlugin(Dr), t.usePlugin(zr), t.usePlugin(Rr); - } }, jr = Cr, Fr = { id: "reflow", install: function(t) { - var e = t.Interactable; - t.actions.phases.reflow = !0, e.prototype.reflow = function(n) { - return function(r, i, o) { - for (var a = r.getAllElements(), s = o.window.Promise, c = s ? [] : null, u = function() { - var p = a[l], f = r.getRect(p); - if (!f) return 1; - var h, v = xe(o.interactions.list, function(m) { - return m.interacting() && m.interactable === r && m.element === p && m.prepared.name === i.name; - }); - if (v) v.move(), c && (h = v._reflowPromise || new s(function(m) { - v._reflowResolve = m; - })); - else { - var g = Qe(f), y = /* @__PURE__ */ function(m) { - return { coords: m, get page() { - return this.coords.page; - }, get client() { - return this.coords.client; - }, get timeStamp() { - return this.coords.timeStamp; - }, get pageX() { - return this.coords.page.x; - }, get pageY() { - return this.coords.page.y; - }, get clientX() { - return this.coords.client.x; - }, get clientY() { - return this.coords.client.y; - }, get pointerId() { - return this.coords.pointerId; - }, get target() { - return this.coords.target; - }, get type() { - return this.coords.type; - }, get pointerType() { - return this.coords.pointerType; - }, get buttons() { - return this.coords.buttons; - }, preventDefault: function() { - } }; - }({ page: { x: g.x, y: g.y }, client: { x: g.x, y: g.y }, timeStamp: o.now() }); - h = function(m, b, T, _, w) { - var S = m.interactions.new({ pointerType: "reflow" }), X = { interaction: S, event: w, pointer: w, eventTarget: T, phase: "reflow" }; - S.interactable = b, S.element = T, S.prevEvent = w, S.updatePointer(w, w, T, !0), Ct(S.coords.delta), ct(S.prepared, _), S._doPhase(X); - var D = m.window, Y = D.Promise, G = Y ? new Y(function(K) { - S._reflowResolve = K; - }) : void 0; - return S._reflowPromise = G, S.start(_, b, T), S._interacting ? (S.move(X), S.end(w)) : (S.stop(), S._reflowResolve()), S.removePointer(w, w), G; - }(o, r, p, i, y); - } - c && c.push(h); - }, l = 0; l < a.length && !u(); l++) ; - return c && s.all(c).then(function() { - return r; - }); - }(this, n, t); - }; - }, listeners: { "interactions:stop": function(t, e) { - var n = t.interaction; - n.pointerType === "reflow" && (n._reflowResolve && n._reflowResolve(), function(r, i) { - r.splice(r.indexOf(i), 1); - }(e.interactions.list, n)); - } } }, Xr = Fr; - if (F.use(nn), F.use(ln), F.use(jr), F.use(tr), F.use(kr), F.use(Bn), F.use(zn), F.use(Rn), F.use(Xr), F.default = F, M(P) === "object" && P) try { - P.exports = F; - } catch { - } - return F.default = F, F; - }); -})(We, We.exports); -var Vr = We.exports; -const $e = /* @__PURE__ */ Lr(Vr), Br = (P) => { - let R = Oe(null); - const C = Oe({ x: 0, y: 0 }), I = Oe({ width: 0, height: 0 }); - return wt(P, () => { - P.value && (R.value = $e(P.value), C.value = { - x: 0, - y: 0 - }); - }, { immediate: !0, deep: !0 }), wt(() => C.value, (M) => { - var O; - const { x: k, y: W } = M; - ((O = R.value) == null ? void 0 : O.target).style.transform = `translate(${k}px, ${W}px)`; - }, { deep: !0 }), wt(() => I.value, (M) => { - var O, re; - const { width: k, height: W } = M; - ((O = R.value) == null ? void 0 : O.target).style.width = `${k}px`, ((re = R.value) == null ? void 0 : re.target).style.height = `${W}px`; - }, { deep: !0 }), { - interactable: R, - interact: $e, - position: C, - size: I - }; -}, Gr = (P, R = {}) => { - const C = Oe(!1), I = P.position, M = _n({ - get: () => ({ - listeners: { - start: k, - move: W, - end: O - }, - ...R - }), - set: (j) => { - var q; - R = j, (q = P.interactable.value) == null || q.set(j); - } - }), k = (j) => { - C.value = !0; - }, W = (j) => { - I.value = { - x: I.value.x + j.dx, - y: I.value.y + j.dy - }; - }, O = (j) => { - C.value = !1; - }; - return { - init: () => { - if (!P.interactable.value) - throw new Error("Interactable context is not set"); - P.interactable.value.draggable(M.value); - }, - position: I, - draggableOptions: M, - isDragging: C - }; -}, Wr = (P, R) => { - const C = Oe(!1), I = P.position, M = P.size; - let k; - const W = _n({ - get: () => ({ - edges: { left: !0, right: !0, bottom: !0, top: !0 }, - listeners: { - start: O, - move: re, - end: j - }, - ...R - }), - set: (z) => { - R = z, k.set(z); - } - }), O = (z) => { - C.value = !0; - }, re = (z) => { - var oe, ve; - const ie = I.value.x + (((oe = z.deltaRect) == null ? void 0 : oe.left) || 0), J = I.value.y + (((ve = z.deltaRect) == null ? void 0 : ve.top) || 0); - Object.assign(z.target.style, { - width: `${z.rect.width}px`, - height: `${z.rect.height}px`, - transform: `translate(${ie}px, ${J}px)` - }), M.value = { - width: z.rect.width, - height: z.rect.height - }, I.value = { - x: ie, - y: J - }; - }, j = (z) => { - C.value = !1; - }; - return { - init: () => { - if (!P.interactable.value) - throw new Error("Interactable context is not set"); - k = P.interactable.value.resizable(W.value); - }, - resizeData: M, - position: I, - resizableOptions: W, - isResizing: C - }; -}, $r = { - install: (P, R = { - installInject: !0, - installGlobalProperty: !0 - }) => { - if (!P) - throw new Error("VueInteract.install requires an app instance"); - R.installInject && P.provide("interact", $e), R.installGlobalProperty && (P.config.globalProperties.$interact = $e); - } -}; -export { - $r as default, - Gr as useDraggable, - Br as useInteractContext, - Wr as useResizable -}; diff --git a/dist/vue-interact.umd.cjs b/dist/vue-interact.umd.cjs deleted file mode 100644 index ac0d857..0000000 --- a/dist/vue-interact.umd.cjs +++ /dev/null @@ -1 +0,0 @@ -(function($,Y){typeof exports=="object"&&typeof module<"u"?Y(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],Y):($=typeof globalThis<"u"?globalThis:$||self,Y($.VueInteract={},$.Vue))})(this,function($,Y){"use strict";var _n=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Pn(P){return P&&P.__esModule&&Object.prototype.hasOwnProperty.call(P,"default")?P.default:P}var De={exports:{}};De.exports,function(P,R){(function(j,I){P.exports=I()})(_n,function(){function j(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function I(t){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var n,r=B(t);if(e){var i=B(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(o,a){if(a&&(typeof a=="object"||typeof a=="function"))return a;if(a!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ae(o)}(this,n)}}function se(){return se=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(o,a){for(;!Object.prototype.hasOwnProperty.call(o,a)&&(o=B(o))!==null;);return o}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}},se.apply(this,arguments)}function ge(t){var e=function(n,r){if(typeof n!="object"||n===null)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var o=i.call(n,r);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(t,"string");return typeof e=="symbol"?e:e+""}var Et=function(t){return!(!t||!t.Window)&&t instanceof t.Window},Tt=void 0,ce=void 0;function St(t){Tt=t;var e=t.document.createTextNode("");e.ownerDocument!==t.document&&typeof t.wrap=="function"&&t.wrap(e)===e&&(t=t.wrap(t)),ce=t}function U(t){return Et(t)?t:(t.ownerDocument||t).defaultView||ce.window}typeof window<"u"&&window&&St(window);var Me=function(t){return!!t&&M(t)==="object"},_t=function(t){return typeof t=="function"},d={window:function(t){return t===ce||Et(t)},docFrag:function(t){return Me(t)&&t.nodeType===11},object:Me,func:_t,number:function(t){return typeof t=="number"},bool:function(t){return typeof t=="boolean"},string:function(t){return typeof t=="string"},element:function(t){if(!t||M(t)!=="object")return!1;var e=U(t)||ce;return/object|function/.test(typeof Element>"u"?"undefined":M(Element))?t instanceof Element||t instanceof e.Element:t.nodeType===1&&typeof t.nodeName=="string"},plainObject:function(t){return Me(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return Me(t)&&t.length!==void 0&&_t(t.splice)}};function Ue(t){var e=t.interaction;if(e.prepared.name==="drag"){var n=e.prepared.axis;n==="x"?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):n==="y"&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function Pt(t){var e=t.iEvent,n=t.interaction;if(n.prepared.name==="drag"){var r=n.prepared.axis;if(r==="x"||r==="y"){var i=r==="x"?"y":"x";e.page[i]=n.coords.start.page[i],e.client[i]=n.coords.start.client[i],e.delta[i]=0}}}var ze={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=ze.draggable,e.map.drag=ze,e.methodDict.drag="draggable",r.actions.drag=ze.defaults},listeners:{"interactions:before-action-move":Ue,"interactions:action-resume":Ue,"interactions:action-move":Pt,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,i=n.options.drag;if(i&&i.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||r&n.options.drag.mouseButtons))return t.action={name:"drag",axis:i.lockAxis==="start"?i.startAxis:i.lockAxis},!1}},draggable:function(t){return d.object(t)?(this.options.drag.enabled=t.enabled!==!1,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):d.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:Ue,move:Pt,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"},filterEventType:function(t){return t.search("drag")===0}},Ot=ze,L={init:function(t){var e=t;L.document=e.document,L.DocumentFragment=e.DocumentFragment||de,L.SVGElement=e.SVGElement||de,L.SVGSVGElement=e.SVGSVGElement||de,L.SVGElementInstance=e.SVGElementInstance||de,L.Element=e.Element||de,L.HTMLElement=e.HTMLElement||L.Element,L.Event=e.Event,L.Touch=e.Touch||de,L.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function de(){}var A=L,q={init:function(t){var e=A.Element,n=t.navigator||{};q.supportsTouch="ontouchstart"in t||d.func(t.DocumentTouch)&&A.document instanceof t.DocumentTouch,q.supportsPointerEvent=n.pointerEnabled!==!1&&!!A.PointerEvent,q.isIOS=/iP(hone|od|ad)/.test(n.platform),q.isIOS7=/iP(hone|od|ad)/.test(n.platform)&&/OS 7[^\d]/.test(n.appVersion),q.isIe9=/MSIE 9/.test(n.userAgent),q.isOperaMobile=n.appName==="Opera"&&q.supportsTouch&&/Presto/.test(n.userAgent),q.prefixedMatchesSelector="matches"in e.prototype?"matches":"webkitMatchesSelector"in e.prototype?"webkitMatchesSelector":"mozMatchesSelector"in e.prototype?"mozMatchesSelector":"oMatchesSelector"in e.prototype?"oMatchesSelector":"msMatchesSelector",q.pEventTypes=q.supportsPointerEvent?A.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,q.wheelEvent=A.document&&"onmousewheel"in A.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null},G=q;function le(t,e){if(t.contains)return t.contains(e);for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function kt(t,e){for(;d.element(t);){if(ee(t,e))return t;t=H(t)}return null}function H(t){var e=t.parentNode;if(d.docFrag(e)){for(;(e=e.host)&&d.docFrag(e););return e}return e}function ee(t,e){return ce!==Tt&&(e=e.replace(/\/deep\//g," ")),t[G.prefixedMatchesSelector](e)}var He=function(t){return t.parentNode||t.host};function Dt(t,e){for(var n,r=[],i=t;(n=He(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function Ke(t,e,n){for(;d.element(t);){if(ee(t,e))return!0;if((t=H(t))===n)return ee(t,e)}return!1}function It(t){return t.correspondingUseElement||t}function Je(t){var e=t instanceof A.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}function Qe(t){var e,n=Je(t);if(!G.isIOS7&&n){var r={x:(e=(e=U(t))||ce).scrollX||e.document.documentElement.scrollLeft,y:e.scrollY||e.document.documentElement.scrollTop};n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n}function Mt(t){for(var e=[];t;)e.push(t),t=H(t);return e}function zt(t){return!!d.string(t)&&(A.document.querySelector(t),!0)}function x(t,e){for(var n in e)t[n]=e[n];return t}function At(t,e,n){return t==="parent"?H(n):t==="self"?e.getRect(n):kt(n,t)}function me(t,e,n,r){var i=t;return d.string(i)?i=At(i,e,n):d.func(i)&&(i=i.apply(void 0,r)),d.element(i)&&(i=Qe(i)),i}function Ae(t){return t&&{x:"x"in t?t.x:t.left,y:"y"in t?t.y:t.top}}function Ze(t){return!t||"x"in t&&"y"in t||((t=x({},t)).x=t.left||0,t.y=t.top||0,t.width=t.width||(t.right||0)-t.x,t.height=t.height||(t.bottom||0)-t.y),t}function Re(t,e,n){t.left&&(e.left+=n.x),t.right&&(e.right+=n.x),t.top&&(e.top+=n.y),t.bottom&&(e.bottom+=n.y),e.width=e.right-e.left,e.height=e.bottom-e.top}function ye(t,e,n){var r=n&&t.options[n];return Ae(me(r&&r.origin||t.options.origin,t,e,[t&&e]))||{x:0,y:0}}function ue(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(c){return!0},r=arguments.length>3?arguments[3]:void 0;if(r=r||{},d.string(t)&&t.search(" ")!==-1&&(t=Rt(t)),d.array(t))return t.forEach(function(c){return ue(c,e,n,r)}),r;if(d.object(t)&&(e=t,t=""),d.func(e)&&n(t))r[t]=r[t]||[],r[t].push(e);else if(d.array(e))for(var i=0,o=e;i1?Xt(e):e[0];Ft(r,t.page),function(i,o){o=o||{},G.isOperaMobile&&Ct(i)?Fe("screen",i,o):Fe("client",i,o)}(r,t.client),t.timeStamp=n}function et(t){var e=[];return d.array(t)?(e[0]=t[0],e[1]=t[1]):t.type==="touchend"?t.touches.length===1?(e[0]=t.touches[0],e[1]=t.changedTouches[0]):t.touches.length===0&&(e[0]=t.changedTouches[0],e[1]=t.changedTouches[1]):(e[0]=t.touches[0],e[1]=t.touches[1]),e}function Xt(t){for(var e={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n=(parseInt(U(b).getComputedStyle(b).zIndex,10)||0)&&(y=_);else y=_}else y=_}return y}(a);return r.activeDrops[h]||null}function ot(t,e,n){var r=t.dropState,i={enter:null,leave:null,activate:null,deactivate:null,move:null,drop:null};return n.type==="dragstart"&&(i.activate=new he(r,n,"dropactivate"),i.activate.target=null,i.activate.dropzone=null),n.type==="dragend"&&(i.deactivate=new he(r,n,"dropdeactivate"),i.deactivate.target=null,i.deactivate.dropzone=null),r.rejected||(r.cur.element!==r.prev.element&&(r.prev.dropzone&&(i.leave=new he(r,n,"dragleave"),n.dragLeave=i.leave.target=r.prev.element,n.prevDropzone=i.leave.dropzone=r.prev.dropzone),r.cur.dropzone&&(i.enter=new he(r,n,"dragenter"),n.dragEnter=r.cur.element,n.dropzone=r.cur.dropzone)),n.type==="dragend"&&r.cur.dropzone&&(i.drop=new he(r,n,"drop"),n.dropzone=r.cur.dropzone,n.relatedTarget=r.cur.element),n.type==="dragmove"&&r.cur.dropzone&&(i.move=new he(r,n,"dropmove"),n.dropzone=r.cur.dropzone)),i}function at(t,e){var n=t.dropState,r=n.activeDrops,i=n.cur,o=n.prev;e.leave&&o.dropzone.fire(e.leave),e.enter&&i.dropzone.fire(e.enter),e.move&&i.dropzone.fire(e.move),e.drop&&i.dropzone.fire(e.drop),e.deactivate&&Bt(r,e.deactivate),n.prev.dropzone=i.dropzone,n.prev.element=i.element}function Wt(t,e){var n=t.interaction,r=t.iEvent,i=t.event;if(r.type==="dragmove"||r.type==="dragend"){var o=n.dropState;e.dynamicDrop&&(o.activeDrops=it(e,n.element));var a=r,s=Gt(n,a,i);o.rejected=o.rejected&&!!s&&s.dropzone===o.cur.dropzone&&s.element===o.cur.element,o.cur.dropzone=s&&s.dropzone,o.cur.element=s&&s.element,o.events=ot(n,0,a)}}var $t={id:"actions/drop",install:function(t){var e=t.actions,n=t.interactStatic,r=t.Interactable,i=t.defaults;t.usePlugin(Ot),r.prototype.dropzone=function(o){return function(a,s){if(d.object(s)){if(a.options.drop.enabled=s.enabled!==!1,s.listeners){var c=ue(s.listeners),u=Object.keys(c).reduce(function(p,f){return p[/^(enter|leave)/.test(f)?"drag".concat(f):/^(activate|deactivate|move)/.test(f)?"drop".concat(f):f]=c[f],p},{}),l=a.options.drop.listeners;l&&a.off(l),a.on(u),a.options.drop.listeners=u}return d.func(s.ondrop)&&a.on("drop",s.ondrop),d.func(s.ondropactivate)&&a.on("dropactivate",s.ondropactivate),d.func(s.ondropdeactivate)&&a.on("dropdeactivate",s.ondropdeactivate),d.func(s.ondragenter)&&a.on("dragenter",s.ondragenter),d.func(s.ondragleave)&&a.on("dragleave",s.ondragleave),d.func(s.ondropmove)&&a.on("dropmove",s.ondropmove),/^(pointer|center)$/.test(s.overlap)?a.options.drop.overlap=s.overlap:d.number(s.overlap)&&(a.options.drop.overlap=Math.max(Math.min(1,s.overlap),0)),"accept"in s&&(a.options.drop.accept=s.accept),"checker"in s&&(a.options.drop.checker=s.checker),a}return d.bool(s)?(a.options.drop.enabled=s,a):a.options.drop}(this,o)},r.prototype.dropCheck=function(o,a,s,c,u,l){return function(p,f,v,h,g,y,m){var b=!1;if(!(m=m||p.getRect(y)))return!!p.options.drop.checker&&p.options.drop.checker(f,v,b,p,y,h,g);var T=p.options.drop.overlap;if(T==="pointer"){var _=ye(h,g,"drag"),w=Ft(f);w.x+=_.x,w.y+=_.y;var S=w.x>m.left&&w.xm.top&&w.y=m.left&&V<=m.right&&W>=m.top&&W<=m.bottom}return D&&d.number(T)&&(b=Math.max(0,Math.min(m.right,D.right)-Math.max(m.left,D.left))*Math.max(0,Math.min(m.bottom,D.bottom)-Math.max(m.top,D.top))/(D.width*D.height)>=T),p.options.drop.checker&&(b=p.options.drop.checker(f,v,b,p,y,h,g)),b}(this,o,a,s,c,u,l)},n.dynamicDrop=function(o){return d.bool(o)?(t.dynamicDrop=o,n):t.dynamicDrop},x(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,i.actions.drop=$t.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;e.prepared.name==="drag"&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if(n.prepared.name==="drag"){var i=n.dropState;i.activeDrops=[],i.events={},i.activeDrops=it(e,n.element),i.events=ot(n,0,r),i.events.activate&&(Bt(i.activeDrops,i.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":Wt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;if(n.prepared.name==="drag"){var i=n.dropState;at(n,i.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),i.events={}}},"interactions:action-end":function(t,e){if(t.interaction.prepared.name==="drag"){var n=t.interaction,r=t.iEvent;Wt(t,e),at(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r})}},"interactions:stop":function(t){var e=t.interaction;if(e.prepared.name==="drag"){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:it,getDrop:Gt,getDropEvents:ot,fireDropEvents:at,filterEventType:function(t){return t.search("drag")===0||t.search("drop")===0},defaults:{enabled:!1,accept:null,overlap:"pointer"}},Rn=$t;function st(t){var e=t.interaction,n=t.iEvent,r=t.phase;if(e.prepared.name==="gesture"){var i=e.pointers.map(function(u){return u.pointer}),o=r==="start",a=r==="end",s=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],o)n.distance=nt(i,s),n.box=tt(i),n.scale=1,n.ds=0,n.angle=rt(i,s),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(a||e.pointers.length<2){var c=e.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=nt(i,s),n.box=tt(i),n.scale=n.distance/e.gesture.startDistance,n.angle=rt(i,s),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,d.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}var ct={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(i){return d.object(i)?(this.options.gesture.enabled=i.enabled!==!1,this.setPerAction("gesture",i),this.setOnEvents("gesture",i),this):d.bool(i)?(this.options.gesture.enabled=i,this):this.options.gesture},e.map.gesture=ct,e.methodDict.gesture="gesturable",r.actions.gesture=ct.defaults},listeners:{"interactions:action-start":st,"interactions:action-move":st,"interactions:action-end":st,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""},filterEventType:function(t){return t.search("gesture")===0}},jn=ct;function Cn(t,e,n,r,i,o,a){if(!e)return!1;if(e===!0){var s=d.number(o.width)?o.width:o.right-o.left,c=d.number(o.height)?o.height:o.bottom-o.top;if(a=Math.min(a,Math.abs((t==="left"||t==="right"?s:c)/2)),s<0&&(t==="left"?t="right":t==="right"&&(t="left")),c<0&&(t==="top"?t="bottom":t==="bottom"&&(t="top")),t==="left"){var u=s>=0?o.left:o.right;return n.x=0?o.top:o.bottom;return n.y(s>=0?o.right:o.left)-a;if(t==="bottom")return n.y>(c>=0?o.bottom:o.top)-a}return!!d.element(r)&&(d.element(e)?e===r:Ke(r,e,i))}function Nt(t){var e=t.iEvent,n=t.interaction;if(n.prepared.name==="resize"&&n.resizeAxes){var r=e;n.interactable.options.resize.square?(n.resizeAxes==="y"?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,n.resizeAxes==="x"?r.delta.y=0:n.resizeAxes==="y"&&(r.delta.x=0))}}var K,pe,J={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;J.cursors=function(o){return o.isIe9?{x:"e-resize",y:"s-resize",xy:"se-resize",top:"n-resize",left:"w-resize",bottom:"s-resize",right:"e-resize",topleft:"se-resize",bottomright:"se-resize",topright:"ne-resize",bottomleft:"ne-resize"}:{x:"ew-resize",y:"ns-resize",xy:"nwse-resize",top:"ns-resize",left:"ew-resize",bottom:"ns-resize",right:"ew-resize",topleft:"nwse-resize",bottomright:"nwse-resize",topright:"nesw-resize",bottomleft:"nesw-resize"}}(n),J.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(o){return function(a,s,c){return d.object(s)?(a.options.resize.enabled=s.enabled!==!1,a.setPerAction("resize",s),a.setOnEvents("resize",s),d.string(s.axis)&&/^x$|^y$|^xy$/.test(s.axis)?a.options.resize.axis=s.axis:s.axis===null&&(a.options.resize.axis=c.defaults.actions.resize.axis),d.bool(s.preserveAspectRatio)?a.options.resize.preserveAspectRatio=s.preserveAspectRatio:d.bool(s.square)&&(a.options.resize.square=s.square),a):d.bool(s)?(a.options.resize.enabled=s,a):a.options.resize}(this,o,t)},e.map.resize=J,e.methodDict.resize="resizable",i.actions.resize=J.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){(function(e){var n=e.iEvent,r=e.interaction;if(r.prepared.name==="resize"&&r.prepared.edges){var i=n,o=r.rect;r._rects={start:x({},o),corrected:x({},o),previous:x({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},i.edges=r.prepared.edges,i.rect=r._rects.corrected,i.deltaRect=r._rects.delta}})(t),Nt(t)},"interactions:action-move":function(t){(function(e){var n=e.iEvent,r=e.interaction;if(r.prepared.name==="resize"&&r.prepared.edges){var i=n,o=r.interactable.options.resize.invert,a=o==="reposition"||o==="negate",s=r.rect,c=r._rects,u=c.start,l=c.corrected,p=c.delta,f=c.previous;if(x(f,l),a){if(x(l,s),o==="reposition"){if(l.top>l.bottom){var v=l.top;l.top=l.bottom,l.bottom=v}if(l.left>l.right){var h=l.left;l.left=l.right,l.right=h}}}else l.top=Math.min(s.top,u.bottom),l.bottom=Math.max(s.bottom,u.top),l.left=Math.min(s.left,u.right),l.right=Math.max(s.right,u.left);for(var g in l.width=l.right-l.left,l.height=l.bottom-l.top,l)p[g]=l[g]-f[g];i.edges=r.prepared.edges,i.rect=l,i.deltaRect=p}})(t),Nt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if(n.prepared.name==="resize"&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,i=t.rect,o=t.buttons;if(i){var a=x({},e.coords.cur.page),s=n.options.resize;if(s&&s.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||o&s.mouseButtons)){if(d.object(s.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var u in c)c[u]=Cn(u,s.edges[u],a,e._latestPointer.eventTarget,r,i,s.margin||J.defaultMargin);c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,(c.left||c.right||c.top||c.bottom)&&(t.action={name:"resize",edges:c})}else{var l=s.axis!=="y"&&a.x>i.right-J.defaultMargin,p=s.axis!=="x"&&a.y>i.bottom-J.defaultMargin;(l||p)&&(t.action={name:"resize",axes:(l?"x":"")+(p?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,i=J.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a="",s=0,c=["top","bottom","left","right"];s=1){var u={x:E.x*c,y:E.y*c};if(u.x||u.y){var l=Kt(o);d.window(o)?o.scrollBy(u.x,u.y):o&&(o.scrollLeft+=u.x,o.scrollTop+=u.y);var p=Kt(o),f={x:p.x-l.x,y:p.y-l.y};(f.x||f.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:f,interaction:t,container:o})}E.prevTime=a}E.isScrolling&&(te.cancel(E.i),E.i=te.request(E.scroll))},check:function(t,e){var n;return(n=t.options[e].autoScroll)==null?void 0:n.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&E.check(e.interactable,e.prepared.name))if(e.simulation)E.x=E.y=0;else{var r,i,o,a,s=e.interactable,c=e.element,u=e.prepared.name,l=s.options[u].autoScroll,p=Ht(l.container,s,c);if(d.window(p))a=n.clientXp.innerWidth-E.margin,o=n.clientY>p.innerHeight-E.margin;else{var f=Je(p);a=n.clientXf.right-E.margin,o=n.clientY>f.bottom-E.margin}E.x=i?1:a?-1:0,E.y=o?1:r?-1:0,E.isScrolling||(E.margin=l.margin,E.speed=l.speed,E.start(e))}}};function Ht(t,e,n){return(d.string(t)?At(t,e,n):t)||U(n)}function Kt(t){return d.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yn={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=E,E.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=E.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,E.stop(),E.interaction&&(E.interaction=null)},"interactions:stop":E.stop,"interactions:action-move":function(t){return E.onInteractionMove(t)}}},Vn=Yn;function Te(t,e){var n=!1;return function(){return n||(ce.console.warn(e),n=!0),t.apply(this,arguments)}}function lt(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t}function Ln(t){return d.bool(t)?(this.options.styleCursor=t,this):t===null?(delete this.options.styleCursor,this):this.options.styleCursor}function qn(t){return d.func(t)?(this.options.actionChecker=t,this):t===null?(delete this.options.actionChecker,this):this.options.actionChecker}var Bn={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(n,r,i,o){var a=function(s,c,u,l,p){var f=s.getRect(l),v=c.buttons||{0:1,1:4,3:8,4:16}[c.button],h={action:null,interactable:s,interaction:u,element:l,rect:f,buttons:v};return p.fire("auto-start:check",h),h.action}(this,r,i,o,t);return this.options.actionChecker?this.options.actionChecker(n,r,a,this,o,i):a},e.prototype.ignoreFrom=Te(function(n){return this._backCompatOption("ignoreFrom",n)},"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=Te(function(n){return this._backCompatOption("allowFrom",n)},"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=qn,e.prototype.styleCursor=Ln}};function Jt(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Ye(e,n,t,i)?t:null}function Gn(t,e,n,r,i,o,a){for(var s=0,c=r.length;s=s||v.interactable===t&&((u+=h===n.name?1:0)>=o||v.element===e&&(l++,h===n.name&&l>=a))))return!1}return s>0}function en(t,e){return d.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function ut(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function tn(t,e){var n=t.interactable,r=t.element,i=t.prepared;if(t.pointerType==="mouse"&&n&&n.options.styleCursor){var o="";if(i.name){var a=n.options[i.name].cursorChecker;o=d.func(a)?a(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}ut(t.element,o||"",e)}else e.autoStart.cursorElement&&ut(e.autoStart.cursorElement,"",e)}var Wn={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Bn),n.base.actionChecker=null,n.base.styleCursor=!0,x(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(r){return en(r,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Ye,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||Zt(n,Qt(n,r,i,o,e),e)},"interactions:move":function(t,e){(function(n,r){var i=n.interaction,o=n.pointer,a=n.event,s=n.eventTarget;i.pointerType!=="mouse"||i.pointerIsDown||i.interacting()||Zt(i,Qt(i,o,a,s,r),r)})(t,e),function(n,r){var i=n.interaction;if(i.pointerIsDown&&!i.interacting()&&i.pointerWasMoved&&i.prepared.name){r.fire("autoStart:before-start",n);var o=i.interactable,a=i.prepared.name;a&&o&&(o.options[a].manualStart||!Ye(o,i.element,i.prepared,r)?i.stop():(i.start(i.prepared,o,i.element),tn(i,r)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&ut(n.element,"",e)}},maxInteractions:en,withinInteractionLimit:Ye,validateAction:Jt},pt=Wn,$n={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,i=t.dx,o=t.dy;if(n.prepared.name==="drag"){var a=Math.abs(i),s=Math.abs(o),c=n.interactable.options.drag,u=c.startAxis,l=a>s?"x":a0&&(e.autoStartHoldTimer=setTimeout(function(){e.start(e.prepared,e.interactable,e.element)},n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},"autoStart:before-start":function(t){var e=t.interaction;ft(e)>0&&(e.prepared.name=null)}},getHoldDuration:ft},Un=Nn,Hn={id:"auto-start",install:function(t){t.usePlugin(pt),t.usePlugin(Un),t.usePlugin($n)}},Kn=function(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):d.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault};function Jn(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}var nn={id:"core/interactablePreventDefault",install:function(t){var e=t.Interactable;e.prototype.preventDefault=Kn,e.prototype.checkAndPreventDefault=function(n){return function(r,i,o){var a=r.options.preventDefault;if(a!=="never")if(a!=="always"){if(i.events.supportsPassive&&/^touch(start|move)$/.test(o.type)){var s=U(o.target).document,c=i.getDocOptions(s);if(!c||!c.events||c.events.passive!==!1)return}/^(mouse|pointer|touch)*(down|start)/i.test(o.type)||d.element(o.target)&&ee(o.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||o.preventDefault()}else o.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(n){for(var r=0,i=t.interactions.list;r150)return null;var i=180*Math.atan2(r.prevEvent.velocityY,r.prevEvent.velocityX)/Math.PI;i<0&&(i+=360);var o=112.5<=i&&i<247.5,a=202.5<=i&&i<337.5;return{up:a,down:!a&&22.5<=i&&i<157.5,left:o,right:!o&&(292.5<=i||i<67.5),angle:i,speed:r.prevEvent.speed,velocity:{x:r.prevEvent.velocityX,y:r.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}]),n}(Xe);Object.defineProperties(ht.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Zn=O(function t(e,n,r,i,o){k(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o}),er=function(t){return t.interactable="",t.element="",t.prepared="",t.pointerIsDown="",t.pointerWasMoved="",t._proxy="",t}({}),an=function(t){return t.start="",t.move="",t.end="",t.stop="",t.interacting="",t}({}),tr=0,nr=function(){function t(e){var n=this,r=e.pointerType,i=e.scopeFire;k(this,t),this.interactable=null,this.element=null,this.rect=null,this._rects=void 0,this.edges=null,this._scopeFire=void 0,this.prepared={name:null,axis:null,edges:null},this.pointerType=void 0,this.pointers=[],this.downEvent=null,this.downPointer={},this._latestPointer={pointer:null,event:null,eventTarget:null},this.prevEvent=null,this.pointerIsDown=!1,this.pointerWasMoved=!1,this._interacting=!1,this._ending=!1,this._stopped=!0,this._proxy=void 0,this.simulation=null,this.doMove=Te(function(l){this.move(l)},"The interaction.doMove() method has been renamed to interaction.move()"),this.coords={start:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},prev:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},cur:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},delta:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},velocity:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},this._id=tr++,this._scopeFire=i,this.pointerType=r;var o=this;this._proxy={};var a=function(l){Object.defineProperty(n._proxy,l,{get:function(){return o[l]}})};for(var s in er)a(s);var c=function(l){Object.defineProperty(n._proxy,l,{value:function(){return o[l].apply(o,arguments)}})};for(var u in an)c(u);this._scopeFire("interactions:new",{interaction:this})}return O(t,[{key:"pointerMoveTolerance",get:function(){return 1}},{key:"pointerDown",value:function(e,n,r){var i=this.updatePointer(e,n,r,!0),o=this.pointers[i];this._scopeFire("interactions:down",{pointer:e,event:n,eventTarget:r,pointerIndex:i,pointerInfo:o,type:"down",interaction:this})}},{key:"start",value:function(e,n,r){return!(this.interacting()||!this.pointerIsDown||this.pointers.length<(e.name==="gesture"?2:1)||!n.options[e.name].enabled)&&(lt(this.prepared,e),this.interactable=n,this.element=r,this.rect=n.getRect(r),this.edges=this.prepared.edges?x({},this.prepared.edges):{left:!0,right:!0,top:!0,bottom:!0},this._stopped=!1,this._interacting=this._doPhase({interaction:this,event:this.downEvent,phase:"start"})&&!this._stopped,this._interacting)}},{key:"pointerMove",value:function(e,n,r){this.simulation||this.modification&&this.modification.endResult||this.updatePointer(e,n,r,!1);var i,o,a=this.coords.cur.page.x===this.coords.prev.page.x&&this.coords.cur.page.y===this.coords.prev.page.y&&this.coords.cur.client.x===this.coords.prev.client.x&&this.coords.cur.client.y===this.coords.prev.client.y;this.pointerIsDown&&!this.pointerWasMoved&&(i=this.coords.cur.client.x-this.coords.start.client.x,o=this.coords.cur.client.y-this.coords.start.client.y,this.pointerWasMoved=be(i,o)>this.pointerMoveTolerance);var s,c,u,l=this.getPointerIndex(e),p={pointer:e,pointerIndex:l,pointerInfo:this.pointers[l],event:n,type:"move",eventTarget:r,dx:i,dy:o,duplicate:a,interaction:this};a||(s=this.coords.velocity,c=this.coords.delta,u=Math.max(c.timeStamp/1e3,.001),s.page.x=c.page.x/u,s.page.y=c.page.y/u,s.client.x=c.client.x/u,s.client.y=c.client.y/u,s.timeStamp=u),this._scopeFire("interactions:move",p),a||this.simulation||(this.interacting()&&(p.type=null,this.move(p)),this.pointerWasMoved&&Ce(this.coords.prev,this.coords.cur))}},{key:"move",value:function(e){e&&e.event||jt(this.coords.delta),(e=x({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},e||{})).phase="move",this._doPhase(e)}},{key:"pointerUp",value:function(e,n,r,i){var o=this.getPointerIndex(e);o===-1&&(o=this.updatePointer(e,n,r,!1));var a=/cancel$/i.test(n.type)?"cancel":"up";this._scopeFire("interactions:".concat(a),{pointer:e,pointerIndex:o,pointerInfo:this.pointers[o],event:n,eventTarget:r,type:a,curEventTarget:i,interaction:this}),this.simulation||this.end(n),this.removePointer(e,n)}},{key:"documentBlur",value:function(e){this.end(e),this._scopeFire("interactions:blur",{event:e,type:"blur",interaction:this})}},{key:"end",value:function(e){var n;this._ending=!0,e=e||this._latestPointer.event,this.interacting()&&(n=this._doPhase({event:e,interaction:this,phase:"end"})),this._ending=!1,n===!0&&this.stop()}},{key:"currentAction",value:function(){return this._interacting?this.prepared.name:null}},{key:"interacting",value:function(){return this._interacting}},{key:"stop",value:function(){this._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(e){var n=xe(e);return this.pointerType==="mouse"||this.pointerType==="pen"?this.pointers.length-1:we(this.pointers,function(r){return r.id===n})}},{key:"getPointerInfo",value:function(e){return this.pointers[this.getPointerIndex(e)]}},{key:"updatePointer",value:function(e,n,r,i){var o,a,s,c=xe(e),u=this.getPointerIndex(e),l=this.pointers[u];return i=i!==!1&&(i||/(down|start)$/i.test(n.type)),l?l.pointer=e:(l=new Zn(c,e,n,null,null),u=this.pointers.length,this.pointers.push(l)),An(this.coords.cur,this.pointers.map(function(p){return p.pointer}),this._now()),o=this.coords.delta,a=this.coords.prev,s=this.coords.cur,o.page.x=s.page.x-a.page.x,o.page.y=s.page.y-a.page.y,o.client.x=s.client.x-a.client.x,o.client.y=s.client.y-a.client.y,o.timeStamp=s.timeStamp-a.timeStamp,i&&(this.pointerIsDown=!0,l.downTime=this.coords.cur.timeStamp,l.downTarget=r,je(this.downPointer,e),this.interacting()||(Ce(this.coords.start,this.coords.cur),Ce(this.coords.prev,this.coords.cur),this.downEvent=n,this.pointerWasMoved=!1)),this._updateLatestPointer(e,n,r),this._scopeFire("interactions:update-pointer",{pointer:e,event:n,eventTarget:r,down:i,pointerInfo:l,pointerIndex:u,interaction:this}),u}},{key:"removePointer",value:function(e,n){var r=this.getPointerIndex(e);if(r!==-1){var i=this.pointers[r];this._scopeFire("interactions:remove-pointer",{pointer:e,event:n,eventTarget:null,pointerIndex:r,pointerInfo:i,interaction:this}),this.pointers.splice(r,1),this.pointerIsDown=!1}}},{key:"_updateLatestPointer",value:function(e,n,r){this._latestPointer.pointer=e,this._latestPointer.event=n,this._latestPointer.eventTarget=r}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(e,n,r,i){return new ht(this,e,this.prepared.name,n,this.element,r,i)}},{key:"_fireEvent",value:function(e){var n;(n=this.interactable)==null||n.fire(e),(!this.prevEvent||e.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=e)}},{key:"_doPhase",value:function(e){var n=e.event,r=e.phase,i=e.preEnd,o=e.type,a=this.rect;if(a&&r==="move"&&(Re(this.edges,a,this.coords.delta[this.interactable.options.deltaSource]),a.width=a.right-a.left,a.height=a.bottom-a.top),this._scopeFire("interactions:before-action-".concat(r),e)===!1)return!1;var s=e.iEvent=this._createPreparedEvent(n,r,i,o);return this._scopeFire("interactions:action-".concat(r),e),r==="start"&&(this.prevEvent=s),this._fireEvent(s),this._scopeFire("interactions:after-action-".concat(r),e),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();function sn(t){cn(t.interaction)}function cn(t){if(!function(n){return!(!n.offset.pending.x&&!n.offset.pending.y)}(t))return!1;var e=t.offset.pending;return vt(t.coords.cur,e),vt(t.coords.delta,e),Re(t.edges,t.rect,e),e.x=0,e.y=0,!0}function rr(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function vt(t,e){var n=t.page,r=t.client,i=e.x,o=e.y;n.x+=i,n.y+=o,r.x+=i,r.y+=o}an.offsetBy="";var ir={id:"offset",before:["modifiers","pointer-events","actions","inertia"],install:function(t){t.Interaction.prototype.offsetBy=rr},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return function(e){e.pointerIsDown&&(vt(e.coords.cur,e.offset.total),e.offset.pending.x=0,e.offset.pending.y=0)}(t.interaction)},"interactions:before-action-start":sn,"interactions:before-action-move":sn,"interactions:before-action-end":function(t){var e=t.interaction;if(cn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}},ln=ir,or=function(){function t(e){k(this,t),this.active=!1,this.isModified=!1,this.smoothEnd=!1,this.allowResume=!1,this.modification=void 0,this.modifierCount=0,this.modifierArg=void 0,this.startCoords=void 0,this.t0=0,this.v0=0,this.te=0,this.targetOffset=void 0,this.modifiedOffset=void 0,this.currentOffset=void 0,this.lambda_v0=0,this.one_ve_v0=0,this.timeout=void 0,this.interaction=void 0,this.interaction=e}return O(t,[{key:"start",value:function(e){var n=this.interaction,r=qe(n);if(!r||!r.enabled)return!1;var i=n.coords.velocity.client,o=be(i.x,i.y),a=this.modification||(this.modification=new dt(n));if(a.copyFrom(n.modification),this.t0=n._now(),this.allowResume=r.allowResume,this.v0=o,this.currentOffset={x:0,y:0},this.startCoords=n.coords.cur.page,this.modifierArg=a.fillArg({pageCoords:this.startCoords,preEnd:!0,phase:"inertiastart"}),this.t0-n.coords.cur.timeStamp<50&&o>r.minSpeed&&o>r.endSpeed)this.startInertia();else{if(a.result=a.setAll(this.modifierArg),!a.result.changed)return!1;this.startSmoothEnd()}return n.modification.result.rect=null,n.offsetBy(this.targetOffset),n._doPhase({interaction:n,event:e,phase:"inertiastart"}),n.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),n.modification.result.rect=null,this.active=!0,n.simulation=this,!0}},{key:"startInertia",value:function(){var e=this,n=this.interaction.coords.velocity.client,r=qe(this.interaction),i=r.resistance,o=-Math.log(r.endSpeed/this.v0)/i;this.targetOffset={x:(n.x-o)/i,y:(n.y-o)/i},this.te=o,this.lambda_v0=i/this.v0,this.one_ve_v0=1-r.endSpeed/this.v0;var a=this.modification,s=this.modifierArg;s.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},a.result=a.setAll(s),a.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+a.result.delta.x,y:this.targetOffset.y+a.result.delta.y}),this.onNextFrame(function(){return e.inertiaTick()})}},{key:"startSmoothEnd",value:function(){var e=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame(function(){return e.smoothEndTick()})}},{key:"onNextFrame",value:function(e){var n=this;this.timeout=te.request(function(){n.active&&e()})}},{key:"inertiaTick",value:function(){var e,n,r,i,o,a,s,c=this,u=this.interaction,l=qe(u).resistance,p=(u._now()-this.t0)/1e3;if(p=0;g--){var T=m[g];if(T.selector===l&&T.context===p){for(var _=T.listeners,w=_.length-1;w>=0;w--){var S=_[w];if(S.func===v&&Be(S.options,y)){_.splice(w,1),_.length||(m.splice(g,1),s(p,f,c),s(p,f,u,!0)),b=!0;break}}if(b)break}}},delegateListener:c,delegateUseCapture:u,delegatedEvents:r,documents:i,targets:n,supportsOptions:!1,supportsPassive:!1};function a(l,p,f,v){if(l.addEventListener){var h=_e(v),g=Ee(n,function(y){return y.eventTarget===l});g||(g={eventTarget:l,events:{}},n.push(g)),g.events[p]||(g.events[p]=[]),Ee(g.events[p],function(y){return y.func===f&&Be(y.options,h)})||(l.addEventListener(p,f,o.supportsOptions?h:h.capture),g.events[p].push({func:f,options:h}))}}function s(l,p,f,v){if(l.addEventListener&&l.removeEventListener){var h=we(n,function(X){return X.eventTarget===l}),g=n[h];if(g&&g.events)if(p!=="all"){var y=!1,m=g.events[p];if(m){if(f==="all"){for(var b=m.length-1;b>=0;b--){var T=m[b];s(l,p,T.func,T.options)}return}for(var _=_e(v),w=0;w=2)continue;if(!i.interacting()&&e===i.pointerType)return i}return null}};function hn(t,e){return t.pointers.some(function(n){return n.id===e})}var ur=gt,mt=["pointerDown","pointerMove","pointerUp","updatePointer","removePointer","windowBlur"];function vn(t,e){return function(n){var r=e.interactions.list,i=Yt(n),o=Vt(n),a=o[0],s=o[1],c=[];if(/^touch/.test(n.type)){e.prevTouchTime=e.now();for(var u=0,l=n.changedTouches;u=0;r--){var i=e.interactions.list[r];i.interactable===n&&(i.stop(),e.fire("interactions:destroy",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:yt,doOnInteractions:vn,methodNames:mt},fr=pr,re=function(t){return t[t.On=0]="On",t[t.Off=1]="Off",t}(re||{}),dr=function(){function t(e,n,r,i){k(this,t),this.target=void 0,this.options=void 0,this._actions=void 0,this.events=new dn,this._context=void 0,this._win=void 0,this._doc=void 0,this._scopeEvents=void 0,this._actions=n.actions,this.target=e,this._context=n.context||r,this._win=U(zt(e)?this._context:e),this._doc=this._win.document,this._scopeEvents=i,this.set(n)}return O(t,[{key:"_defaults",get:function(){return{base:{},perAction:{},actions:{}}}},{key:"setOnEvents",value:function(e,n){return d.func(n.onstart)&&this.on("".concat(e,"start"),n.onstart),d.func(n.onmove)&&this.on("".concat(e,"move"),n.onmove),d.func(n.onend)&&this.on("".concat(e,"end"),n.onend),d.func(n.oninertiastart)&&this.on("".concat(e,"inertiastart"),n.oninertiastart),this}},{key:"updatePerActionListeners",value:function(e,n,r){var i,o=this,a=(i=this._actions.map[e])==null?void 0:i.filterEventType,s=function(c){return(a==null||a(c))&&Ve(c,o._actions)};(d.array(n)||d.object(n))&&this._onOff(re.Off,e,n,void 0,s),(d.array(r)||d.object(r))&&this._onOff(re.On,e,r,void 0,s)}},{key:"setPerAction",value:function(e,n){var r=this._defaults;for(var i in n){var o=i,a=this.options[e],s=n[o];o==="listeners"&&this.updatePerActionListeners(e,a.listeners,s),d.array(s)?a[o]=qt(s):d.plainObject(s)?(a[o]=x(a[o]||{},ve(s)),d.object(r.perAction[o])&&"enabled"in r.perAction[o]&&(a[o].enabled=s.enabled!==!1)):d.bool(s)&&d.object(r.perAction[o])?a[o].enabled=s:a[o]=s}}},{key:"getRect",value:function(e){return e=e||(d.element(this.target)?this.target:null),d.string(this.target)&&(e=e||this._context.querySelector(this.target)),Qe(e)}},{key:"rectChecker",value:function(e){var n=this;return d.func(e)?(this.getRect=function(r){var i=x({},e.apply(n,r));return"width"in i||(i.width=i.right-i.left,i.height=i.bottom-i.top),i},this):e===null?(delete this.getRect,this):this.getRect}},{key:"_backCompatOption",value:function(e,n){if(zt(n)||d.object(n)){for(var r in this.options[e]=n,this._actions.map)this.options[r][e]=n;return this}return this.options[e]}},{key:"origin",value:function(e){return this._backCompatOption("origin",e)}},{key:"deltaSource",value:function(e){return e==="page"||e==="client"?(this.options.deltaSource=e,this):this.options.deltaSource}},{key:"getAllElements",value:function(){var e=this.target;return d.string(e)?Array.from(this._context.querySelectorAll(e)):d.func(e)&&e.getAllElements?e.getAllElements():d.element(e)?[e]:[]}},{key:"context",value:function(){return this._context}},{key:"inContext",value:function(e){return this._context===e.ownerDocument||le(this._context,e)}},{key:"testIgnoreAllow",value:function(e,n,r){return!this.testIgnore(e.ignoreFrom,n,r)&&this.testAllow(e.allowFrom,n,r)}},{key:"testAllow",value:function(e,n,r){return!e||!!d.element(r)&&(d.string(e)?Ke(r,e,n):!!d.element(e)&&le(e,r))}},{key:"testIgnore",value:function(e,n,r){return!(!e||!d.element(r))&&(d.string(e)?Ke(r,e,n):!!d.element(e)&&le(e,r))}},{key:"fire",value:function(e){return this.events.fire(e),this}},{key:"_onOff",value:function(e,n,r,i,o){d.object(n)&&!d.array(n)&&(i=r,r=null);var a=ue(n,r,o);for(var s in a){s==="wheel"&&(s=G.wheelEvent);for(var c=0,u=a[s];c=0;r--){var i=n[r],o=i.selector,a=i.context,s=i.listeners;o===this.target&&a===this._context&&n.splice(r,1);for(var c=s.length-1;c>=0;c--)this._scopeEvents.removeDelegate(this.target,this._context,e,s[c][0],s[c][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}(),hr=function(){function t(e){var n=this;k(this,t),this.list=[],this.selectorMap={},this.scope=void 0,this.scope=e,e.addListeners({"interactable:unset":function(r){var i=r.interactable,o=i.target,a=d.string(o)?n.selectorMap[o]:o[n.scope.id],s=we(a,function(c){return c===i});a.splice(s,1)}})}return O(t,[{key:"new",value:function(e,n){n=x(n||{},{actions:this.scope.actions});var r=new this.scope.Interactable(e,n,this.scope.document,this.scope.events);return this.scope.addDocument(r._doc),this.list.push(r),d.string(e)?(this.selectorMap[e]||(this.selectorMap[e]=[]),this.selectorMap[e].push(r)):(r.target[this.scope.id]||Object.defineProperty(e,this.scope.id,{value:[],configurable:!0}),e[this.scope.id].push(r)),this.scope.fire("interactable:new",{target:e,options:n,interactable:r,win:this.scope._win}),r}},{key:"getExisting",value:function(e,n){var r=n&&n.context||this.scope.document,i=d.string(e),o=i?this.selectorMap[e]:e[this.scope.id];if(o)return Ee(o,function(a){return a._context===r&&(i||a.inContext(e))})}},{key:"forEachMatch",value:function(e,n){for(var r=0,i=this.list;rMath.abs(u.y),c.coords,c.rect),x(r,c.coords)),c.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function wr(t,e,n){var r=t.startCoords,i=t.edgeSign;e?n.y=r.y+(n.x-r.x)*i.y:n.x=r.x+(n.y-r.y)*i.x}function Er(t,e,n,r){var i=t.startRect,o=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var c=r.width/a;n.y=o.y+(c-i.height)*s.y}else{var u=r.height*a;n.x=o.x+(u-i.width)*s.x}}var Tr=ne(xr,"aspectRatio"),bn=function(){};bn._defaults={};var Ge=bn;function fe(t,e,n){return d.func(t)?me(t,e.interactable,e.element,[n.x,n.y,e]):me(t,e.interactable,e.element)}var We={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,i=t.interaction,o=t.pageCoords,a=r.options,s=a.elementRect,c=x({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=fe(a.restriction,i,o);if(u){var l=u.right-u.left-e.width,p=u.bottom-u.top-e.height;l<0&&(c.left+=l,c.right+=l),p<0&&(c.top+=p,c.bottom+=p)}c.left+=n.left-e.width*s.left,c.top+=n.top-e.height*s.top,c.right+=n.right-e.width*(1-s.right),c.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=c},set:function(t){var e=t.coords,n=t.interaction,r=t.state,i=r.options,o=r.offset,a=fe(i.restriction,n,e);if(a){var s=function(c){return!c||"left"in c&&"top"in c||((c=x({},c)).left=c.x||0,c.top=c.y||0,c.right=c.right||c.left+c.width,c.bottom=c.bottom||c.top+c.height),c}(a);e.x=Math.max(Math.min(s.right-o.right,e.x),s.left+o.left),e.y=Math.max(Math.min(s.bottom-o.bottom,e.y),s.top+o.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}},Sr=ne(We,"restrict"),xn={top:1/0,left:1/0,bottom:-1/0,right:-1/0},wn={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function En(t,e){for(var n=0,r=["top","left","bottom","right"];n{let R=Y.ref(null);const j=Y.ref({x:0,y:0}),I=Y.ref({width:0,height:0});return Y.watch(P,()=>{P.value&&(R.value=Ie(P.value),j.value={x:0,y:0})},{immediate:!0,deep:!0}),Y.watch(()=>j.value,M=>{var O;const{x:k,y:N}=M;((O=R.value)==null?void 0:O.target).style.transform=`translate(${k}px, ${N}px)`},{deep:!0}),Y.watch(()=>I.value,M=>{var O,oe;const{width:k,height:N}=M;((O=R.value)==null?void 0:O.target).style.width=`${k}px`,((oe=R.value)==null?void 0:oe.target).style.height=`${N}px`},{deep:!0}),{interactable:R,interact:Ie,position:j,size:I}},Dn=(P,R={})=>{const j=Y.ref(!1),I=P.position,M=Y.computed({get:()=>({listeners:{start:k,move:N,end:O},...R}),set:C=>{var B;R=C,(B=P.interactable.value)==null||B.set(C)}}),k=C=>{j.value=!0},N=C=>{I.value={x:I.value.x+C.dx,y:I.value.y+C.dy}},O=C=>{j.value=!1};return{init:()=>{if(!P.interactable.value)throw new Error("Interactable context is not set");P.interactable.value.draggable(M.value)},position:I,draggableOptions:M,isDragging:j}},In=(P,R)=>{const j=Y.ref(!1),I=P.position,M=P.size;let k;const N=Y.computed({get:()=>({edges:{left:!0,right:!0,bottom:!0,top:!0},listeners:{start:O,move:oe,end:C},...R}),set:z=>{R=z,k.set(z)}}),O=z=>{j.value=!0},oe=z=>{var se,ge;const ae=I.value.x+(((se=z.deltaRect)==null?void 0:se.left)||0),Z=I.value.y+(((ge=z.deltaRect)==null?void 0:ge.top)||0);Object.assign(z.target.style,{width:`${z.rect.width}px`,height:`${z.rect.height}px`,transform:`translate(${ae}px, ${Z}px)`}),M.value={width:z.rect.width,height:z.rect.height},I.value={x:ae,y:Z}},C=z=>{j.value=!1};return{init:()=>{if(!P.interactable.value)throw new Error("Interactable context is not set");k=P.interactable.value.resizable(N.value)},resizeData:M,position:I,resizableOptions:N,isResizing:j}},Mn={install:(P,R={installInject:!0,installGlobalProperty:!0})=>{if(!P)throw new Error("VueInteract.install requires an app instance");R.installInject&&P.provide("interact",Ie),R.installGlobalProperty&&(P.config.globalProperties.$interact=Ie)}};$.default=Mn,$.useDraggable=Dn,$.useInteractContext=kn,$.useResizable=In,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..d365d09 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,35 @@ +import js from "@eslint/js"; +import globals from "globals"; +import tseslint from "typescript-eslint"; +import pluginVue from "eslint-plugin-vue"; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import { defineConfig } from "eslint/config"; + + +export default defineConfig([ + { files: ["**/*.{js,mjs,cjs,ts,mts,cts,vue}"], languageOptions: { globals: {...globals.browser, ...globals.node } } }, + js.configs.recommended, + ...tseslint.configs.recommended, + ...pluginVue.configs["flat/essential"], + eslintPluginPrettierRecommended, + { + files: ["**/*.ts", "**/*.tsx", "**/*.vue"], + rules: { + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'arrow-parens': 'off', + 'no-param-reassign': 'off', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-unused-vars': 'warn', + }, + }, + { + files: ["**/*.test.ts"], + rules: { + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + }, + }, + { + ignores: ['dist/**', 'coverage/**', 'docs/.vuepress/**', '.husky/**'], + } +]); diff --git a/jest.config.ts b/jest.config.ts index b326cf3..eeac8d4 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -1,4 +1,4 @@ -module.exports = { +export default { verbose: true, clearMocks: true, moduleDirectories: ['node_modules'], @@ -10,4 +10,7 @@ module.exports = { "/node_modules/(?!@foo)" ], testEnvironment: "jsdom", + testMatch: [ + "**/__tests__/**/*.test.ts", + ], }; diff --git a/package.json b/package.json index 1b56eeb..332d52b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vue-interact", "description": "Interact.js wrapper for VueJS", - "version": "2.0.0", + "version": "2.1.0", "author": "Kimura ", "private": false, "main": "dist/vue-interact.umd.cjs", @@ -22,10 +22,10 @@ "docs:dev": "vuepress dev docs", "docs:build": "vuepress build docs", "test": "jest --coverage", - "test:ci": "jest --ci --coverage" + "test:ci": "jest --ci --coverage", + "prepare": "husky" }, "dependencies": { - "docs": "0.3.2-canary.0", "interactjs": "^1.10.27" }, "peerDependencies": { @@ -33,6 +33,10 @@ "vue": "^3" }, "devDependencies": { + "@commitlint/cli": "^19.8.1", + "@commitlint/config-conventional": "^19.8.1", + "@eslint/js": "^9.28.0", + "@eslint/json": "^0.12.0", "@interactjs/types": "^1.10.27", "@tsconfig/recommended": "^1.0.1", "@types/jest": "^29.5.3", @@ -44,25 +48,28 @@ "@vuepress/plugin-register-components": "2.0.0-rc.37", "@vuepress/theme-default": "2.0.0-rc.41", "esbuild": "^0.18.17", - "eslint": "^8.46.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", + "eslint": "^9.28.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-vue": "^10.2.0", + "globals": "^16.2.0", + "husky": "^9.1.7", "jest": "^29.6.2", "jest-environment-jsdom": "^29.6.2", "prettier": "^3.0.1", "ts-jest": "^29.1.1", "ts-node": "^10.9.1", "typescript": "^5.1.6", + "typescript-eslint": "^8.33.1", "vite": "^5.4.1", "vite-plugin-dts": "^4.0.3", "vue": "^3.4.38", - "vue-interact": "link:", "vuepress": "2.0.0-rc.15", "vuepress-theme-reco": "2.0.0-rc.18" }, "engines": { - "node": ">= 14.0.0", - "npm": ">= 3.0.0" + "node": ">= 20.0.0", + "npm": ">= 9.0.0" }, "browserslist": [ "> 1%", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 21145c5..1bd4403 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,13 +8,22 @@ importers: .: dependencies: - docs: - specifier: 0.3.2-canary.0 - version: 0.3.2-canary.0 interactjs: specifier: ^1.10.27 version: 1.10.27 devDependencies: + '@commitlint/cli': + specifier: ^19.8.1 + version: 19.8.1(@types/node@22.4.0)(typescript@5.5.4) + '@commitlint/config-conventional': + specifier: ^19.8.1 + version: 19.8.1 + '@eslint/js': + specifier: ^9.28.0 + version: 9.28.0 + '@eslint/json': + specifier: ^0.12.0 + version: 0.12.0 '@interactjs/types': specifier: ^1.10.27 version: 1.10.27 @@ -26,37 +35,46 @@ importers: version: 29.5.12 '@typescript-eslint/eslint-plugin': specifier: ^5.40.1 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4))(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) '@typescript-eslint/parser': specifier: ^5.40.1 - version: 5.62.0(eslint@8.57.0)(typescript@5.5.4) + version: 5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) '@vitejs/plugin-vue': specifier: ^5.1.2 version: 5.1.2(vite@5.4.1(@types/node@22.4.0)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4)) '@vuepress/bundler-vite': specifier: 2.0.0-rc.15 - version: 2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0) + version: 2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0) '@vuepress/plugin-container': specifier: 2.0.0-rc.28 - version: 2.0.0-rc.28(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + version: 2.0.0-rc.28(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vuepress/plugin-register-components': specifier: 2.0.0-rc.37 - version: 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + version: 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vuepress/theme-default': specifier: 2.0.0-rc.41 - version: 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + version: 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) esbuild: specifier: ^0.18.17 version: 0.18.20 eslint: - specifier: ^8.46.0 - version: 8.57.0 + specifier: ^9.28.0 + version: 9.28.0(jiti@2.4.2) eslint-config-prettier: - specifier: ^9.0.0 - version: 9.1.0(eslint@8.57.0) + specifier: ^9.1.0 + version: 9.1.0(eslint@9.28.0(jiti@2.4.2)) eslint-plugin-prettier: - specifier: ^5.0.0 - version: 5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) + specifier: ^5.2.1 + version: 5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.3.3) + eslint-plugin-vue: + specifier: ^10.2.0 + version: 10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))) + globals: + specifier: ^16.2.0 + version: 16.2.0 + husky: + specifier: ^9.1.7 + version: 9.1.7 jest: specifier: ^29.6.2 version: 29.7.0(@types/node@22.4.0)(ts-node@10.9.2(@types/node@22.4.0)(typescript@5.5.4)) @@ -75,6 +93,9 @@ importers: typescript: specifier: ^5.1.6 version: 5.5.4 + typescript-eslint: + specifier: ^8.33.1 + version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) vite: specifier: ^5.4.1 version: 5.4.1(@types/node@22.4.0)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6) @@ -84,15 +105,12 @@ importers: vue: specifier: ^3.4.38 version: 3.4.38(typescript@5.5.4) - vue-interact: - specifier: 'link:' - version: 'link:' vuepress: specifier: 2.0.0-rc.15 - version: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + version: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) vuepress-theme-reco: specifier: 2.0.0-rc.18 - version: 2.0.0-rc.18(@algolia/client-search@4.24.0)(@types/node@22.4.0)(esbuild@0.18.20)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(search-insights@2.16.3)(stylus@0.54.8)(terser@5.31.6)(ts-node@10.9.2(@types/node@22.4.0)(typescript@5.5.4))(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(yaml@2.5.0) + version: 2.0.0-rc.18(@algolia/client-search@4.24.0)(@types/node@22.4.0)(esbuild@0.18.20)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(search-insights@2.16.3)(stylus@0.54.8)(terser@5.31.6)(ts-node@10.9.2(@types/node@22.4.0)(typescript@5.5.4))(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(yaml@2.5.0) packages: @@ -342,6 +360,75 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@commitlint/cli@19.8.1': + resolution: {integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==} + engines: {node: '>=v18'} + hasBin: true + + '@commitlint/config-conventional@19.8.1': + resolution: {integrity: sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==} + engines: {node: '>=v18'} + + '@commitlint/config-validator@19.8.1': + resolution: {integrity: sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==} + engines: {node: '>=v18'} + + '@commitlint/ensure@19.8.1': + resolution: {integrity: sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==} + engines: {node: '>=v18'} + + '@commitlint/execute-rule@19.8.1': + resolution: {integrity: sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==} + engines: {node: '>=v18'} + + '@commitlint/format@19.8.1': + resolution: {integrity: sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==} + engines: {node: '>=v18'} + + '@commitlint/is-ignored@19.8.1': + resolution: {integrity: sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==} + engines: {node: '>=v18'} + + '@commitlint/lint@19.8.1': + resolution: {integrity: sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==} + engines: {node: '>=v18'} + + '@commitlint/load@19.8.1': + resolution: {integrity: sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==} + engines: {node: '>=v18'} + + '@commitlint/message@19.8.1': + resolution: {integrity: sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==} + engines: {node: '>=v18'} + + '@commitlint/parse@19.8.1': + resolution: {integrity: sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==} + engines: {node: '>=v18'} + + '@commitlint/read@19.8.1': + resolution: {integrity: sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==} + engines: {node: '>=v18'} + + '@commitlint/resolve-extends@19.8.1': + resolution: {integrity: sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==} + engines: {node: '>=v18'} + + '@commitlint/rules@19.8.1': + resolution: {integrity: sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==} + engines: {node: '>=v18'} + + '@commitlint/to-lines@19.8.1': + resolution: {integrity: sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==} + engines: {node: '>=v18'} + + '@commitlint/top-level@19.8.1': + resolution: {integrity: sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==} + engines: {node: '>=v18'} + + '@commitlint/types@19.8.1': + resolution: {integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==} + engines: {node: '>=v18'} + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -645,35 +732,92 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.11.0': resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.20.0': + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.2.2': + resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.12.0': + resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.13.0': + resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.28.0': + resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/json@0.12.0': + resolution: {integrity: sha512-n/7dz8HFStpEe4o5eYk0tdkBdGUS/ZGb0GQCeDWN1ZmRq67HMHK4vC33b0rQlTT6xdZoX935P4vstiWVk5Ying==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.8': + resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.1': + resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@giscus/vue@2.4.0': resolution: {integrity: sha512-QOxKHgsMT91myyQagP2v20YYAei1ByZuc3qcaYxbHx4AwOeyVrybDIuRFwG9YDv6OraC86jYnU4Ixd37ddC/0A==} peerDependencies: vue: '>=3.2.0' - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/momoa@3.3.8': + resolution: {integrity: sha512-/3PZzor2imi/RLLcnHztkwA79txiVvW145Ve2cp5dxRcH5qOUNJPToasqLFHniTfw4B4lT7jGDdBOPXbXYlIMQ==} + engines: {node: '>=18'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@interactjs/types@1.10.27': resolution: {integrity: sha512-BUdv0cvs4H5ODuwft2Xp4eL8Vmi3LcihK42z0Ft/FbVJZoRioBsxH+LlsBdK4tAie7PqlKGy+1oyOncu1nQ6eA==} @@ -1066,6 +1210,9 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/conventional-commits-parser@5.0.1': + resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==} + '@types/cookiejar@2.1.5': resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} @@ -1081,6 +1228,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/express-serve-static-core@4.19.5': resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} @@ -1221,6 +1371,14 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.33.1': + resolution: {integrity: sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.33.1 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@5.62.0': resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1231,10 +1389,33 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.33.1': + resolution: {integrity: sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.33.1': + resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@5.62.0': resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.33.1': + resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.33.1': + resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@5.62.0': resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1245,10 +1426,21 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.33.1': + resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@8.33.1': + resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1258,18 +1450,32 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.33.1': + resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@8.33.1': + resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@typescript-eslint/visitor-keys@8.33.1': + resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vicons/carbon@0.12.0': resolution: {integrity: sha512-kCOgr/ZOhZzoiFLJ8pwxMa2TMxrkCUOA22qExPabus35F4+USqzcsxaPoYtqRd9ROOYiHrSqwapak/ywF0D9bg==} @@ -1639,6 +1845,10 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -1669,6 +1879,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -1781,6 +1996,9 @@ packages: array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -2094,6 +2312,9 @@ packages: resolution: {integrity: sha512-IWlN//Yfby92tOIje7J18HkNmWRR7JESA/BK8W7wqY/akITpU5B0JQWnbTjCfdChSrDNb0DrdA9jfAxiiBXyiQ==} engines: {node: '>=0.10.0'} + compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} @@ -2129,6 +2350,19 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} + + conventional-changelog-conventionalcommits@7.0.2: + resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} + engines: {node: '>=16'} + + conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} + hasBin: true + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -2151,6 +2385,14 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cosmiconfig-typescript-loader@6.1.0: + resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} + engines: {node: '>=v18'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=9' + typescript: '>=5' + cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -2172,6 +2414,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + crypt@0.0.2: resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} @@ -2285,6 +2531,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dargs@8.1.0: + resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} + engines: {node: '>=12'} + data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} @@ -2325,6 +2575,15 @@ packages: supports-color: optional: true + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -2428,14 +2687,6 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} - docs@0.3.2-canary.0: - resolution: {integrity: sha512-jkGIXsVKFcs8SXpqJuIPZJvwAuHqNwlatDSFLhMXLQDqsvQp+IK7JAdbdJvrypJrdXUnWJTntur3s4qfh6JQCQ==} - hasBin: true - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} @@ -2470,6 +2721,10 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -2608,26 +2863,42 @@ packages: eslint-config-prettier: optional: true + eslint-plugin-vue@10.2.0: + resolution: {integrity: sha512-tl9s+KN3z0hN2b8fV2xSs5ytGl7Esk1oSCxULLwFcdaElhZ8btYYZFrWxvh4En+czrSDtuLCeCOGa8HhEZuBdQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + vue-eslint-parser: ^10.0.0 + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.28.0: + resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -2744,9 +3015,9 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -2767,9 +3038,13 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -2874,6 +3149,11 @@ packages: giscus@1.5.0: resolution: {integrity: sha512-t3LL0qbSO3JXq3uyQeKpF5CegstGfKX/0gI6eDe1cmnI7D56R7j52yLdzw4pdKrg3VnufwCgCM3FDz7G1Qr6lg==} + git-raw-commits@4.0.0: + resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} + engines: {node: '>=16'} + hasBin: true + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2893,13 +3173,21 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.2.0: + resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} + engines: {node: '>=18'} globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -3048,6 +3336,11 @@ packages: resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} engines: {node: '>=18.18.0'} + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} + hasBin: true + hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} @@ -3070,6 +3363,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + immutable@4.3.7: resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} @@ -3086,6 +3383,9 @@ packages: engines: {node: '>=8'} hasBin: true + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -3100,6 +3400,10 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + insane@2.6.2: resolution: {integrity: sha512-BqEL1CJsjJi+/C/zKZxv31zs3r6zkLH5Nz1WMFb7UBX2KHY2yXDpbFTSEmNHzomBbGDysIfkTX55A0mQZ2CQiw==} @@ -3178,8 +3482,8 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} is-plain-obj@3.0.0: @@ -3205,6 +3509,10 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} + is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} + is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -3411,6 +3719,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} @@ -3465,6 +3777,10 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -3615,15 +3931,40 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + + lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -3708,6 +4049,10 @@ packages: resolution: {integrity: sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==} engines: {node: '>= 4.0.0'} + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} @@ -3775,6 +4120,9 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} @@ -3923,6 +4271,10 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -3931,6 +4283,10 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-retry@6.2.0: resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==} engines: {node: '>=16.17'} @@ -3980,6 +4336,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -4480,11 +4840,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rimraf@5.0.10: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true @@ -4668,6 +5023,10 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -4850,8 +5209,9 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} + engines: {node: '>=8'} thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} @@ -4866,9 +5226,15 @@ packages: peerDependencies: tslib: ^2 + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -4898,6 +5264,12 @@ packages: peerDependencies: tslib: '2' + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-debounce@4.0.0: resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==} @@ -4962,10 +5334,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -4974,6 +5342,13 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} + typescript-eslint@8.33.1: + resolution: {integrity: sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -5156,6 +5531,12 @@ packages: '@vue/composition-api': optional: true + vue-eslint-parser@10.1.3: + resolution: {integrity: sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + vue-loader@17.4.2: resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} peerDependencies: @@ -5408,6 +5789,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yocto-queue@1.2.1: + resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + engines: {node: '>=12.20'} + yoctocolors@2.1.1: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} @@ -5730,6 +6115,116 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} + '@commitlint/cli@19.8.1(@types/node@22.4.0)(typescript@5.5.4)': + dependencies: + '@commitlint/format': 19.8.1 + '@commitlint/lint': 19.8.1 + '@commitlint/load': 19.8.1(@types/node@22.4.0)(typescript@5.5.4) + '@commitlint/read': 19.8.1 + '@commitlint/types': 19.8.1 + tinyexec: 1.0.1 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - typescript + + '@commitlint/config-conventional@19.8.1': + dependencies: + '@commitlint/types': 19.8.1 + conventional-changelog-conventionalcommits: 7.0.2 + + '@commitlint/config-validator@19.8.1': + dependencies: + '@commitlint/types': 19.8.1 + ajv: 8.17.1 + + '@commitlint/ensure@19.8.1': + dependencies: + '@commitlint/types': 19.8.1 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 + + '@commitlint/execute-rule@19.8.1': {} + + '@commitlint/format@19.8.1': + dependencies: + '@commitlint/types': 19.8.1 + chalk: 5.3.0 + + '@commitlint/is-ignored@19.8.1': + dependencies: + '@commitlint/types': 19.8.1 + semver: 7.6.3 + + '@commitlint/lint@19.8.1': + dependencies: + '@commitlint/is-ignored': 19.8.1 + '@commitlint/parse': 19.8.1 + '@commitlint/rules': 19.8.1 + '@commitlint/types': 19.8.1 + + '@commitlint/load@19.8.1(@types/node@22.4.0)(typescript@5.5.4)': + dependencies: + '@commitlint/config-validator': 19.8.1 + '@commitlint/execute-rule': 19.8.1 + '@commitlint/resolve-extends': 19.8.1 + '@commitlint/types': 19.8.1 + chalk: 5.3.0 + cosmiconfig: 9.0.0(typescript@5.5.4) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.4.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - '@types/node' + - typescript + + '@commitlint/message@19.8.1': {} + + '@commitlint/parse@19.8.1': + dependencies: + '@commitlint/types': 19.8.1 + conventional-changelog-angular: 7.0.0 + conventional-commits-parser: 5.0.0 + + '@commitlint/read@19.8.1': + dependencies: + '@commitlint/top-level': 19.8.1 + '@commitlint/types': 19.8.1 + git-raw-commits: 4.0.0 + minimist: 1.2.8 + tinyexec: 1.0.1 + + '@commitlint/resolve-extends@19.8.1': + dependencies: + '@commitlint/config-validator': 19.8.1 + '@commitlint/types': 19.8.1 + global-directory: 4.0.1 + import-meta-resolve: 4.1.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + + '@commitlint/rules@19.8.1': + dependencies: + '@commitlint/ensure': 19.8.1 + '@commitlint/message': 19.8.1 + '@commitlint/to-lines': 19.8.1 + '@commitlint/types': 19.8.1 + + '@commitlint/to-lines@19.8.1': {} + + '@commitlint/top-level@19.8.1': + dependencies: + find-up: 7.0.0 + + '@commitlint/types@19.8.1': + dependencies: + '@types/conventional-commits-parser': 5.0.1 + chalk: 5.3.0 + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -5893,19 +6388,48 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.28.0(jiti@2.4.2))': dependencies: - eslint: 8.57.0 + eslint: 9.28.0(jiti@2.4.2) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@2.4.2))': + dependencies: + eslint: 9.28.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint/eslintrc@2.1.4': + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.20.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.2.2': {} + + '@eslint/core@0.12.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.13.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 debug: 4.3.6 - espree: 9.6.1 - globals: 13.24.0 + espree: 10.3.0 + globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -5914,24 +6438,46 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.28.0': {} + + '@eslint/json@0.12.0': + dependencies: + '@eslint/core': 0.12.0 + '@eslint/plugin-kit': 0.2.8 + '@humanwhocodes/momoa': 3.3.8 + natural-compare: 1.4.0 + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.2.8': + dependencies: + '@eslint/core': 0.13.0 + levn: 0.4.1 + + '@eslint/plugin-kit@0.3.1': + dependencies: + '@eslint/core': 0.14.0 + levn: 0.4.1 '@giscus/vue@2.4.0(vue@3.4.38(typescript@5.5.4))': dependencies: giscus: 1.5.0 vue: 3.4.38(typescript@5.5.4) - '@humanwhocodes/config-array@0.11.14': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/momoa@3.3.8': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.3': {} '@interactjs/types@1.10.27': {} @@ -6469,6 +7015,10 @@ snapshots: dependencies: '@types/node': 22.4.0 + '@types/conventional-commits-parser@5.0.1': + dependencies: + '@types/node': 22.4.0 + '@types/cookiejar@2.1.5': {} '@types/debug@4.1.12': @@ -6487,6 +7037,8 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.8': {} + '@types/express-serve-static-core@4.19.5': dependencies: '@types/node': 22.4.0 @@ -6634,15 +7186,15 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4))(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/type-utils': 5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + '@typescript-eslint/utils': 5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) debug: 4.3.6 - eslint: 8.57.0 + eslint: 9.28.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare-lite: 1.4.0 @@ -6653,37 +7205,97 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4))(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/type-utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.33.1 + eslint: 9.28.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.5.4) + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4) debug: 4.3.6 - eslint: 8.57.0 + eslint: 9.28.0(jiti@2.4.2) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.33.1 + debug: 4.3.6 + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.33.1(typescript@5.5.4)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.5.4) + '@typescript-eslint/types': 8.33.1 + debug: 4.3.6 + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/scope-manager@8.33.1': + dependencies: + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/visitor-keys': 8.33.1 + + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.5.4)': + dependencies: + typescript: 5.5.4 + + '@typescript-eslint/type-utils@5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/utils': 5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) debug: 4.3.6 - eslint: 8.57.0 + eslint: 9.28.0(jiti@2.4.2) tsutils: 3.21.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.5.4) + '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + debug: 4.3.6 + eslint: 9.28.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.5.4) + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@8.33.1': {} + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 5.62.0 @@ -6698,27 +7310,57 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.33.1(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@typescript-eslint/project-service': 8.33.1(typescript@5.5.4) + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.5.4) + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/visitor-keys': 8.33.1 + debug: 4.3.6 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 2.1.0(typescript@5.5.4) + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@5.62.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.28.0(jiti@2.4.2)) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4) - eslint: 8.57.0 + eslint: 9.28.0(jiti@2.4.2) eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript + '@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.5.4) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} + '@typescript-eslint/visitor-keys@8.33.1': + dependencies: + '@typescript-eslint/types': 8.33.1 + eslint-visitor-keys: 4.2.0 '@vicons/carbon@0.12.0': {} @@ -6830,44 +7472,44 @@ snapshots: '@vue/shared@3.4.38': {} - '@vuepress-reco/shared@2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress-reco/shared@2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) vue: 3.4.38(typescript@5.5.4) vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4)) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript '@vuepress-reco/tailwindcss-config@2.0.0-rc.86': {} - '@vuepress-reco/vuepress-plugin-bulletin-popover@2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress-reco/vuepress-plugin-bulletin-popover@2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@vuepress-reco/tailwindcss-config': 2.0.0-rc.86 - '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) vue: 3.4.38(typescript@5.5.4) vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4)) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress-reco/vuepress-plugin-code-copy@2.0.0-rc.18(vue@3.4.38(typescript@5.5.4))(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress-reco/vuepress-plugin-code-copy@2.0.0-rc.18(vue@3.4.38(typescript@5.5.4))(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4)) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - vue - '@vuepress-reco/vuepress-plugin-comments@2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress-reco/vuepress-plugin-comments@2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@giscus/vue': 2.4.0(vue@3.4.38(typescript@5.5.4)) '@vuepress-reco/tailwindcss-config': 2.0.0-rc.86 - '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@waline/client': 2.15.8(typescript@5.5.4) valine: 1.5.1 vue: 3.4.38(typescript@5.5.4) vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4)) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - bufferutil @@ -6879,32 +7521,32 @@ snapshots: dependencies: markdown-it-task-lists: 2.1.1 - '@vuepress-reco/vuepress-plugin-page@2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress-reco/vuepress-plugin-page@2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress-reco/shared': 2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress-reco/shared': 2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) vue: 3.4.38(typescript@5.5.4) vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4)) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress-reco/vuepress-plugin-vue-preview@2.0.0-rc.86(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress-reco/vuepress-plugin-vue-preview@2.0.0-rc.86(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 '@vue/compiler-sfc': 3.4.38 - '@vuepress/highlighter-helper': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/highlighter-helper': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vuepress/markdown': 2.0.0-rc.14 - '@vuepress/plugin-prismjs': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-prismjs': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) enhanced-resolve: 5.17.1 slash2: 2.0.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - supports-color - '@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0)': + '@vuepress/bundler-vite@2.0.0-rc.14(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0)': dependencies: '@vitejs/plugin-vue': 5.1.2(vite@5.3.5(@types/node@22.4.0)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4)) '@vuepress/client': 2.0.0-rc.14(typescript@5.5.4) @@ -6914,7 +7556,7 @@ snapshots: autoprefixer: 10.4.20(postcss@8.4.41) connect-history-api-fallback: 2.0.0 postcss: 8.4.41 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.41)(yaml@2.5.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.41)(yaml@2.5.0) rollup: 4.20.0 vite: 5.3.5(@types/node@22.4.0)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6) vue: 3.4.38(typescript@5.5.4) @@ -6933,7 +7575,7 @@ snapshots: - typescript - yaml - '@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0)': + '@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0)': dependencies: '@vitejs/plugin-vue': 5.1.2(vite@5.4.1(@types/node@22.4.0)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4)) '@vuepress/client': 2.0.0-rc.15(typescript@5.5.4) @@ -6943,7 +7585,7 @@ snapshots: autoprefixer: 10.4.20(postcss@8.4.41) connect-history-api-fallback: 2.0.0 postcss: 8.4.41 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.41)(yaml@2.5.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.41)(yaml@2.5.0) rollup: 4.20.0 vite: 5.4.1(@types/node@22.4.0)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6) vue: 3.4.38(typescript@5.5.4) @@ -7061,35 +7703,35 @@ snapshots: - supports-color - typescript - '@vuepress/helper@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/helper@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@vue/shared': 3.4.38 cheerio: 1.0.0-rc.12 fflate: 0.8.2 gray-matter: 4.0.3 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/helper@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/helper@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@vue/shared': 3.4.38 cheerio: 1.0.0 fflate: 0.8.2 gray-matter: 4.0.3 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/highlighter-helper@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/highlighter-helper@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/highlighter-helper@2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/highlighter-helper@2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) '@vuepress/markdown@2.0.0-rc.14': dependencies: @@ -7133,71 +7775,71 @@ snapshots: transitivePeerDependencies: - supports-color - '@vuepress/plugin-active-header-links@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-active-header-links@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-active-header-links@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-active-header-links@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-back-to-top@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-back-to-top@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-back-to-top@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-back-to-top@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-container@2.0.0-rc.28(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-container@2.0.0-rc.28(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 markdown-it-container: 4.0.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/plugin-copy-code@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-copy-code@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - typescript - '@vuepress/plugin-docsearch@2.0.0-rc.37(@algolia/client-search@4.24.0)(search-insights@2.16.3)(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-docsearch@2.0.0-rc.37(@algolia/client-search@4.24.0)(search-insights@2.16.3)(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@docsearch/css': 3.6.1 '@docsearch/js': 3.6.1(@algolia/client-search@4.24.0)(search-insights@2.16.3) '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(search-insights@2.16.3) - '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) ts-debounce: 4.0.0 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -7207,129 +7849,129 @@ snapshots: - search-insights - typescript - '@vuepress/plugin-external-link-icon@2.0.0-rc.28(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-external-link-icon@2.0.0-rc.28(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-git@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-git@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: execa: 9.3.1 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/plugin-git@2.0.0-rc.38(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-git@2.0.0-rc.38(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: execa: 9.3.1 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/plugin-links-check@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-links-check@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-markdown-container@2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-markdown-container@2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@types/markdown-it': 14.1.2 markdown-it-container: 4.0.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/plugin-medium-zoom@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-medium-zoom@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) medium-zoom: 1.1.0 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-medium-zoom@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-medium-zoom@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) medium-zoom: 1.1.0 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-nprogress@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-nprogress@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-nprogress@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-nprogress@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-palette@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-palette@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: chokidar: 3.6.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/plugin-prismjs@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-prismjs@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/highlighter-helper': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/highlighter-helper': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) prismjs: 1.29.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/plugin-prismjs@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-prismjs@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/highlighter-helper': 2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/highlighter-helper': 2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) prismjs: 1.29.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-register-components@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-register-components@2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: chokidar: 3.6.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@vuepress/plugin-search@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-search@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: chokidar: 3.6.0 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-seo@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-seo@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-sitemap@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-sitemap@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) sitemap: 8.0.0 - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-theme-data@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-theme-data@2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@vue/devtools-api': 6.6.3 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript - '@vuepress/plugin-theme-data@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + '@vuepress/plugin-theme-data@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': dependencies: '@vue/devtools-api': 6.6.3 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - typescript @@ -7341,26 +7983,26 @@ snapshots: dependencies: '@mdit-vue/types': 2.1.0 - '@vuepress/theme-default@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': - dependencies: - '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-active-header-links': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-back-to-top': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-copy-code': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-git': 2.0.0-rc.38(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-links-check': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-markdown-container': 2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-medium-zoom': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-nprogress': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-palette': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-prismjs': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-seo': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-sitemap': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-theme-data': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/theme-default@2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))': + dependencies: + '@vuepress/helper': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-active-header-links': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-back-to-top': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-copy-code': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-git': 2.0.0-rc.38(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-links-check': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-markdown-container': 2.0.0-rc.41(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-medium-zoom': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-nprogress': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-palette': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-prismjs': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-seo': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-sitemap': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-theme-data': 2.0.0-rc.41(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) sass: 1.77.8 vue: 3.4.38(typescript@5.5.4) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - typescript @@ -7506,6 +8148,11 @@ snapshots: '@xtuc/long@4.2.2': {} + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + abab@2.0.6: {} accepts@1.3.8: @@ -7522,9 +8169,9 @@ snapshots: dependencies: acorn: 8.12.1 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: - acorn: 8.12.1 + acorn: 8.15.0 acorn-walk@8.3.3: dependencies: @@ -7532,6 +8179,8 @@ snapshots: acorn@8.12.1: {} + acorn@8.15.0: {} + agent-base@6.0.2: dependencies: debug: 4.3.6 @@ -7648,6 +8297,8 @@ snapshots: array-flatten@1.1.1: {} + array-ify@1.0.0: {} + array-union@2.1.0: {} asap@2.0.6: {} @@ -7997,6 +8648,11 @@ snapshots: comment-regex@1.0.1: {} + compare-func@2.0.0: + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + compare-versions@6.1.1: {} component-emitter@1.3.1: {} @@ -8031,6 +8687,21 @@ snapshots: content-type@1.0.5: {} + conventional-changelog-angular@7.0.0: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-conventionalcommits@7.0.2: + dependencies: + compare-func: 2.0.0 + + conventional-commits-parser@5.0.0: + dependencies: + JSONStream: 1.3.5 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 + convert-source-map@2.0.0: {} cookie-signature@1.0.6: {} @@ -8051,6 +8722,13 @@ snapshots: core-util-is@1.0.3: {} + cosmiconfig-typescript-loader@6.1.0(@types/node@22.4.0)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4): + dependencies: + '@types/node': 22.4.0 + cosmiconfig: 9.0.0(typescript@5.5.4) + jiti: 2.4.2 + typescript: 5.5.4 + cosmiconfig@9.0.0(typescript@5.5.4): dependencies: env-paths: 2.2.1 @@ -8083,6 +8761,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypt@0.0.2: {} css-declaration-sorter@7.2.0(postcss@8.4.41): @@ -8218,6 +8902,8 @@ snapshots: csstype@3.1.3: {} + dargs@8.1.0: {} + data-urls@3.0.2: dependencies: abab: 2.0.6 @@ -8243,6 +8929,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.4.1: + dependencies: + ms: 2.1.3 + decamelize@1.2.0: {} decimal.js@10.4.3: {} @@ -8312,12 +9002,6 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - docs@0.3.2-canary.0: {} - - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-converter@0.2.0: dependencies: utila: 0.4.0 @@ -8365,6 +9049,10 @@ snapshots: no-case: 3.0.4 tslib: 2.6.3 + dot-prop@5.3.0: + dependencies: + is-obj: 2.0.0 + eastasianwidth@0.2.0: {} ee-first@1.1.1: {} @@ -8498,80 +9186,92 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@9.28.0(jiti@2.4.2)): dependencies: - eslint: 8.57.0 + eslint: 9.28.0(jiti@2.4.2) - eslint-plugin-prettier@5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.3.3): dependencies: - eslint: 8.57.0 + eslint: 9.28.0(jiti@2.4.2) prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: '@types/eslint': 9.6.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-config-prettier: 9.1.0(eslint@9.28.0(jiti@2.4.2)) + + eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + eslint: 9.28.0(jiti@2.4.2) + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.2 + semver: 7.6.3 + vue-eslint-parser: 10.1.3(eslint@9.28.0(jiti@2.4.2)) + xml-name-validator: 4.0.0 eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.2.0: {} + + eslint@9.28.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.20.0 + '@eslint/config-helpers': 0.2.2 + '@eslint/core': 0.14.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.28.0 + '@eslint/plugin-kit': 0.3.1 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 debug: 4.3.6 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.3.0: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.0 esprima@4.0.1: {} @@ -8720,9 +9420,9 @@ snapshots: dependencies: is-unicode-supported: 2.0.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 filelist@1.0.4: dependencies: @@ -8754,11 +9454,16 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flat@5.0.2: {} @@ -8854,6 +9559,12 @@ snapshots: dependencies: lit: 3.2.0 + git-raw-commits@4.0.0: + dependencies: + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -8882,11 +9593,15 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} + + globals@16.2.0: {} globby@11.1.0: dependencies: @@ -9065,6 +9780,8 @@ snapshots: human-signals@8.0.0: {} + husky@9.1.7: {} + hyperdyperid@1.2.0: {} iconv-lite@0.4.24: @@ -9081,6 +9798,8 @@ snapshots: ignore@5.3.2: {} + ignore@7.0.5: {} + immutable@4.3.7: {} import-fresh@3.3.0: @@ -9095,6 +9814,8 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + import-meta-resolve@4.1.0: {} + imurmurhash@0.1.4: {} inflight@1.0.6: @@ -9106,6 +9827,8 @@ snapshots: inherits@2.0.4: {} + ini@4.1.1: {} + insane@2.6.2: dependencies: assignment: 2.0.0 @@ -9161,7 +9884,7 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} + is-obj@2.0.0: {} is-plain-obj@3.0.0: {} @@ -9177,6 +9900,10 @@ snapshots: is-stream@4.0.1: {} + is-text-path@2.0.0: + dependencies: + text-extensions: 2.4.0 + is-unicode-supported@1.3.0: {} is-unicode-supported@2.0.0: {} @@ -9581,6 +10308,8 @@ snapshots: jiti@1.21.6: {} + jiti@2.4.2: {} + jju@1.4.0: {} js-tokens@4.0.0: {} @@ -9651,6 +10380,8 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonparse@1.3.1: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -9812,12 +10543,30 @@ snapshots: dependencies: p-locate: 5.0.0 + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.camelcase@4.3.0: {} + + lodash.isplainobject@4.0.6: {} + + lodash.kebabcase@4.1.1: {} + lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} + lodash.mergewith@4.6.2: {} + + lodash.snakecase@4.1.1: {} + + lodash.startcase@4.4.0: {} + lodash.uniq@4.5.0: {} + lodash.upperfirst@4.3.1: {} + lodash@4.17.21: {} log-symbols@6.0.0: @@ -9900,6 +10649,8 @@ snapshots: tree-dump: 1.0.2(tslib@2.6.3) tslib: 2.6.3 + meow@12.1.1: {} + merge-descriptors@1.0.1: {} merge-stream@2.0.0: {} @@ -9951,6 +10702,8 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimist@1.2.8: {} + minipass@7.1.2: {} miniprogram-api-typings@2.12.0: {} @@ -10089,6 +10842,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-limit@4.0.0: + dependencies: + yocto-queue: 1.2.1 + p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -10097,6 +10854,10 @@ snapshots: dependencies: p-limit: 3.1.0 + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + p-retry@6.2.0: dependencies: '@types/retry': 0.12.2 @@ -10149,6 +10910,8 @@ snapshots: path-exists@4.0.0: {} + path-exists@5.0.0: {} + path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -10257,11 +11020,11 @@ snapshots: postcss: 8.4.41 ts-node: 10.9.2(@types/node@22.4.0)(typescript@5.5.4) - postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.41)(yaml@2.5.0): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.41)(yaml@2.5.0): dependencies: lilconfig: 3.1.2 optionalDependencies: - jiti: 1.21.6 + jiti: 2.4.2 postcss: 8.4.41 yaml: 2.5.0 @@ -10592,10 +11355,6 @@ snapshots: reusify@1.0.4: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rimraf@5.0.10: dependencies: glob: 10.4.5 @@ -10833,6 +11592,8 @@ snapshots: transitivePeerDependencies: - supports-color + split2@4.2.0: {} + sprintf-js@1.0.3: {} stack-utils@2.0.6: @@ -11072,7 +11833,7 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - text-table@0.2.0: {} + text-extensions@2.4.0: {} thenify-all@1.6.0: dependencies: @@ -11086,8 +11847,12 @@ snapshots: dependencies: tslib: 2.6.3 + through@2.3.8: {} + thunky@1.1.0: {} + tinyexec@1.0.1: {} + tmpl@1.0.5: {} to-fast-properties@2.0.0: {} @@ -11113,6 +11878,10 @@ snapshots: dependencies: tslib: 2.6.3 + ts-api-utils@2.1.0(typescript@5.5.4): + dependencies: + typescript: 5.5.4 + ts-debounce@4.0.0: {} ts-interface-checker@0.1.13: {} @@ -11170,8 +11939,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-is@1.6.18: @@ -11179,6 +11946,16 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 + typescript-eslint@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4): + dependencies: + '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4))(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.5.4) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + typescript@5.4.2: {} typescript@5.5.4: {} @@ -11314,6 +12091,19 @@ snapshots: dependencies: vue: 3.4.38(typescript@5.5.4) + vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2)): + dependencies: + debug: 4.4.1 + eslint: 9.28.0(jiti@2.4.2) + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + lodash: 4.17.21 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + vue-loader@17.4.2(vue@3.4.38(typescript@5.5.4))(webpack@5.93.0(esbuild@0.18.20)): dependencies: chalk: 4.1.2 @@ -11345,33 +12135,33 @@ snapshots: optionalDependencies: typescript: 5.5.4 - vuepress-theme-reco@2.0.0-rc.18(@algolia/client-search@4.24.0)(@types/node@22.4.0)(esbuild@0.18.20)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(search-insights@2.16.3)(stylus@0.54.8)(terser@5.31.6)(ts-node@10.9.2(@types/node@22.4.0)(typescript@5.5.4))(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(yaml@2.5.0): + vuepress-theme-reco@2.0.0-rc.18(@algolia/client-search@4.24.0)(@types/node@22.4.0)(esbuild@0.18.20)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(search-insights@2.16.3)(stylus@0.54.8)(terser@5.31.6)(ts-node@10.9.2(@types/node@22.4.0)(typescript@5.5.4))(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(yaml@2.5.0): dependencies: '@vicons/carbon': 0.12.0 - '@vuepress-reco/shared': 2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress-reco/shared': 2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vuepress-reco/tailwindcss-config': 2.0.0-rc.86 - '@vuepress-reco/vuepress-plugin-bulletin-popover': 2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress-reco/vuepress-plugin-code-copy': 2.0.0-rc.18(vue@3.4.38(typescript@5.5.4))(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress-reco/vuepress-plugin-comments': 2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress-reco/vuepress-plugin-bulletin-popover': 2.0.0-rc.86(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress-reco/vuepress-plugin-code-copy': 2.0.0-rc.18(vue@3.4.38(typescript@5.5.4))(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress-reco/vuepress-plugin-comments': 2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) '@vuepress-reco/vuepress-plugin-markdown-task': 2.0.0-rc.86 - '@vuepress-reco/vuepress-plugin-page': 2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress-reco/vuepress-plugin-vue-preview': 2.0.0-rc.86(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/bundler-vite': 2.0.0-rc.14(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0) + '@vuepress-reco/vuepress-plugin-page': 2.0.0-rc.18(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress-reco/vuepress-plugin-vue-preview': 2.0.0-rc.86(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/bundler-vite': 2.0.0-rc.14(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0) '@vuepress/bundler-webpack': 2.0.0-rc.14(esbuild@0.18.20)(typescript@5.5.4) - '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-active-header-links': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-back-to-top': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-container': 2.0.0-rc.28(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-docsearch': 2.0.0-rc.37(@algolia/client-search@4.24.0)(search-insights@2.16.3)(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-external-link-icon': 2.0.0-rc.28(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-git': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-medium-zoom': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-nprogress': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-palette': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-prismjs': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-register-components': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-search': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) - '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/helper': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-active-header-links': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-back-to-top': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-container': 2.0.0-rc.28(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-docsearch': 2.0.0-rc.37(@algolia/client-search@4.24.0)(search-insights@2.16.3)(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-external-link-icon': 2.0.0-rc.28(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-git': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-medium-zoom': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-nprogress': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-palette': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-prismjs': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-register-components': 2.0.0-rc.37(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-search': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + '@vuepress/plugin-theme-data': 2.0.0-rc.37(typescript@5.5.4)(vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) autoprefixer: 10.4.7(postcss@8.4.14) postcss: 8.4.14 postcss-each: 1.1.0(postcss@8.4.14) @@ -11379,7 +12169,7 @@ snapshots: tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@22.4.0)(typescript@5.5.4)) vue: 3.4.38(typescript@5.5.4) vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4)) - vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + vuepress: 2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@algolia/client-search' - '@parcel/css' @@ -11414,7 +12204,7 @@ snapshots: - webpack-cli - yaml - vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)): + vuepress@2.0.0-rc.15(@vuepress/bundler-vite@2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)): dependencies: '@vuepress/cli': 2.0.0-rc.15(typescript@5.5.4) '@vuepress/client': 2.0.0-rc.15(typescript@5.5.4) @@ -11424,7 +12214,7 @@ snapshots: '@vuepress/utils': 2.0.0-rc.15 vue: 3.4.38(typescript@5.5.4) optionalDependencies: - '@vuepress/bundler-vite': 2.0.0-rc.15(@types/node@22.4.0)(jiti@1.21.6)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0) + '@vuepress/bundler-vite': 2.0.0-rc.15(@types/node@22.4.0)(jiti@2.4.2)(lightningcss@1.26.0)(sass@1.77.8)(stylus@0.54.8)(terser@5.31.6)(typescript@5.5.4)(yaml@2.5.0) transitivePeerDependencies: - supports-color - typescript @@ -11658,4 +12448,6 @@ snapshots: yocto-queue@0.1.0: {} + yocto-queue@1.2.1: {} + yoctocolors@2.1.1: {} diff --git a/src/composables/__tests__/useDraggable.test.ts b/src/composables/__tests__/useDraggable.test.ts new file mode 100644 index 0000000..b550e59 --- /dev/null +++ b/src/composables/__tests__/useDraggable.test.ts @@ -0,0 +1,70 @@ +import { ref } from 'vue'; +import useDraggable from '../useDraggable'; +import type { InteractContext } from '../useInteractContext'; + +describe('useDraggable', () => { + let context: InteractContext; + let draggableMock: jest.Mock; + + beforeEach(() => { + draggableMock = jest.fn(); + context = { + interactable: ref({ draggable: draggableMock } as any), + interact: {} as any, + position: ref({ x: 0, y: 0 }), + size: ref({ width: 0, height: 0 }), + }; + }); + + it('init should call draggable on interactable', () => { + const { init } = useDraggable(context); + init(); + expect(draggableMock).toHaveBeenCalledTimes(1); + const options = draggableMock.mock.calls[0][0]; + expect(options.listeners).toBeDefined(); + expect(typeof options.listeners.start).toBe('function'); + expect(typeof options.listeners.move).toBe('function'); + expect(typeof options.listeners.end).toBe('function'); + }); + + it('should handle drag events correctly', () => { + const { init, isDragging, position } = useDraggable(context); + init(); + const options = draggableMock.mock.calls[0][0]; + const event = { dx: 5, dy: 10 } as any; + + options.listeners.start(event); + expect(isDragging.value).toBe(true); + + options.listeners.move(event); + expect(position.value).toEqual({ x: 5, y: 10 }); + + options.listeners.move({ dx: -2, dy: -3 } as any); + expect(position.value).toEqual({ x: 3, y: 7 }); + + options.listeners.end(event); + expect(isDragging.value).toBe(false); + }); + + it('should call interactable.set when draggableOptions are set', () => { + const setMock = jest.fn(); + context.interactable.value = { + draggable: draggableMock, + set: setMock, + } as any; + + const { draggableOptions } = useDraggable(context); + + const newOptions = { enabled: false }; + draggableOptions.value = newOptions; + + expect(setMock).toHaveBeenCalledTimes(1); + expect(setMock).toHaveBeenCalledWith(newOptions); + }); + + it('init throws when context.interactable.value is null', () => { + context.interactable.value = null; + const { init } = useDraggable(context); + expect(() => init()).toThrow('Interactable context is not set'); + }); +}); diff --git a/src/composables/__tests__/useInteractContext.test.ts b/src/composables/__tests__/useInteractContext.test.ts new file mode 100644 index 0000000..12da09a --- /dev/null +++ b/src/composables/__tests__/useInteractContext.test.ts @@ -0,0 +1,113 @@ +import { ref, nextTick } from 'vue'; +import useInteractContext from '../useInteractContext'; +import interact from 'interactjs'; + +jest.mock('interactjs', () => { + const mockInteractable = { + draggable: jest.fn().mockReturnThis(), + resizable: jest.fn().mockReturnThis(), + gesturable: jest.fn().mockReturnThis(), + dropzone: jest.fn().mockReturnThis(), + pointerEvents: jest.fn().mockReturnThis(), + on: jest.fn().mockReturnThis(), + off: jest.fn().mockReturnThis(), + set: jest.fn().mockReturnThis(), + unset: jest.fn().mockReturnThis(), + styleCursor: jest.fn().mockReturnThis(), + target: document.createElement('div'), + }; + const mockInteract = jest.fn(() => mockInteractable); + // @ts-ignore + mockInteract.mockInteractable = mockInteractable; + return mockInteract; +}); + +describe('useInteractContext', () => { + let elRef: any; + const mockInteractable = (interact as any).mockInteractable; + + beforeEach(() => { + (interact as unknown as jest.Mock).mockClear(); + Object.values(mockInteractable).forEach((mockFn) => { + if (jest.isMockFunction(mockFn)) { + mockFn.mockClear(); + } + }); + mockInteractable.target = document.createElement('div'); + elRef = ref(null); + }); + + it('should initialize with default values', () => { + const { interactable, position, size } = useInteractContext(elRef); + expect(interactable.value).toBeNull(); + expect(position.value).toEqual({ x: 0, y: 0 }); + expect(size.value).toEqual({ width: 0, height: 0 }); + }); + + it('should create interactable when elRef is set', async () => { + const { interactable } = useInteractContext(elRef); + const div = document.createElement('div'); + elRef.value = div; + await nextTick(); + expect(interact).toHaveBeenCalledWith(div); + expect(interactable.value).toStrictEqual(mockInteractable); + }); + + it('should reset position when elRef changes', async () => { + const { position } = useInteractContext(elRef); + position.value = { x: 10, y: 20 }; + const div = document.createElement('div'); + elRef.value = div; + await nextTick(); + expect(position.value).toEqual({ x: 0, y: 0 }); + }); + + it('should update element style when position changes', async () => { + const { interactable, position } = useInteractContext(elRef); + const div = document.createElement('div'); + elRef.value = div; + await nextTick(); + + position.value = { x: 100, y: 200 }; + await nextTick(); + expect( + (interactable.value?.target as HTMLElement).style.transform, + ).toBe('translate(100px, 200px)'); + }); + + it('should update element style when size changes', async () => { + const { interactable, size } = useInteractContext(elRef); + const div = document.createElement('div'); + elRef.value = div; + await nextTick(); + + size.value = { width: 300, height: 400 }; + await nextTick(); + expect((interactable.value?.target as HTMLElement).style.width).toBe( + '300px', + ); + expect((interactable.value?.target as HTMLElement).style.height).toBe( + '400px', + ); + }); + + it('should not create interactable if elRef is initially null and remains null', () => { + const { interactable } = useInteractContext(elRef); + expect(interact).not.toHaveBeenCalled(); + expect(interactable.value).toBeNull(); + }); + + it('should handle elRef becoming null after being set (cleanup or component unmount scenario)', async () => { + const { interactable } = useInteractContext(elRef); + const div = document.createElement('div'); + elRef.value = div; + await nextTick(); + expect(interactable.value).not.toBeNull(); + + elRef.value = null; + await nextTick(); + (interact as unknown as jest.Mock).mockClear(); + await nextTick(); + expect(interact).not.toHaveBeenCalled(); + }); +}); diff --git a/src/composables/__tests__/useResizable.test.ts b/src/composables/__tests__/useResizable.test.ts new file mode 100644 index 0000000..27df65a --- /dev/null +++ b/src/composables/__tests__/useResizable.test.ts @@ -0,0 +1,151 @@ +import { ref } from 'vue'; +import useResizable from '../useResizable'; +import type { InteractContext } from '../useInteractContext'; +import type { ResizableOptions } from '@interactjs/actions/resize/plugin'; + +describe('useResizable', () => { + let context: InteractContext; + let resizableMock: jest.Mock; + let setMock: jest.Mock; + + beforeEach(() => { + resizableMock = jest.fn(); + setMock = jest.fn(); + context = { + interactable: ref({ + resizable: resizableMock, + set: setMock, + target: document.createElement('div'), + } as any), + interact: {} as any, + position: ref({ x: 0, y: 0 }), + size: ref({ width: 100, height: 100 }), + }; + }); + + it('init should call resizable on interactable with default edges', () => { + const { init } = useResizable(context, {}); + init(); + expect(resizableMock).toHaveBeenCalledTimes(1); + const options = resizableMock.mock.calls[0][0]; + expect(options.listeners).toBeDefined(); + expect(typeof options.listeners.start).toBe('function'); + expect(typeof options.listeners.move).toBe('function'); + expect(typeof options.listeners.end).toBe('function'); + expect(options.edges).toEqual({ + left: true, + right: true, + bottom: true, + top: true, + }); + }); + + it('init should call resizable on interactable with provided options', () => { + const customOptions: ResizableOptions = { + edges: { left: false, right: true, bottom: false, top: true }, + inertia: { enabled: true }, + }; + const { init } = useResizable(context, customOptions); + init(); + expect(resizableMock).toHaveBeenCalledTimes(1); + const options = resizableMock.mock.calls[0][0]; + expect(options.edges).toEqual(customOptions.edges); + expect(options.inertia).toEqual({ enabled: true }); + expect(options.listeners).toBeDefined(); + }); + + it('should handle resize events correctly', () => { + const { init, isResizing, position, resizeData } = useResizable( + context, + {}, + ); + init(); + const options = resizableMock.mock.calls[0][0]; + const startEvent = { + target: context.interactable.value?.target, + } as any; + const moveEvent = { + rect: { width: 150, height: 120 }, + deltaRect: { left: 5, top: 10, right: 0, bottom: 0 }, + target: context.interactable.value?.target, + } as any; + + options.listeners.start(startEvent); + expect(isResizing.value).toBe(true); + + options.listeners.move(moveEvent); + expect(position.value).toEqual({ x: 5, y: 10 }); + expect(resizeData.value).toEqual({ width: 150, height: 120 }); + const style = (context.interactable.value?.target as HTMLElement).style; + expect(style.width).toBe('150px'); + expect(style.height).toBe('120px'); + expect(style.transform).toBe('translate(5px, 10px)'); + + options.listeners.end(moveEvent); + expect(isResizing.value).toBe(false); + }); + + it('should handle resize move when event.deltaRect is undefined', () => { + const { init, position } = useResizable(context, {}); + init(); + const options = resizableMock.mock.calls[0][0]; + const moveEvent = { + rect: { width: 150, height: 120 }, + deltaRect: undefined, + target: context.interactable.value?.target, + } as any; + + options.listeners.move(moveEvent); + expect(position.value).toEqual({ x: 0, y: 0 }); + }); + + it('should handle resize move when event.deltaRect.left is undefined', () => { + const { init, position } = useResizable(context, {}); + init(); + const options = resizableMock.mock.calls[0][0]; + const moveEvent = { + rect: { width: 150, height: 120 }, + deltaRect: { top: 10, right: 0, bottom: 0 }, + target: context.interactable.value?.target, + } as any; + + options.listeners.move(moveEvent); + expect(position.value).toEqual({ x: 0, y: 10 }); + }); + + it('should handle resize move when event.deltaRect.top is undefined', () => { + const { init, position } = useResizable(context, {}); + init(); + const options = resizableMock.mock.calls[0][0]; + const moveEvent = { + rect: { width: 150, height: 120 }, + deltaRect: { left: 5, right: 0, bottom: 0 }, + target: context.interactable.value?.target, + } as any; + + options.listeners.move(moveEvent); + expect(position.value).toEqual({ x: 5, y: 0 }); + }); + + it('should call interactable.set when resizableOptions are set', () => { + const { init, resizableOptions } = useResizable(context, {}); + const mockResizableInstance = { set: setMock }; + resizableMock.mockReturnValue(mockResizableInstance); + + init(); + + const newOptions = { enabled: false, edges: { top: false } }; + resizableOptions.value = newOptions; + + expect(setMock).toHaveBeenCalledTimes(1); + expect(setMock).toHaveBeenCalledWith( + expect.objectContaining(newOptions), + ); + }); + + it('init throws when context.interactable.value is null', () => { + context.interactable.value = null; + const { init } = useResizable(context, {}); + expect(() => init()).toThrow('Interactable context is not set'); + }); +}); diff --git a/src/composables/useDraggable.ts b/src/composables/useDraggable.ts index 0f590b0..e95918b 100644 --- a/src/composables/useDraggable.ts +++ b/src/composables/useDraggable.ts @@ -1,62 +1,64 @@ -import interact from "interactjs"; -import Interact from "@interactjs/types/index"; +import interact from 'interactjs'; +import Interact from '@interactjs/types/index'; -import { computed, ref, watch, onMounted } from "vue"; +import { computed, ref, watch, onMounted } from 'vue'; import { DraggableOptions } from '@interactjs/actions/drag/plugin'; -import type { InteractContext } from "./useInteractContext"; +import type { InteractContext } from './useInteractContext'; export interface IPosition { - x: number; - y: number; + x: number; + y: number; } -const useDraggable = (context: InteractContext, interactOptions: DraggableOptions = {}) => { - const isDragging = ref(false); - const position = context.position; - - const draggableOptions = computed({ - get: () => ({ - listeners: { - start: onDragStart, - move: onDragMove, - end: onDragEnd, - }, - ...interactOptions, - }), - set: (value) => { - interactOptions = value; - context.interactable.value?.set(value); - } - }); - - const onDragStart = (event: Interact.DragEvent) => { - isDragging.value = true; - } - - const onDragMove = (event: Interact.DragEvent) => { - position.value = { - x: position.value.x + event.dx, - y: position.value.y + event.dy, +const useDraggable = ( + context: InteractContext, + interactOptions: DraggableOptions = {}, +) => { + const isDragging = ref(false); + const position = context.position; + + const draggableOptions = computed({ + get: () => ({ + listeners: { + start: onDragStart, + move: onDragMove, + end: onDragEnd, + }, + ...interactOptions, + }), + set: (value) => { + interactOptions = value; + (context.interactable.value as Interact.Interactable).set(value); + }, + }); + + const onDragStart = (event: Interact.DragEvent) => { + isDragging.value = true; }; - }; - - const onDragEnd = (event: Interact.DragEvent) => { - isDragging.value = false; - }; - - const init = () => { - if (!context.interactable.value) { - throw new Error('Interactable context is not set'); - } - context.interactable.value.draggable(draggableOptions.value); - }; - - - return { - init, - position, - draggableOptions, - isDragging, - }; -} + + const onDragMove = (event: Interact.DragEvent) => { + position.value = { + x: position.value.x + event.dx, + y: position.value.y + event.dy, + }; + }; + + const onDragEnd = (event: Interact.DragEvent) => { + isDragging.value = false; + }; + + const init = () => { + if (!context.interactable.value) { + throw new Error('Interactable context is not set'); + } + context.interactable.value.draggable(draggableOptions.value); + }; + + return { + init, + position, + draggableOptions, + isDragging, + }; +}; export default useDraggable; diff --git a/src/composables/useInteractContext.ts b/src/composables/useInteractContext.ts index ee76253..a84554a 100644 --- a/src/composables/useInteractContext.ts +++ b/src/composables/useInteractContext.ts @@ -1,60 +1,77 @@ -import type { Interactable } from "@interactjs/types"; -import interact from "interactjs"; -import { Ref, watch, ref } from "vue"; +import type { Interactable } from '@interactjs/types'; +import interact from 'interactjs'; +import { Ref, watch, ref } from 'vue'; export interface IPosition { - x: number; - y: number; + x: number; + y: number; } export interface ISizeData { - width: number; - height: number; + width: number; + height: number; } - export interface InteractContext { - interactable: Ref; - interact: typeof interact; + interactable: Ref; + interact: typeof interact; - position: Ref; - size: Ref; + position: Ref; + size: Ref; } const useInteractContext = (elRef: Ref) => { - let interactable = ref(null); - const position = ref({ x: 0, y: 0 }); - const size = ref({ width: 0, height: 0 }); - - - watch(elRef, () => { - if (!elRef.value) { - return; - } - interactable.value = interact(elRef.value); - position.value = { - x: 0, - y: 0, - }; - }, { immediate: true, deep: true }); - - watch(() => position.value, (newPosition) => { - const { x, y } = newPosition; - (interactable.value?.target as HTMLElement).style.transform = `translate(${x}px, ${y}px)`; - }, { deep: true }); - - watch(() => size.value, (newSizeData) => { - const { width, height } = newSizeData; - (interactable.value?.target as HTMLElement).style.width = `${width}px`; - (interactable.value?.target as HTMLElement).style.height = `${height}px`; - }, { deep: true }); - - return { - interactable, - interact, - position, - size, - } as InteractContext; + const interactable = ref(null); + const position = ref({ x: 0, y: 0 }); + const size = ref({ width: 0, height: 0 }); + + watch( + elRef, + () => { + if (!elRef.value) { + return; + } + interactable.value = interact(elRef.value); + position.value = { + x: 0, + y: 0, + }; + }, + { immediate: true, deep: true }, + ); + + watch( + () => position.value, + (newPosition) => { + const { x, y } = newPosition; + if (interactable.value && interactable.value.target) { + (interactable.value.target as HTMLElement).style.transform = + `translate(${x}px, ${y}px)`; + } + }, + { deep: true }, + ); + + watch( + () => size.value, + (newSizeData) => { + const { width, height } = newSizeData; + if (interactable.value && interactable.value.target) { + (interactable.value.target as HTMLElement).style.width = + `${width}px`; + (interactable.value.target as HTMLElement).style.height = + `${height}px`; + } + }, + { deep: true }, + ); + + return { + interactable, + interact, + position, + size, + } as InteractContext; }; export default useInteractContext; diff --git a/src/composables/useResizable.ts b/src/composables/useResizable.ts index f76d0a5..31dc724 100644 --- a/src/composables/useResizable.ts +++ b/src/composables/useResizable.ts @@ -1,73 +1,76 @@ -import interact from "interactjs"; -import Interact from "@interactjs/types/index"; +import Interact from '@interactjs/types/index'; -import { computed, onMounted, ref } from "vue"; +import { computed, ref } from 'vue'; import { ResizableOptions } from '@interactjs/actions/resize/plugin'; -import { InteractContext } from "./useInteractContext"; +import { InteractContext } from './useInteractContext'; -const useResizable = (context: InteractContext, interactOptions: ResizableOptions) => { - const isResizing = ref(false); - const position = context.position; - const resizeData = context.size; - let resizable: Interact.Interactable; - const resizableOptions = computed({ - get: () => ({ - edges: { left: true, right: true, bottom: true, top: true }, - listeners: { - start: onResizeStart, - move: onResizeMove, - end: onResizeEnd, - }, - ...interactOptions, - }), - set: (value) => { - interactOptions = value; - resizable.set(value); - } - }); +const useResizable = ( + context: InteractContext, + interactOptions: ResizableOptions, +) => { + const isResizing = ref(false); + const position = context.position; + const resizeData = context.size; + let resizable: Interact.Interactable; + const resizableOptions = computed({ + get: () => ({ + edges: { left: true, right: true, bottom: true, top: true }, + listeners: { + start: onResizeStart, + move: onResizeMove, + end: onResizeEnd, + }, + ...interactOptions, + }), + set: (value) => { + interactOptions = value; + resizable.set(value); + }, + }); - const onResizeStart = (event: Interact.ResizeEvent) => { - isResizing.value = true; - }; + const onResizeStart = (event: Interact.ResizeEvent) => { + isResizing.value = true; + }; - const onResizeMove = (event: Interact.ResizeEvent) => { - const x = position.value.x + (event.deltaRect?.left || 0); - const y = position.value.y + (event.deltaRect?.top || 0); + const onResizeMove = (event: Interact.ResizeEvent) => { + const x = position.value.x + (event.deltaRect?.left || 0); + const y = position.value.y + (event.deltaRect?.top || 0); - Object.assign(event.target.style, { - width: `${event.rect.width}px`, - height: `${event.rect.height}px`, - transform: `translate(${x}px, ${y}px)`, - }); - resizeData.value = { - width: event.rect.width, - height: event.rect.height, - }; - position.value = { - x, - y, + Object.assign(event.target.style, { + width: `${event.rect.width}px`, + height: `${event.rect.height}px`, + transform: `translate(${x}px, ${y}px)`, + }); + resizeData.value = { + width: event.rect.width, + height: event.rect.height, + }; + position.value = { + x, + y, + }; }; - }; - const onResizeEnd = (event: Interact.ResizeEvent) => { - isResizing.value = false; - }; - - const init = () => { - if (!context.interactable.value) { - throw new Error('Interactable context is not set'); - } - resizable = context.interactable.value.resizable(resizableOptions.value); - }; + const onResizeEnd = (event: Interact.ResizeEvent) => { + isResizing.value = false; + }; + const init = () => { + if (!context.interactable.value) { + throw new Error('Interactable context is not set'); + } + resizable = context.interactable.value.resizable( + resizableOptions.value, + ); + }; - return { - init, - resizeData, - position, - resizableOptions, - isResizing, - }; -} + return { + init, + resizeData, + position, + resizableOptions, + isResizing, + }; +}; export default useResizable; diff --git a/src/index.ts b/src/index.ts index 9ba84a5..ca91007 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,26 +5,29 @@ import useDraggable from './composables/useDraggable'; import useResizable from './composables/useResizable'; export interface IVueInteractOptions { - installInject?: boolean; - installGlobalProperty?: boolean; + installInject?: boolean; + installGlobalProperty?: boolean; } const VueInteract: Plugin = { - install: (app: App, options: IVueInteractOptions = { - installInject: true, - installGlobalProperty: true, - }) => { - if (!app) { - throw new Error('VueInteract.install requires an app instance'); - } - if (options.installInject) { - app.provide('interact', interact); - } + install: ( + app: App, + options: IVueInteractOptions = { + installInject: true, + installGlobalProperty: true, + }, + ) => { + if (!app) { + throw new Error('VueInteract.install requires an app instance'); + } + if (options.installInject) { + app.provide('interact', interact); + } - if (options.installGlobalProperty) { - app.config.globalProperties.$interact = interact; - } - }, + if (options.installGlobalProperty) { + app.config.globalProperties.$interact = interact; + } + }, }; export { useInteractContext, useDraggable, useResizable }; diff --git a/src/types/vue-interact.d.ts b/src/types/vue-interact.d.ts index bbd0ed8..ed655b1 100644 --- a/src/types/vue-interact.d.ts +++ b/src/types/vue-interact.d.ts @@ -1,12 +1,12 @@ declare module '@vue-interact/types' { - import type { DirectiveBinding } from 'vue'; - export interface DragDirectiveBinding extends DirectiveBinding { - value: { - listeners?: { - start?(event: InteractEvent): void; - move?(event: InteractEvent): void; - end?(event: InteractEvent): void; - }; + import type { DirectiveBinding } from 'vue'; + export interface DragDirectiveBinding extends DirectiveBinding { + value: { + listeners?: { + start?(event: InteractEvent): void; + move?(event: InteractEvent): void; + end?(event: InteractEvent): void; + }; + }; } - } } diff --git a/src/types/vue.d.ts b/src/types/vue.d.ts index 3b8c73a..a10a5c2 100644 --- a/src/types/vue.d.ts +++ b/src/types/vue.d.ts @@ -1,8 +1,7 @@ import Interact from '@interactjs/types/index'; declare global { - interface Vue { - $interact: Interact.Static; - } + interface Vue { + $interact: Interact.Static; + } } - diff --git a/tsconfig.json b/tsconfig.json index 574b22c..7f066ed 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@tsconfig/recommended/tsconfig.json", "compilerOptions": { + "target": "esnext", "noImplicitAny": true, "removeComments": true, "preserveConstEnums": true, @@ -15,6 +16,7 @@ ], "exclude": [ "node_modules", + "src/**/*.test.ts", "src/__tests__/*.spec.ts", "dist/**/*" ],