Compare commits

..

3 Commits

Author SHA1 Message Date
HerrHase b38eee37ed adding #3 #5
3 years ago
HerrHase b1f7df8885 adding
3 years ago
HerrHase f5635732a3 adding
3 years ago

@ -1,4 +1,4 @@
# Tiny Validator # Tiny Components - Validator
Created with [Riot.js](https://riot.js.org) Created with [Riot.js](https://riot.js.org)
@ -10,13 +10,13 @@ For Validation this Component uses [Validate.js](https://validatejs.org/)
## Install ## Install
```bash ```bash
npm install tiny-validator --save npm install @tiny-components/validator --save
``` ```
## How to use ## You can use it like this
```javascript ```javascript
<form onsubmit={ (event) => { state.validator.handle(event) }} novalidate> <form class="form" onsubmit={ (event) => ( state.validator.submit(event) ) }>>
<div class="field"> <div class="field">
<label> <label>
email email
@ -38,17 +38,51 @@ npm install tiny-validator --save
import Validator from './validator.js' import Validator from './validator.js'
export default { export default {
state: {
validator: { }
},
onBeforeMount() { onBeforeMount() {
this.state.validator = new Validator({ // creating formValidator
email: { this.state.validator = new FormValidator(this.$('.form'), {
presence: true 'email': {
email: true 'presence': true,
'email': true
}, },
password: { 'password': {
presence: true 'presence': true
} }
}, this) })
// adding on success
this.state.validator.onSuccess((event, data) => {
this.handleSuccess(event, data)
})
// adding on error
this.state.validator.onError((event, errors, data) => {
this.handleError(event, errors, data)
})
},
/**
*
*/
handleSuccess(event, data)
{
event.preventDefault()
this.update()
},
/**
*
*/
handleError(event, errors, data)
{
this.update()
} }
} }
</script> </script>
``` ```

File diff suppressed because it is too large Load Diff

@ -10,7 +10,7 @@
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ "default": () => __WEBPACK_DEFAULT_EXPORT__
/* harmony export */ }); /* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
css: null, css: null,
@ -185,7 +185,7 @@ __webpack_require__.r(__webpack_exports__);
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ "default": () => __WEBPACK_DEFAULT_EXPORT__
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var _formValidator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formValidator.js */ "./src/formValidator.js"); /* harmony import */ var _formValidator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formValidator.js */ "./src/formValidator.js");
@ -205,7 +205,7 @@ __webpack_require__.r(__webpack_exports__);
onMounted() onMounted()
{ {
// creating formValidator // creating formValidator
this.state.validator = new _formValidator_js__WEBPACK_IMPORTED_MODULE_0__["default"](this.$('.form'), { this.state.validator = new _formValidator_js__WEBPACK_IMPORTED_MODULE_0__.default(this.$('.form'), {
'email': { 'email': {
'presence': true, 'presence': true,
'email': true 'email': true
@ -263,7 +263,7 @@ __webpack_require__.r(__webpack_exports__);
bindingTypes, bindingTypes,
getComponent getComponent
) => template( ) => template(
'<div><form expr2="expr2" class="form" novalidate method="post"><div class="field-group"><label class="field-label">\n email\n <input type="email" class="field-text" name="email"/></label><field-error expr3="expr3" name="email"></field-error></div><div class="field-group"><label class="field-label">\n password\n <input type="password" class="field-text" name="password"/></label><field-error expr4="expr4" name="password"></field-error></div><button class="button" type="submit">\n Send\n </button></form><div expr5="expr5"></div></div>', '<div><form expr2="expr2" class="form" novalidate method="post"><div class="field-group"><label class="field-label">\n email\n <input type="email" class="field-text" name="email"/></label><field-error expr3="expr3" name="email"></field-error></div><div class="field-group"><label class="field-label">\n password\n <input type="password" class="field-text" name="password"/></label><field-error expr4="expr4" name="password"></field-error></div><button class="button" type="submit">\n Send\n </button></form><div expr5="expr5" class="loading"></div><div expr6="expr6"></div></div>',
[ [
{ {
redundantAttribute: 'expr2', redundantAttribute: 'expr2',
@ -297,12 +297,23 @@ __webpack_require__.r(__webpack_exports__);
}, },
{ {
type: bindingTypes.IF, type: bindingTypes.IF,
evaluate: _scope => _scope.state.result, evaluate: _scope => _scope.state.isLoading,
redundantAttribute: 'expr5', redundantAttribute: 'expr5',
selector: '[expr5]', selector: '[expr5]',
template: template( template: template(
'<div class="panel__body"><div expr6="expr6" class="content m-bottom-last-child-0"> </div></div>', '<span></span><span></span><span></span>',
[]
)
},
{
type: bindingTypes.IF,
evaluate: _scope => _scope.state.result,
redundantAttribute: 'expr6',
selector: '[expr6]',
template: template(
'<div class="panel__body"><div expr7="expr7" class="content m-bottom-last-child-0"> </div></div>',
[ [
{ {
expressions: [ expressions: [
@ -320,8 +331,8 @@ __webpack_require__.r(__webpack_exports__);
] ]
}, },
{ {
redundantAttribute: 'expr6', redundantAttribute: 'expr7',
selector: '[expr6]', selector: '[expr7]',
expressions: [ expressions: [
{ {
@ -364,10 +375,10 @@ __webpack_require__.r(__webpack_exports__);
// register & mount riot component // register & mount riot component
riot__WEBPACK_IMPORTED_MODULE_3__.register('field-error', _fieldError_riot__WEBPACK_IMPORTED_MODULE_1__["default"]); riot__WEBPACK_IMPORTED_MODULE_3__.register('field-error', _fieldError_riot__WEBPACK_IMPORTED_MODULE_1__.default);
riot__WEBPACK_IMPORTED_MODULE_3__.mount('field-error'); // creating formValidation riot__WEBPACK_IMPORTED_MODULE_3__.mount('field-error'); // creating formValidation
var formValidation = new _formValidator__WEBPACK_IMPORTED_MODULE_0__["default"](document.querySelector('.form-html'), { var formValidation = new _formValidator__WEBPACK_IMPORTED_MODULE_0__.default(document.querySelector('.form-html'), {
'email': { 'email': {
'presence': true, 'presence': true,
'email': true 'email': true
@ -382,7 +393,7 @@ formValidation.onSuccess(function (event, data) {
document.querySelector('#result .content').innerHTML = '<p>' + JSON.stringify(data) + '</p>'; document.querySelector('#result .content').innerHTML = '<p>' + JSON.stringify(data) + '</p>';
document.querySelector('#result').classList.remove('hidden'); document.querySelector('#result').classList.remove('hidden');
}); });
riot__WEBPACK_IMPORTED_MODULE_3__.register('form-component', _formComponent_riot__WEBPACK_IMPORTED_MODULE_2__["default"]); riot__WEBPACK_IMPORTED_MODULE_3__.register('form-component', _formComponent_riot__WEBPACK_IMPORTED_MODULE_2__.default);
riot__WEBPACK_IMPORTED_MODULE_3__.mount('form-component'); riot__WEBPACK_IMPORTED_MODULE_3__.mount('form-component');
/***/ }), /***/ }),
@ -396,7 +407,7 @@ riot__WEBPACK_IMPORTED_MODULE_3__.mount('form-component');
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ "default": () => __WEBPACK_DEFAULT_EXPORT__
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var validate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! validate.js */ "./node_modules/validate.js/validate.js"); /* harmony import */ var validate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! validate.js */ "./node_modules/validate.js/validate.js");
/* harmony import */ var validate_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(validate_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var validate_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(validate_js__WEBPACK_IMPORTED_MODULE_0__);
@ -406,7 +417,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
@ -489,6 +500,17 @@ var FormValidator = /*#__PURE__*/function () {
// adding onSuccess // adding onSuccess
this._onSuccess = _onSuccess; this._onSuccess = _onSuccess;
} }
/**
*
* @param {function} onError
*
*/
}, {
key: "onBeforeSubmit",
value: function onBeforeSubmit(_onBeforeSubmit) {
this._onBeforeSubmit = _onBeforeSubmit;
}
/** /**
* handle submit * handle submit
* *
@ -509,7 +531,12 @@ var FormValidator = /*#__PURE__*/function () {
var options = { var options = {
fullMessages: false fullMessages: false
}; // check form and getting errors };
if (this._onBeforeSubmit) {
this._onBeforeSubmit();
} // check form and getting errors
validate_js__WEBPACK_IMPORTED_MODULE_0___default().async(data, this.constraits, options).then(function () { validate_js__WEBPACK_IMPORTED_MODULE_0___default().async(data, this.constraits, options).then(function () {
_this2._onSuccess(event, data); _this2._onSuccess(event, data);
@ -881,17 +908,17 @@ __webpack_require__.r(__webpack_exports__);
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "__": () => (/* binding */ __), /* harmony export */ "__": () => /* binding */ __,
/* harmony export */ "component": () => (/* binding */ component), /* harmony export */ "component": () => /* binding */ component,
/* harmony export */ "install": () => (/* binding */ install), /* harmony export */ "install": () => /* binding */ install,
/* harmony export */ "mount": () => (/* binding */ mount), /* harmony export */ "mount": () => /* binding */ mount,
/* harmony export */ "pure": () => (/* binding */ pure), /* harmony export */ "pure": () => /* binding */ pure,
/* harmony export */ "register": () => (/* binding */ register), /* harmony export */ "register": () => /* binding */ register,
/* harmony export */ "uninstall": () => (/* binding */ uninstall), /* harmony export */ "uninstall": () => /* binding */ uninstall,
/* harmony export */ "unmount": () => (/* binding */ unmount), /* harmony export */ "unmount": () => /* binding */ unmount,
/* harmony export */ "unregister": () => (/* binding */ unregister), /* harmony export */ "unregister": () => /* binding */ unregister,
/* harmony export */ "version": () => (/* binding */ version), /* harmony export */ "version": () => /* binding */ version,
/* harmony export */ "withTypes": () => (/* binding */ withTypes) /* harmony export */ "withTypes": () => /* binding */ withTypes
/* harmony export */ }); /* harmony export */ });
/* Riot v6.1.2, @license MIT */ /* Riot v6.1.2, @license MIT */
/** /**
@ -4674,9 +4701,8 @@ const __ = {
/******/ // The require function /******/ // The require function
/******/ function __webpack_require__(moduleId) { /******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache /******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if(__webpack_module_cache__[moduleId]) {
/******/ if (cachedModule !== undefined) { /******/ return __webpack_module_cache__[moduleId].exports;
/******/ return cachedModule.exports;
/******/ } /******/ }
/******/ // Create a new module (and put it into the cache) /******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = { /******/ var module = __webpack_module_cache__[moduleId] = {
@ -4698,6 +4724,9 @@ const __ = {
/******/ // expose the modules object (__webpack_modules__) /******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__; /******/ __webpack_require__.m = __webpack_modules__;
/******/ /******/
/******/ // the startup function
/******/ // It's empty as some runtime module handles the default behavior
/******/ __webpack_require__.x = x => {}
/************************************************************************/ /************************************************************************/
/******/ /* webpack/runtime/amd define */ /******/ /* webpack/runtime/amd define */
/******/ (() => { /******/ (() => {
@ -4706,45 +4735,13 @@ const __ = {
/******/ }; /******/ };
/******/ })(); /******/ })();
/******/ /******/
/******/ /* webpack/runtime/chunk loaded */
/******/ (() => {
/******/ var deferred = [];
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
/******/ if(chunkIds) {
/******/ priority = priority || 0;
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
/******/ deferred[i] = [chunkIds, fn, priority];
/******/ return;
/******/ }
/******/ var notFulfilled = Infinity;
/******/ for (var i = 0; i < deferred.length; i++) {
/******/ var [chunkIds, fn, priority] = deferred[i];
/******/ var fulfilled = true;
/******/ for (var j = 0; j < chunkIds.length; j++) {
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
/******/ chunkIds.splice(j--, 1);
/******/ } else {
/******/ fulfilled = false;
/******/ if(priority < notFulfilled) notFulfilled = priority;
/******/ }
/******/ }
/******/ if(fulfilled) {
/******/ deferred.splice(i--, 1)
/******/ var r = fn();
/******/ if (r !== undefined) result = r;
/******/ }
/******/ }
/******/ return result;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/compat get default export */ /******/ /* webpack/runtime/compat get default export */
/******/ (() => { /******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules /******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => { /******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ? /******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) : /******/ () => module['default'] :
/******/ () => (module); /******/ () => module;
/******/ __webpack_require__.d(getter, { a: getter }); /******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter; /******/ return getter;
/******/ }; /******/ };
@ -4764,7 +4761,7 @@ const __ = {
/******/ /******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => { /******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)
/******/ })(); /******/ })();
/******/ /******/
/******/ /* webpack/runtime/make namespace object */ /******/ /* webpack/runtime/make namespace object */
@ -4793,12 +4790,15 @@ const __ = {
/******/ /******/
/******/ // object to store loaded and loading chunks /******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ // Promise = chunk loading, 0 = chunk loaded
/******/ var installedChunks = { /******/ var installedChunks = {
/******/ "/example/example": 0, /******/ "/example/example": 0
/******/ "example/example": 0
/******/ }; /******/ };
/******/ /******/
/******/ var deferredModules = [
/******/ ["./src/example.js"],
/******/ ["./src/example.scss"]
/******/ ];
/******/ // no chunk on demand loading /******/ // no chunk on demand loading
/******/ /******/
/******/ // no prefetching /******/ // no prefetching
@ -4809,46 +4809,73 @@ const __ = {
/******/ /******/
/******/ // no HMR manifest /******/ // no HMR manifest
/******/ /******/
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); /******/ var checkDeferredModules = x => {};
/******/ /******/
/******/ // install a JSONP callback for chunk loading /******/ // install a JSONP callback for chunk loading
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
/******/ var [chunkIds, moreModules, runtime] = data; /******/ var [chunkIds, moreModules, runtime, executeModules] = data;
/******/ // add "moreModules" to the modules object, /******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback /******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0; /******/ var moduleId, chunkId, i = 0, resolves = [];
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { /******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ resolves.push(installedChunks[chunkId][0]);
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ for(moduleId in moreModules) { /******/ for(moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) { /******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ } /******/ }
/******/ } /******/ }
/******/ if(runtime) var result = runtime(__webpack_require__); /******/ if(runtime) runtime(__webpack_require__);
/******/ }
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); /******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
/******/ for(;i < chunkIds.length; i++) { /******/ while(resolves.length) {
/******/ chunkId = chunkIds[i]; /******/ resolves.shift()();
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ installedChunks[chunkId][0]();
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ } /******/ }
/******/ return __webpack_require__.O(result); /******/
/******/ // add entry modules from loaded chunk to deferred list
/******/ if(executeModules) deferredModules.push.apply(deferredModules, executeModules);
/******/
/******/ // run deferred modules when all chunks ready
/******/ return checkDeferredModules();
/******/ } /******/ }
/******/ /******/
/******/ var chunkLoadingGlobal = self["webpackChunk_tiny_components_validator"] = self["webpackChunk_tiny_components_validator"] || []; /******/ var chunkLoadingGlobal = self["webpackChunk_tiny_components_validator"] = self["webpackChunk_tiny_components_validator"] || [];
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/
/******/ function checkDeferredModulesImpl() {
/******/ var result;
/******/ for(var i = 0; i < deferredModules.length; i++) {
/******/ var deferredModule = deferredModules[i];
/******/ var fulfilled = true;
/******/ for(var j = 1; j < deferredModule.length; j++) {
/******/ var depId = deferredModule[j];
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
/******/ }
/******/ if(fulfilled) {
/******/ deferredModules.splice(i--, 1);
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ }
/******/ }
/******/ if(deferredModules.length === 0) {
/******/ __webpack_require__.x();
/******/ __webpack_require__.x = x => {};
/******/ }
/******/ return result;
/******/ }
/******/ var startup = __webpack_require__.x;
/******/ __webpack_require__.x = () => {
/******/ // reset startup function so it can be called again when more startup code is added
/******/ __webpack_require__.x = startup || (x => {});
/******/ return (checkDeferredModules = checkDeferredModulesImpl)();
/******/ };
/******/ })(); /******/ })();
/******/ /******/
/************************************************************************/ /************************************************************************/
/******/ /******/ // run startup
/******/ // startup /******/ return __webpack_require__.x();
/******/ // Load entry module and return exports
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
/******/ __webpack_require__.O(undefined, ["example/example"], () => (__webpack_require__("./src/example.js")))
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["example/example"], () => (__webpack_require__("./src/example.scss")))
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/
/******/ })() /******/ })()
; ;

386
package-lock.json generated

@ -1,26 +1,27 @@
{ {
"name": "@tentakelfabrik/tiny-validator", "name": "@tiny-components/validator",
"version": "1.0.0", "version": "0.2.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@tentakelfabrik/tiny-validator", "name": "@tiny-components/validator",
"version": "1.0.0", "version": "0.2.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@tiny-components/plain-ui": "^0.5.0",
"form-serialize": "^0.7.2", "form-serialize": "^0.7.2",
"riot": "^5.1.2", "riot": "^6.1.2",
"validate.js": "^0.13.1" "validate.js": "^0.13.1"
}, },
"devDependencies": { "devDependencies": {
"@riotjs/compiler": "^5.1.3", "@riotjs/compiler": "^6.1.3",
"@riotjs/webpack-loader": "^5.0.0", "@riotjs/webpack-loader": "^6.0.0",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"laravel-mix": "^6.0.5", "laravel-mix": "^6.0.5",
"postcss": "^8.2.1", "postcss": "^8.4.12",
"sass": "^1.32.0", "sass": "^1.32.0",
"sass-loader": "^8.0.2" "sass-loader": "^12.4.0"
} }
}, },
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
@ -357,10 +358,9 @@
} }
}, },
"node_modules/@babel/parser": { "node_modules/@babel/parser": {
"version": "7.12.11", "version": "7.17.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz",
"integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==",
"dev": true,
"bin": { "bin": {
"parser": "bin/babel-parser.js" "parser": "bin/babel-parser.js"
}, },
@ -1125,28 +1125,28 @@
} }
}, },
"node_modules/@riotjs/compiler": { "node_modules/@riotjs/compiler": {
"version": "5.1.3", "version": "6.1.3",
"resolved": "https://registry.npmjs.org/@riotjs/compiler/-/compiler-5.1.3.tgz", "resolved": "https://registry.npmjs.org/@riotjs/compiler/-/compiler-6.1.3.tgz",
"integrity": "sha512-YPOgwqpzs7LeA9JZV2qK2qW6o1iQ+6XEpqTopIC2V21hMwA4/9onGFOIzHf0MF0SX0NLzaou1zD6wY5w+G/+ug==", "integrity": "sha512-88974LTsuEOXQ07l9tJctyGtaLXy9LCcuiMbxJ0sEdQAS0OYP9SefBnW2a/7oWqrt5HQBxeOQ5zpSdSbs1LJeA==",
"dependencies": { "dependencies": {
"@babel/parser": "^7.16.4",
"@riotjs/parser": "^4.3.1", "@riotjs/parser": "^4.3.1",
"@riotjs/util": "2.0.0", "@riotjs/util": "2.0.4",
"acorn": "^8.0.4",
"cssesc": "^3.0.0", "cssesc": "^3.0.0",
"cumpa": "^1.0.1", "cumpa": "^1.0.1",
"curri": "^1.0.1", "curri": "^1.0.1",
"dom-nodes": "^1.1.3", "dom-nodes": "^1.1.3",
"globals": "^13.3.0", "globals": "^13.12.0",
"recast": "^0.20.4", "recast": "^0.20.5",
"source-map": "^0.7.3" "source-map": "^0.7.3"
} }
}, },
"node_modules/@riotjs/dom-bindings": { "node_modules/@riotjs/dom-bindings": {
"version": "5.0.1", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/@riotjs/dom-bindings/-/dom-bindings-5.0.1.tgz", "resolved": "https://registry.npmjs.org/@riotjs/dom-bindings/-/dom-bindings-6.0.3.tgz",
"integrity": "sha512-YDlGYnlZZc7aAhJ+GffyMxyDeR78U7yaKo+NDuoIL2pAceY3KYWXwmZS/3KdjenARxo0h/xZRvJrv77+jkx5Jw==", "integrity": "sha512-ajBgXquwkj8ZaGDhGWJc8n74dCZxvxzoE2hT26T+aAfHVAz5Nhk6jWjmggZ42nN4AX9CQJUMEGY9KJeHDj1ABg==",
"dependencies": { "dependencies": {
"@riotjs/util": "^2.0.0" "@riotjs/util": "^2.0.4"
} }
}, },
"node_modules/@riotjs/parser": { "node_modules/@riotjs/parser": {
@ -1163,17 +1163,20 @@
} }
}, },
"node_modules/@riotjs/util": { "node_modules/@riotjs/util": {
"version": "2.0.0", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/@riotjs/util/-/util-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@riotjs/util/-/util-2.0.4.tgz",
"integrity": "sha512-+FtbujwoRT/Gi2/tarL0I30GIBCFFLUGtuhEJbosT09cUcP839oML871Yc7w5Zxb/IHFV1GS0p1ZGWe3JeeEjw==" "integrity": "sha512-C+YpN8p30T1+qtuPaHS2uobRHG+EpQhtXsu+Ul7sOStb1PnqptXut2YHSffQ6Xlu+FoOlP/BcMu+RVYvzWPmkg=="
}, },
"node_modules/@riotjs/webpack-loader": { "node_modules/@riotjs/webpack-loader": {
"version": "5.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/@riotjs/webpack-loader/-/webpack-loader-5.0.0.tgz", "resolved": "https://registry.npmjs.org/@riotjs/webpack-loader/-/webpack-loader-6.0.0.tgz",
"integrity": "sha512-Bko2jXcXY5YyfE41P/7HvMxpN8oa/oyaYWMVKmGzldHjVPmCD3VLhnh7YK3VMG04cdxIEHuBag8/WWsqAg1LRQ==", "integrity": "sha512-ktmbHSexRKPK7QEymAPJq3v/S6aQcmfB0OX2p8zUoKYKlfzEYmdCRjAg4vo9Xw82r4ueYDW5GIdMvoLGWqovIA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"loader-utils": "^2.0.0" "loader-utils": "^2.0.0"
},
"peerDependencies": {
"@riotjs/compiler": "^6.0.0"
} }
}, },
"node_modules/@riotjs/webpack-loader/node_modules/loader-utils": { "node_modules/@riotjs/webpack-loader/node_modules/loader-utils": {
@ -1190,6 +1193,14 @@
"node": ">=8.9.0" "node": ">=8.9.0"
} }
}, },
"node_modules/@tiny-components/plain-ui": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@tiny-components/plain-ui/-/plain-ui-0.5.0.tgz",
"integrity": "sha512-he2chVLtq3KV7yWgFIfPKi5UuHEwmNyoegpjKSByYWHK+/3fH/kK+0UCmmiJd6ZbuvBTaJKtYikpJYZhkVfaFQ==",
"dependencies": {
"normalize.css": "^8.0.1"
}
},
"node_modules/@types/autoprefixer": { "node_modules/@types/autoprefixer": {
"version": "9.7.2", "version": "9.7.2",
"resolved": "https://registry.npmjs.org/@types/autoprefixer/-/autoprefixer-9.7.2.tgz", "resolved": "https://registry.npmjs.org/@types/autoprefixer/-/autoprefixer-9.7.2.tgz",
@ -1829,6 +1840,7 @@
"version": "8.0.4", "version": "8.0.4",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz",
"integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==",
"dev": true,
"bin": { "bin": {
"acorn": "bin/acorn" "acorn": "bin/acorn"
}, },
@ -3585,20 +3597,6 @@
"node": ">=8.9.0" "node": ">=8.9.0"
} }
}, },
"node_modules/css-loader/node_modules/postcss": {
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz",
"integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==",
"dev": true,
"dependencies": {
"colorette": "^1.2.1",
"nanoid": "^3.1.20",
"source-map": "^0.6.1"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/css-loader/node_modules/schema-utils": { "node_modules/css-loader/node_modules/schema-utils": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
@ -3628,15 +3626,6 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/css-loader/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/css-select": { "node_modules/css-select": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
@ -5389,14 +5378,17 @@
"dev": true "dev": true
}, },
"node_modules/globals": { "node_modules/globals": {
"version": "13.5.0", "version": "13.13.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.5.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
"integrity": "sha512-TMJe2Iu/qCIEFnG7IQ62C9N/iKdgX5wSvmGOVuk75+UAGDW+Yv/hH5+Ky6d/8UMqo4WCzhFCy+pHsvv09zhBoQ==", "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
"dependencies": { "dependencies": {
"type-fest": "^0.20.2" "type-fest": "^0.20.2"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/globby": { "node_modules/globby": {
@ -7247,9 +7239,9 @@
"optional": true "optional": true
}, },
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.1.20", "version": "3.3.2",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
"integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==",
"dev": true, "dev": true,
"bin": { "bin": {
"nanoid": "bin/nanoid.cjs" "nanoid": "bin/nanoid.cjs"
@ -7422,6 +7414,11 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/normalize.css": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
},
"node_modules/npm-run-path": { "node_modules/npm-run-path": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@ -7962,6 +7959,12 @@
"node": ">=0.12" "node": ">=0.12"
} }
}, },
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
},
"node_modules/picomatch": { "node_modules/picomatch": {
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
@ -8016,14 +8019,24 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.2.1", "version": "8.4.12",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
"integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
"dev": true, "dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
}
],
"dependencies": { "dependencies": {
"colorette": "^1.2.1", "nanoid": "^3.3.1",
"nanoid": "^3.1.20", "picocolors": "^1.0.0",
"source-map": "^0.6.1" "source-map-js": "^1.0.2"
}, },
"engines": { "engines": {
"node": "^10 || ^12 || >=14" "node": "^10 || ^12 || >=14"
@ -10431,15 +10444,6 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true "dev": true
}, },
"node_modules/postcss/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/process": { "node_modules/process": {
"version": "0.11.10", "version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@ -10632,9 +10636,9 @@
} }
}, },
"node_modules/recast": { "node_modules/recast": {
"version": "0.20.4", "version": "0.20.5",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.20.4.tgz", "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz",
"integrity": "sha512-6qLIBGGRcwjrTZGIiBpJVC/NeuXpogXNyRQpqU1zWPUigCphvApoCs9KIwDYh1eDuJ6dAFlQoi/QUyE5KQ6RBQ==", "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==",
"dependencies": { "dependencies": {
"ast-types": "0.14.2", "ast-types": "0.14.2",
"esprima": "~4.0.0", "esprima": "~4.0.0",
@ -10955,13 +10959,13 @@
} }
}, },
"node_modules/riot": { "node_modules/riot": {
"version": "5.1.2", "version": "6.1.2",
"resolved": "https://registry.npmjs.org/riot/-/riot-5.1.2.tgz", "resolved": "https://registry.npmjs.org/riot/-/riot-6.1.2.tgz",
"integrity": "sha512-6ztxtDt/Vl78Qzm0N370sqU+wVSmqVKzCOMPKTxObqXvCGTi+qnzLe7aPIfZPPWYwr7O5gA8Lt396MIR3SKxcA==", "integrity": "sha512-JYGKN6D2FwNP+eH2suh13jhQPXnaAeXdwCIWH0vz2UvhLBY9mTFZv6/dPAyEluHTf9bjAJOriFc4PDXox5Fjqw==",
"dependencies": { "dependencies": {
"@riotjs/compiler": "^5.1.3", "@riotjs/compiler": "^6.1.3",
"@riotjs/dom-bindings": "5.0.1", "@riotjs/dom-bindings": "6.0.3",
"@riotjs/util": "^2.0.0", "@riotjs/util": "^2.0.4",
"bianco.attr": "^1.0.0", "bianco.attr": "^1.0.0",
"bianco.query": "^1.0.0", "bianco.query": "^1.0.0",
"cumpa": "^1.0.1", "cumpa": "^1.0.1",
@ -11024,28 +11028,41 @@
} }
}, },
"node_modules/sass-loader": { "node_modules/sass-loader": {
"version": "8.0.2", "version": "12.6.0",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz",
"integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"clone-deep": "^4.0.1", "klona": "^2.0.4",
"loader-utils": "^1.2.3", "neo-async": "^2.6.2"
"neo-async": "^2.6.1",
"schema-utils": "^2.6.1",
"semver": "^6.3.0"
}, },
"engines": { "engines": {
"node": ">= 8.9.0" "node": ">= 12.13.0"
}
}, },
"node_modules/sass-loader/node_modules/semver": { "funding": {
"version": "6.3.0", "type": "opencollective",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "url": "https://opencollective.com/webpack"
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", },
"dev": true, "peerDependencies": {
"bin": { "fibers": ">= 3.1.0",
"semver": "bin/semver.js" "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
"sass": "^1.3.0",
"sass-embedded": "*",
"webpack": "^5.0.0"
},
"peerDependenciesMeta": {
"fibers": {
"optional": true
},
"node-sass": {
"optional": true
},
"sass": {
"optional": true
},
"sass-embedded": {
"optional": true
}
} }
}, },
"node_modules/sax": { "node_modules/sax": {
@ -11545,6 +11562,15 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-resolve": { "node_modules/source-map-resolve": {
"version": "0.5.3", "version": "0.5.3",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
@ -12171,6 +12197,9 @@
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"engines": { "engines": {
"node": ">=10" "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/type-is": { "node_modules/type-is": {
@ -13377,10 +13406,9 @@
} }
}, },
"@babel/parser": { "@babel/parser": {
"version": "7.12.11", "version": "7.17.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz",
"integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg=="
"dev": true
}, },
"@babel/plugin-proposal-async-generator-functions": { "@babel/plugin-proposal-async-generator-functions": {
"version": "7.12.12", "version": "7.12.12",
@ -14125,28 +14153,28 @@
} }
}, },
"@riotjs/compiler": { "@riotjs/compiler": {
"version": "5.1.3", "version": "6.1.3",
"resolved": "https://registry.npmjs.org/@riotjs/compiler/-/compiler-5.1.3.tgz", "resolved": "https://registry.npmjs.org/@riotjs/compiler/-/compiler-6.1.3.tgz",
"integrity": "sha512-YPOgwqpzs7LeA9JZV2qK2qW6o1iQ+6XEpqTopIC2V21hMwA4/9onGFOIzHf0MF0SX0NLzaou1zD6wY5w+G/+ug==", "integrity": "sha512-88974LTsuEOXQ07l9tJctyGtaLXy9LCcuiMbxJ0sEdQAS0OYP9SefBnW2a/7oWqrt5HQBxeOQ5zpSdSbs1LJeA==",
"requires": { "requires": {
"@babel/parser": "^7.16.4",
"@riotjs/parser": "^4.3.1", "@riotjs/parser": "^4.3.1",
"@riotjs/util": "2.0.0", "@riotjs/util": "2.0.4",
"acorn": "^8.0.4",
"cssesc": "^3.0.0", "cssesc": "^3.0.0",
"cumpa": "^1.0.1", "cumpa": "^1.0.1",
"curri": "^1.0.1", "curri": "^1.0.1",
"dom-nodes": "^1.1.3", "dom-nodes": "^1.1.3",
"globals": "^13.3.0", "globals": "^13.12.0",
"recast": "^0.20.4", "recast": "^0.20.5",
"source-map": "^0.7.3" "source-map": "^0.7.3"
} }
}, },
"@riotjs/dom-bindings": { "@riotjs/dom-bindings": {
"version": "5.0.1", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/@riotjs/dom-bindings/-/dom-bindings-5.0.1.tgz", "resolved": "https://registry.npmjs.org/@riotjs/dom-bindings/-/dom-bindings-6.0.3.tgz",
"integrity": "sha512-YDlGYnlZZc7aAhJ+GffyMxyDeR78U7yaKo+NDuoIL2pAceY3KYWXwmZS/3KdjenARxo0h/xZRvJrv77+jkx5Jw==", "integrity": "sha512-ajBgXquwkj8ZaGDhGWJc8n74dCZxvxzoE2hT26T+aAfHVAz5Nhk6jWjmggZ42nN4AX9CQJUMEGY9KJeHDj1ABg==",
"requires": { "requires": {
"@riotjs/util": "^2.0.0" "@riotjs/util": "^2.0.4"
} }
}, },
"@riotjs/parser": { "@riotjs/parser": {
@ -14159,14 +14187,14 @@
} }
}, },
"@riotjs/util": { "@riotjs/util": {
"version": "2.0.0", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/@riotjs/util/-/util-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@riotjs/util/-/util-2.0.4.tgz",
"integrity": "sha512-+FtbujwoRT/Gi2/tarL0I30GIBCFFLUGtuhEJbosT09cUcP839oML871Yc7w5Zxb/IHFV1GS0p1ZGWe3JeeEjw==" "integrity": "sha512-C+YpN8p30T1+qtuPaHS2uobRHG+EpQhtXsu+Ul7sOStb1PnqptXut2YHSffQ6Xlu+FoOlP/BcMu+RVYvzWPmkg=="
}, },
"@riotjs/webpack-loader": { "@riotjs/webpack-loader": {
"version": "5.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/@riotjs/webpack-loader/-/webpack-loader-5.0.0.tgz", "resolved": "https://registry.npmjs.org/@riotjs/webpack-loader/-/webpack-loader-6.0.0.tgz",
"integrity": "sha512-Bko2jXcXY5YyfE41P/7HvMxpN8oa/oyaYWMVKmGzldHjVPmCD3VLhnh7YK3VMG04cdxIEHuBag8/WWsqAg1LRQ==", "integrity": "sha512-ktmbHSexRKPK7QEymAPJq3v/S6aQcmfB0OX2p8zUoKYKlfzEYmdCRjAg4vo9Xw82r4ueYDW5GIdMvoLGWqovIA==",
"dev": true, "dev": true,
"requires": { "requires": {
"loader-utils": "^2.0.0" "loader-utils": "^2.0.0"
@ -14185,6 +14213,14 @@
} }
} }
}, },
"@tiny-components/plain-ui": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@tiny-components/plain-ui/-/plain-ui-0.5.0.tgz",
"integrity": "sha512-he2chVLtq3KV7yWgFIfPKi5UuHEwmNyoegpjKSByYWHK+/3fH/kK+0UCmmiJd6ZbuvBTaJKtYikpJYZhkVfaFQ==",
"requires": {
"normalize.css": "^8.0.1"
}
},
"@types/autoprefixer": { "@types/autoprefixer": {
"version": "9.7.2", "version": "9.7.2",
"resolved": "https://registry.npmjs.org/@types/autoprefixer/-/autoprefixer-9.7.2.tgz", "resolved": "https://registry.npmjs.org/@types/autoprefixer/-/autoprefixer-9.7.2.tgz",
@ -14797,7 +14833,8 @@
"acorn": { "acorn": {
"version": "8.0.4", "version": "8.0.4",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz",
"integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==" "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==",
"dev": true
}, },
"aggregate-error": { "aggregate-error": {
"version": "3.1.0", "version": "3.1.0",
@ -16281,17 +16318,6 @@
"json5": "^2.1.2" "json5": "^2.1.2"
} }
}, },
"postcss": {
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz",
"integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==",
"dev": true,
"requires": {
"colorette": "^1.2.1",
"nanoid": "^3.1.20",
"source-map": "^0.6.1"
}
},
"schema-utils": { "schema-utils": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
@ -16311,12 +16337,6 @@
"requires": { "requires": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
} }
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
} }
} }
}, },
@ -17781,9 +17801,9 @@
"dev": true "dev": true
}, },
"globals": { "globals": {
"version": "13.5.0", "version": "13.13.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.5.0.tgz", "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
"integrity": "sha512-TMJe2Iu/qCIEFnG7IQ62C9N/iKdgX5wSvmGOVuk75+UAGDW+Yv/hH5+Ky6d/8UMqo4WCzhFCy+pHsvv09zhBoQ==", "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
"requires": { "requires": {
"type-fest": "^0.20.2" "type-fest": "^0.20.2"
} }
@ -19303,9 +19323,9 @@
"optional": true "optional": true
}, },
"nanoid": { "nanoid": {
"version": "3.1.20", "version": "3.3.2",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
"integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==",
"dev": true "dev": true
}, },
"nanomatch": { "nanomatch": {
@ -19449,6 +19469,11 @@
"integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
"dev": true "dev": true
}, },
"normalize.css": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
},
"npm-run-path": { "npm-run-path": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@ -19881,6 +19906,12 @@
"sha.js": "^2.4.8" "sha.js": "^2.4.8"
} }
}, },
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
},
"picomatch": { "picomatch": {
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
@ -19925,22 +19956,14 @@
"dev": true "dev": true
}, },
"postcss": { "postcss": {
"version": "8.2.1", "version": "8.4.12",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
"integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
"dev": true, "dev": true,
"requires": { "requires": {
"colorette": "^1.2.1", "nanoid": "^3.3.1",
"nanoid": "^3.1.20", "picocolors": "^1.0.0",
"source-map": "^0.6.1" "source-map-js": "^1.0.2"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
} }
}, },
"postcss-calc": { "postcss-calc": {
@ -22073,9 +22096,9 @@
} }
}, },
"recast": { "recast": {
"version": "0.20.4", "version": "0.20.5",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.20.4.tgz", "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz",
"integrity": "sha512-6qLIBGGRcwjrTZGIiBpJVC/NeuXpogXNyRQpqU1zWPUigCphvApoCs9KIwDYh1eDuJ6dAFlQoi/QUyE5KQ6RBQ==", "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==",
"requires": { "requires": {
"ast-types": "0.14.2", "ast-types": "0.14.2",
"esprima": "~4.0.0", "esprima": "~4.0.0",
@ -22334,13 +22357,13 @@
} }
}, },
"riot": { "riot": {
"version": "5.1.2", "version": "6.1.2",
"resolved": "https://registry.npmjs.org/riot/-/riot-5.1.2.tgz", "resolved": "https://registry.npmjs.org/riot/-/riot-6.1.2.tgz",
"integrity": "sha512-6ztxtDt/Vl78Qzm0N370sqU+wVSmqVKzCOMPKTxObqXvCGTi+qnzLe7aPIfZPPWYwr7O5gA8Lt396MIR3SKxcA==", "integrity": "sha512-JYGKN6D2FwNP+eH2suh13jhQPXnaAeXdwCIWH0vz2UvhLBY9mTFZv6/dPAyEluHTf9bjAJOriFc4PDXox5Fjqw==",
"requires": { "requires": {
"@riotjs/compiler": "^5.1.3", "@riotjs/compiler": "^6.1.3",
"@riotjs/dom-bindings": "5.0.1", "@riotjs/dom-bindings": "6.0.3",
"@riotjs/util": "^2.0.0", "@riotjs/util": "^2.0.4",
"bianco.attr": "^1.0.0", "bianco.attr": "^1.0.0",
"bianco.query": "^1.0.0", "bianco.query": "^1.0.0",
"cumpa": "^1.0.1", "cumpa": "^1.0.1",
@ -22394,24 +22417,13 @@
} }
}, },
"sass-loader": { "sass-loader": {
"version": "8.0.2", "version": "12.6.0",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz",
"integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
"dev": true, "dev": true,
"requires": { "requires": {
"clone-deep": "^4.0.1", "klona": "^2.0.4",
"loader-utils": "^1.2.3", "neo-async": "^2.6.2"
"neo-async": "^2.6.1",
"schema-utils": "^2.6.1",
"semver": "^6.3.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
} }
}, },
"sax": { "sax": {
@ -22854,6 +22866,12 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
}, },
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true
},
"source-map-resolve": { "source-map-resolve": {
"version": "0.5.3", "version": "0.5.3",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",

@ -1,15 +1,15 @@
{ {
"name": "@tiny-components/validator", "name": "@tiny-components/validator",
"version": "0.1.0", "version": "0.2.0",
"description": "Form Validation with Riotjs", "description": "Form Validation with Riotjs",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git@gitea.node001.net:tiny-components/validator.git" "url": "git@github.com:node001-net/tiny-components-validator.git"
}, },
"author": "Björn Hase", "author": "Björn Hase",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@tentakelfabrik/plain-ui": "^0.3.0", "@tiny-components/plain-ui": "^0.5.0",
"form-serialize": "^0.7.2", "form-serialize": "^0.7.2",
"riot": "^6.1.2", "riot": "^6.1.2",
"validate.js": "^0.13.1" "validate.js": "^0.13.1"
@ -19,6 +19,7 @@
"@riotjs/webpack-loader": "^6.0.0", "@riotjs/webpack-loader": "^6.0.0",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"laravel-mix": "^6.0.5", "laravel-mix": "^6.0.5",
"postcss": "^8.4.12",
"sass": "^1.32.0", "sass": "^1.32.0",
"sass-loader": "^12.4.0" "sass-loader": "^12.4.0"
} }

@ -1,5 +1,5 @@
@import @import
'../node_modules/@tentakelfabrik/plain-ui/src/scss/plain-ui'; '../node_modules/@tiny-components/plain-ui/src/scss/plain-ui';
.hidden { .hidden {
display: none; display: none;

@ -20,6 +20,12 @@
</button> </button>
</form> </form>
<div class="loading" if={ state.isLoading }>
<span></span>
<span></span>
<span></span>
</div>
<div if={ state.result } class="panel color-text-contrast { state.class }"> <div if={ state.result } class="panel color-text-contrast { state.class }">
<div class="panel__body"> <div class="panel__body">
<div class="content m-bottom-last-child-0"> <div class="content m-bottom-last-child-0">

@ -77,6 +77,16 @@ class FormValidator
this._onSuccess = onSuccess this._onSuccess = onSuccess
} }
/**
*
* @param {function} onError
*
*/
onBeforeSubmit(onBeforeSubmit)
{
this._onBeforeSubmit = onBeforeSubmit
}
/** /**
* handle submit * handle submit
* *
@ -96,6 +106,10 @@ class FormValidator
fullMessages: false fullMessages: false
} }
if (this._onBeforeSubmit) {
this._onBeforeSubmit()
}
// check form and getting errors // check form and getting errors
validate.async(data, this.constraits, options).then( validate.async(data, this.constraits, options).then(
() => { () => {

11678
yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save