{"_id":"lc-vue3","_rev":"4-61e45dad4264f6e351d02be480f13277","name":"lc-vue3","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.8":{"name":"lc-vue3","version":"0.0.8","keywords":["lowcode","designer","renderer","vue","form","form-builder"],"author":{"url":"https://github.com/imlinhanchao","name":"Hancel.Lin","email":"imlinhanchao@foxmail.com"},"license":"MIT","_id":"lc-vue3@0.0.8","maintainers":[{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"}],"homepage":"https://github.com/imlinhanchao/low-code#readme","bugs":{"url":"https://github.com/imlinhanchao/low-code/issues"},"dist":{"shasum":"54c6c99f120ca5f204ec9b0f6b39aa22da33a6af","tarball":"https://registry.npmjs.org/lc-vue3/-/lc-vue3-0.0.8.tgz","fileCount":6,"integrity":"sha512-VdG+MPH3VIkPBLymIgOeYIT94vwzIxvBE5xp9iFG234sGys5uYadq/zxmx0NFNVW7XRyj0skmJzB3NbwMfMNaA==","signatures":[{"sig":"MEYCIQCemZRW+eY/lRfCS2f7fWDp9oEUwfOMsSpdgJBRnwldDQIhAK+oaqS5DwCryQkOWncLt9vQMA4WvDTz5aSIqUjKGlGK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399895},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6a5f99f33f9a260855316d32dc6e6d25b7a2b299","release":{"branches":["master"]},"scripts":{"dev":"vite --host","build":"tsdown && vue-tsc --declaration --emitDeclarationOnly --outDir dist","docs:dev":"vitepress dev --host ./docs","demo:build":"vite build --outDir docs/.vitepress/dist/demo","docs:build":"vitepress build ./docs","page:build":"npm run docs:build && npm run demo:build","prepublishOnly":"npm run build"},"_npmUser":{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Configurable low code designer and renderer based on Vue 3","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@iconify/vue":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.29","less":"^4.5.1","vite":"^7.3.1","tsdown":"^0.21.0","vue-tsc":"^3.2.5","vitepress":"^1.6.4","typescript":"^5.9.3","@types/node":"^25.5.0","element-plus":"^2.13.5","@vitejs/plugin-vue":"^6.0.4","@low-code/element-plus":"*","@vitejs/plugin-vue-jsx":"^5.1.4","vitepress-plugin-pagefind":"^0.4.19"},"peerDependencies":{"vue":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lc-vue3_0.0.8_1774062671302_0.1946683368577653","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"lc-vue3","version":"0.1.0","keywords":["lowcode","designer","renderer","vue","form","form-builder"],"author":{"url":"https://github.com/imlinhanchao","name":"Hancel.Lin","email":"imlinhanchao@foxmail.com"},"license":"MIT","_id":"lc-vue3@0.1.0","maintainers":[{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"}],"homepage":"https://github.com/imlinhanchao/low-code#readme","bugs":{"url":"https://github.com/imlinhanchao/low-code/issues"},"dist":{"shasum":"cf28ef100cf0e66c24ce39506215ec2bc61fe623","tarball":"https://registry.npmjs.org/lc-vue3/-/lc-vue3-0.1.0.tgz","fileCount":8,"integrity":"sha512-mpiFQrbIc70RSa59iBteJkoXog0NN27iJdWzfFoCrqhpXtNiFbgCkV1cXYuCyvaRbO29hYfMDgV5CKjkiEbpEw==","signatures":[{"sig":"MEYCIQD9uS38GMk2qD8sfX5JXGE1sYSssKR4oKnGrJllX3cuegIhAPTd2By4ArSqdYp1v1qTr+MSeg/vYqWENv/3qubpsgYn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433211},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ace7136b4e213255c93abc4e64a7e7b355ce6873","release":{"branches":["master"]},"scripts":{"dev":"vite --host","build":"tsdown","docs:dev":"vitepress dev --host ./docs","demo:build":"vite build --outDir docs/.vitepress/dist/demo","docs:build":"vitepress build ./docs","page:build":"npm run docs:build && npm run demo:build","prepublishOnly":"npm run build"},"_npmUser":{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Configurable low code designer and renderer based on Vue 3","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@iconify/vue":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.29","less":"^4.5.1","vite":"^7.3.1","tsdown":"^0.21.0","vue-tsc":"^3.2.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/node":"^25.5.0","element-plus":"^2.13.5","unplugin-vue":"^7.1.1","rollup-plugin-dts":"^6.4.0","@vitejs/plugin-vue":"^6.0.4","@low-code/element-plus":"*","@vitejs/plugin-vue-jsx":"^5.1.4","vitepress-plugin-pagefind":"^0.4.19"},"peerDependencies":{"vue":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lc-vue3_0.1.0_1774072894233_0.09506061999560944","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"lc-vue3","version":"0.1.1","keywords":["lowcode","designer","renderer","vue","form","form-builder"],"author":{"url":"https://github.com/imlinhanchao","name":"Hancel.Lin","email":"imlinhanchao@foxmail.com"},"license":"MIT","_id":"lc-vue3@0.1.1","maintainers":[{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"}],"homepage":"https://github.com/imlinhanchao/low-code#readme","bugs":{"url":"https://github.com/imlinhanchao/low-code/issues"},"dist":{"shasum":"f6b2d82258faca8a78ca11b06ae5e707ad3d09b6","tarball":"https://registry.npmjs.org/lc-vue3/-/lc-vue3-0.1.1.tgz","fileCount":8,"integrity":"sha512-tVY7KXi5nOJKTlDOibdObfaoiVWJdFBBpMHSFncHzevQ3Dcx4CJ90q5eGUjagGo9ZSio/hYbjFV11Oqay4dI2Q==","signatures":[{"sig":"MEUCIQCuClYjYqhvlk6vxtkrygFD8O2X5eLGQRZpWa3vZ9GOJgIgLkVQRMgJXtEvOSRpNRCnEXIweJtILJ0QXpEdtRSWHPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433234},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./*":"./dist/*"},"gitHead":"ace7136b4e213255c93abc4e64a7e7b355ce6873","release":{"branches":["master"]},"scripts":{"dev":"vite --host","build":"tsdown","docs:dev":"vitepress dev --host ./docs","demo:build":"vite build --outDir docs/.vitepress/dist/demo","docs:build":"vitepress build ./docs","page:build":"npm run docs:build && npm run demo:build","prepublishOnly":"npm run build"},"_npmUser":{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Configurable low code designer and renderer based on Vue 3","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@iconify/vue":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.29","less":"^4.5.1","vite":"^7.3.1","tsdown":"^0.21.0","vue-tsc":"^3.2.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/node":"^25.5.0","element-plus":"^2.13.5","unplugin-vue":"^7.1.1","rollup-plugin-dts":"^6.4.0","@vitejs/plugin-vue":"^6.0.4","@low-code/element-plus":"*","@vitejs/plugin-vue-jsx":"^5.1.4","vitepress-plugin-pagefind":"^0.4.19"},"peerDependencies":{"vue":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lc-vue3_0.1.1_1774074586709_0.19269946488852163","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"lc-vue3","version":"0.1.2","description":"Configurable low code designer and renderer based on Vue 3","type":"module","workspaces":["packages/*"],"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"},"./*":"./dist/*"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"docs:dev":"vitepress dev --host ./docs","docs:build":"vitepress build ./docs","dev":"vite --host","demo:build":"vite build --outDir docs/.vitepress/dist/demo","build":"tsdown","page:build":"npm run docs:build && npm run demo:build","prepublishOnly":"npm run build"},"keywords":["lowcode","designer","renderer","vue","form","form-builder"],"bugs":{"url":"https://github.com/imlinhanchao/low-code/issues"},"homepage":"https://github.com/imlinhanchao/low-code#readme","author":{"name":"Hancel.Lin","email":"imlinhanchao@foxmail.com","url":"https://github.com/imlinhanchao"},"license":"MIT","peerDependencies":{"vue":">=3.0.0"},"devDependencies":{"@low-code/element-plus":"*","@types/node":"^25.5.0","@vitejs/plugin-vue":"^6.0.4","@vitejs/plugin-vue-jsx":"^5.1.4","element-plus":"^2.13.5","less":"^4.5.1","rollup-plugin-dts":"^6.4.0","tsdown":"^0.21.0","typescript":"^5.9.3","unplugin-vue":"^7.1.1","vite":"^7.3.1","vitepress":"^1.6.4","vitepress-plugin-pagefind":"^0.4.19","vue":"^3.5.29","vue-tsc":"^3.2.6"},"dependencies":{"@iconify/vue":"^5.0.0"},"release":{"branches":["master"]},"_id":"lc-vue3@0.1.2","gitHead":"9f3a5e5a94766ac04fd7fa13fc1b6e6f4cb1a183","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-emU0SQh/CQXlSWG1jIwA1DpXkTuKp688mmWBRKttmc7hn/Bs5Cs6QiA10HQgqZmejAEgz059s5ankjEDe48a1w==","shasum":"b2b014d9adc397ed8c51b71019f63037e8ce426c","tarball":"https://registry.npmjs.org/lc-vue3/-/lc-vue3-0.1.2.tgz","fileCount":8,"unpackedSize":433286,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHO1+j1pQfURqdfq9AZl/TRwPz5cN2TMUy7NNSTjicxnAiEA+4E5yCfCLCOGzKV+r7SmJLb+SX9H5XF8NoAgC2edvrQ="}]},"_npmUser":{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"},"directories":{},"maintainers":[{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lc-vue3_0.1.2_1774075024500_0.5821539801347153"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-21T03:11:11.301Z","modified":"2026-03-21T06:37:04.776Z","0.0.8":"2026-03-21T03:11:11.480Z","0.1.0":"2026-03-21T06:01:34.462Z","0.1.1":"2026-03-21T06:29:46.856Z","0.1.2":"2026-03-21T06:37:04.649Z"},"bugs":{"url":"https://github.com/imlinhanchao/low-code/issues"},"author":{"name":"Hancel.Lin","email":"imlinhanchao@foxmail.com","url":"https://github.com/imlinhanchao"},"license":"MIT","homepage":"https://github.com/imlinhanchao/low-code#readme","keywords":["lowcode","designer","renderer","vue","form","form-builder"],"description":"Configurable low code designer and renderer based on Vue 3","maintainers":[{"name":"imlinhanchao","email":"imlinhanchao@gmail.com"}],"readme":"English / [简体中文](https://github.com/imlinhanchao/low-code/blob/master/README_ZH.md) \n\n# Low Code Vue\n\nA configurable low-code form designer and renderer based on Vue 3.\n\n[![Documentation](https://img.shields.io/badge/Documentation-Online-green.svg)](https://lc.hancel.org)\n[![npm version](https://img.shields.io/npm/v/lc-vue3.svg)](https://www.npmjs.com/package/lc-vue3)\n[![License](https://img.shields.io/npm/l/lc-vue3.svg)](https://www.npmjs.com/package/lc-vue3)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/imlinhanchao/low-code)\n\n## Features\n\n- 🚀 **Vue 3 Support**: Developed using Vue 3 Composition API.\n- 🎨 **Designer & Renderer Decoupling**: Provides `LcDesigner` for visual design and `LcRenderer` for dynamic rendering.\n- 📦 **Component-based Architecture**: Supports custom component library extensions, with existing support for Element Plus (via `lc-ep`).\n- 📝 **Flexible Schema**: Uses JSON to define form structures, making it easy to store and transmit.\n\n## Installation\n\n```bash\nnpm install lc-vue3\n# Or using yarn / pnpm\npnpm add lc-vue3\n```\n\n> **Note**: This library typically needs to be used with `vue` (>=3.0.0) and a UI component library (such as `lc-ep`).\n\n## Quick Start\n\nAfter installing the core library `lc-vue3` and the component library `lc-ep`, you can import the designer and renderer components in your Vue 3 project:\n\n```bash\nnpm install lc-vue3 lc-ep element-plus\n```\n\nImport and use the designer and renderer in your Vue 3 project:\n\n```vue\n<template>\n  <div class=\"app\">\n    <!-- Designer Mode -->\n    <LcDesigner\n      v-if=\"mode === 'designer'\"\n      v-model=\"schema\"\n      :components=\"components\"\n    />\n\n    <!-- Preview/Renderer Mode -->\n    <LcRenderer\n      v-else\n      :schema=\"schema\"\n      :components=\"components\"\n      v-model=\"formData\"\n    />\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { LcDesigner, LcRenderer, layoutComponents } from 'lc-vue3'\nimport componentList from 'lc-ep'\nimport 'lc-vue3/style.css'\nimport 'lc-ep/style.css'\n\n// Combine built-in layout components and Element Plus component list\nconst components = [\n  {\n    group: 'Layout',\n    components: layoutComponents \n  },\n  ...componentList\n]\n\nconst mode = ref<'designer' | 'preview'>('designer')\nconst schema = ref({ widgets: [] })\nconst formData = ref({})\n</script>\n```\n\n## Core Components\n\n### LcDesigner\n\nA visual designer component used to generate form Schemas.\n\n- `v-model`: Binds the form Schema object.\n- `components`: List of injectable optional components.\n\n> [!NOTE]\n> All components in the designer can use the built-in variable `$model` to access the current component's data model, facilitating data binding and event handling.\n> You can also use `$global` to access globally shared data (if enabled).\n> If a component is inside a slot, you can use `$slot` to access slot properties.\n> The `$getRefs(id)` method can be used to get the component instance of a specified ID, facilitating cross-component communication.\n\n### LcRenderer\n\nA form renderer component that renders forms and drives data based on a Schema.\n\n- `schema`: Form definition JSON.\n- `components`: Component library required for rendering.\n- `v-model`: Binds form business data.\n- `v-model:global`: Binds globally shared data (optional).\n\n## Project Structure\n\n- `packages/element-plus`: Form components encapsulated based on Element Plus.\n- `src/designer`: Core implementation of the designer.\n- `src/renderer`: Core implementation of the renderer.\n- `src/layouts`: Built-in layout components (Card, Grid, Tabs, etc.).\n","readmeFilename":"README.md"}