diff --git a/.prettierrc b/.prettierrc index 0967ef4..fa51da2 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1 +1,6 @@ -{} +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": false, + "singleQuote": true +} diff --git a/lib/draggable.js b/lib/draggable.js deleted file mode 100644 index 027958e..0000000 --- a/lib/draggable.js +++ /dev/null @@ -1,82 +0,0 @@ -let currentX; -let currentY; -let initialX; -let initialY; -let xOffset = 0; -let yOffset = 0; -let state = false; - -export const draggable = (dragArea, draggableItem, item) => { - const events = { - mouse: { - dragStart: "mousedown", - drag: "mousemove", - dragEnd: "mouseup", - }, - touch: { - dragStart: "touchstart", - drag: "touchmove", - dragEnd: "touchend", - }, - }; - - const deviceType = () => { - const ua = navigator.userAgent; - if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) { - return "touch"; - } - return "mouse"; - }; - - dragArea.addEventListener( - events[deviceType()].dragStart, - (e) => { - e.preventDefault(); - let eventClientX = - deviceType() === "touch" ? e.touches[0].clientX : e.clientX; - let eventClientY = - deviceType() === "touch" ? e.touches[0].clientY : e.clientY; - - initialX = eventClientX - xOffset; - initialY = eventClientY - yOffset; - - e.target === draggableItem ? (state = true) : (state = false); - - if (state) { - item.classList.add("active"); - } - }, - { passive: false }, - ); - - dragArea.addEventListener( - events[deviceType()].drag, - (e) => { - let eventClientX = - deviceType() === "touch" ? e.touches[0].clientX : e.clientX; - let eventClientY = - deviceType() === "touch" ? e.touches[0].clientY : e.clientY; - - if (state) { - e.preventDefault(); - - currentX = eventClientX - initialX; - currentY = eventClientY - initialY; - - setTranslate(currentX, currentY, item); - } - }, - { passive: false }, - ); - - dragArea.addEventListener(events[deviceType()].dragEnd, (e) => { - initialX = currentX; - initialY = currentY; - state = false; - item.classList.remove("active"); - }); -}; - -function setTranslate(xPos, yPos, el) { - el.style.transform = "translate3d(" + xPos + "px, " + yPos + "px, 0)"; -} diff --git a/lib/main.js b/lib/main.js index 6d25169..d0187e5 100644 --- a/lib/main.js +++ b/lib/main.js @@ -1,28 +1,31 @@ -import { h } from "./element.js"; -import { draggable } from "./draggable.js"; -import "./style.css"; +import interact from 'interactjs' +import { h } from './element.js' +import './style.css' export class Chat { constructor(options = {}) { - this.targetEl = h("div", options.style || "absoulte right-9 bottom-9"); + this.targetEl = h('div', options.style || 'absoulte right-9 bottom-9') + this.targetEl.addClass('mypandora-chat') - this.chatBtn = null; - this.chatMain = null; + this.chatBtn = null + this.chatMain = null - this.buildBtn(options); + this.buildBtn(options) - document.body.append(this.targetEl.el); + this.addDraggable(); + + document.body.append(this.targetEl.el) } show() { // // this.targetEl.classList.add('w-[900px] h-[640px] bg-gray-200'); // 隐藏图标,显示主窗口 - this.chatBtn?.hide(); + this.chatBtn?.hide() if (!this.chatMain) { - this.buildMain(); + this.buildMain() } - this.chatMain.show(); + this.chatMain.show() } close() { @@ -30,71 +33,86 @@ export class Chat { } buildBtn(options) { - const fragment = document.createDocumentFragment(); + const fragment = document.createDocumentFragment() this.chatBtn = h( - "div", - "w-12 h-12 rounded-full bg-blue-500 flex items-center justify-center text-white cursor-pointer", - ); - this.chatBtn.attr("title", options.tooltip || "展开"); + 'div', + 'w-12 h-12 rounded-full bg-blue-500 flex items-center justify-center text-white cursor-pointer' + ) + this.chatBtn.attr('title', options.tooltip || '展开') // 在这个 div 中添加 svg, img if (options.icon) { - this.chatBtn.html(options.icon); + this.chatBtn.html(options.icon) } - this.chatBtn.on("click", () => { - this.show(); - }); - fragment.append(this.chatBtn.el); + this.chatBtn.on('click', () => { + this.show() + }) + fragment.append(this.chatBtn.el) - this.targetEl.el.append(fragment); + this.targetEl.el.append(fragment) } buildMain() { - const fragment = document.createDocumentFragment(); - this.chatMain = h("div", "w-[900px] h-[640px] flex"); + const fragment = document.createDocumentFragment() + this.chatMain = h('div', 'w-[900px] h-[640px] flex') - const aside = h("div", "min-w-16 w-16 bg-[rgb(46,46,46)]"); + const aside = h('div', 'min-w-16 w-16 bg-[rgb(46,46,46)]') const section = h( - "div", - "min-w-52 w-52 bg-neutral-200 border-r border-neutral-300", - ); - const main = h("div", "flex-1 flex flex-col"); + 'div', + 'min-w-52 w-52 bg-neutral-200 border-r border-neutral-300' + ) + const main = h('div', 'flex-1 flex flex-col') const toolbar = h( - "div", - "bg-neutral-100 h-12 flex items-center justify-end border-b border-neutral-300", - ); - const closeIcon = h("span", "cursor-pointer"); - closeIcon.on("click", () => { - this.chatBtn?.show(); - this.chatMain?.hide(); - }); + 'div', + 'bg-neutral-100 h-12 flex items-center justify-end border-b border-neutral-300' + ) + const closeIcon = h('span', 'cursor-pointer') + closeIcon.on('click', () => { + this.chatBtn?.show() + this.chatMain?.hide() + }) closeIcon.html( - '', - ); - toolbar.child(closeIcon); - - draggable(document.body, toolbar.el, this.targetEl.el); + '' + ) + toolbar.child(closeIcon) - const foo = h("div", "flex-1 bg-neutral-100 border-b border-neutral-300"); + const messageList = h('div', 'flex-1 bg-neutral-100 border-b border-neutral-300') - const message = h("div", "bg-neutral-100 h-40"); - const toolbar2 = h("div", "flex justify-end"); - toolbar2.h; + const messageInput = h('div', 'bg-neutral-100 h-40') + const toolbar2 = h('div', 'flex justify-end') const input = h( - "textarea", - "w-full h-full bg-neutral-100 border-none resize-none focus:outline-none p-4", - ); - message.children(toolbar2, input); + 'textarea', + 'w-full h-full bg-neutral-100 border-none resize-none focus:outline-none p-4' + ) + messageInput.children(toolbar2, input) - main.children(toolbar, foo, message); + main.children(toolbar, messageList, messageInput) - this.chatMain.children(aside, section, main); - fragment.append(this.chatMain.el); + this.chatMain.children(aside, section, main) + fragment.append(this.chatMain.el) + + this.targetEl.el.append(fragment) + } - this.targetEl.el.append(fragment); + addDraggable() { + const position = { x: 0, y: 0 } + + interact('.mypandora-chat').draggable({ + listeners: { + start(event) { + console.log(event.type, event.target) + }, + move(event) { + position.x += event.dx + position.y += event.dy + + event.target.style.transform = `translate(${position.x}px, ${position.y}px)` + }, + }, + }) } } -export default Chat; +export default Chat diff --git a/package.json b/package.json index 98b4c21..a480718 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,9 @@ "lint-staged": { "**/*": "prettier --write --ignore-unknown" }, + "dependencies": { + "interactjs": "^1.10.27" + }, "devDependencies": { "@eslint/js": "^9.5.0", "autoprefixer": "^10.4.19", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29484b6..6f1945e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: "9.0" +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -6,8 +6,12 @@ settings: importers: .: + dependencies: + interactjs: + specifier: ^1.10.27 + version: 1.10.27 devDependencies: - "@eslint/js": + '@eslint/js': specifier: ^9.5.0 version: 9.5.0 autoprefixer: @@ -39,221 +43,221 @@ importers: version: 5.2.8 packages: - "@alloc/quick-lru@5.2.0": + '@alloc/quick-lru@5.2.0': resolution: { integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==, } - engines: { node: ">=10" } + engines: { node: '>=10' } - "@esbuild/aix-ppc64@0.20.2": + '@esbuild/aix-ppc64@0.20.2': resolution: { integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] - "@esbuild/android-arm64@0.20.2": + '@esbuild/android-arm64@0.20.2': resolution: { integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [arm64] os: [android] - "@esbuild/android-arm@0.20.2": + '@esbuild/android-arm@0.20.2': resolution: { integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [arm] os: [android] - "@esbuild/android-x64@0.20.2": + '@esbuild/android-x64@0.20.2': resolution: { integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [android] - "@esbuild/darwin-arm64@0.20.2": + '@esbuild/darwin-arm64@0.20.2': resolution: { integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] - "@esbuild/darwin-x64@0.20.2": + '@esbuild/darwin-x64@0.20.2': resolution: { integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [darwin] - "@esbuild/freebsd-arm64@0.20.2": + '@esbuild/freebsd-arm64@0.20.2': resolution: { integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] - "@esbuild/freebsd-x64@0.20.2": + '@esbuild/freebsd-x64@0.20.2': resolution: { integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] - "@esbuild/linux-arm64@0.20.2": + '@esbuild/linux-arm64@0.20.2': resolution: { integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [arm64] os: [linux] - "@esbuild/linux-arm@0.20.2": + '@esbuild/linux-arm@0.20.2': resolution: { integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [arm] os: [linux] - "@esbuild/linux-ia32@0.20.2": + '@esbuild/linux-ia32@0.20.2': resolution: { integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [ia32] os: [linux] - "@esbuild/linux-loong64@0.20.2": + '@esbuild/linux-loong64@0.20.2': resolution: { integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [loong64] os: [linux] - "@esbuild/linux-mips64el@0.20.2": + '@esbuild/linux-mips64el@0.20.2': resolution: { integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] - "@esbuild/linux-ppc64@0.20.2": + '@esbuild/linux-ppc64@0.20.2': resolution: { integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] - "@esbuild/linux-riscv64@0.20.2": + '@esbuild/linux-riscv64@0.20.2': resolution: { integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] - "@esbuild/linux-s390x@0.20.2": + '@esbuild/linux-s390x@0.20.2': resolution: { integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [s390x] os: [linux] - "@esbuild/linux-x64@0.20.2": + '@esbuild/linux-x64@0.20.2': resolution: { integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [linux] - "@esbuild/netbsd-x64@0.20.2": + '@esbuild/netbsd-x64@0.20.2': resolution: { integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] - "@esbuild/openbsd-x64@0.20.2": + '@esbuild/openbsd-x64@0.20.2': resolution: { integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] - "@esbuild/sunos-x64@0.20.2": + '@esbuild/sunos-x64@0.20.2': resolution: { integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [sunos] - "@esbuild/win32-arm64@0.20.2": + '@esbuild/win32-arm64@0.20.2': resolution: { integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [arm64] os: [win32] - "@esbuild/win32-ia32@0.20.2": + '@esbuild/win32-ia32@0.20.2': resolution: { integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [ia32] os: [win32] - "@esbuild/win32-x64@0.20.2": + '@esbuild/win32-x64@0.20.2': resolution: { integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } cpu: [x64] os: [win32] - "@eslint-community/eslint-utils@4.4.0": + '@eslint-community/eslint-utils@4.4.0': resolution: { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, @@ -262,124 +266,130 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - "@eslint-community/regexpp@4.10.1": + '@eslint-community/regexpp@4.10.1': resolution: { integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==, } engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - "@eslint/config-array@0.16.0": + '@eslint/config-array@0.16.0': resolution: { integrity: sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@eslint/eslintrc@3.1.0": + '@eslint/eslintrc@3.1.0': resolution: { integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@eslint/js@9.5.0": + '@eslint/js@9.5.0': resolution: { integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@eslint/object-schema@2.1.4": + '@eslint/object-schema@2.1.4': resolution: { integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@humanwhocodes/module-importer@1.0.1": + '@humanwhocodes/module-importer@1.0.1': resolution: { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, } - engines: { node: ">=12.22" } + engines: { node: '>=12.22' } - "@humanwhocodes/retry@0.3.0": + '@humanwhocodes/retry@0.3.0': resolution: { integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==, } - engines: { node: ">=18.18" } + engines: { node: '>=18.18' } + + '@interactjs/types@1.10.27': + resolution: + { + integrity: sha512-BUdv0cvs4H5ODuwft2Xp4eL8Vmi3LcihK42z0Ft/FbVJZoRioBsxH+LlsBdK4tAie7PqlKGy+1oyOncu1nQ6eA==, + } - "@isaacs/cliui@8.0.2": + '@isaacs/cliui@8.0.2': resolution: { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, } - engines: { node: ">=12" } + engines: { node: '>=12' } - "@jridgewell/gen-mapping@0.3.5": + '@jridgewell/gen-mapping@0.3.5': resolution: { integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, } - engines: { node: ">=6.0.0" } + engines: { node: '>=6.0.0' } - "@jridgewell/resolve-uri@3.1.2": + '@jridgewell/resolve-uri@3.1.2': resolution: { integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, } - engines: { node: ">=6.0.0" } + engines: { node: '>=6.0.0' } - "@jridgewell/set-array@1.2.1": + '@jridgewell/set-array@1.2.1': resolution: { integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, } - engines: { node: ">=6.0.0" } + engines: { node: '>=6.0.0' } - "@jridgewell/sourcemap-codec@1.4.15": + '@jridgewell/sourcemap-codec@1.4.15': resolution: { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, } - "@jridgewell/trace-mapping@0.3.25": + '@jridgewell/trace-mapping@0.3.25': resolution: { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, } - "@nodelib/fs.scandir@2.1.5": + '@nodelib/fs.scandir@2.1.5': resolution: { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, } - engines: { node: ">= 8" } + engines: { node: '>= 8' } - "@nodelib/fs.stat@2.0.5": + '@nodelib/fs.stat@2.0.5': resolution: { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, } - engines: { node: ">= 8" } + engines: { node: '>= 8' } - "@nodelib/fs.walk@1.2.8": + '@nodelib/fs.walk@1.2.8': resolution: { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, } - engines: { node: ">= 8" } + engines: { node: '>= 8' } - "@pkgjs/parseargs@0.11.0": + '@pkgjs/parseargs@0.11.0': resolution: { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, } - engines: { node: ">=14" } + engines: { node: '>=14' } - "@rollup/rollup-android-arm-eabi@4.14.2": + '@rollup/rollup-android-arm-eabi@4.14.2': resolution: { integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==, @@ -387,7 +397,7 @@ packages: cpu: [arm] os: [android] - "@rollup/rollup-android-arm64@4.14.2": + '@rollup/rollup-android-arm64@4.14.2': resolution: { integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==, @@ -395,7 +405,7 @@ packages: cpu: [arm64] os: [android] - "@rollup/rollup-darwin-arm64@4.14.2": + '@rollup/rollup-darwin-arm64@4.14.2': resolution: { integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==, @@ -403,7 +413,7 @@ packages: cpu: [arm64] os: [darwin] - "@rollup/rollup-darwin-x64@4.14.2": + '@rollup/rollup-darwin-x64@4.14.2': resolution: { integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==, @@ -411,7 +421,7 @@ packages: cpu: [x64] os: [darwin] - "@rollup/rollup-linux-arm-gnueabihf@4.14.2": + '@rollup/rollup-linux-arm-gnueabihf@4.14.2': resolution: { integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==, @@ -419,7 +429,7 @@ packages: cpu: [arm] os: [linux] - "@rollup/rollup-linux-arm64-gnu@4.14.2": + '@rollup/rollup-linux-arm64-gnu@4.14.2': resolution: { integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==, @@ -427,7 +437,7 @@ packages: cpu: [arm64] os: [linux] - "@rollup/rollup-linux-arm64-musl@4.14.2": + '@rollup/rollup-linux-arm64-musl@4.14.2': resolution: { integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==, @@ -435,7 +445,7 @@ packages: cpu: [arm64] os: [linux] - "@rollup/rollup-linux-powerpc64le-gnu@4.14.2": + '@rollup/rollup-linux-powerpc64le-gnu@4.14.2': resolution: { integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==, @@ -443,7 +453,7 @@ packages: cpu: [ppc64] os: [linux] - "@rollup/rollup-linux-riscv64-gnu@4.14.2": + '@rollup/rollup-linux-riscv64-gnu@4.14.2': resolution: { integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==, @@ -451,7 +461,7 @@ packages: cpu: [riscv64] os: [linux] - "@rollup/rollup-linux-s390x-gnu@4.14.2": + '@rollup/rollup-linux-s390x-gnu@4.14.2': resolution: { integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==, @@ -459,7 +469,7 @@ packages: cpu: [s390x] os: [linux] - "@rollup/rollup-linux-x64-gnu@4.14.2": + '@rollup/rollup-linux-x64-gnu@4.14.2': resolution: { integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==, @@ -467,7 +477,7 @@ packages: cpu: [x64] os: [linux] - "@rollup/rollup-linux-x64-musl@4.14.2": + '@rollup/rollup-linux-x64-musl@4.14.2': resolution: { integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==, @@ -475,7 +485,7 @@ packages: cpu: [x64] os: [linux] - "@rollup/rollup-win32-arm64-msvc@4.14.2": + '@rollup/rollup-win32-arm64-msvc@4.14.2': resolution: { integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==, @@ -483,7 +493,7 @@ packages: cpu: [arm64] os: [win32] - "@rollup/rollup-win32-ia32-msvc@4.14.2": + '@rollup/rollup-win32-ia32-msvc@4.14.2': resolution: { integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==, @@ -491,7 +501,7 @@ packages: cpu: [ia32] os: [win32] - "@rollup/rollup-win32-x64-msvc@4.14.2": + '@rollup/rollup-win32-x64-msvc@4.14.2': resolution: { integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==, @@ -499,7 +509,7 @@ packages: cpu: [x64] os: [win32] - "@types/estree@1.0.5": + '@types/estree@1.0.5': resolution: { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, @@ -518,7 +528,7 @@ packages: { integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==, } - engines: { node: ">=0.4.0" } + engines: { node: '>=0.4.0' } hasBin: true ajv@6.12.6: @@ -532,35 +542,35 @@ packages: { integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==, } - engines: { node: ">=14.16" } + engines: { node: '>=14.16' } ansi-regex@5.0.1: resolution: { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, } - engines: { node: ">=8" } + engines: { node: '>=8' } ansi-regex@6.0.1: resolution: { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, } - engines: { node: ">=12" } + engines: { node: '>=12' } ansi-styles@4.3.0: resolution: { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, } - engines: { node: ">=8" } + engines: { node: '>=8' } ansi-styles@6.2.1: resolution: { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, } - engines: { node: ">=12" } + engines: { node: '>=12' } any-promise@1.3.0: resolution: @@ -573,7 +583,7 @@ packages: { integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, } - engines: { node: ">= 8" } + engines: { node: '>= 8' } arg@5.0.2: resolution: @@ -608,7 +618,7 @@ packages: { integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, } - engines: { node: ">=8" } + engines: { node: '>=8' } brace-expansion@1.1.11: resolution: @@ -627,14 +637,14 @@ packages: { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, } - engines: { node: ">=8" } + engines: { node: '>=8' } braces@3.0.3: resolution: { integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, } - engines: { node: ">=8" } + engines: { node: '>=8' } browserslist@4.23.0: resolution: @@ -649,14 +659,14 @@ packages: { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, } - engines: { node: ">=6" } + engines: { node: '>=6' } camelcase-css@2.0.1: resolution: { integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==, } - engines: { node: ">= 6" } + engines: { node: '>= 6' } caniuse-lite@1.0.30001610: resolution: @@ -669,7 +679,7 @@ packages: { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, } - engines: { node: ">=10" } + engines: { node: '>=10' } chalk@5.3.0: resolution: @@ -683,7 +693,7 @@ packages: { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, } - engines: { node: ">= 8.10.0" } + engines: { node: '>= 8.10.0' } cli-cursor@4.0.0: resolution: @@ -697,14 +707,14 @@ packages: { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==, } - engines: { node: ">=18" } + engines: { node: '>=18' } color-convert@2.0.1: resolution: { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, } - engines: { node: ">=7.0.0" } + engines: { node: '>=7.0.0' } color-name@1.1.4: resolution: @@ -723,14 +733,14 @@ packages: { integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==, } - engines: { node: ">=18" } + engines: { node: '>=18' } commander@4.1.1: resolution: { integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, } - engines: { node: ">= 6" } + engines: { node: '>= 6' } concat-map@0.0.1: resolution: @@ -743,14 +753,14 @@ packages: { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, } - engines: { node: ">= 8" } + engines: { node: '>= 8' } cssesc@3.0.0: resolution: { integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, } - engines: { node: ">=4" } + engines: { node: '>=4' } hasBin: true debug@4.3.5: @@ -758,9 +768,9 @@ packages: { integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==, } - engines: { node: ">=6.0" } + engines: { node: '>=6.0' } peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true @@ -818,7 +828,7 @@ packages: { integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==, } - engines: { node: ">=12" } + engines: { node: '>=12' } hasBin: true escalade@3.1.2: @@ -826,14 +836,14 @@ packages: { integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, } - engines: { node: ">=6" } + engines: { node: '>=6' } escape-string-regexp@4.0.0: resolution: { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, } - engines: { node: ">=10" } + engines: { node: '>=10' } eslint-scope@8.0.1: resolution: @@ -876,28 +886,28 @@ packages: { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, } - engines: { node: ">=0.10" } + engines: { node: '>=0.10' } esrecurse@4.3.0: resolution: { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, } - engines: { node: ">=4.0" } + engines: { node: '>=4.0' } estraverse@5.3.0: resolution: { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, } - engines: { node: ">=4.0" } + engines: { node: '>=4.0' } esutils@2.0.3: resolution: { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } eventemitter3@5.0.1: resolution: @@ -910,7 +920,7 @@ packages: { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, } - engines: { node: ">=16.17" } + engines: { node: '>=16.17' } fast-deep-equal@3.1.3: resolution: @@ -923,7 +933,7 @@ packages: { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, } - engines: { node: ">=8.6.0" } + engines: { node: '>=8.6.0' } fast-json-stable-stringify@2.1.0: resolution: @@ -948,35 +958,35 @@ packages: { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, } - engines: { node: ">=16.0.0" } + engines: { node: '>=16.0.0' } fill-range@7.0.1: resolution: { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, } - engines: { node: ">=8" } + engines: { node: '>=8' } fill-range@7.1.1: resolution: { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, } - engines: { node: ">=8" } + engines: { node: '>=8' } find-up@5.0.0: resolution: { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, } - engines: { node: ">=10" } + engines: { node: '>=10' } flat-cache@4.0.1: resolution: { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, } - engines: { node: ">=16" } + engines: { node: '>=16' } flatted@3.3.1: resolution: @@ -989,7 +999,7 @@ packages: { integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==, } - engines: { node: ">=14" } + engines: { node: '>=14' } fraction.js@4.3.7: resolution: @@ -1016,35 +1026,35 @@ packages: { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==, } - engines: { node: ">=18" } + engines: { node: '>=18' } get-stream@8.0.1: resolution: { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, } - engines: { node: ">=16" } + engines: { node: '>=16' } glob-parent@5.1.2: resolution: { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, } - engines: { node: ">= 6" } + engines: { node: '>= 6' } glob-parent@6.0.2: resolution: { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, } - engines: { node: ">=10.13.0" } + engines: { node: '>=10.13.0' } glob@10.3.12: resolution: { integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==, } - engines: { node: ">=16 || 14 >=14.17" } + engines: { node: '>=16 || 14 >=14.17' } hasBin: true globals@14.0.0: @@ -1052,42 +1062,42 @@ packages: { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, } - engines: { node: ">=18" } + engines: { node: '>=18' } globals@15.6.0: resolution: { integrity: sha512-UzcJi88Hw//CurUIRa9Jxb0vgOCcuD/MNjwmXp633cyaRKkCWACkoqHCtfZv43b1kqXGg/fpOa8bwgacCeXsVg==, } - engines: { node: ">=18" } + engines: { node: '>=18' } has-flag@4.0.0: resolution: { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, } - engines: { node: ">=8" } + engines: { node: '>=8' } hasown@2.0.2: resolution: { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, } - engines: { node: ">= 0.4" } + engines: { node: '>= 0.4' } human-signals@5.0.0: resolution: { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, } - engines: { node: ">=16.17.0" } + engines: { node: '>=16.17.0' } husky@9.0.11: resolution: { integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==, } - engines: { node: ">=18" } + engines: { node: '>=18' } hasBin: true ignore@5.3.1: @@ -1095,28 +1105,34 @@ packages: { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, } - engines: { node: ">= 4" } + engines: { node: '>= 4' } import-fresh@3.3.0: resolution: { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, } - engines: { node: ">=6" } + engines: { node: '>=6' } imurmurhash@0.1.4: resolution: { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, } - engines: { node: ">=0.8.19" } + engines: { node: '>=0.8.19' } + + interactjs@1.10.27: + resolution: + { + integrity: sha512-y/8RcCftGAF24gSp76X2JS3XpHiUvDQyhF8i7ujemBz77hwiHDuJzftHx7thY8cxGogwGiPJ+o97kWB6eAXnsA==, + } is-binary-path@2.1.0: resolution: { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, } - engines: { node: ">=8" } + engines: { node: '>=8' } is-core-module@2.13.1: resolution: @@ -1129,49 +1145,49 @@ packages: { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } is-fullwidth-code-point@3.0.0: resolution: { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, } - engines: { node: ">=8" } + engines: { node: '>=8' } is-fullwidth-code-point@4.0.0: resolution: { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } is-fullwidth-code-point@5.0.0: resolution: { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==, } - engines: { node: ">=18" } + engines: { node: '>=18' } is-glob@4.0.3: resolution: { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } is-number@7.0.0: resolution: { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, } - engines: { node: ">=0.12.0" } + engines: { node: '>=0.12.0' } is-path-inside@3.0.3: resolution: { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, } - engines: { node: ">=8" } + engines: { node: '>=8' } is-stream@3.0.0: resolution: @@ -1191,7 +1207,7 @@ packages: { integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, } - engines: { node: ">=14" } + engines: { node: '>=14' } jiti@1.21.0: resolution: @@ -1236,21 +1252,21 @@ packages: { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, } - engines: { node: ">= 0.8.0" } + engines: { node: '>= 0.8.0' } lilconfig@2.1.0: resolution: { integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, } - engines: { node: ">=10" } + engines: { node: '>=10' } lilconfig@3.1.1: resolution: { integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==, } - engines: { node: ">=14" } + engines: { node: '>=14' } lines-and-columns@1.2.4: resolution: @@ -1263,7 +1279,7 @@ packages: { integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==, } - engines: { node: ">=18.12.0" } + engines: { node: '>=18.12.0' } hasBin: true listr2@8.2.3: @@ -1271,14 +1287,14 @@ packages: { integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==, } - engines: { node: ">=18.0.0" } + engines: { node: '>=18.0.0' } locate-path@6.0.0: resolution: { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, } - engines: { node: ">=10" } + engines: { node: '>=10' } lodash.merge@4.6.2: resolution: @@ -1291,7 +1307,7 @@ packages: { integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==, } - engines: { node: ">=18" } + engines: { node: '>=18' } lru-cache@10.2.0: resolution: @@ -1311,35 +1327,35 @@ packages: { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, } - engines: { node: ">= 8" } + engines: { node: '>= 8' } micromatch@4.0.5: resolution: { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, } - engines: { node: ">=8.6" } + engines: { node: '>=8.6' } micromatch@4.0.7: resolution: { integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==, } - engines: { node: ">=8.6" } + engines: { node: '>=8.6' } mimic-fn@2.1.0: resolution: { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, } - engines: { node: ">=6" } + engines: { node: '>=6' } mimic-fn@4.0.0: resolution: { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, } - engines: { node: ">=12" } + engines: { node: '>=12' } minimatch@3.1.2: resolution: @@ -1352,14 +1368,14 @@ packages: { integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==, } - engines: { node: ">=16 || 14 >=14.17" } + engines: { node: '>=16 || 14 >=14.17' } minipass@7.0.4: resolution: { integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, } - engines: { node: ">=16 || 14 >=14.17" } + engines: { node: '>=16 || 14 >=14.17' } ms@2.1.2: resolution: @@ -1398,14 +1414,14 @@ packages: { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } normalize-range@0.1.2: resolution: { integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } npm-run-path@5.3.0: resolution: @@ -1419,77 +1435,77 @@ packages: { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } object-hash@3.0.0: resolution: { integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==, } - engines: { node: ">= 6" } + engines: { node: '>= 6' } onetime@5.1.2: resolution: { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, } - engines: { node: ">=6" } + engines: { node: '>=6' } onetime@6.0.0: resolution: { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } optionator@0.9.4: resolution: { integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, } - engines: { node: ">= 0.8.0" } + engines: { node: '>= 0.8.0' } p-limit@3.1.0: resolution: { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, } - engines: { node: ">=10" } + engines: { node: '>=10' } p-locate@5.0.0: resolution: { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, } - engines: { node: ">=10" } + engines: { node: '>=10' } parent-module@1.0.1: resolution: { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, } - engines: { node: ">=6" } + engines: { node: '>=6' } path-exists@4.0.0: resolution: { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, } - engines: { node: ">=8" } + engines: { node: '>=8' } path-key@3.1.1: resolution: { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, } - engines: { node: ">=8" } + engines: { node: '>=8' } path-key@4.0.0: resolution: { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } path-parse@1.0.7: resolution: @@ -1502,7 +1518,7 @@ packages: { integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==, } - engines: { node: ">=16 || 14 >=14.17" } + engines: { node: '>=16 || 14 >=14.17' } picocolors@1.0.0: resolution: @@ -1515,14 +1531,14 @@ packages: { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, } - engines: { node: ">=8.6" } + engines: { node: '>=8.6' } pidtree@0.6.0: resolution: { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, } - engines: { node: ">=0.10" } + engines: { node: '>=0.10' } hasBin: true pify@2.3.0: @@ -1530,21 +1546,21 @@ packages: { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } pirates@4.0.6: resolution: { integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, } - engines: { node: ">= 6" } + engines: { node: '>= 6' } postcss-import@15.1.0: resolution: { integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==, } - engines: { node: ">=14.0.0" } + engines: { node: '>=14.0.0' } peerDependencies: postcss: ^8.0.0 @@ -1562,10 +1578,10 @@ packages: { integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==, } - engines: { node: ">= 14" } + engines: { node: '>= 14' } peerDependencies: - postcss: ">=8.0.9" - ts-node: ">=9.0.0" + postcss: '>=8.0.9' + ts-node: '>=9.0.0' peerDependenciesMeta: postcss: optional: true @@ -1577,7 +1593,7 @@ packages: { integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==, } - engines: { node: ">=12.0" } + engines: { node: '>=12.0' } peerDependencies: postcss: ^8.2.14 @@ -1586,7 +1602,7 @@ packages: { integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==, } - engines: { node: ">=4" } + engines: { node: '>=4' } postcss-value-parser@4.2.0: resolution: @@ -1606,14 +1622,14 @@ packages: { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, } - engines: { node: ">= 0.8.0" } + engines: { node: '>= 0.8.0' } prettier@3.3.2: resolution: { integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==, } - engines: { node: ">=14" } + engines: { node: '>=14' } hasBin: true punycode@2.3.1: @@ -1621,7 +1637,7 @@ packages: { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, } - engines: { node: ">=6" } + engines: { node: '>=6' } queue-microtask@1.2.3: resolution: @@ -1640,14 +1656,14 @@ packages: { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, } - engines: { node: ">=8.10.0" } + engines: { node: '>=8.10.0' } resolve-from@4.0.0: resolution: { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, } - engines: { node: ">=4" } + engines: { node: '>=4' } resolve@1.22.8: resolution: @@ -1668,7 +1684,7 @@ packages: { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } rfdc@1.4.1: resolution: @@ -1681,7 +1697,7 @@ packages: { integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==, } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } + engines: { node: '>=18.0.0', npm: '>=8.0.0' } hasBin: true run-parallel@1.2.0: @@ -1695,14 +1711,14 @@ packages: { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, } - engines: { node: ">=8" } + engines: { node: '>=8' } shebang-regex@3.0.0: resolution: { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, } - engines: { node: ">=8" } + engines: { node: '>=8' } signal-exit@3.0.7: resolution: @@ -1715,91 +1731,91 @@ packages: { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, } - engines: { node: ">=14" } + engines: { node: '>=14' } slice-ansi@5.0.0: resolution: { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } slice-ansi@7.1.0: resolution: { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==, } - engines: { node: ">=18" } + engines: { node: '>=18' } source-map-js@1.2.0: resolution: { integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } string-argv@0.3.2: resolution: { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, } - engines: { node: ">=0.6.19" } + engines: { node: '>=0.6.19' } string-width@4.2.3: resolution: { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, } - engines: { node: ">=8" } + engines: { node: '>=8' } string-width@5.1.2: resolution: { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, } - engines: { node: ">=12" } + engines: { node: '>=12' } string-width@7.1.0: resolution: { integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==, } - engines: { node: ">=18" } + engines: { node: '>=18' } strip-ansi@6.0.1: resolution: { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, } - engines: { node: ">=8" } + engines: { node: '>=8' } strip-ansi@7.1.0: resolution: { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } strip-final-newline@3.0.0: resolution: { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, } - engines: { node: ">=12" } + engines: { node: '>=12' } strip-json-comments@3.1.1: resolution: { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, } - engines: { node: ">=8" } + engines: { node: '>=8' } sucrase@3.35.0: resolution: { integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==, } - engines: { node: ">=16 || 14 >=14.17" } + engines: { node: '>=16 || 14 >=14.17' } hasBin: true supports-color@7.2.0: @@ -1807,21 +1823,21 @@ packages: { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, } - engines: { node: ">=8" } + engines: { node: '>=8' } supports-preserve-symlinks-flag@1.0.0: resolution: { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, } - engines: { node: ">= 0.4" } + engines: { node: '>= 0.4' } tailwindcss@3.4.3: resolution: { integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==, } - engines: { node: ">=14.0.0" } + engines: { node: '>=14.0.0' } hasBin: true text-table@0.2.0: @@ -1835,7 +1851,7 @@ packages: { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, } - engines: { node: ">=0.8" } + engines: { node: '>=0.8' } thenify@3.3.1: resolution: @@ -1848,7 +1864,7 @@ packages: { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, } - engines: { node: ">=8.0" } + engines: { node: '>=8.0' } ts-interface-checker@0.1.13: resolution: @@ -1861,7 +1877,7 @@ packages: { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, } - engines: { node: ">= 0.8.0" } + engines: { node: '>= 0.8.0' } update-browserslist-db@1.0.13: resolution: @@ -1870,7 +1886,7 @@ packages: } hasBin: true peerDependencies: - browserslist: ">= 4.21.0" + browserslist: '>= 4.21.0' uri-js@4.4.1: resolution: @@ -1892,15 +1908,15 @@ packages: engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" + sass: '*' + stylus: '*' + sugarss: '*' terser: ^5.4.0 peerDependenciesMeta: - "@types/node": + '@types/node': optional: true less: optional: true @@ -1920,7 +1936,7 @@ packages: { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, } - engines: { node: ">= 8" } + engines: { node: '>= 8' } hasBin: true word-wrap@1.2.5: @@ -1928,35 +1944,35 @@ packages: { integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, } - engines: { node: ">=0.10.0" } + engines: { node: '>=0.10.0' } wrap-ansi@7.0.0: resolution: { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, } - engines: { node: ">=10" } + engines: { node: '>=10' } wrap-ansi@8.1.0: resolution: { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, } - engines: { node: ">=12" } + engines: { node: '>=12' } wrap-ansi@9.0.0: resolution: { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==, } - engines: { node: ">=18" } + engines: { node: '>=18' } yaml@2.4.1: resolution: { integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==, } - engines: { node: ">= 14" } + engines: { node: '>= 14' } hasBin: true yaml@2.4.5: @@ -1964,7 +1980,7 @@ packages: { integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==, } - engines: { node: ">= 14" } + engines: { node: '>= 14' } hasBin: true yocto-queue@0.1.0: @@ -1972,96 +1988,96 @@ packages: { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, } - engines: { node: ">=10" } + engines: { node: '>=10' } snapshots: - "@alloc/quick-lru@5.2.0": {} + '@alloc/quick-lru@5.2.0': {} - "@esbuild/aix-ppc64@0.20.2": + '@esbuild/aix-ppc64@0.20.2': optional: true - "@esbuild/android-arm64@0.20.2": + '@esbuild/android-arm64@0.20.2': optional: true - "@esbuild/android-arm@0.20.2": + '@esbuild/android-arm@0.20.2': optional: true - "@esbuild/android-x64@0.20.2": + '@esbuild/android-x64@0.20.2': optional: true - "@esbuild/darwin-arm64@0.20.2": + '@esbuild/darwin-arm64@0.20.2': optional: true - "@esbuild/darwin-x64@0.20.2": + '@esbuild/darwin-x64@0.20.2': optional: true - "@esbuild/freebsd-arm64@0.20.2": + '@esbuild/freebsd-arm64@0.20.2': optional: true - "@esbuild/freebsd-x64@0.20.2": + '@esbuild/freebsd-x64@0.20.2': optional: true - "@esbuild/linux-arm64@0.20.2": + '@esbuild/linux-arm64@0.20.2': optional: true - "@esbuild/linux-arm@0.20.2": + '@esbuild/linux-arm@0.20.2': optional: true - "@esbuild/linux-ia32@0.20.2": + '@esbuild/linux-ia32@0.20.2': optional: true - "@esbuild/linux-loong64@0.20.2": + '@esbuild/linux-loong64@0.20.2': optional: true - "@esbuild/linux-mips64el@0.20.2": + '@esbuild/linux-mips64el@0.20.2': optional: true - "@esbuild/linux-ppc64@0.20.2": + '@esbuild/linux-ppc64@0.20.2': optional: true - "@esbuild/linux-riscv64@0.20.2": + '@esbuild/linux-riscv64@0.20.2': optional: true - "@esbuild/linux-s390x@0.20.2": + '@esbuild/linux-s390x@0.20.2': optional: true - "@esbuild/linux-x64@0.20.2": + '@esbuild/linux-x64@0.20.2': optional: true - "@esbuild/netbsd-x64@0.20.2": + '@esbuild/netbsd-x64@0.20.2': optional: true - "@esbuild/openbsd-x64@0.20.2": + '@esbuild/openbsd-x64@0.20.2': optional: true - "@esbuild/sunos-x64@0.20.2": + '@esbuild/sunos-x64@0.20.2': optional: true - "@esbuild/win32-arm64@0.20.2": + '@esbuild/win32-arm64@0.20.2': optional: true - "@esbuild/win32-ia32@0.20.2": + '@esbuild/win32-ia32@0.20.2': optional: true - "@esbuild/win32-x64@0.20.2": + '@esbuild/win32-x64@0.20.2': optional: true - "@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)": + '@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)': dependencies: eslint: 9.5.0 eslint-visitor-keys: 3.4.3 - "@eslint-community/regexpp@4.10.1": {} + '@eslint-community/regexpp@4.10.1': {} - "@eslint/config-array@0.16.0": + '@eslint/config-array@0.16.0': dependencies: - "@eslint/object-schema": 2.1.4 + '@eslint/object-schema': 2.1.4 debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - "@eslint/eslintrc@3.1.0": + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.5 @@ -2075,15 +2091,17 @@ snapshots: transitivePeerDependencies: - supports-color - "@eslint/js@9.5.0": {} + '@eslint/js@9.5.0': {} - "@eslint/object-schema@2.1.4": {} + '@eslint/object-schema@2.1.4': {} - "@humanwhocodes/module-importer@1.0.1": {} + '@humanwhocodes/module-importer@1.0.1': {} - "@humanwhocodes/retry@0.3.0": {} + '@humanwhocodes/retry@0.3.0': {} - "@isaacs/cliui@8.0.2": + '@interactjs/types@1.10.27': {} + + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 @@ -2092,84 +2110,84 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - "@jridgewell/gen-mapping@0.3.5": + '@jridgewell/gen-mapping@0.3.5': dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.25 + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 - "@jridgewell/resolve-uri@3.1.2": {} + '@jridgewell/resolve-uri@3.1.2': {} - "@jridgewell/set-array@1.2.1": {} + '@jridgewell/set-array@1.2.1': {} - "@jridgewell/sourcemap-codec@1.4.15": {} + '@jridgewell/sourcemap-codec@1.4.15': {} - "@jridgewell/trace-mapping@0.3.25": + '@jridgewell/trace-mapping@0.3.25': dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 - "@nodelib/fs.scandir@2.1.5": + '@nodelib/fs.scandir@2.1.5': dependencies: - "@nodelib/fs.stat": 2.0.5 + '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - "@nodelib/fs.stat@2.0.5": {} + '@nodelib/fs.stat@2.0.5': {} - "@nodelib/fs.walk@1.2.8": + '@nodelib/fs.walk@1.2.8': dependencies: - "@nodelib/fs.scandir": 2.1.5 + '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - "@pkgjs/parseargs@0.11.0": + '@pkgjs/parseargs@0.11.0': optional: true - "@rollup/rollup-android-arm-eabi@4.14.2": + '@rollup/rollup-android-arm-eabi@4.14.2': optional: true - "@rollup/rollup-android-arm64@4.14.2": + '@rollup/rollup-android-arm64@4.14.2': optional: true - "@rollup/rollup-darwin-arm64@4.14.2": + '@rollup/rollup-darwin-arm64@4.14.2': optional: true - "@rollup/rollup-darwin-x64@4.14.2": + '@rollup/rollup-darwin-x64@4.14.2': optional: true - "@rollup/rollup-linux-arm-gnueabihf@4.14.2": + '@rollup/rollup-linux-arm-gnueabihf@4.14.2': optional: true - "@rollup/rollup-linux-arm64-gnu@4.14.2": + '@rollup/rollup-linux-arm64-gnu@4.14.2': optional: true - "@rollup/rollup-linux-arm64-musl@4.14.2": + '@rollup/rollup-linux-arm64-musl@4.14.2': optional: true - "@rollup/rollup-linux-powerpc64le-gnu@4.14.2": + '@rollup/rollup-linux-powerpc64le-gnu@4.14.2': optional: true - "@rollup/rollup-linux-riscv64-gnu@4.14.2": + '@rollup/rollup-linux-riscv64-gnu@4.14.2': optional: true - "@rollup/rollup-linux-s390x-gnu@4.14.2": + '@rollup/rollup-linux-s390x-gnu@4.14.2': optional: true - "@rollup/rollup-linux-x64-gnu@4.14.2": + '@rollup/rollup-linux-x64-gnu@4.14.2': optional: true - "@rollup/rollup-linux-x64-musl@4.14.2": + '@rollup/rollup-linux-x64-musl@4.14.2': optional: true - "@rollup/rollup-win32-arm64-msvc@4.14.2": + '@rollup/rollup-win32-arm64-msvc@4.14.2': optional: true - "@rollup/rollup-win32-ia32-msvc@4.14.2": + '@rollup/rollup-win32-ia32-msvc@4.14.2': optional: true - "@rollup/rollup-win32-x64-msvc@4.14.2": + '@rollup/rollup-win32-x64-msvc@4.14.2': optional: true - "@types/estree@1.0.5": {} + '@types/estree@1.0.5': {} acorn-jsx@5.3.2(acorn@8.12.0): dependencies: @@ -2323,29 +2341,29 @@ snapshots: esbuild@0.20.2: optionalDependencies: - "@esbuild/aix-ppc64": 0.20.2 - "@esbuild/android-arm": 0.20.2 - "@esbuild/android-arm64": 0.20.2 - "@esbuild/android-x64": 0.20.2 - "@esbuild/darwin-arm64": 0.20.2 - "@esbuild/darwin-x64": 0.20.2 - "@esbuild/freebsd-arm64": 0.20.2 - "@esbuild/freebsd-x64": 0.20.2 - "@esbuild/linux-arm": 0.20.2 - "@esbuild/linux-arm64": 0.20.2 - "@esbuild/linux-ia32": 0.20.2 - "@esbuild/linux-loong64": 0.20.2 - "@esbuild/linux-mips64el": 0.20.2 - "@esbuild/linux-ppc64": 0.20.2 - "@esbuild/linux-riscv64": 0.20.2 - "@esbuild/linux-s390x": 0.20.2 - "@esbuild/linux-x64": 0.20.2 - "@esbuild/netbsd-x64": 0.20.2 - "@esbuild/openbsd-x64": 0.20.2 - "@esbuild/sunos-x64": 0.20.2 - "@esbuild/win32-arm64": 0.20.2 - "@esbuild/win32-ia32": 0.20.2 - "@esbuild/win32-x64": 0.20.2 + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 escalade@3.1.2: {} @@ -2362,14 +2380,14 @@ snapshots: eslint@9.5.0: dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@9.5.0) - "@eslint-community/regexpp": 4.10.1 - "@eslint/config-array": 0.16.0 - "@eslint/eslintrc": 3.1.0 - "@eslint/js": 9.5.0 - "@humanwhocodes/module-importer": 1.0.1 - "@humanwhocodes/retry": 0.3.0 - "@nodelib/fs.walk": 1.2.8 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/config-array': 0.16.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.5.0 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 + '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -2435,8 +2453,8 @@ snapshots: fast-glob@3.3.2: dependencies: - "@nodelib/fs.stat": 2.0.5 - "@nodelib/fs.walk": 1.2.8 + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 @@ -2528,6 +2546,10 @@ snapshots: imurmurhash@0.1.4: {} + interactjs@1.10.27: + dependencies: + '@interactjs/types': 1.10.27 + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 @@ -2560,9 +2582,9 @@ snapshots: jackspeak@2.3.6: dependencies: - "@isaacs/cliui": 8.0.2 + '@isaacs/cliui': 8.0.2 optionalDependencies: - "@pkgjs/parseargs": 0.11.0 + '@pkgjs/parseargs': 0.11.0 jiti@1.21.0: {} @@ -2809,23 +2831,23 @@ snapshots: rollup@4.14.2: dependencies: - "@types/estree": 1.0.5 + '@types/estree': 1.0.5 optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.14.2 - "@rollup/rollup-android-arm64": 4.14.2 - "@rollup/rollup-darwin-arm64": 4.14.2 - "@rollup/rollup-darwin-x64": 4.14.2 - "@rollup/rollup-linux-arm-gnueabihf": 4.14.2 - "@rollup/rollup-linux-arm64-gnu": 4.14.2 - "@rollup/rollup-linux-arm64-musl": 4.14.2 - "@rollup/rollup-linux-powerpc64le-gnu": 4.14.2 - "@rollup/rollup-linux-riscv64-gnu": 4.14.2 - "@rollup/rollup-linux-s390x-gnu": 4.14.2 - "@rollup/rollup-linux-x64-gnu": 4.14.2 - "@rollup/rollup-linux-x64-musl": 4.14.2 - "@rollup/rollup-win32-arm64-msvc": 4.14.2 - "@rollup/rollup-win32-ia32-msvc": 4.14.2 - "@rollup/rollup-win32-x64-msvc": 4.14.2 + '@rollup/rollup-android-arm-eabi': 4.14.2 + '@rollup/rollup-android-arm64': 4.14.2 + '@rollup/rollup-darwin-arm64': 4.14.2 + '@rollup/rollup-darwin-x64': 4.14.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.2 + '@rollup/rollup-linux-arm64-gnu': 4.14.2 + '@rollup/rollup-linux-arm64-musl': 4.14.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2 + '@rollup/rollup-linux-riscv64-gnu': 4.14.2 + '@rollup/rollup-linux-s390x-gnu': 4.14.2 + '@rollup/rollup-linux-x64-gnu': 4.14.2 + '@rollup/rollup-linux-x64-musl': 4.14.2 + '@rollup/rollup-win32-arm64-msvc': 4.14.2 + '@rollup/rollup-win32-ia32-msvc': 4.14.2 + '@rollup/rollup-win32-x64-msvc': 4.14.2 fsevents: 2.3.3 run-parallel@1.2.0: @@ -2888,7 +2910,7 @@ snapshots: sucrase@3.35.0: dependencies: - "@jridgewell/gen-mapping": 0.3.5 + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 glob: 10.3.12 lines-and-columns: 1.2.4 @@ -2904,7 +2926,7 @@ snapshots: tailwindcss@3.4.3: dependencies: - "@alloc/quick-lru": 5.2.0 + '@alloc/quick-lru': 5.2.0 arg: 5.0.2 chokidar: 3.6.0 didyoumean: 1.2.2