From 681551507af615efa701154f37c2f51c426ed014 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 9 Dec 2022 18:28:50 +0100 Subject: [PATCH] feat(node-resizer): add node-resizer pkg Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --- packages/node-resizer/.eslintrc.js | 8 + packages/node-resizer/README.md | 3 + packages/node-resizer/package.json | 48 +++ packages/node-resizer/src/NodeResizer.vue | 91 +++++ packages/node-resizer/src/auto-imports.d.ts | 63 ++++ packages/node-resizer/src/index.ts | 2 + packages/node-resizer/src/types.ts | 8 + packages/node-resizer/tsconfig.json | 31 ++ packages/node-resizer/vite.config.ts | 45 +++ pnpm-lock.yaml | 358 ++++++++++++++++---- 10 files changed, 585 insertions(+), 72 deletions(-) create mode 100644 packages/node-resizer/.eslintrc.js create mode 100644 packages/node-resizer/README.md create mode 100644 packages/node-resizer/package.json create mode 100644 packages/node-resizer/src/NodeResizer.vue create mode 100644 packages/node-resizer/src/auto-imports.d.ts create mode 100644 packages/node-resizer/src/index.ts create mode 100644 packages/node-resizer/src/types.ts create mode 100644 packages/node-resizer/tsconfig.json create mode 100644 packages/node-resizer/vite.config.ts diff --git a/packages/node-resizer/.eslintrc.js b/packages/node-resizer/.eslintrc.js new file mode 100644 index 00000000..98c0e4cb --- /dev/null +++ b/packages/node-resizer/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + rules: { + 'no-use-before-define': 0, + 'vue/no-setup-props-destructure': 0, + }, + extends: ['../../.eslintrc.js'], + ignorePatterns: ['!**/*'], +} diff --git a/packages/node-resizer/README.md b/packages/node-resizer/README.md new file mode 100644 index 00000000..16d38b2f --- /dev/null +++ b/packages/node-resizer/README.md @@ -0,0 +1,3 @@ +# Vue Flow: Toolbar Component + +This is a toolbar component for Vue Flow. diff --git a/packages/node-resizer/package.json b/packages/node-resizer/package.json new file mode 100644 index 00000000..f8fb66d1 --- /dev/null +++ b/packages/node-resizer/package.json @@ -0,0 +1,48 @@ +{ + "name": "@vue-flow/node-resizer", + "version": "0.0.1", + "private": false, + "license": "MIT", + "author": "Burak Cakmakoglu<78412429+bcakmakoglu@users.noreply.github.com>", + "repository": { + "type": "git", + "url": "git+https://github.com/bcakmakoglu/vue-flow/packages/plugins/node-resizer" + }, + "homepage": "https://github.com/bcakmakoglu/vue-flow#readme", + "bugs": { + "url": "https://github.com/bcakmakoglu/vue-flow/issues" + }, + "main": "./dist/vue-flow-plugin-node-resizer.js", + "module": "./dist/vue-flow-node-resizer.mjs", + "types": "./dist/index.d.ts", + "unpkg": "./dist/vue-flow-node-resizer.iife.js", + "jsdelivr": "./dist/vue-flow-node-resizer.iife.js", + "files": [ + "dist" + ], + "sideEffects": false, + "scripts": { + "build": "vite build", + "types": "vue-tsc --declaration --emitDeclarationOnly && pnpm lint:dist", + "lint": "eslint --ext \".js,.jsx,.ts,.tsx\" --fix --ignore-path ../../.gitignore .", + "lint:dist": "eslint --ext \".ts,.tsx\" -c .eslintrc.js --fix ./dist", + "test": "exit 0" + }, + "peerDependencies": { + "@vue-flow/core": "^1.0.0", + "vue": "^3.2.37" + }, + "dependencies": {}, + "devDependencies": { + "@vue-flow/core": "workspace:*", + "@vitejs/plugin-vue": "^3.2.0", + "unplugin-auto-import": "^0.12.0", + "vite": "^3.2.5", + "vite-plugin-vue-type-imports": "0.2.0", + "vue-tsc": "^1.0.11" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/node-resizer/src/NodeResizer.vue b/packages/node-resizer/src/NodeResizer.vue new file mode 100644 index 00000000..b42b7377 --- /dev/null +++ b/packages/node-resizer/src/NodeResizer.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/packages/node-resizer/src/auto-imports.d.ts b/packages/node-resizer/src/auto-imports.d.ts new file mode 100644 index 00000000..05f84c95 --- /dev/null +++ b/packages/node-resizer/src/auto-imports.d.ts @@ -0,0 +1,63 @@ +// Generated by 'unplugin-auto-import' +export {} +declare global { + const $$: typeof import('vue/macros')['$$'] + const $: typeof import('vue/macros')['$'] + const $computed: typeof import('vue/macros')['$computed'] + const $customRef: typeof import('vue/macros')['$customRef'] + const $ref: typeof import('vue/macros')['$ref'] + const $shallowRef: typeof import('vue/macros')['$shallowRef'] + const $toRef: typeof import('vue/macros')['$toRef'] + const EffectScope: typeof import('vue')['EffectScope'] + const computed: typeof import('vue')['computed'] + const createApp: typeof import('vue')['createApp'] + const customRef: typeof import('vue')['customRef'] + const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] + const defineComponent: typeof import('vue')['defineComponent'] + const effectScope: typeof import('vue')['effectScope'] + const getCurrentInstance: typeof import('vue')['getCurrentInstance'] + const getCurrentScope: typeof import('vue')['getCurrentScope'] + const h: typeof import('vue')['h'] + const inject: typeof import('vue')['inject'] + const isProxy: typeof import('vue')['isProxy'] + const isReactive: typeof import('vue')['isReactive'] + const isReadonly: typeof import('vue')['isReadonly'] + const isRef: typeof import('vue')['isRef'] + const markRaw: typeof import('vue')['markRaw'] + const nextTick: typeof import('vue')['nextTick'] + const onActivated: typeof import('vue')['onActivated'] + const onBeforeMount: typeof import('vue')['onBeforeMount'] + const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] + const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] + const onDeactivated: typeof import('vue')['onDeactivated'] + const onErrorCaptured: typeof import('vue')['onErrorCaptured'] + const onMounted: typeof import('vue')['onMounted'] + const onRenderTracked: typeof import('vue')['onRenderTracked'] + const onRenderTriggered: typeof import('vue')['onRenderTriggered'] + const onScopeDispose: typeof import('vue')['onScopeDispose'] + const onServerPrefetch: typeof import('vue')['onServerPrefetch'] + const onUnmounted: typeof import('vue')['onUnmounted'] + const onUpdated: typeof import('vue')['onUpdated'] + const provide: typeof import('vue')['provide'] + const reactive: typeof import('vue')['reactive'] + const readonly: typeof import('vue')['readonly'] + const ref: typeof import('vue')['ref'] + const resolveComponent: typeof import('vue')['resolveComponent'] + const resolveDirective: typeof import('vue')['resolveDirective'] + const shallowReactive: typeof import('vue')['shallowReactive'] + const shallowReadonly: typeof import('vue')['shallowReadonly'] + const shallowRef: typeof import('vue')['shallowRef'] + const toRaw: typeof import('vue')['toRaw'] + const toRef: typeof import('vue')['toRef'] + const toRefs: typeof import('vue')['toRefs'] + const triggerRef: typeof import('vue')['triggerRef'] + const unref: typeof import('vue')['unref'] + const useAttrs: typeof import('vue')['useAttrs'] + const useCssModule: typeof import('vue')['useCssModule'] + const useCssVars: typeof import('vue')['useCssVars'] + const useSlots: typeof import('vue')['useSlots'] + const watch: typeof import('vue')['watch'] + const watchEffect: typeof import('vue')['watchEffect'] + const watchPostEffect: typeof import('vue')['watchPostEffect'] + const watchSyncEffect: typeof import('vue')['watchSyncEffect'] +} diff --git a/packages/node-resizer/src/index.ts b/packages/node-resizer/src/index.ts new file mode 100644 index 00000000..42746d6b --- /dev/null +++ b/packages/node-resizer/src/index.ts @@ -0,0 +1,2 @@ +export * from './types' +export { default as NodeResizer } from './NodeResizer.vue' diff --git a/packages/node-resizer/src/types.ts b/packages/node-resizer/src/types.ts new file mode 100644 index 00000000..b01e8796 --- /dev/null +++ b/packages/node-resizer/src/types.ts @@ -0,0 +1,8 @@ +import type { Position } from '@vue-flow/core' + +export interface NodeToolbarProps { + nodeId?: string | string[] + isVisible?: boolean + position?: Position + offset?: number +} diff --git a/packages/node-resizer/tsconfig.json b/packages/node-resizer/tsconfig.json new file mode 100644 index 00000000..e9fd0ac1 --- /dev/null +++ b/packages/node-resizer/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "module": "ESNext", + "target": "es2017", + "lib": [ + "DOM", + "ESNext" + ], + "strict": true, + "esModuleInterop": true, + "incremental": false, + "skipLibCheck": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "noUnusedLocals": false, + "strictNullChecks": true, + "forceConsistentCasingInFileNames": true, + "declaration": true, + "declarationDir": "./dist", + "emitDeclarationOnly": true, + "types": [], + }, + "include": [ + "./src", + ], + "exclude": [ + "node_modules", + "dist" + ] +} diff --git a/packages/node-resizer/vite.config.ts b/packages/node-resizer/vite.config.ts new file mode 100644 index 00000000..1b1de8c4 --- /dev/null +++ b/packages/node-resizer/vite.config.ts @@ -0,0 +1,45 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import AutoImport from 'unplugin-auto-import/vite' +import vueTypes from 'vite-plugin-vue-type-imports' + +// https://vitejs.dev/config/ +export default defineConfig({ + resolve: { + extensions: ['.ts', '.vue'], + }, + build: { + emptyOutDir: false, + lib: { + formats: ['es', 'cjs', 'iife'], + entry: resolve(__dirname, 'src/index.ts'), + fileName: 'vue-flow-node-resizer', + name: 'vueFlowNodeResizer', + }, + rollupOptions: { + // make sure to externalize deps that shouldn't be bundled + // into your library + external: ['vue', '@vue-flow/core'], + output: { + dir: './dist', + // Provide global variables to use in the UMD build + // for externalized deps + globals: { + 'vue': 'Vue', + '@vue-flow/core': 'VueFlow', + }, + }, + }, + }, + plugins: [ + vue({ + reactivityTransform: true, + }), + vueTypes(), + AutoImport({ + imports: ['vue', 'vue/macros'], + dts: 'src/auto-imports.d.ts', + }), + ], +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8d1d9b8..3cfcc67c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,11 +38,8 @@ importers: '@types/canvas-confetti': ^1.4.3 '@types/node': ^18.7.8 '@vercel/analytics': ^0.1.5 - '@vue-flow/background': workspace:* - '@vue-flow/controls': workspace:* + '@vue-flow/additional-components': workspace:* '@vue-flow/core': workspace:* - '@vue-flow/minimap': workspace:* - '@vue-flow/node-toolbar': workspace:* '@vue/repl': 1.1.2 '@windicss/plugin-scrollbar': ^1.2.3 blobity: ^0.2.1 @@ -67,11 +64,8 @@ importers: '@animxyz/vue3': 0.6.7_vue@3.2.37 '@stackblitz/sdk': 1.8.0 '@vercel/analytics': 0.1.5_react@18.2.0 - '@vue-flow/background': link:../packages/background - '@vue-flow/controls': link:../packages/controls + '@vue-flow/additional-components': link:../packages/additional-components '@vue-flow/core': link:../packages/core - '@vue-flow/minimap': link:../packages/minimap - '@vue-flow/node-toolbar': link:../packages/node-toolbar '@vue/repl': 1.1.2_vue@3.2.37 blobity: 0.2.1_react@18.2.0+vue@3.2.37 canvas-confetti: 1.6.0 @@ -98,32 +92,24 @@ importers: e2e: specifiers: '@vitejs/plugin-vue': ^3.2.0 - '@vue-flow/background': workspace:* - '@vue-flow/controls': workspace:* + '@vue-flow/additional-components': workspace:* '@vue-flow/core': workspace:* - '@vue-flow/minimap': workspace:* cypress: ^10.9.0 dependencies: - '@vue-flow/background': link:../packages/background - '@vue-flow/controls': link:../packages/controls + '@vue-flow/additional-components': link:../packages/additional-components '@vue-flow/core': link:../packages/core - '@vue-flow/minimap': link:../packages/minimap devDependencies: '@vitejs/plugin-vue': 3.2.0_vite@3.2.5+vue@3.2.40 cypress: 10.9.0 examples/nuxt3: specifiers: - '@vue-flow/background': workspace:* - '@vue-flow/controls': workspace:* + '@vue-flow/additional-components': workspace:* '@vue-flow/core': workspace:* - '@vue-flow/minimap': workspace:* nuxt: 3.0.0-rc.11 dependencies: - '@vue-flow/background': link:../../packages/background - '@vue-flow/controls': link:../../packages/controls + '@vue-flow/additional-components': link:../../packages/additional-components '@vue-flow/core': link:../../packages/core - '@vue-flow/minimap': link:../../packages/minimap devDependencies: nuxt: 3.0.0-rc.11_rollup@2.79.1+vite@3.1.6 @@ -133,20 +119,16 @@ importers: '@quasar/extras': ^1.15.4 '@types/node': ^18.8.3 '@vitejs/plugin-vue': ^2.3.4 - '@vue-flow/background': workspace:* - '@vue-flow/controls': workspace:* + '@vue-flow/additional-components': workspace:* '@vue-flow/core': workspace:* - '@vue-flow/minimap': workspace:* autoprefixer: ^10.4.12 quasar: ^2.9.2 vue: ^3.2.37 vue-router: ^4.1.5 dependencies: '@quasar/extras': 1.15.4 - '@vue-flow/background': link:../../packages/background - '@vue-flow/controls': link:../../packages/controls + '@vue-flow/additional-components': link:../../packages/additional-components '@vue-flow/core': link:../../packages/core - '@vue-flow/minimap': link:../../packages/minimap quasar: 2.9.2 vue: 3.2.37 vue-router: 4.1.5_vue@3.2.37 @@ -160,10 +142,8 @@ importers: specifiers: '@types/dagre': ^0.7.48 '@vitejs/plugin-vue': ^3.2.0 - '@vue-flow/background': workspace:* - '@vue-flow/controls': workspace:* + '@vue-flow/additional-components': workspace:* '@vue-flow/core': workspace:* - '@vue-flow/minimap': workspace:* '@vue-flow/node-toolbar': workspace:* dagre: ^0.8.5 unplugin-auto-import: ^0.12.0 @@ -174,10 +154,8 @@ importers: vue-router: ^4.1.6 vueflow: workspace:* dependencies: - '@vue-flow/background': link:../../packages/background - '@vue-flow/controls': link:../../packages/controls + '@vue-flow/additional-components': link:../../packages/additional-components '@vue-flow/core': link:../../packages/core - '@vue-flow/minimap': link:../../packages/minimap '@vue-flow/node-toolbar': link:../../packages/node-toolbar vueflow: link:../../packages/vue-flow devDependencies: @@ -191,38 +169,27 @@ importers: vue: 3.2.37 vue-router: 4.1.6_vue@3.2.37 - packages/background: - specifiers: - '@vitejs/plugin-vue': ^3.2.0 - '@vue-flow/core': workspace:* - unplugin-auto-import: ^0.12.0 - vite: ^3.2.5 - vite-plugin-vue-type-imports: 0.2.0 - vue: ^3.2.37 - vue-tsc: ^1.0.11 - dependencies: - vue: 3.2.40 - devDependencies: - '@vitejs/plugin-vue': 3.2.0_vite@3.2.5+vue@3.2.40 - '@vue-flow/core': link:../core - unplugin-auto-import: 0.12.0 - vite: 3.2.5 - vite-plugin-vue-type-imports: 0.2.0_ek75d3noihdfv6qzog663yntom - vue-tsc: 1.0.11_typescript@4.8.4 - - packages/controls: + packages/additional-components: specifiers: + '@types/d3-selection': ^3.0.3 + '@types/d3-zoom': ^3.0.1 '@vitejs/plugin-vue': ^3.2.0 '@vue-flow/core': workspace:* + d3-selection: ^3.0.0 + d3-zoom: ^3.0.0 unplugin-auto-import: ^0.12.0 vite: ^3.2.5 vite-plugin-vue-type-imports: 0.2.0 vite-svg-loader: ^3.6.0 - vue: ^3.2.37 + vue: ^3.2.25 vue-tsc: ^1.0.11 dependencies: + d3-selection: 3.0.0 + d3-zoom: 3.0.0 vue: 3.2.40 devDependencies: + '@types/d3-selection': 3.0.3 + '@types/d3-zoom': 3.0.1 '@vitejs/plugin-vue': 3.2.0_vite@3.2.5+vue@3.2.40 '@vue-flow/core': link:../core unplugin-auto-import: 0.12.0 @@ -274,26 +241,18 @@ importers: vite-plugin-vue-type-imports: 0.2.0_ek75d3noihdfv6qzog663yntom vue-tsc: 1.0.11_typescript@4.8.4 - packages/minimap: + packages/node-resizer: specifiers: - '@types/d3-selection': ^3.0.3 - '@types/d3-zoom': ^3.0.1 '@vitejs/plugin-vue': ^3.2.0 '@vue-flow/core': workspace:* - d3-selection: ^3.0.0 - d3-zoom: ^3.0.0 unplugin-auto-import: ^0.12.0 vite: ^3.2.5 vite-plugin-vue-type-imports: 0.2.0 vue: ^3.2.37 vue-tsc: ^1.0.11 dependencies: - d3-selection: 3.0.0 - d3-zoom: 3.0.0 vue: 3.2.40 devDependencies: - '@types/d3-selection': 3.0.3 - '@types/d3-zoom': 3.0.1 '@vitejs/plugin-vue': 3.2.0_vite@3.2.5+vue@3.2.40 '@vue-flow/core': link:../core unplugin-auto-import: 0.12.0 @@ -349,12 +308,37 @@ importers: vite-plugin-vue-type-imports: 0.2.0_27kt524ck4apxula6vakm6okd4 vue-tsc: 0.40.13_typescript@4.8.4 + packages/resize-rotate-node: + specifiers: + '@vitejs/plugin-vue': ^2.3.4 + '@vue-flow/core': workspace:* + '@vueuse/core': ^8.9.4 + ts-patch: ^2.0.1 + typescript-transform-paths: ^3.3.1 + unplugin-auto-import: ^0.11.2 + vite: ^2.9.15 + vite-plugin-vue-type-imports: 0.2.0 + vue: ^3.2.25 + vue-tsc: ^0.40.13 + vue3-moveable: ^0.4.9 + dependencies: + '@vueuse/core': 8.9.4_vue@3.2.37 + vue: 3.2.37 + vue3-moveable: 0.4.9_@types+react@16.9.56 + devDependencies: + '@vitejs/plugin-vue': 2.3.4_vite@2.9.15+vue@3.2.37 + '@vue-flow/core': link:../core + ts-patch: 2.0.1_typescript@4.8.4 + typescript-transform-paths: 3.3.1_typescript@4.8.4 + unplugin-auto-import: 0.11.2_tz26lugnys4zsg624icbm2tdye + vite: 2.9.15 + vite-plugin-vue-type-imports: 0.2.0_27kt524ck4apxula6vakm6okd4 + vue-tsc: 0.40.13_typescript@4.8.4 + packages/vue-flow: specifiers: - '@vue-flow/background': workspace:* - '@vue-flow/controls': workspace:* + '@vue-flow/additional-components': workspace:* '@vue-flow/core': workspace:* - '@vue-flow/minimap': workspace:* autoprefixer: ^10.4.13 postcss: ^8.4.19 postcss-cli: ^10.1.0 @@ -362,10 +346,8 @@ importers: vite: ^3.2.5 vue: ^3.2.25 dependencies: - '@vue-flow/background': link:../background - '@vue-flow/controls': link:../controls + '@vue-flow/additional-components': link:../additional-components '@vue-flow/core': link:../core - '@vue-flow/minimap': link:../minimap vue: 3.2.37 devDependencies: autoprefixer: 10.4.13_postcss@8.4.19 @@ -1204,6 +1186,14 @@ packages: - supports-color dev: true + /@daybrush/utils/1.6.0: + resolution: {integrity: sha512-9MjMoOLl1U+l8lXByN3BbLZXf+mktoLyeb6t78Jz2WZ7LRldK0FNg8oW//9giO2hHCUyxS7LX6jS1hToGIfRWA==} + dev: false + + /@daybrush/utils/1.7.1: + resolution: {integrity: sha512-ruVDIfXeVAF4s0RxJoNx5hTjxlIRMnKoJ7N5e2m9eDyluIXB12EvhMPQdoq4a/ohJ+cPgj2MiWS5Lvmpsrx8Gg==} + dev: false + /@docsearch/css/3.1.1: resolution: {integrity: sha512-utLgg7E1agqQeqCJn05DWC7XXMk4tMUUnL7MZupcknRu2OzGN13qwey2qA/0NAKkVBGugiWtON0+rlU0QIPojg==} dev: true @@ -1238,6 +1228,20 @@ packages: - '@algolia/client-search' dev: true + /@egjs/agent/2.4.2: + resolution: {integrity: sha512-UZQzdpPl0g0M1wDAiq4EY2vUzUI6P5SKGOAPkf0yxSnlcwrU8/zuoyUWbYj11ROFeHV8iW0IetGsmia83z1Hbw==} + dev: false + + /@egjs/children-differ/1.0.1: + resolution: {integrity: sha512-DRvyqMf+CPCOzAopQKHtW+X8iN6Hy6SFol+/7zCUiE5y4P/OB8JP8FtU4NxtZwtafvSL4faD5KoQYPj3JHzPFQ==} + dependencies: + '@egjs/list-differ': 1.0.0 + dev: false + + /@egjs/list-differ/1.0.0: + resolution: {integrity: sha512-HsbMKc0ZAQH+EUeCmI/2PvTYSybmkaWwakU8QGDYYgMVIg9BQ5sM0A0Nnombjxo2+JzXHxmH+jw//yGX+y6GYw==} + dev: false + /@esbuild/android-arm/0.15.10: resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==} engines: {node: '>=12'} @@ -1861,6 +1865,25 @@ packages: picomatch: 2.3.1 dev: true + /@scena/dragscroll/1.2.0: + resolution: {integrity: sha512-npjR1nh5on74e6dh3mBviVAS3Kx9ZkUFkJdVVPfcrEGO1O9c3IB154d//cLXwiHwV7xMzsADmEMQZrrWwVlb8Q==} + dependencies: + '@daybrush/utils': 1.6.0 + '@scena/event-emitter': 1.0.5 + dev: false + + /@scena/event-emitter/1.0.5: + resolution: {integrity: sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==} + dependencies: + '@daybrush/utils': 1.7.1 + dev: false + + /@scena/matrix/1.1.1: + resolution: {integrity: sha512-JVKBhN0tm2Srl+Yt+Ywqu0oLgLcdemDQlD1OxmN9jaCTwaFPZ7tY8n6dhVgMEaR9qcR7r+kAlMXnSfNyYdE+Vg==} + dependencies: + '@daybrush/utils': 1.7.1 + dev: false + /@stackblitz/sdk/1.8.0: resolution: {integrity: sha512-hbS4CpQVF3bxJ+ZD8qu8lAjTZVLTPToLbMtgxbxUmp1AIgqm7i0gMFM1POBA8BqY84CT1A3z74gdCd1bsro7qA==} dev: false @@ -2184,7 +2207,6 @@ packages: /@types/prop-types/15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - dev: true /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} @@ -2194,6 +2216,13 @@ packages: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true + /@types/react/16.9.56: + resolution: {integrity: sha512-gIkl4J44G/qxbuC6r2Xh+D3CGZpJ+NdWTItAPmZbR5mUS+JQ8Zvzpl0ea5qT/ZT3ZNTUcDKUVqV3xBE8wv/DyQ==} + dependencies: + '@types/prop-types': 15.7.5 + csstype: 3.1.0 + dev: false + /@types/react/18.0.15: resolution: {integrity: sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==} dependencies: @@ -2241,7 +2270,6 @@ packages: /@types/web-bluetooth/0.0.14: resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==} - dev: true /@types/web-bluetooth/0.0.16: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} @@ -2960,6 +2988,23 @@ packages: resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} dev: true + /@vueuse/core/8.9.4_vue@3.2.37: + resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + '@types/web-bluetooth': 0.0.14 + '@vueuse/metadata': 8.9.4 + '@vueuse/shared': 8.9.4_vue@3.2.37 + vue: 3.2.37 + vue-demi: 0.13.6_vue@3.2.37 + /@vueuse/core/8.9.4_vue@3.2.40: resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} peerDependencies: @@ -3002,11 +3047,24 @@ packages: /@vueuse/metadata/8.9.4: resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==} - dev: true /@vueuse/metadata/9.6.0: resolution: {integrity: sha512-sIC8R+kWkIdpi5X2z2Gk8TRYzmczDwHRhEFfCu2P+XW2JdPoXrziqsGpDDsN7ykBx4ilwieS7JUIweVGhvZ93w==} + /@vueuse/shared/8.9.4_vue@3.2.37: + resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + vue: 3.2.37 + vue-demi: 0.13.6_vue@3.2.37 + /@vueuse/shared/8.9.4_vue@3.2.40: resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} peerDependencies: @@ -4055,6 +4113,22 @@ packages: nth-check: 2.1.1 dev: true + /css-styled/1.0.0_@daybrush+utils@1.7.1: + resolution: {integrity: sha512-lDdPvM2/djv+La110zVY3RGQ7X4OOlzLS+IEjRcn8UlUmJd1+GNcGfDFmsKWwnLBupsY1w0QM1gRgV4RdcCjfw==} + peerDependencies: + '@daybrush/utils': '>=1.0.0' + dependencies: + '@daybrush/utils': 1.7.1 + string-hash: 1.1.3 + dev: false + + /css-to-mat/1.0.3: + resolution: {integrity: sha512-HADRhVqPc8wFqEp6ClK+uuPYg+FMBinNo2ReLyI/KQCncmHPJ60o5zldyJG7NjsTqXWbdfGJO51jnoxfMvWJiA==} + dependencies: + '@daybrush/utils': 1.7.1 + '@scena/matrix': 1.1.1 + dev: false + /css-tree/1.1.3: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} engines: {node: '>=8.0.0'} @@ -4145,7 +4219,6 @@ packages: /csstype/3.1.0: resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==} - dev: true /csv-generate/3.4.3: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} @@ -5870,6 +5943,10 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true + /framework-utils/1.1.0: + resolution: {integrity: sha512-KAfqli5PwpFJ8o3psRNs8svpMGyCSAe8nmGcjQ0zZBWN2H6dZDnq+ABp3N3hdUmFeMrLtjOCTXD4yplUJIWceg==} + dev: false + /fresh/0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -5994,6 +6071,13 @@ packages: engines: {node: '>=6.9.0'} dev: true + /gesto/1.10.0: + resolution: {integrity: sha512-g/Cxpx0FiLZBKjxYjvuaEOspCCyzREn02/eHyf0HrkRF2vqQtotTnn5rH21CeucVrXjBsXw2Of0SKgV92kbHPA==} + dependencies: + '@daybrush/utils': 1.7.1 + '@scena/event-emitter': 1.0.5 + dev: false + /get-caller-file/2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -7483,6 +7567,17 @@ packages: ufo: 1.0.1 dev: true + /moveable/0.29.9_@types+react@16.9.56: + resolution: {integrity: sha512-JoZRxVV81rxAaShx/3NloQu4+0AnxFNplH/v38gfO9pKTJc7b1QFqkyuqqA7oOSSTUxktRxUtka9VA88BCcEwA==} + dependencies: + '@scena/event-emitter': 1.0.5 + react-compat-moveable: 0.17.9_@types+react@16.9.56 + react-moveable: 0.32.9_@types+react@16.9.56 + react-simple-compat: 1.2.3 + transitivePeerDependencies: + - '@types/react' + dev: false + /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -7934,6 +8029,12 @@ packages: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: true + /overlap-area/1.1.0: + resolution: {integrity: sha512-3dlJgJCaVeXH0/eZjYVJvQiLVVrPO4U1ZGqlATtx6QGO3b5eNM6+JgUKa7oStBTdYuGTk7gVoABCW6Tp+dhRdw==} + dependencies: + '@daybrush/utils': 1.7.1 + dev: false + /p-filter/2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -8737,6 +8838,43 @@ packages: flat: 5.0.2 dev: true + /react-compat-css-styled/1.0.8: + resolution: {integrity: sha512-CG0kVbpKjiLMQc85pP50+Z0R9PGp7NIkkGqO88QTjEsSMOGKYlCXIAnXdKR2ZII23NJmA4XrJry03jkXOxTUkg==} + dependencies: + '@daybrush/utils': 1.7.1 + css-styled: 1.0.0_@daybrush+utils@1.7.1 + framework-utils: 1.1.0 + react-css-styled: 1.0.3_@daybrush+utils@1.7.1 + dev: false + + /react-compat-moveable/0.17.9_@types+react@16.9.56: + resolution: {integrity: sha512-LS9U1K3eCg7aaj+1tvsoriKpL5M2lbg8fyZfGX3knph6I1liw1k4DrrcAljLy6HAhnyY6EUoUjJ21fDgu51PUA==} + dependencies: + '@daybrush/utils': 1.7.1 + '@egjs/agent': 2.4.2 + '@egjs/children-differ': 1.0.1 + '@scena/dragscroll': 1.2.0 + '@scena/matrix': 1.1.1 + css-to-mat: 1.0.3 + framework-utils: 1.1.0 + gesto: 1.10.0 + overlap-area: 1.1.0 + react-compat-css-styled: 1.0.8 + react-css-styled: 1.0.3_@daybrush+utils@1.7.1 + react-moveable: 0.32.9_@types+react@16.9.56 + transitivePeerDependencies: + - '@types/react' + dev: false + + /react-css-styled/1.0.3_@daybrush+utils@1.7.1: + resolution: {integrity: sha512-6H3aZPO66PYmYg9wx12WzOJpPlBEdA7O5JefCh+4SldlihVKBCxA6mityfWSGWL5ldOkJdHJWGwHR6nGPcVm+A==} + dependencies: + css-styled: 1.0.0_@daybrush+utils@1.7.1 + framework-utils: 1.1.0 + transitivePeerDependencies: + - '@daybrush/utils' + dev: false + /react-dom/18.2.0_react@18.2.0: resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -8747,6 +8885,32 @@ packages: scheduler: 0.23.0 dev: true + /react-moveable/0.32.9_@types+react@16.9.56: + resolution: {integrity: sha512-657rbOHxBahdHkffcDZ6jU+wqHdSiNRK1wPmjWpXShjOezvd/lUfKCqB/SEW5ICuzOf23LQqO29anTpC+BWvCA==} + peerDependencies: + '@types/react': ~16.9.0 + dependencies: + '@daybrush/utils': 1.7.1 + '@egjs/agent': 2.4.2 + '@egjs/children-differ': 1.0.1 + '@scena/dragscroll': 1.2.0 + '@scena/event-emitter': 1.0.5 + '@scena/matrix': 1.1.1 + '@types/react': 16.9.56 + css-to-mat: 1.0.3 + framework-utils: 1.1.0 + gesto: 1.10.0 + overlap-area: 1.1.0 + react-css-styled: 1.0.3_@daybrush+utils@1.7.1 + dev: false + + /react-simple-compat/1.2.3: + resolution: {integrity: sha512-vYepRjSriGRyEmFtSsTQoHWVQRbBMYR4ONATeZtuf8GDY8jWGkc6R4+lIb5rVhPBIkx3ru68bpl+9r8V4YA/nA==} + dependencies: + '@daybrush/utils': 1.7.1 + '@egjs/list-differ': 1.0.0 + dev: false + /react/18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -9403,6 +9567,10 @@ packages: engines: {node: '>=10.0.0'} dev: true + /string-hash/1.1.3: + resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + dev: false + /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -10123,6 +10291,29 @@ packages: engines: {node: '>= 0.8'} dev: true + /unplugin-auto-import/0.11.2_tz26lugnys4zsg624icbm2tdye: + resolution: {integrity: sha512-1+VwBfn9dtiYv9SQLKP1AvZolUbK9xTVeAT+iOcEk4EHSFUlmIqBVLEKI76cifSQTLOJ3rZyPrEgptf3SZNLlQ==} + engines: {node: '>=14'} + peerDependencies: + '@vueuse/core': '*' + peerDependenciesMeta: + '@vueuse/core': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + '@vueuse/core': 8.9.4_vue@3.2.37 + local-pkg: 0.4.2 + magic-string: 0.26.2 + unimport: 0.6.7_vite@2.9.15 + unplugin: 0.9.3_vite@2.9.15 + transitivePeerDependencies: + - esbuild + - rollup + - vite + - webpack + dev: true + /unplugin-auto-import/0.11.2_vite@2.9.15: resolution: {integrity: sha512-1+VwBfn9dtiYv9SQLKP1AvZolUbK9xTVeAT+iOcEk4EHSFUlmIqBVLEKI76cifSQTLOJ3rZyPrEgptf3SZNLlQ==} engines: {node: '>=14'} @@ -10801,6 +10992,20 @@ packages: ufo: 0.8.6 dev: true + /vue-demi/0.13.6_vue@3.2.37: + resolution: {integrity: sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.2.37 + /vue-demi/0.13.6_vue@3.2.40: resolution: {integrity: sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==} engines: {node: '>=12'} @@ -10910,6 +11115,15 @@ packages: '@vue/server-renderer': 3.2.40_vue@3.2.40 '@vue/shared': 3.2.40 + /vue3-moveable/0.4.9_@types+react@16.9.56: + resolution: {integrity: sha512-B5hLiVBcvqvflOydKOPYKrQhRZRMqbgfbpD2ZEalFKVqxJm2YRcE5al48Bq6K8w5Fg1ce3YvndfuYYgpQ0Vcfw==} + dependencies: + framework-utils: 1.1.0 + moveable: 0.29.9_@types+react@16.9.56 + transitivePeerDependencies: + - '@types/react' + dev: false + /wcwidth/1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: