From c7b51025d0899f59436fd3bd6d1b188066738357 Mon Sep 17 00:00:00 2001
From: braks <78412429+bcakmakoglu@users.noreply.github.com>
Date: Tue, 13 Dec 2022 14:39:02 +0100
Subject: [PATCH] refactor(background): move background into separate package
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
---
packages/background/.eslintrc.js | 8 +++
packages/background/README.md | 34 +++++++++
packages/background/package.json | 48 +++++++++++++
packages/background/src/Background.vue | 92 +++++++++++++++++++++++++
packages/background/src/NodeToolbar.vue | 91 ++++++++++++++++++++++++
packages/background/src/index.ts | 2 +
packages/background/src/types.ts | 25 +++++++
packages/background/tsconfig.json | 31 +++++++++
packages/background/vite.config.ts | 45 ++++++++++++
pnpm-lock.yaml | 19 +++++
10 files changed, 395 insertions(+)
create mode 100644 packages/background/.eslintrc.js
create mode 100644 packages/background/README.md
create mode 100644 packages/background/package.json
create mode 100644 packages/background/src/Background.vue
create mode 100644 packages/background/src/NodeToolbar.vue
create mode 100644 packages/background/src/index.ts
create mode 100644 packages/background/src/types.ts
create mode 100644 packages/background/tsconfig.json
create mode 100644 packages/background/vite.config.ts
diff --git a/packages/background/.eslintrc.js b/packages/background/.eslintrc.js
new file mode 100644
index 00000000..98c0e4cb
--- /dev/null
+++ b/packages/background/.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/background/README.md b/packages/background/README.md
new file mode 100644
index 00000000..82251afb
--- /dev/null
+++ b/packages/background/README.md
@@ -0,0 +1,34 @@
+# Vue Flow: Background Component
+
+This is a background component for Vue Flow.
+It can be used to create a background in your canvas.
+
+## 🛠Setup
+
+```bash
+# install
+$ yarn add @vue-flow/background
+
+# or
+$ npm i --save @vue-flow/background
+```
+
+## 🎮 Quickstart
+
+```vue
+
+
+
+
+
+
+
+
+```
diff --git a/packages/background/package.json b/packages/background/package.json
new file mode 100644
index 00000000..e79c4c8f
--- /dev/null
+++ b/packages/background/package.json
@@ -0,0 +1,48 @@
+{
+ "name": "@vue-flow/background",
+ "version": "1.0.0",
+ "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/background"
+ },
+ "homepage": "https://github.com/bcakmakoglu/vue-flow#readme",
+ "bugs": {
+ "url": "https://github.com/bcakmakoglu/vue-flow/issues"
+ },
+ "main": "./dist/vue-flow-plugin-background.js",
+ "module": "./dist/vue-flow-background.mjs",
+ "types": "./dist/index.d.ts",
+ "unpkg": "./dist/vue-flow-background.iife.js",
+ "jsdelivr": "./dist/vue-flow-background.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/background/src/Background.vue b/packages/background/src/Background.vue
new file mode 100644
index 00000000..8a04ff20
--- /dev/null
+++ b/packages/background/src/Background.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
diff --git a/packages/background/src/NodeToolbar.vue b/packages/background/src/NodeToolbar.vue
new file mode 100644
index 00000000..b42b7377
--- /dev/null
+++ b/packages/background/src/NodeToolbar.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/background/src/index.ts b/packages/background/src/index.ts
new file mode 100644
index 00000000..e7aaa4b7
--- /dev/null
+++ b/packages/background/src/index.ts
@@ -0,0 +1,2 @@
+export { default as Background } from './Background.vue'
+export * from './types'
diff --git a/packages/background/src/types.ts b/packages/background/src/types.ts
new file mode 100644
index 00000000..487583ca
--- /dev/null
+++ b/packages/background/src/types.ts
@@ -0,0 +1,25 @@
+export enum BackgroundVariant {
+ Lines = 'lines',
+ Dots = 'dots',
+}
+
+export interface BackgroundProps {
+ /** The background pattern variant, {@link BackgroundVariant} */
+ variant?: BackgroundVariant
+ /** Background pattern gap */
+ gap?: number
+ /** Background pattern size */
+ size?: number
+ /** Background pattern color */
+ patternColor?: string
+ /** Background color */
+ bgColor?: string
+ /** Background height */
+ height?: number
+ /** Background width */
+ width?: number
+ /** Background x-coordinate (offset x) */
+ x?: number
+ /** Background y-coordinate (offset y) */
+ y?: number
+}
diff --git a/packages/background/tsconfig.json b/packages/background/tsconfig.json
new file mode 100644
index 00000000..e9fd0ac1
--- /dev/null
+++ b/packages/background/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/background/vite.config.ts b/packages/background/vite.config.ts
new file mode 100644
index 00000000..5789c6c5
--- /dev/null
+++ b/packages/background/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-background',
+ name: 'vueFlowBackground',
+ },
+ 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 afdaf329..17530db8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -200,6 +200,25 @@ importers:
vite-svg-loader: 3.6.0
vue-tsc: 1.0.11_typescript@4.8.4
+ 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/core:
specifiers:
'@rollup/plugin-replace': ^5.0.1