├── .gitignore ├── LICENSE ├── README.md ├── babel.config.js ├── dist ├── vue-json-schema-form.common.js ├── vue-json-schema-form.common.js.map ├── vue-json-schema-form.css ├── vue-json-schema-form.umd.js ├── vue-json-schema-form.umd.js.map ├── vue-json-schema-form.umd.min.js └── vue-json-schema-form.umd.min.js.map ├── docs ├── .vuepress │ └── config.js ├── README.md └── guide │ ├── README.md │ ├── examples.md │ └── getting-started.md ├── package-lock.json ├── package.json ├── src ├── App.vue ├── components │ ├── Demo.vue │ ├── SchemaForm.vue │ ├── elements │ │ ├── CheckboxElement.vue │ │ ├── CheckboxGroupElement.vue │ │ ├── DatePickerElement.vue │ │ ├── FormElement.vue │ │ ├── FormElementMultiple.vue │ │ ├── FormElementWrapper.vue │ │ ├── NumberElement.vue │ │ ├── RadioButtonElement.vue │ │ ├── SelectElement.vue │ │ ├── TaginputElement.vue │ │ ├── TextElement.vue │ │ └── TextareaElement.vue │ └── index.js ├── main.js ├── schema │ └── schema.json └── utility │ └── json-schema-helpers.js └── vue.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | 4 | # local env files 5 | .env.local 6 | .env.*.local 7 | 8 | # Log files 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Editor directories and files 14 | .idea 15 | .vscode 16 | *.suo 17 | *.ntvs* 18 | *.njsproj 19 | *.sln 20 | *.sw* 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Collin Rickford 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-json-schema-form 2 | Generate forms from your JSON schemas! :sparkles: 3 | 4 | ## Background 5 | [JSON Schema](https://json-schema.org/) makes it possible to define form validation rules in an environment agnostic way by providing a generic standard for describing the expected properties of a JS object. This library accepts a JSON schema and generates an appropriate form to collect and validate data which is described by the schema. 6 | 7 | _TLDR; write validation rules once, use everywhere (client & server)_ 8 | 9 | For more background on this concept, see [this article](https://blog.apisyouwonthate.com/the-many-amazing-uses-of-json-schema-client-side-validation-c78a11fbde45) (inspiration of this library) 10 | 11 | ## Install 12 | 13 | Depends on [Vue](https://vuejs.org), [Ajv](https://ajv.js.org) for validation, and [Buefy](https://github.com/buefy/buefy) for the default form elements. 14 | ``` 15 | npm install vue-json-schema-form 16 | ``` 17 | 18 | ## Documentation 19 | 20 | [Online Documentation](https://crickford.github.io/vue-json-schema-form/) 21 | 22 | ## Demo 23 | Online demos: 24 | - [Basic](https://codepen.io/crickford/pen/vQmKqY) 25 | - [Custom Component (slots)](https://codepen.io/crickford/pen/ZmJqwd/) 26 | 27 | ### Run local demo 28 | 29 | Clone this repository, and run the following commands 30 | ``` 31 | npm install 32 | ``` 33 | ``` 34 | npm run serve 35 | ``` 36 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /dist/vue-json-schema-form.common.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack://VueJsonSchemaForm/webpack/bootstrap","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_iter-define.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-keys.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_is-array.js","webpack://VueJsonSchemaForm/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://VueJsonSchemaForm/./src/utility/json-schema-helpers.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-gopd.js","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxElement.vue?585e","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-dps.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_dom-create.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-gops.js","webpack://VueJsonSchemaForm/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_redefine.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-create.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_wks.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_library.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_cof.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_hide.js","webpack://VueJsonSchemaForm/./src/components/elements/FormElementWrapper.vue?6cc2","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_wks-ext.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-gpo.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_wks-define.js","webpack://VueJsonSchemaForm/./src/components/elements/FormElementWrapper.vue?ecb6","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxElement.vue?45dd","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_iter-create.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_to-integer.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_property-desc.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_to-object.js","webpack://VueJsonSchemaForm/./src/components/elements/RadioButtonElement.vue?4fbe","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-pie.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_shared.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_export.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-sap.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_shared-key.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_iobject.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_meta.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_to-iobject.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_has.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_to-primitive.js","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxGroupElement.vue?6869","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_global.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_fails.js","webpack://VueJsonSchemaForm/external {\"amd\":\"buefy\",\"commonjs\":\"buefy\",\"commonjs2\":\"buefy\",\"root\":\"Buefy\"}","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-gopn-ext.js","webpack://VueJsonSchemaForm/./src/components/elements/FormElementMultiple.vue?7879","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_core.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_iterators.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-dp.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/es6.symbol.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-gopn.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_ctx.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_to-length.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_descriptors.js","webpack://VueJsonSchemaForm/./src/components/elements/RadioButtonElement.vue?3c29","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxGroupElement.vue?94f8","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueJsonSchemaForm/external {\"amd\":\"ajv\",\"commonjs\":\"ajv\",\"commonjs2\":\"ajv\",\"root\":\"Ajv\"}","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_defined.js","webpack://VueJsonSchemaForm/./node_modules/foreach/index.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_array-includes.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_uid.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_an-object.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_is-object.js","webpack://VueJsonSchemaForm/./src/components/elements/FormElementMultiple.vue?177f","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_enum-keys.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_iter-step.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_a-function.js","webpack://VueJsonSchemaForm/./node_modules/json-pointer/index.js","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueJsonSchemaForm/./src/components/elements/FormElement.vue?57ec","webpack://VueJsonSchemaForm/./src/components/elements/FormElementWrapper.vue?06c3","webpack://VueJsonSchemaForm/src/components/elements/FormElementWrapper.vue","webpack://VueJsonSchemaForm/./src/components/elements/FormElementWrapper.vue?57ed","webpack://VueJsonSchemaForm/./src/components/elements/FormElementWrapper.vue?2707","webpack://VueJsonSchemaForm/./src/components/elements/TextElement.vue?3849","webpack://VueJsonSchemaForm/src/components/elements/TextElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/TextElement.vue?670f","webpack://VueJsonSchemaForm/./src/components/elements/TextElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/TextareaElement.vue?6222","webpack://VueJsonSchemaForm/src/components/elements/TextareaElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/TextareaElement.vue?b0e1","webpack://VueJsonSchemaForm/./src/components/elements/TextareaElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/NumberElement.vue?cca7","webpack://VueJsonSchemaForm/src/components/elements/NumberElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/NumberElement.vue?94cf","webpack://VueJsonSchemaForm/./src/components/elements/NumberElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/SelectElement.vue?90dd","webpack://VueJsonSchemaForm/src/components/elements/SelectElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/SelectElement.vue?da5c","webpack://VueJsonSchemaForm/./src/components/elements/SelectElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxElement.vue?39a2","webpack://VueJsonSchemaForm/src/components/elements/CheckboxElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxElement.vue?392b","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxElement.vue?7644","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxGroupElement.vue?d765","webpack://VueJsonSchemaForm/src/components/elements/CheckboxGroupElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxGroupElement.vue?7ca5","webpack://VueJsonSchemaForm/./src/components/elements/CheckboxGroupElement.vue?13dd","webpack://VueJsonSchemaForm/./src/components/elements/RadioButtonElement.vue?8ae8","webpack://VueJsonSchemaForm/src/components/elements/RadioButtonElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/RadioButtonElement.vue?1319","webpack://VueJsonSchemaForm/./src/components/elements/RadioButtonElement.vue?4499","webpack://VueJsonSchemaForm/./src/components/elements/FormElementMultiple.vue?8995","webpack://VueJsonSchemaForm/src/components/elements/FormElementMultiple.vue","webpack://VueJsonSchemaForm/./src/components/elements/FormElementMultiple.vue?4d29","webpack://VueJsonSchemaForm/./src/components/elements/FormElementMultiple.vue?3df9","webpack://VueJsonSchemaForm/./src/components/elements/DatePickerElement.vue?8435","webpack://VueJsonSchemaForm/src/components/elements/DatePickerElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/DatePickerElement.vue?2b73","webpack://VueJsonSchemaForm/./src/components/elements/DatePickerElement.vue","webpack://VueJsonSchemaForm/src/components/elements/FormElement.vue","webpack://VueJsonSchemaForm/./src/components/elements/FormElement.vue?dd3c","webpack://VueJsonSchemaForm/./src/components/elements/FormElement.vue","webpack://VueJsonSchemaForm/./node_modules/core-js/modules/_html.js","webpack://VueJsonSchemaForm/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueJsonSchemaForm/./src/components/SchemaForm.vue?7628","webpack://VueJsonSchemaForm/src/components/SchemaForm.vue","webpack://VueJsonSchemaForm/./src/components/SchemaForm.vue?03e8","webpack://VueJsonSchemaForm/./src/components/SchemaForm.vue","webpack://VueJsonSchemaForm/./src/components/index.js","webpack://VueJsonSchemaForm/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["prune","input","Date","toISOString","slice","Array","isArray","output","member","value","undefined","Object","keys","length","push","scaffold","f","type","item","properties","items","merge","first","second","scaffoldFromSchema","schema","func","deepMerge","obj1","obj2","pruneEmptyMembers","obj","pruned","VueJsonSchemaForm","install","Vue","use","Buefy","component","SchemaForm"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AC5FA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;ACxCA,YAAY,mBAAO,CAAC,MAAW;AAC/B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,aAAa,mBAAO,CAAC,MAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACVA;;;;;;;;ACAA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;ACJA,SAAS,mBAAO,CAAC,MAAc;AAC/B,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA,CAAC;AACD;AACA;AACA;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;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAa;AACnC,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,cAAc,mBAAO,CAAC,MAAkB;AACxC,cAAc,mBAAO,CAAC,MAAoB;AAC1C,YAAY,mBAAO,CAAC,MAAgB;AACpC,UAAU,mBAAO,CAAC,MAAc;AAChC,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE,mBAAO,CAAC,MAAgB;AAC1B,EAAE,mBAAO,CAAC,MAAe;AACzB,EAAE,mBAAO,CAAC,MAAgB;;AAE1B,sBAAsB,mBAAO,CAAC,MAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,oCAAoC,mBAAO,CAAC,MAAS;AACrD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzOA;AACA,YAAY,mBAAO,CAAC,MAAyB;AAC7C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;;;;;;;;ACNA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA,kBAAkB,mBAAO,CAAC,MAAQ;AAClC;AACA,0CAA0C,mBAAO,CAAC,MAAS,6BAA6B;AACxF;AACA;AACA;;;;;;;;ACNA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA,2DAA2D;AAC3D;;;;;;;;ACLA;AACA,kBAAkB,mBAAO,CAAC,MAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;ACHD,uC;;;;;;;;ACAA;AAAA;AAAA;AAAkf,CAAgB,8gBAAG,EAAC,C;;;;;;;ACAtgB,mBAAO,CAAC,MAAe;;;;;;;;ACAvB,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,gC;;;;;;;ACAA;AACA;AACA;AACA;AACA;;;;;;;;;ACHA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpBA;AACA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAAgB,MAAM,mBAAO,CAAC,MAAU;AAClE,+BAA+B,mBAAO,CAAC,MAAe,gBAAgB,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;;ACFD;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA,uC;;;;;;;ACAA;AACA,cAAc,mBAAO,CAAC,MAAgB;AACtC,WAAW,mBAAO,CAAC,MAAgB;AACnC,UAAU,mBAAO,CAAC,MAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACdA;AACA,UAAU;AACV;;;;;;;;ACFA;AACA;AACA;AACA;;;;;;;;;ACHa;;AAEb,WAAW,mBAAO,CAAC,MAAS;AAC5B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa;AACb;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,yBAAyB,WAAW;AACpC,oCAAoC,qDAAqD;AACzF;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iCAAiC,WAAW;AAC5C;AACA;;;;;;;;AC7NA;AACA;AACA;AACA;;;;;;;;;;;;ACHA,0BAA0B,aAAa,0BAA0B,wBAAwB,oBAAoB,uBAAuB,sCAAsC,KAAK,yBAAyB,6BAA6B;AACrO;;;;;;ACDA,IAAI,kEAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,sBAAsB,oBAAoB,iHAAiH,sBAAsB,uGAAuG,0BAA0B,eAAe,8CAA8C,KAAK,yBAAyB,+BAA+B,EAAE;AACvgB,IAAI,2EAAe;;;;;;;;;;;;;;ACQnB;AACA;AACA,4BADA;AAEA;AACA;AACA;AAAA;AAAA;AAFA,GAFA;AAMA,UACA,QADA,EAEA,OAFA,CANA;AAUA,MAVA,kBAUA;AACA;AACA;AADA;AAGA,GAdA;AAeA;AACA,eADA,uBACA,KADA,EACA,KADA,EACA;AACA;AACA;AACA;AAJA;AAfA,G;;ACV2V,CAAgB,kIAAG,EAAC,C;;;;;;;;ACAlQ;AACvC;AACL;AACqC;;;AAGtG;AAC6F;AAC7F,IAAI,4BAAS,GAAG,8CAAU;AAC1B,EAAE,mDAAM;AACR,EAAE,kEAAM;AACR,EAAE,2EAAe;AAC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","file":"VueJsonSchemaForm.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","// Recursively purge empty values\nconst prune = function (input) {\n if (typeof (input) === 'object') {\n if (input instanceof Date) {\n // date handling\n return input.toISOString().slice(0, 10)\n } else if (!Array.isArray(input)) {\n let output = {}\n for (const member in input) {\n const value = prune(input[member])\n if (value !== undefined) {\n output[member] = value\n }\n }\n if (Object.keys(output).length > 0) {\n return output\n }\n } else {\n let output = []\n for (const member of input) {\n const value = prune(member)\n if (value !== undefined) {\n output.push(value)\n }\n }\n if (output.length > 0) {\n return output\n }\n }\n } else if (input !== undefined && input !== '') {\n return input\n }\n}\n\n// Recursively scaffold a model given a schema\nconst scaffold = function (input, f) {\n if (input.type === 'object') {\n let output = {}\n for (const item in input.properties) {\n output[item] = scaffold(input.properties[item], f)\n }\n return output\n } else if (input.type === 'array') {\n return [scaffold(input.items, f)]\n } else {\n return f === undefined ? f : f(input)\n }\n}\n\n// Recursively combine two objects\nconst merge = function (first, second) {\n if (typeof (first) === 'object' && typeof (second) === 'object') {\n if (!Array.isArray(first)) {\n let output = {}\n for (const member in first) {\n output[member] = merge(first[member], second[member])\n }\n return output\n } else {\n // return second array only if it is not empty and its first member has non-empty values\n return Array.isArray(second) && second.length > 0 && prune(second[0]) !== undefined ? second : first\n }\n } else {\n return (second !== undefined) ? second : first\n }\n}\n\nfunction scaffoldFromSchema(schema, func) {\n return scaffold(schema, func)\n}\n\nfunction deepMerge(obj1, obj2) {\n return merge(obj1, obj2)\n}\n\nfunction pruneEmptyMembers(obj) {\n const pruned = prune(obj)\n return pruned === undefined ? {} : pruned\n}\n\nexport { scaffoldFromSchema, deepMerge, pruneEmptyMembers }\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// extracted by mini-css-extract-plugin","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","exports.f = Object.getOwnPropertySymbols;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementWrapper.vue?vue&type=style&index=0&id=84fd0a7c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementWrapper.vue?vue&type=style&index=0&id=84fd0a7c&scoped=true&lang=css&\"","exports.f = require('./_wks');\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","// extracted by mini-css-extract-plugin","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxElement.vue?vue&type=style&index=0&id=71c273b0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxElement.vue?vue&type=style&index=0&id=71c273b0&scoped=true&lang=css&\"","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioButtonElement.vue?vue&type=style&index=0&id=4613c018&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioButtonElement.vue?vue&type=style&index=0&id=4613c018&scoped=true&lang=css&\"","exports.f = {}.propertyIsEnumerable;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// extracted by mini-css-extract-plugin","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = require(\"buefy\");","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementMultiple.vue?vue&type=style&index=0&id=58c46062&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementMultiple.vue?vue&type=style&index=0&id=58c46062&scoped=true&lang=css&\"","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = {};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// extracted by mini-css-extract-plugin","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxGroupElement.vue?vue&type=style&index=0&id=6f617e2c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxGroupElement.vue?vue&type=style&index=0&id=6f617e2c&scoped=true&lang=css&\"","require('./_wks-define')('asyncIterator');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","module.exports = require(\"ajv\");","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// extracted by mini-css-extract-plugin","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","'use strict';\n\nvar each = require('foreach');\nmodule.exports = api;\n\n\n/**\n * Convenience wrapper around the api.\n * Calls `.get` when called with an `object` and a `pointer`.\n * Calls `.set` when also called with `value`.\n * If only supplied `object`, returns a partially applied function, mapped to the object.\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n * @param value\n * @returns {*}\n */\n\nfunction api (obj, pointer, value) {\n // .set()\n if (arguments.length === 3) {\n return api.set(obj, pointer, value);\n }\n // .get()\n if (arguments.length === 2) {\n return api.get(obj, pointer);\n }\n // Return a partially applied function on `obj`.\n var wrapped = api.bind(api, obj);\n\n // Support for oo style\n for (var name in api) {\n if (api.hasOwnProperty(name)) {\n wrapped[name] = api[name].bind(wrapped, obj);\n }\n }\n return wrapped;\n}\n\n\n/**\n * Lookup a json pointer in an object\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n * @returns {*}\n */\napi.get = function get (obj, pointer) {\n var refTokens = Array.isArray(pointer) ? pointer : api.parse(pointer);\n\n for (var i = 0; i < refTokens.length; ++i) {\n var tok = refTokens[i];\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok);\n }\n obj = obj[tok];\n }\n return obj;\n};\n\n/**\n * Sets a value on an object\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n * @param value\n */\napi.set = function set (obj, pointer, value) {\n var refTokens = Array.isArray(pointer) ? pointer : api.parse(pointer),\n nextTok = refTokens[0];\n\n for (var i = 0; i < refTokens.length - 1; ++i) {\n var tok = refTokens[i];\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length;\n }\n nextTok = refTokens[i + 1];\n\n if (!(tok in obj)) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = [];\n } else {\n obj[tok] = {};\n }\n }\n obj = obj[tok];\n }\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length;\n }\n obj[nextTok] = value;\n return this;\n};\n\n/**\n * Removes an attribute\n *\n * @param {Object} obj\n * @param {String|Array} pointer\n */\napi.remove = function (obj, pointer) {\n var refTokens = Array.isArray(pointer) ? pointer : api.parse(pointer);\n var finalToken = refTokens[refTokens.length -1];\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"');\n }\n\n var parent = api.get(obj, refTokens.slice(0, -1));\n if (Array.isArray(parent)) {\n var index = +finalToken;\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"');\n }\n\n Array.prototype.splice.call(parent, index, 1);\n } else {\n delete parent[finalToken];\n }\n};\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n *\n * @param obj\n * @param {function} descend\n * @returns {}\n */\napi.dict = function dict (obj, descend) {\n var results = {};\n api.walk(obj, function (value, pointer) {\n results[pointer] = value;\n }, descend);\n return results;\n};\n\n/**\n * Iterates over an object\n * Iterator: function (value, pointer) {}\n *\n * @param obj\n * @param {function} iterator\n * @param {function} descend\n */\napi.walk = function walk (obj, iterator, descend) {\n var refTokens = [];\n\n descend = descend || function (value) {\n var type = Object.prototype.toString.call(value);\n return type === '[object Object]' || type === '[object Array]';\n };\n\n (function next (cur) {\n each(cur, function (value, key) {\n refTokens.push(String(key));\n if (descend(value)) {\n next(value);\n } else {\n iterator(value, api.compile(refTokens));\n }\n refTokens.pop();\n });\n }(obj));\n};\n\n/**\n * Tests if an object has a value for a json pointer\n *\n * @param obj\n * @param pointer\n * @returns {boolean}\n */\napi.has = function has (obj, pointer) {\n try {\n api.get(obj, pointer);\n } catch (e) {\n return false;\n }\n return true;\n};\n\n/**\n * Escapes a reference token\n *\n * @param str\n * @returns {string}\n */\napi.escape = function escape (str) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1');\n};\n\n/**\n * Unescapes a reference token\n *\n * @param str\n * @returns {string}\n */\napi.unescape = function unescape (str) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~');\n};\n\n/**\n * Converts a json pointer into a array of reference tokens\n *\n * @param pointer\n * @returns {Array}\n */\napi.parse = function parse (pointer) {\n if (pointer === '') { return []; }\n if (pointer.charAt(0) !== '/') { throw new Error('Invalid JSON pointer: ' + pointer); }\n return pointer.substring(1).split(/\\//).map(api.unescape);\n};\n\n/**\n * Builds a json pointer from a array of reference tokens\n *\n * @param refTokens\n * @returns {string}\n */\napi.compile = function compile (refTokens) {\n if (refTokens.length === 0) { return ''; }\n return '/' + refTokens.map(api.escape).join('/');\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,{tag:\"component\",attrs:{\"schema\":_vm.schema,\"value\":_vm.value},on:{\"input\":function($event){_vm.$emit('input', $event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',{staticClass:\"field\"},[(_vm.schema.title)?_c('legend',[_vm._v(_vm._s(_vm.schema.title))]):_vm._e(),(_vm.schema.description)?_c('div',{staticClass:\"content\"},[_vm._v(_vm._s(_vm.schema.description))]):_vm._e(),_vm._l((_vm.schema.properties),function(child,key){return _c('form-element',{key:key,attrs:{\"schema\":child,\"value\":_vm.internalValue[key]},on:{\"input\":function($event){_vm.updateValue($event, key)}}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementWrapper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementWrapper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormElementWrapper.vue?vue&type=template&id=84fd0a7c&scoped=true&\"\nimport script from \"./FormElementWrapper.vue?vue&type=script&lang=js&\"\nexport * from \"./FormElementWrapper.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FormElementWrapper.vue?vue&type=style&index=0&id=84fd0a7c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"84fd0a7c\",\n null\n \n)\n\ncomponent.options.__file = \"FormElementWrapper.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-field',{attrs:{\"label\":_vm.schema.title,\"message\":_vm.schema.description}},[_c('b-input',{attrs:{\"value\":_vm.value,\"placeholder\":_vm.schema.example},on:{\"input\":function($event){_vm.$emit('input', $event)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextElement.vue?vue&type=template&id=73d45b7c&\"\nimport script from \"./TextElement.vue?vue&type=script&lang=js&\"\nexport * from \"./TextElement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"TextElement.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-field',{attrs:{\"label\":_vm.schema.title,\"message\":_vm.schema.description}},[_c('b-input',{attrs:{\"type\":\"textarea\",\"minlength\":_vm.schema.minLength,\"maxlength\":_vm.schema.maxLength,\"value\":_vm.value},on:{\"input\":function($event){_vm.$emit('input', $event)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextareaElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextareaElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextareaElement.vue?vue&type=template&id=7c5a2908&\"\nimport script from \"./TextareaElement.vue?vue&type=script&lang=js&\"\nexport * from \"./TextareaElement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"TextareaElement.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-field',{attrs:{\"label\":_vm.schema.title,\"message\":_vm.schema.description}},[_c('b-input',{attrs:{\"type\":\"number\",\"min\":_vm.schema.minimum,\"max\":_vm.schema.maximum,\"step\":_vm.schema.type === 'number' ? 'any': '1',\"value\":_vm.value},on:{\"input\":function($event){_vm.$emit('input', Number($event))}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NumberElement.vue?vue&type=template&id=11c3370a&\"\nimport script from \"./NumberElement.vue?vue&type=script&lang=js&\"\nexport * from \"./NumberElement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"NumberElement.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-field',{attrs:{\"label\":_vm.schema.title,\"message\":_vm.schema.description}},[_c('b-select',{attrs:{\"value\":_vm.value,\"placeholder\":_vm.schema.title},on:{\"input\":function($event){_vm.$emit('input', $event)}}},_vm._l((_vm.schema.enum),function(item){return _c('option',{key:item,domProps:{\"value\":item}},[_vm._v(\"\\n \"+_vm._s(item)+\"\\n \")])}))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SelectElement.vue?vue&type=template&id=090bac4f&\"\nimport script from \"./SelectElement.vue?vue&type=script&lang=js&\"\nexport * from \"./SelectElement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"SelectElement.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field checkbox-field\"},[_c('b-checkbox',{attrs:{\"value\":_vm.value},on:{\"input\":function($event){_vm.$emit('input', $event)}}},[_c('span',{staticClass:\"checkbox-title\"},[_vm._v(_vm._s(_vm.schema.title))]),(_vm.schema.description)?_c('p',{staticClass:\"help checkbox-desc\"},[_vm._v(_vm._s(_vm.schema.description))]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxElement.vue?vue&type=template&id=71c273b0&scoped=true&\"\nimport script from \"./CheckboxElement.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxElement.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckboxElement.vue?vue&type=style&index=0&id=71c273b0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71c273b0\",\n null\n \n)\n\ncomponent.options.__file = \"CheckboxElement.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.schema.title)?_c('label',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.schema.title))]):_vm._e(),_vm._l((_vm.schema.items.anyOf),function(item,index){return _c('div',{key:index,staticClass:\"field checkbox-field\"},[_c('b-checkbox',{attrs:{\"value\":_vm.items.indexOf(item.enum[0]) !== -1},on:{\"input\":function($event){_vm.updateValue($event, index)}}},[_c('span',{staticClass:\"checkbox-title\"},[_vm._v(_vm._s(item.title))]),(item.description)?_c('p',{staticClass:\"help checkbox-desc\"},[_vm._v(_vm._s(item.description))]):_vm._e()])],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxGroupElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxGroupElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxGroupElement.vue?vue&type=template&id=6f617e2c&scoped=true&\"\nimport script from \"./CheckboxGroupElement.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxGroupElement.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckboxGroupElement.vue?vue&type=style&index=0&id=6f617e2c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f617e2c\",\n null\n \n)\n\ncomponent.options.__file = \"CheckboxGroupElement.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},_vm._l((_vm.schema.anyOf),function(item,index){return _c('div',{key:index,staticClass:\"field radio-field\"},[_c('b-radio',{attrs:{\"value\":_vm.value,\"native-value\":item.enum[0]},on:{\"input\":function($event){_vm.$emit('input', $event)}}},[_c('span',{staticClass:\"radio-title\"},[_vm._v(_vm._s(item.title))])])],1)}))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioButtonElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioButtonElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RadioButtonElement.vue?vue&type=template&id=4613c018&scoped=true&\"\nimport script from \"./RadioButtonElement.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioButtonElement.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RadioButtonElement.vue?vue&type=style&index=0&id=4613c018&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4613c018\",\n null\n \n)\n\ncomponent.options.__file = \"RadioButtonElement.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',{staticClass:\"field\"},[(_vm.schema.title)?_c('legend',[_vm._v(_vm._s(_vm.schema.title))]):_vm._e(),_vm._l((_vm.items),function(item,index){return _c('div',{key:index,staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('form-element',{attrs:{\"schema\":_vm.schema.items,\"value\":item},on:{\"input\":function($event){_vm.updateValue($event, index)}}})],1),_c('div',{staticClass:\"column is-narrow\"},[(_vm.items.length > 0)?_c('button',{key:(\"remove-\" + index),staticClass:\"button is-danger\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.items.splice(index, 1)}}},[_vm._v(\"Remove\")]):_vm._e()])])}),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.addItem()}}},[_vm._v(\"Add Item\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementMultiple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElementMultiple.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormElementMultiple.vue?vue&type=template&id=58c46062&scoped=true&\"\nimport script from \"./FormElementMultiple.vue?vue&type=script&lang=js&\"\nexport * from \"./FormElementMultiple.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FormElementMultiple.vue?vue&type=style&index=0&id=58c46062&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58c46062\",\n null\n \n)\n\ncomponent.options.__file = \"FormElementMultiple.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-field',{attrs:{\"label\":_vm.schema.title,\"message\":_vm.schema.description}},[_c('b-datepicker',{attrs:{\"value\":_vm.value,\"placeholder\":\"Click to select date\"},on:{\"input\":function($event){_vm.$emit('input', $event)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatePickerElement.vue?vue&type=template&id=41956666&\"\nimport script from \"./DatePickerElement.vue?vue&type=script&lang=js&\"\nexport * from \"./DatePickerElement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"DatePickerElement.vue\"\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormElement.vue?vue&type=template&id=2bef93fe&\"\nimport script from \"./FormElement.vue?vue&type=script&lang=js&\"\nexport * from \"./FormElement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"FormElement.vue\"\nexport default component.exports","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_vm._t(\"header\",[_c('b-notification',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeErrorMessages.length),expression:\"activeErrorMessages.length\"}],attrs:{\"type\":\"is-danger\",\"closable\":false,\"id\":\"error-messages\"}},_vm._l((_vm.activeErrorMessages),function(error,index){return _c('div',{key:index},[_c('div',[_vm._v(_vm._s(error))])])}))],{errorMessages:_vm.activeErrorMessages}),_vm._l((_vm.schema.properties),function(property,key){return [_vm._t(key,[_c(_vm.element,{key:key,tag:\"component\",attrs:{\"schema\":property,\"value\":_vm.items[key]},on:{\"input\":function($event){_vm.updateValue($event, key)}}})],{item:{key: key, schema: property, value: _vm.items[key], update: _vm.updateValue}})]}),_vm._t(\"actions\",[_vm._m(0)])],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"control\"},[_c('button',{staticClass:\"button is-primary\",attrs:{\"type\":\"submit\"}},[_c('span',[_vm._v(\"Submit\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SchemaForm.vue?vue&type=template&id=4a461e78&\"\nimport script from \"./SchemaForm.vue?vue&type=script&lang=js&\"\nexport * from \"./SchemaForm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"SchemaForm.vue\"\nexport default component.exports","import Buefy from 'buefy'\nimport SchemaForm from '@/components/SchemaForm'\n\nconst VueJsonSchemaForm = {\n install(Vue) {\n Vue.use(Buefy)\n Vue.component('SchemaForm', SchemaForm)\n }\n}\n\nexport default VueJsonSchemaForm\n\nexport { SchemaForm }\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/vue-json-schema-form.css: -------------------------------------------------------------------------------- 1 | fieldset[data-v-84fd0a7c]{padding:10px;border:none;border-left:4px solid #ddd}fieldset>legend[data-v-84fd0a7c]{font-weight:700}.checkbox-desc[data-v-71c273b0],.checkbox-title[data-v-71c273b0]{display:block;padding-left:10px}.checkbox-field[data-v-6f617e2c]{padding-left:15px}.checkbox-desc[data-v-6f617e2c],.checkbox-title[data-v-6f617e2c]{display:block;padding-left:10px}.radio-field[data-v-4613c018]{padding-left:15px}.radio-title[data-v-4613c018]{display:block;padding-left:10px}fieldset[data-v-58c46062]{padding:10px;border:none;border-left:4px solid #ddd}fieldset>legend[data-v-58c46062]{font-weight:700} -------------------------------------------------------------------------------- /dist/vue-json-schema-form.umd.min.js: -------------------------------------------------------------------------------- 1 | (function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("buefy"),require("ajv")):"function"===typeof define&&define.amd?define(["buefy","ajv"],e):"object"===typeof exports?exports["VueJsonSchemaForm"]=e(require("buefy"),require("ajv")):t["VueJsonSchemaForm"]=e(t["Buefy"],t["Ajv"])})("undefined"!==typeof self?self:this,function(t,e){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),c=n("84f2"),u=n("41a0"),s=n("7f20"),l=n("38fd"),f=n("2b4c")("iterator"),p=!([].keys&&"next"in[].keys()),m="@@iterator",h="keys",v="values",d=function(){return this};t.exports=function(t,e,n,b,y,_,g){u(n,e,b);var x,O,S,j=function(t){if(!p&&t in k)return k[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},E=e+" Iterator",w=y==v,P=!1,k=t.prototype,C=k[f]||k[m]||y&&k[y],T=C||j(y),F=y?w?j("entries"):T:void 0,M="Array"==e&&k.entries||C;if(M&&(S=l(M.call(new t)),S!==Object.prototype&&S.next&&(s(S,E,!0),r||"function"==typeof S[f]||a(S,f,d))),w&&C&&C.name!==v&&(P=!0,T=function(){return C.call(this)}),r&&!g||!p&&!P&&k[f]||a(k,f,T),c[e]=T,c[E]=d,y)if(x={values:w?T:j(v),keys:_?T:j(h),entries:F},g)for(O in x)O in k||o(k,O,x[O]);else i(i.P+i.F*(p||P),e,x);return x}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},"11da":function(t,e,n){"use strict";n("ac4d"),n("8a81"),n("ac6a"),n("cadf"),n("456d");function r(t){return r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(t){return i="function"===typeof Symbol&&"symbol"===r(Symbol.iterator)?function(t){return r(t)}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":r(t)},i(t)}n.d(e,"b",function(){return c}),n.d(e,"a",function(){return u});var o=function t(e){if("object"===i(e)){if(e instanceof Date)return e.toISOString().slice(0,10);if(Array.isArray(e)){var n=[],r=!0,o=!1,a=void 0;try{for(var c,u=e[Symbol.iterator]();!(r=(c=u.next()).done);r=!0){var s=c.value,l=t(s);void 0!==l&&n.push(l)}}catch(h){o=!0,a=h}finally{try{r||null==u.return||u.return()}finally{if(o)throw a}}if(n.length>0)return n}else{var f={};for(var p in e){var m=t(e[p]);void 0!==m&&(f[p]=m)}if(Object.keys(f).length>0)return f}}else if(void 0!==e&&""!==e)return e},a=function t(e,n){if("object"===e.type){var r={};for(var i in e.properties)r[i]=t(e.properties[i],n);return r}return"array"===e.type?[t(e.items,n)]:void 0===n?n:n(e)};function c(t,e){return a(t,e)}function u(t){var e=o(t);return void 0===e?{}:e}},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),c=n("69a8"),u=n("c69a"),s=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?s:function(t,e){if(t=o(t),e=a(e,!0),u)try{return s(t,e)}catch(n){}if(c(t,e))return i(!r.f.call(t,e),t[e])}},"13bb":function(t,e,n){},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),c=a.length,u=0;while(c>u)r.f(t,n=a[u++],e[n]);return t}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},2877:function(t,e,n){"use strict";function r(t,e,n,r,i,o,a,c){var u,s="function"===typeof t?t.options:t;if(e&&(s.render=e,s.staticRenderFns=n,s._compiled=!0),r&&(s.functional=!0),o&&(s._scopeId="data-v-"+o),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},s._ssrRegister=u):i&&(u=c?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(s.functional){s._injectStyles=u;var l=s.render;s.render=function(t,e){return u.call(e),l(t,e)}}else{var f=s.beforeCreate;s.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:s}}n.d(e,"a",function(){return r})},"2aba":function(t,e,n){var r=n("7726"),i=n("32e9"),o=n("69a8"),a=n("ca5a")("src"),c="toString",u=Function[c],s=(""+u).split(c);n("8378").inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,c){var u="function"==typeof n;u&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(u&&(o(n,a)||i(n,a,t[e]?""+t[e]:s.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,c,function(){return"function"==typeof this&&this[a]||u.call(this)})},"2aeb":function(t,e,n){var r=n("cb7c"),i=n("1495"),o=n("e11e"),a=n("613b")("IE_PROTO"),c=function(){},u="prototype",s=function(){var t,e=n("230e")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),s=t.F;while(r--)delete s[u][o[r]];return s()};t.exports=Object.create||function(t,e){var n;return null!==t?(c[u]=r(t),n=new c,c[u]=null,n[a]=t):n=s(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,c=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};c.store=r},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"34b3":function(t,e,n){"use strict";var r=n("3b95"),i=n.n(r);i.a},"37c8":function(t,e,n){e.f=n("2b4c")},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"3a72":function(t,e,n){var r=n("7726"),i=n("8378"),o=n("2d00"),a=n("37c8"),c=n("86cc").f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||c(e,t,{value:a.f(t)})}},"3b95":function(t,e,n){},"3ef3":function(t,e,n){"use strict";var r=n("13bb"),i=n.n(r);i.a},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",function(){return function(t){return i(r(t))}})},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"4bf8":function(t,e,n){var r=n("be13");t.exports=function(t){return Object(r(t))}},5091:function(t,e,n){"use strict";var r=n("a338"),i=n.n(r);i.a},"52a7":function(t,e){e.f={}.propertyIsEnumerable},5537:function(t,e,n){var r=n("8378"),i=n("7726"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},"5ca1":function(t,e,n){var r=n("7726"),i=n("8378"),o=n("32e9"),a=n("2aba"),c=n("9b43"),u="prototype",s=function(t,e,n){var l,f,p,m,h=t&s.F,v=t&s.G,d=t&s.S,b=t&s.P,y=t&s.B,_=v?r:d?r[e]||(r[e]={}):(r[e]||{})[u],g=v?i:i[e]||(i[e]={}),x=g[u]||(g[u]={});for(l in v&&(n=e),n)f=!h&&_&&void 0!==_[l],p=(f?_:n)[l],m=y&&f?c(p,r):b&&"function"==typeof p?c(Function.call,p):p,_&&a(_,l,p,t&s.U),g[l]!=p&&o(g,l,m),b&&x[l]!=p&&(x[l]=p)};r.core=i,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},"5eda":function(t,e,n){var r=n("5ca1"),i=n("8378"),o=n("79e5");t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},"613b":function(t,e,n){var r=n("5537")("keys"),i=n("ca5a");t.exports=function(t){return r[t]||(r[t]=i(t))}},"626a":function(t,e,n){var r=n("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"67ab":function(t,e,n){var r=n("ca5a")("meta"),i=n("d3f4"),o=n("69a8"),a=n("86cc").f,c=0,u=Object.isExtensible||function(){return!0},s=!n("79e5")(function(){return u(Object.preventExtensions({}))}),l=function(t){a(t,r,{value:{i:"O"+ ++c,w:{}}})},f=function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[r].i},p=function(t,e){if(!o(t,r)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[r].w},m=function(t){return s&&h.NEED&&u(t)&&!o(t,r)&&l(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:f,getWeak:p,onFreeze:m}},6821:function(t,e,n){var r=n("626a"),i=n("be13");t.exports=function(t){return r(i(t))}},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a99":function(t,e,n){var r=n("d3f4");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"6cd0":function(t,e,n){},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7a20":function(e,n){e.exports=t},"7bbc":function(t,e,n){var r=n("6821"),i=n("9093").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(t){try{return i(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?c(t):i(r(t))}},"7e41":function(t,e,n){"use strict";var r=n("d4a4"),i=n.n(r);i.a},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},8378:function(t,e){var n=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8a81":function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("9e1e"),a=n("5ca1"),c=n("2aba"),u=n("67ab").KEY,s=n("79e5"),l=n("5537"),f=n("7f20"),p=n("ca5a"),m=n("2b4c"),h=n("37c8"),v=n("3a72"),d=n("d4c0"),b=n("1169"),y=n("cb7c"),_=n("d3f4"),g=n("6821"),x=n("6a99"),O=n("4630"),S=n("2aeb"),j=n("7bbc"),E=n("11e9"),w=n("86cc"),P=n("0d58"),k=E.f,C=w.f,T=j.f,F=r.Symbol,M=r.JSON,A=M&&M.stringify,$="prototype",L=m("_hidden"),N=m("toPrimitive"),V={}.propertyIsEnumerable,I=l("symbol-registry"),R=l("symbols"),D=l("op-symbols"),G=Object[$],J="function"==typeof F,q=r.QObject,W=!q||!q[$]||!q[$].findChild,B=o&&s(function(){return 7!=S(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=k(G,e);r&&delete G[e],C(t,e,n),r&&t!==G&&C(G,e,r)}:C,H=function(t){var e=R[t]=S(F[$]);return e._k=t,e},U=J&&"symbol"==typeof F.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof F},z=function(t,e,n){return t===G&&z(D,e,n),y(t),e=x(e,!0),y(n),i(R,e)?(n.enumerable?(i(t,L)&&t[L][e]&&(t[L][e]=!1),n=S(n,{enumerable:O(0,!1)})):(i(t,L)||C(t,L,O(1,{})),t[L][e]=!0),B(t,e,n)):C(t,e,n)},K=function(t,e){y(t);var n,r=d(e=g(e)),i=0,o=r.length;while(o>i)z(t,n=r[i++],e[n]);return t},X=function(t,e){return void 0===e?S(t):K(S(t),e)},Y=function(t){var e=V.call(this,t=x(t,!0));return!(this===G&&i(R,t)&&!i(D,t))&&(!(e||!i(this,t)||!i(R,t)||i(this,L)&&this[L][t])||e)},Q=function(t,e){if(t=g(t),e=x(e,!0),t!==G||!i(R,e)||i(D,e)){var n=k(t,e);return!n||!i(R,e)||i(t,L)&&t[L][e]||(n.enumerable=!0),n}},Z=function(t){var e,n=T(g(t)),r=[],o=0;while(n.length>o)i(R,e=n[o++])||e==L||e==u||r.push(e);return r},tt=function(t){var e,n=t===G,r=T(n?D:g(t)),o=[],a=0;while(r.length>a)!i(R,e=r[a++])||n&&!i(G,e)||o.push(R[e]);return o};J||(F=function(){if(this instanceof F)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===G&&e.call(D,n),i(this,L)&&i(this[L],t)&&(this[L][t]=!1),B(this,t,O(1,n))};return o&&W&&B(G,t,{configurable:!0,set:e}),H(t)},c(F[$],"toString",function(){return this._k}),E.f=Q,w.f=z,n("9093").f=j.f=Z,n("52a7").f=Y,n("2621").f=tt,o&&!n("2d00")&&c(G,"propertyIsEnumerable",Y,!0),h.f=function(t){return H(m(t))}),a(a.G+a.W+a.F*!J,{Symbol:F});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)m(et[nt++]);for(var rt=P(m.store),it=0;rt.length>it;)v(rt[it++]);a(a.S+a.F*!J,"Symbol",{for:function(t){return i(I,t+="")?I[t]:I[t]=F(t)},keyFor:function(t){if(!U(t))throw TypeError(t+" is not a symbol!");for(var e in I)if(I[e]===t)return e},useSetter:function(){W=!0},useSimple:function(){W=!1}}),a(a.S+a.F*!J,"Object",{create:X,defineProperty:z,defineProperties:K,getOwnPropertyDescriptor:Q,getOwnPropertyNames:Z,getOwnPropertySymbols:tt}),M&&a(a.S+a.F*(!J||s(function(){var t=F();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){var e,n,r=[t],i=1;while(arguments.length>i)r.push(arguments[i++]);if(n=e=r[1],(_(e)||void 0!==t)&&!U(t))return b(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!U(e))return e}),r[1]=e,A.apply(M,r)}}),F[$][N]||n("32e9")(F[$],N,F[$].valueOf),f(F,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9def":function(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a338:function(t,e,n){},a542:function(t,e,n){"use strict";var r=n("6cd0"),i=n.n(r);i.a},ac4d:function(t,e,n){n("3a72")("asyncIterator")},ac6a:function(t,e,n){for(var r=n("cadf"),i=n("0d58"),o=n("2aba"),a=n("7726"),c=n("32e9"),u=n("84f2"),s=n("2b4c"),l=s("iterator"),f=s("toStringTag"),p=u.Array,m={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=i(m),v=0;vl)if(c=u[l++],c!=c)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")(function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a})},ca5a:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},cadf:function(t,e,n){"use strict";var r=n("9c6c"),i=n("d53b"),o=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,c=i(t),u=0,s=[];for(n in c)n!=a&&r(c,n)&&s.push(n);while(e.length>u)r(c,n=e[u++])&&(~o(s,n)||s.push(n));return s}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d4a4:function(t,e,n){},d4c0:function(t,e,n){var r=n("0d58"),i=n("2621"),o=n("52a7");t.exports=function(t){var e=r(t),n=i.f;if(n){var a,c=n(t),u=o.f,s=0;while(c.length>s)u.call(t,a=c[s++])&&e.push(a)}return e}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},dc2d:function(t,e,n){"use strict";var r=n("bfad");function i(t,e,n){if(3===arguments.length)return i.set(t,e,n);if(2===arguments.length)return i.get(t,e);var r=i.bind(i,t);for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o].bind(r,t));return r}t.exports=i,i.get=function(t,e){for(var n=Array.isArray(e)?e:i.parse(e),r=0;r0?n("button",{key:"remove-"+r,staticClass:"button is-danger",attrs:{type:"button"},on:{click:function(e){t.items.splice(r,1)}}},[t._v("Remove")]):t._e()])])}),n("button",{staticClass:"button",attrs:{type:"button"},on:{click:function(e){t.addItem()}}},[t._v("Add Item")])],2)},nt=[],rt={name:"FormElementMultiple",components:{FormElement:function(){return Promise.resolve().then(n.bind(null,"f046"))}},props:["schema","value"],data:function(){return{items:void 0!==this.value?this.value:Object(W["b"])(this.schema)}},methods:{addItem:function(){this.items.push(Object(W["b"])(this.schema)[0])},updateValue:function(t,e){this.items.splice(e,1,t),this.$emit("input",this.items)}}},it=rt,ot=(n("7e41"),Object(s["a"])(it,et,nt,!1,null,"58c46062",null));ot.options.__file="FormElementMultiple.vue";var at=ot.exports,ct=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("b-field",{attrs:{label:t.schema.title,message:t.schema.description}},[n("b-datepicker",{attrs:{value:t.value,placeholder:"Click to select date"},on:{input:function(e){t.$emit("input",e)}}})],1)},ut=[],st={name:"DatePickerElement",props:["schema","value"]},lt=st,ft=Object(s["a"])(lt,ct,ut,!1,null,null,null);ft.options.__file="DatePickerElement.vue";var pt=ft.exports,mt={name:"FormElement",props:["schema","value"],computed:{type:function(){var t=b;return void 0!==this.schema.widget?"textarea"===this.schema.widget&&(t=S):void 0!==this.schema.anyOf?t=tt:void 0!==this.schema.enum?t=L:"boolean"===this.schema.type?t=G:"array"===this.schema.type?t=void 0===this.schema.items.anyOf?at:z:"object"===this.schema.type?t=f:"integer"===this.schema.type||"number"===this.schema.type?t=C:"date"===this.schema.format&&(t=pt),t}}},ht=mt,vt=Object(s["a"])(ht,r,i,!1,null,null,null);vt.options.__file="FormElement.vue";e["default"]=vt.exports},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&((r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(n.p=r[1]));var i=n("7a20"),o=n.n(i),a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("form",{on:{submit:function(e){return e.preventDefault(),t.submit(e)}}},[t._t("header",[n("b-notification",{directives:[{name:"show",rawName:"v-show",value:t.activeErrorMessages.length,expression:"activeErrorMessages.length"}],attrs:{type:"is-danger",closable:!1,id:"error-messages"}},t._l(t.activeErrorMessages,function(e,r){return n("div",{key:r},[n("div",[t._v(t._s(e))])])}))],{errorMessages:t.activeErrorMessages}),t._l(t.schema.properties,function(e,r){return[t._t(r,[n(t.element,{key:r,tag:"component",attrs:{schema:e,value:t.items[r]},on:{input:function(e){t.updateValue(e,r)}}})],{item:{key:r,schema:e,value:t.items[r],update:t.updateValue}})]}),t._t("actions",[t._m(0)])],2)},c=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"control"},[n("button",{staticClass:"button is-primary",attrs:{type:"submit"}},[n("span",[t._v("Submit")])])])}],u=n("b627"),s=n.n(u),l=n("dc2d"),f=n.n(l),p=n("f046"),m=n("11da"),h=new s.a({allErrors:!0,jsonPointers:!0,format:"full"}),v={name:"SchemaForm",components:{FormElement:p["default"]},props:{schema:{type:Object},value:{type:Object},element:{default:function(){return"form-element"}}},data:function(){return{items:void 0!==this.value?this.value:Object(m["b"])(this.schema),activeErrorMessages:[]}},watch:{schema:function(){this.items=Object(m["b"])(this.schema),h=new s.a({allErrors:!0,jsonPointers:!0,format:"full"})}},methods:{submit:function(){this.validate()?(this.activeErrorMessages=[],this.$emit("input",Object(m["a"])(this.items)),this.$emit("submit")):this.buildErrors()},validate:function(){return h.validate(this.schema,Object(m["a"])(this.items))},buildErrors:function(){var t=this;this.activeErrorMessages=h.errors.map(function(e){if("required"===e.keyword){var n=0===e.dataPath.length?"/properties/".concat(e.params.missingProperty):e.schemaPath.substring(1,e.schemaPath.length-8)+"properties/".concat(e.params.missingProperty),r=f.a.get(t.schema,n);return r.title+" is required"}if("format"===e.keyword){var i=e.schemaPath.substring(1,e.schemaPath.length-7),o=f.a.get(t.schema,i);return"".concat(o.title," is not in the correct format. Eg: ").concat(o.example)}if("pattern"===e.keyword){var a=e.schemaPath.substring(1,e.schemaPath.length-8),c=f.a.get(t.schema,a);return"".concat(c.title," is not in the correct format. Eg: ").concat(c.example)}})},updateValue:function(t,e){this.items[e]=t}}},d=v,b=n("2877"),y=Object(b["a"])(d,a,c,!1,null,null,null);y.options.__file="SchemaForm.vue";var _=y.exports,g={install:function(t){t.use(o.a),t.component("SchemaForm",_)}},x=g;n.d(e,"SchemaForm",function(){return _});e["default"]=x}})}); 2 | //# sourceMappingURL=VueJsonSchemaForm.umd.min.js.map -------------------------------------------------------------------------------- /docs/.vuepress/config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | title: 'vue-json-schema-form', 3 | description: 'Generate forms from your JSON schemas! ✨', 4 | base: '/vue-json-schema-form/', 5 | themeConfig: { 6 | repo: 'crickford/vue-json-schema-form', 7 | editLinks: true, 8 | docsDir: 'docs', 9 | sidebarDepth: 2, 10 | sidebar: { 11 | '/guide/':[ 12 | { 13 | title: 'Guide', 14 | collapsable: false, 15 | children: [ 16 | '', 17 | 'getting-started', 18 | 'examples' 19 | ] 20 | } 21 | ] 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | home: true 3 | actionText: Get Started → 4 | actionLink: /guide/ 5 | --- 6 | ## Demo 7 | - [Basic](https://codepen.io/crickford/pen/vQmKqY) 8 | - [Custom Component (slots)](https://codepen.io/crickford/pen/ZmJqwd) 9 | 10 | ## Install 11 | 12 | Depends on [Vue](https://vuejs.org), [Ajv](https://ajv.js.org) for validation, and [Buefy](https://github.com/buefy/buefy) for the default form elements. 13 | ``` 14 | npm install vue-json-schema-form 15 | ``` 16 | -------------------------------------------------------------------------------- /docs/guide/README.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | Generate forms from your JSON schemas! :sparkles: 3 | 4 | ## Background 5 | [JSON Schema](https://json-schema.org/) makes it possible to define form validation rules in an environment agnostic way by providing a generic standard for describing the expected properties of a JS object. This library accepts a JSON schema and generates an appropriate form to collect and validate data which is described by the schema. 6 | 7 | _TLDR; write validation rules once, use everywhere (client & server)_ 8 | 9 | For more background on this concept, see [this article](https://blog.apisyouwonthate.com/the-many-amazing-uses-of-json-schema-client-side-validation-c78a11fbde45) (inspiration of this library) 10 | -------------------------------------------------------------------------------- /docs/guide/examples.md: -------------------------------------------------------------------------------- 1 | # Examples 2 | 3 | ## Simple 4 | The simplest example: rendering a form from a basic schema 5 | 6 | ```vue 7 | 10 | 33 | ``` 34 | [Online Demo](https://codepen.io/crickford/pen/vQmKqY) 35 | 36 | ## Custom Components 37 | 38 | Using slots, the form element corresponding to each property of the schema can be overridden with a custom component. 39 | For example, given the following schema: 40 | 41 | ```json 42 | { 43 | "$id": "https://example.com/review.schema.json", 44 | "$schema": "http://json-schema.org/draft-07/schema#", 45 | "title": "Review", 46 | "type": "object", 47 | "properties": { 48 | "review": { 49 | "type": "string", 50 | "title": "What did you think of the event?", 51 | "example": "Write your review", 52 | "description": "(Optional) Please let us know how we did!", 53 | "widget": "textarea" 54 | }, 55 | "rating": { 56 | "type": "number", 57 | "title": "Rating", 58 | "minimum": 0, 59 | "maximum": 5 60 | } 61 | }, 62 | "required": [ 63 | "rating" 64 | ] 65 | } 66 | ``` 67 | 68 | Two fields will be rendered: a textarea input and an HTML number input. 69 | Lets replace the number input with [vue-star-rating](https://github.com/craigh411/vue-star-rating) 70 | 71 | ```vue 72 | 80 | ``` 81 | [Online Demo](https://codepen.io/crickford/pen/ZmJqwd) 82 | -------------------------------------------------------------------------------- /docs/guide/getting-started.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | ## Installation 4 | 5 | Depends on [Vue](https://vuejs.org), [Ajv](https://ajv.js.org) for validation, and [Buefy](https://github.com/buefy/buefy) for the default form elements. 6 | ``` 7 | npm install vue-json-schema-form 8 | ``` 9 | 10 | ## Usage 11 | 12 | #### Webpack 13 | Global registration: 14 | ```js 15 | import Vue from 'vue' 16 | import VueJsonSchemaForm from 'vue-json-schema-form' 17 | 18 | Vue.use(VueJsonSchemaForm) 19 | ``` 20 | Or in your components: 21 | 22 | ```js 23 | import {SchemaForm} from 'vue-json-schema-form' 24 | 25 | export default { 26 | name: "MyComponent", 27 | components: { 28 | SchemaForm 29 | }, 30 | ... 31 | } 32 | ``` 33 | 34 | #### Browser / CDN 35 | 36 | ```html 37 | 38 | 39 | 40 | 41 | 42 | ``` 43 | 44 | ```js 45 | Vue.use(VueJsonSchemaForm.default) 46 | ``` 47 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-json-schema-form", 3 | "main": "./dist/vue-json-schema-form.umd.js", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/crickford/vue-json-schema-form.git" 7 | }, 8 | "homepage": "https://github.com/crickford/vue-json-schema-form", 9 | "files": [ 10 | "dist/*", 11 | "src/*", 12 | "*.json", 13 | "*.js" 14 | ], 15 | "version": "1.0.4", 16 | "license": "MIT", 17 | "scripts": { 18 | "serve": "vue-cli-service serve", 19 | "build": "vue-cli-service build", 20 | "lint": "vue-cli-service lint", 21 | "docs:dev": "vuepress dev docs", 22 | "docs:build": "vuepress build docs" 23 | }, 24 | "dependencies": { 25 | "ajv": "^6.5.4", 26 | "json-pointer": "^0.6.0" 27 | }, 28 | "devDependencies": { 29 | "@vue/cli-plugin-babel": "^3.0.5", 30 | "@vue/cli-plugin-eslint": "^3.0.5", 31 | "@vue/cli-service": "^3.3.0", 32 | "autosize": "^4.0.2", 33 | "buefy": "^0.7.0", 34 | "lodash.debounce": "^4.0.8", 35 | "node-sass": "^4.9.4", 36 | "sass-loader": "^7.1.0", 37 | "vue": "^2.5.17", 38 | "vue-template-compiler": "^2.5.17", 39 | "vuepress": "^0.14.5" 40 | }, 41 | "peerDependencies": { 42 | "buefy": "^0.7.0", 43 | "vue": "^2.5.17" 44 | }, 45 | "eslintConfig": { 46 | "root": true, 47 | "env": { 48 | "node": true 49 | }, 50 | "extends": [ 51 | "plugin:vue/essential", 52 | "eslint:recommended" 53 | ], 54 | "rules": {}, 55 | "parserOptions": { 56 | "parser": "babel-eslint" 57 | } 58 | }, 59 | "postcss": { 60 | "plugins": { 61 | "autoprefixer": {} 62 | } 63 | }, 64 | "browserslist": [ 65 | "> 1%", 66 | "last 2 versions", 67 | "not ie <= 8" 68 | ] 69 | } 70 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 | 52 | -------------------------------------------------------------------------------- /src/components/Demo.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 134 | 135 | 136 | 152 | -------------------------------------------------------------------------------- /src/components/SchemaForm.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 103 | -------------------------------------------------------------------------------- /src/components/elements/CheckboxElement.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 19 | 20 | 27 | -------------------------------------------------------------------------------- /src/components/elements/CheckboxGroupElement.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 40 | 41 | 52 | -------------------------------------------------------------------------------- /src/components/elements/DatePickerElement.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | -------------------------------------------------------------------------------- /src/components/elements/FormElement.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 52 | -------------------------------------------------------------------------------- /src/components/elements/FormElementMultiple.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 44 | 45 | 55 | -------------------------------------------------------------------------------- /src/components/elements/FormElementWrapper.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 39 | 40 | 50 | -------------------------------------------------------------------------------- /src/components/elements/NumberElement.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | -------------------------------------------------------------------------------- /src/components/elements/RadioButtonElement.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 20 | 21 | 30 | -------------------------------------------------------------------------------- /src/components/elements/SelectElement.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 20 | -------------------------------------------------------------------------------- /src/components/elements/TaginputElement.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 21 | -------------------------------------------------------------------------------- /src/components/elements/TextElement.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | -------------------------------------------------------------------------------- /src/components/elements/TextareaElement.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | -------------------------------------------------------------------------------- /src/components/index.js: -------------------------------------------------------------------------------- 1 | import Buefy from 'buefy' 2 | import SchemaForm from '@/components/SchemaForm' 3 | 4 | const VueJsonSchemaForm = { 5 | install(Vue) { 6 | Vue.use(Buefy) 7 | Vue.component('SchemaForm', SchemaForm) 8 | } 9 | } 10 | 11 | export default VueJsonSchemaForm 12 | 13 | export { SchemaForm } 14 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import Buefy from 'buefy' 4 | import Autosize from 'autosize' 5 | 6 | Vue.use(Buefy); 7 | 8 | Vue.directive('autosize', { 9 | inserted: function (el) { 10 | const textarea = el.querySelector('textarea') 11 | Autosize(textarea) 12 | } 13 | }) 14 | 15 | Vue.config.productionTip = false 16 | 17 | new Vue({ 18 | render: h => h(App) 19 | }).$mount('#app') 20 | -------------------------------------------------------------------------------- /src/schema/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "http://json-schema.org/draft-07/schema#", 4 | "title": "Core schema meta-schema", 5 | "definitions": { 6 | "schemaArray": { 7 | "type": "array", 8 | "minItems": 1, 9 | "items": { "$ref": "#" } 10 | }, 11 | "nonNegativeInteger": { 12 | "type": "integer", 13 | "minimum": 0 14 | }, 15 | "nonNegativeIntegerDefault0": { 16 | "allOf": [ 17 | { "$ref": "#/definitions/nonNegativeInteger" }, 18 | { "default": 0 } 19 | ] 20 | }, 21 | "simpleTypes": { 22 | "enum": [ 23 | "array", 24 | "boolean", 25 | "integer", 26 | "null", 27 | "number", 28 | "object", 29 | "string" 30 | ] 31 | }, 32 | "stringArray": { 33 | "type": "array", 34 | "items": { "type": "string" }, 35 | "uniqueItems": true, 36 | "default": [] 37 | } 38 | }, 39 | "type": ["object", "boolean"], 40 | "properties": { 41 | "$id": { 42 | "type": "string", 43 | "format": "uri-reference" 44 | }, 45 | "$schema": { 46 | "type": "string", 47 | "format": "uri" 48 | }, 49 | "$ref": { 50 | "type": "string", 51 | "format": "uri-reference" 52 | }, 53 | "$comment": { 54 | "type": "string" 55 | }, 56 | "title": { 57 | "type": "string" 58 | }, 59 | "description": { 60 | "type": "string" 61 | }, 62 | "default": true, 63 | "readOnly": { 64 | "type": "boolean", 65 | "default": false 66 | }, 67 | "examples": { 68 | "type": "array", 69 | "items": true 70 | }, 71 | "multipleOf": { 72 | "type": "number", 73 | "exclusiveMinimum": 0 74 | }, 75 | "maximum": { 76 | "type": "number" 77 | }, 78 | "exclusiveMaximum": { 79 | "type": "number" 80 | }, 81 | "minimum": { 82 | "type": "number" 83 | }, 84 | "exclusiveMinimum": { 85 | "type": "number" 86 | }, 87 | "maxLength": { "$ref": "#/definitions/nonNegativeInteger" }, 88 | "minLength": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, 89 | "pattern": { 90 | "type": "string", 91 | "format": "regex" 92 | }, 93 | "additionalItems": { "$ref": "#" }, 94 | "items": { 95 | "anyOf": [ 96 | { "$ref": "#" }, 97 | { "$ref": "#/definitions/schemaArray" } 98 | ], 99 | "default": true 100 | }, 101 | "maxItems": { "$ref": "#/definitions/nonNegativeInteger" }, 102 | "minItems": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, 103 | "uniqueItems": { 104 | "type": "boolean", 105 | "default": false 106 | }, 107 | "contains": { "$ref": "#" }, 108 | "maxProperties": { "$ref": "#/definitions/nonNegativeInteger" }, 109 | "minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, 110 | "required": { "$ref": "#/definitions/stringArray" }, 111 | "additionalProperties": { "$ref": "#" }, 112 | "definitions": { 113 | "type": "object", 114 | "additionalProperties": { "$ref": "#" }, 115 | "default": {} 116 | }, 117 | "properties": { 118 | "type": "object", 119 | "additionalProperties": { "$ref": "#" }, 120 | "default": {} 121 | }, 122 | "patternProperties": { 123 | "type": "object", 124 | "additionalProperties": { "$ref": "#" }, 125 | "propertyNames": { "format": "regex" }, 126 | "default": {} 127 | }, 128 | "dependencies": { 129 | "type": "object", 130 | "additionalProperties": { 131 | "anyOf": [ 132 | { "$ref": "#" }, 133 | { "$ref": "#/definitions/stringArray" } 134 | ] 135 | } 136 | }, 137 | "propertyNames": { "$ref": "#" }, 138 | "const": true, 139 | "enum": { 140 | "type": "array", 141 | "items": true, 142 | "minItems": 1, 143 | "uniqueItems": true 144 | }, 145 | "type": { 146 | "anyOf": [ 147 | { "$ref": "#/definitions/simpleTypes" }, 148 | { 149 | "type": "array", 150 | "items": { "$ref": "#/definitions/simpleTypes" }, 151 | "minItems": 1, 152 | "uniqueItems": true 153 | } 154 | ] 155 | }, 156 | "format": { "type": "string" }, 157 | "contentMediaType": { "type": "string" }, 158 | "contentEncoding": { "type": "string" }, 159 | "if": { "$ref": "#" }, 160 | "then": { "$ref": "#" }, 161 | "else": { "$ref": "#" }, 162 | "allOf": { "$ref": "#/definitions/schemaArray" }, 163 | "anyOf": { "$ref": "#/definitions/schemaArray" }, 164 | "oneOf": { "$ref": "#/definitions/schemaArray" }, 165 | "not": { "$ref": "#" } 166 | }, 167 | "default": true 168 | } 169 | -------------------------------------------------------------------------------- /src/utility/json-schema-helpers.js: -------------------------------------------------------------------------------- 1 | // Recursively purge empty values 2 | const prune = function (input) { 3 | if (typeof (input) === 'object') { 4 | if (input instanceof Date) { 5 | // date handling 6 | return input.toISOString().slice(0, 10) 7 | } else if (!Array.isArray(input)) { 8 | let output = {} 9 | for (const member in input) { 10 | const value = prune(input[member]) 11 | if (value !== undefined) { 12 | output[member] = value 13 | } 14 | } 15 | if (Object.keys(output).length > 0) { 16 | return output 17 | } 18 | } else { 19 | let output = [] 20 | for (const member of input) { 21 | const value = prune(member) 22 | if (value !== undefined) { 23 | output.push(value) 24 | } 25 | } 26 | if (output.length > 0) { 27 | return output 28 | } 29 | } 30 | } else if (input !== undefined && input !== '') { 31 | return input 32 | } 33 | } 34 | 35 | // Recursively scaffold a model given a schema 36 | const scaffold = function (input, f) { 37 | if (input.type === 'object') { 38 | let output = {} 39 | for (const item in input.properties) { 40 | output[item] = scaffold(input.properties[item], f) 41 | } 42 | return output 43 | } else if (input.type === 'array') { 44 | return [scaffold(input.items, f)] 45 | } else { 46 | return f === undefined ? f : f(input) 47 | } 48 | } 49 | 50 | // Recursively combine two objects 51 | const merge = function (first, second) { 52 | if (typeof (first) === 'object' && typeof (second) === 'object') { 53 | if (!Array.isArray(first)) { 54 | let output = {} 55 | for (const member in first) { 56 | output[member] = merge(first[member], second[member]) 57 | } 58 | return output 59 | } else { 60 | // return second array only if it is not empty and its first member has non-empty values 61 | return Array.isArray(second) && second.length > 0 && prune(second[0]) !== undefined ? second : first 62 | } 63 | } else { 64 | return (second !== undefined) ? second : first 65 | } 66 | } 67 | 68 | function scaffoldFromSchema(schema, func) { 69 | return scaffold(schema, func) 70 | } 71 | 72 | function deepMerge(obj1, obj2) { 73 | return merge(obj1, obj2) 74 | } 75 | 76 | function pruneEmptyMembers(obj) { 77 | const pruned = prune(obj) 78 | return pruned === undefined ? {} : pruned 79 | } 80 | 81 | export { scaffoldFromSchema, deepMerge, pruneEmptyMembers } 82 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | chainWebpack: config => { 3 | if (config.get('mode') !== 'development') { 4 | config.externals({ 5 | ...config.get('externals'), 6 | ajv: { 7 | amd: 'ajv', 8 | commonjs: 'ajv', 9 | commonjs2: 'ajv', 10 | root: 'Ajv' 11 | }, 12 | buefy: { 13 | amd: 'buefy', 14 | commonjs: 'buefy', 15 | commonjs2: 'buefy', 16 | root: 'Buefy' 17 | } 18 | }) 19 | } 20 | } 21 | } 22 | --------------------------------------------------------------------------------