{"_id":"@retailcrm/vue-formulario","name":"@retailcrm/vue-formulario","dist-tags":{"latest":"0.8.3"},"versions":{"0.8.3":{"name":"@retailcrm/vue-formulario","version":"0.8.3","license":"MIT","author":{"name":"RetailDriverLLC","email":"integration@retailcrm.ru"},"main":"dist/formulario.umd.js","module":"dist/formulario.esm.js","browser":{"./sfc":"src/index.ts"},"unpkg":"dist/formulario.min.js","web-types":"web-types.json","dependencies":{"is-url":"^1.2.4","vue-class-component":"^7.2.3","vue-property-decorator":"^8.4.2"},"peerDependencies":{"vue":"^2.6"},"bugs":{"url":"https://github.com/retailcrm/vue-formulario/issues"},"scripts":{"build":"npm run build:esm & npm run build:umd & npm run build:iife & wait && echo \"Build complete:\nesm: $(gzip -c dist/formulario.esm.js | wc -c)b gzip\numd: $(gzip -c dist/formulario.umd.js | wc -c)b gzip\nmin: $(gzip -c dist/formulario.min.js | wc -c)b gzip\"","build:esm":"rollup --config build/rollup.config.js --format es --file dist/formulario.esm.js","build:iife":"rollup --config build/rollup.iife.config.js --format iife --file dist/formulario.min.js","build:size":"gzip -c dist/formulario.esm.js | wc -c","build:umd":"rollup --config build/rollup.config.js --format umd --file dist/formulario.umd.js","lint":"eslint --ext .js,.mjs,.ts,.vue","release":"standard-version","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","release:major":"standard-version --release-as major","storybook:build":"vue-cli-service storybook:build -c storybook/config","storybook:serve":"vue-cli-service storybook:serve -p 6006 -c storybook/config","test":"NODE_ENV=test jest --config test/jest.conf.js","test:coverage":"NODE_ENV=test jest --config test/jest.conf.js --coverage","test:watch":"NODE_ENV=test jest --config test/jest.conf.js --watch"},"devDependencies":{"@babel/core":"^7.9.6","@babel/plugin-transform-modules-commonjs":"^7.9.6","@babel/preset-env":"^7.9.6","@commitlint/cli":"^12.1.4","@commitlint/config-conventional":"^12.1.4","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-buble":"^0.21.3","@rollup/plugin-commonjs":"^11.1.0","@rollup/plugin-node-resolve":"^7.1.3","@storybook/addon-actions":"^6.0.26","@storybook/addon-knobs":"^6.0.26","@storybook/addon-links":"^6.0.26","@storybook/addon-notes":"^5.3.21","@storybook/vue":"^6.0.26","@types/is-url":"^1.2.28","@types/jest":"^26.0.14","@typescript-eslint/eslint-plugin":"^6.16.0","@typescript-eslint/parser":"^6.16.0","@vue/cli-plugin-babel":"^4.3.1","@vue/cli-plugin-typescript":"^4.5.7","@vue/cli-service":"^4.5.4","@vue/component-compiler-utils":"^3.1.2","@vue/test-utils":"^1.0.2","autoprefixer":"^9.7.6","babel-core":"^7.0.0-bridge.0","babel-jest":"^25.5.1","bootstrap-scss":"^4.5.2","eslint":"^8.56.0","eslint-config-standard":"^17.1.0","eslint-friendly-formatter":"^4.0.1","eslint-plugin-import":"^2.29.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^6.1.1","eslint-plugin-vue":"^9.19.2","flush-promises":"^1.0.2","jest":"^26.5.2","jest-vue-preprocessor":"^1.7.1","node-sass":"^9.0.0","rollup":"^1.32.1","rollup-plugin-auto-external":"^2.0.0","rollup-plugin-internal":"^1.0.4","rollup-plugin-multi-input":"^1.1.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.27.3","rollup-plugin-vue":"^5.1.7","sass-loader":"^10.0.3","standard-version":"^9.3.0","ts-jest":"^26.4.1","typescript":"^4.9.5","vue":"^2.6.11","vue-cli-plugin-storybook":"^1.3.0","vue-jest":"^3.0.5","vue-runtime-helpers":"^1.1.2","vue-template-compiler":"^2.6.11","vue-template-es2015-compiler":"^1.9.1","watch":"^1.0.2"},"contributors":[{"name":"Justin Schroeder","email":"justin@wearebraid.com"}],"keywords":["vue","form","forms","validation","validate"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+ssh://git@github.com/retailcrm/vue-formulario.git"},"_id":"@retailcrm/vue-formulario@0.8.3","gitHead":"a4375f0a225eba17d4b71c9fc648385c540148c4","description":"Vue Formulario is a library, inspired by <a href=\"https://vueformulate.com\">Vue Formulate</a>, that handles the core logic for working with forms and gives full control on the form presentation.","homepage":"https://github.com/retailcrm/vue-formulario#readme","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-EhDyJk3jdVDOHGYuubkVWk8N/SMAsnMbWVTGPSpMRMTcUKjwlls11G4q6SOiPZ5tqlkUqb3RElaqFAL81HvlzQ==","shasum":"fa96c88a76a035a17c6a4d9934cb7206b102bb54","tarball":"https://registry.npmjs.org/@retailcrm/vue-formulario/-/vue-formulario-0.8.3.tgz","fileCount":12,"unpackedSize":152304,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3oCkjCQ2g3ja65/BzRf6qKzAqRBfpNc9AXu5iHfRLxAiBTM1dxcR6U93TEttLGzpkRHIR4e8VLKJoy06tQaUKdTw=="}]},"_npmUser":{"name":"retailcrm","email":"integration@retailcrm.ru"},"directories":{},"maintainers":[{"name":"retailcrm","email":"integration@retailcrm.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-formulario_0.8.3_1733492446878_0.2177071036580267"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-06T13:40:46.812Z","0.8.3":"2024-12-06T13:40:47.096Z","modified":"2024-12-06T13:40:47.328Z"},"maintainers":[{"name":"retailcrm","email":"integration@retailcrm.ru"}],"description":"Vue Formulario is a library, inspired by <a href=\"https://vueformulate.com\">Vue Formulate</a>, that handles the core logic for working with forms and gives full control on the form presentation.","homepage":"https://github.com/retailcrm/vue-formulario#readme","keywords":["vue","form","forms","validation","validate"],"repository":{"type":"git","url":"git+ssh://git@github.com/retailcrm/vue-formulario.git"},"contributors":[{"name":"Justin Schroeder","email":"justin@wearebraid.com"}],"author":{"name":"RetailDriverLLC","email":"integration@retailcrm.ru"},"bugs":{"url":"https://github.com/retailcrm/vue-formulario/issues"},"license":"MIT","readme":"## What is Vue Formulario?\n\nVue Formulario is a library, inspired by <a href=\"https://vueformulate.com\">Vue Formulate</a>, that handles the core logic\nfor working with forms and gives full control on the form presentation.\n\n## Examples\n\nEvery form control have to rendered inside FormularioField component. This component provides `id` and `context` in\nv-slot props. Control should use `context.model` as v-model and `context.runValidation` as handler for `blur` event\n(it is necessary for validation when property `validationBehavior` is `demand`). Errors list for a field can be\naccessed through `context.allErrors`.\n\nThe example below creates the authorization form from data:\n```json\n{\n    \"username\": \"\",\n    \"password\": \"\",\n    \"options\": {\n        \"anonymous\": false,\n        \"tags\": [\"test\"]\n    }\n}\n```\n\n```html\n<FormularioForm\n    v-model=\"formData\"\n    name=\"formName\"\n>\n    <FormularioField\n        v-slot=\"{ context }\"\n        name=\"username\"\n        validation=\"required|email\"\n        validation-behavior=\"live\"\n    >\n        <input\n            v-model=\"context.model\"\n            type=\"text\"\n            @blur=\"context.runValidation\"\n        >\n        <div v-if=\"context.allErrors.length > 0\">\n            <span\n                v-for=\"(error, index) in context.allErrors\"\n                :key=\"index\"\n            >\n                {{ error }}\n            </span>\n        </div>\n    </FormularioField>\n\n    <FormularioField\n        v-slot=\"{ context }\"\n        name=\"password\"\n        validation=\"required|min:4,length\"\n    >\n        <input\n            v-model=\"context.model\"\n            type=\"password\"\n        >\n    </FormularioField>\n\n    <FormularioFieldGroup name=\"options\">\n        <FormularioField\n            v-slot=\"{ context }\"\n            name=\"anonymous\"\n        >\n            <div>\n                <input\n                    id=\"options-anonymous\"\n                    v-model=\"context.model\"\n                    type=\"checkbox\"\n                >\n                <label for=\"options-anonymous\">As anonymous</label>\n            </div>\n        </FormularioField>\n    </FormularioFieldGroup>\n\n    <FormularioField\n        v-slot=\"{ context }\"\n        name=\"options.tags[0]\"\n    >\n        <input\n            v-model=\"context.model\"\n            type=\"text\"\n        >\n    </FormularioField>\n</FormularioForm>\n```\n\n## License\n\n[MIT](https://opensource.org/licenses/MIT)\n\nCopyright (c) 2020-present, [RetailDriver LLC](https://www.retailcrm.pro) <br>\nCopyright (c) 2020-present, [Braid LLC](https://www.wearebraid.com/)\n","readmeFilename":"README.md"}