@perevorot/shop 3.0.4 → 3.0.5

Sign up to get free protection for your applications and to get access to all the features.
package/dist/helpers.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("vue"),e=require("yup"),t=require("@perevorot/shop/dist/forms/FormCheckbox"),o=require("@perevorot/shop/dist/forms/FormCheckboxes"),n=require("@perevorot/shop/dist/forms/FormPassword"),i=require("@perevorot/shop/dist/forms/FormRadio"),a=require("@perevorot/shop/dist/forms/FormRating"),u=require("@perevorot/shop/dist/forms/FormSection"),l=require("@perevorot/shop/dist/forms/FormSelect"),s=require("@perevorot/shop/dist/forms/FormSwitch"),d=require("@perevorot/shop/dist/forms/FormText"),c=require("@perevorot/shop/dist/forms/FormTextarea");function f(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}function m(r){if(r&&r.__esModule)return r;var e=Object.create(null);return r&&Object.keys(r).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return r[t]}})}})),e.default=r,Object.freeze(e)}var p=m(e),h=f(t),v=f(o),b=f(n),y=f(i),F=f(a),g=f(u),w=f(l),x=f(s),S=f(d),q=f(c);function O(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null==t)return;var o,n,i=[],a=!0,u=!1;try{for(t=t.call(r);!(a=(o=t.next()).done)&&(i.push(o.value),!e||i.length!==e);a=!0);}catch(r){u=!0,n=r}finally{try{a||null==t.return||t.return()}finally{if(u)throw n}}return i}(r,e)||k(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(r){return function(r){if(Array.isArray(r))return _(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||k(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(r,e){if(r){if("string"==typeof r)return _(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_(r,e):void 0}}function _(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,o=new Array(e);t<e;t++)o[t]=r[t];return o}p.addMethod(p.string,"minOrEmpty",(function(r,e){return this.test({name:"minOrEmpty",exclusive:!0,message:e,params:{min:r},test:function(e){return""==e||e.length>=r}})})),p.addMethod(p.string,"numberFilled",(function(r,e){return this.test({name:"numberFilled",exclusive:!0,message:__("auth.validation.number"),params:{min:r},test:function(r){return!(""==r||isNaN(r))}})}));var A={pluralize:function(r,e){var t=Number(String(r).replace(/\D/g,""));return r+" "+e[t%100>4&&t%100<20?2:[2,0,1,1,1,2][Math.min(t%10,5)]]},formParse:function(e){var t={FormCheckbox:h.default,FormCheckboxes:v.default,FormPassword:b.default,FormRadio:y.default,FormRating:F.default,FormSection:g.default,FormSelect:w.default,FormSwitch:x.default,FormText:S.default,FormTextarea:q.default};window.extraFormFields&&(t=Object.assign({},t,window.extraFormFields));var o={},n={},i={};if(e.form)for(var a=function(){var e=O(l[u],2),a=e[0],s=e[1];if("_"!=a.charAt(0)){var d;switch(s.component){case"FormCheckbox":case"FormSwitch":d=!1;break;case"FormCheckboxes":d=[];break;default:d=""}o[a]=d}var c=t[s.component];c&&r.markRaw(c);var f={component:c||s.component,label:s.label,validations:{}};if(s.validation){var m=p;s.validation.forEach((function(r){var e=[],t=r;if(t.split(":").length>1){var o=r.split(":");t=o.shift(),e=JSON.parse(o)}("required"==t&&(f.validations.required=!0),"phone"==t&&f.validations.required)&&(t="matches",e=[s.pattern?new RegExp(s.pattern):/^\(\d{3}\) \d{3}\-\d{2}\-\d{2}$/,__("auth.validation.phone")]);"array"!=t&&e.push(__("auth.validation."+t));try{var n;if("booleanTrue"==t)m=p.mixed.apply(p,j(e)).oneOf([!0],s.validationLabel?s.validationLabel:__("auth.validation.boolean"));else m=(n=m)[t].apply(n,j(e))}catch(r){}})),i[a]=m}s.condition&&("true"!==s.condition[1]&&"false"!==s.condition[1]||(s.condition[1]="true"===s.condition[1]),f.condition=function(r){return r[s.condition[0]]===s.condition[1]},i[a]=p.mixed().when(s.condition[0],{is:s.condition[1],then:i[a]})),window.extraFormValidators&&(i=Object.assign({},i,window.extraFormValidators)),["mask","placeholder","description","type","list","model","store","default","hidden"].forEach((function(r){s[r]&&(f[r]=s[r])})),n[a]=f},u=0,l=Object.entries(e.form);u<l.length;u++)a();return{schema:n,model:o,validation:p.object().shape(i)}},nl2p:function(r){return null==r?"":"<p>"+(r+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1</p><p>$2")+"</p>"},numberFormat:function(r){return r?r.toString().replace(/\B(?=(\d{3})+(?!\d))/g," "):"0"}};module.exports=A;
1
+ "use strict";var r=require("vue"),e=require("yup"),t=require("@perevorot/shop/dist/forms/FormCheckbox"),o=require("@perevorot/shop/dist/forms/FormCheckboxes"),n=require("@perevorot/shop/dist/forms/FormPassword"),i=require("@perevorot/shop/dist/forms/FormRadio"),a=require("@perevorot/shop/dist/forms/FormRating"),u=require("@perevorot/shop/dist/forms/FormSection"),l=require("@perevorot/shop/dist/forms/FormSelect"),s=require("@perevorot/shop/dist/forms/FormSwitch"),d=require("@perevorot/shop/dist/forms/FormText"),c=require("@perevorot/shop/dist/forms/FormTextarea");function f(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}function m(r){if(r&&r.__esModule)return r;var e=Object.create(null);return r&&Object.keys(r).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return r[t]}})}})),e.default=r,Object.freeze(e)}var p=m(e),h=f(t),v=f(o),b=f(n),y=f(i),F=f(a),g=f(u),w=f(l),x=f(s),S=f(d),q=f(c);function O(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null==t)return;var o,n,i=[],a=!0,u=!1;try{for(t=t.call(r);!(a=(o=t.next()).done)&&(i.push(o.value),!e||i.length!==e);a=!0);}catch(r){u=!0,n=r}finally{try{a||null==t.return||t.return()}finally{if(u)throw n}}return i}(r,e)||k(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(r){return function(r){if(Array.isArray(r))return _(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||k(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(r,e){if(r){if("string"==typeof r)return _(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_(r,e):void 0}}function _(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,o=new Array(e);t<e;t++)o[t]=r[t];return o}p.addMethod(p.string,"minOrEmpty",(function(r,e){return this.test({name:"minOrEmpty",exclusive:!0,message:e,params:{min:r},test:function(e){return""==e||e.length>=r}})})),p.addMethod(p.string,"numberFilled",(function(r,e){return this.test({name:"numberFilled",exclusive:!0,message:__("auth.validation.number"),params:{min:r},test:function(r){return!(""==r||isNaN(r))}})}));var A={pluralize:function(r,e){var t=Number(String(r).replace(/\D/g,""));return r+" "+e[t%100>4&&t%100<20?2:[2,0,1,1,1,2][Math.min(t%10,5)]]},formParse:function(e){var t={FormCheckbox:h.default,FormCheckboxes:v.default,FormPassword:b.default,FormRadio:y.default,FormRating:F.default,FormSection:g.default,FormSelect:w.default,FormSwitch:x.default,FormText:S.default,FormTextarea:q.default};window.extraFormFields&&(t=Object.assign({},t,window.extraFormFields));var o={},n={},i={};if(e.form)for(var a=function(){var e,a=O(l[u],2),s=a[0],d=a[1];if("_"!=s.charAt(0)){var c;switch(d.component){case"FormCheckbox":case"FormSwitch":c=!1;break;case"FormCheckboxes":c=[];break;default:c=""}o[s]=c}var f=t[d.component];f&&r.markRaw(f);var m={component:f||d.component,label:d.label,validations:{}};if(d.validation){var h=p;d.validation.forEach((function(r){var e=[],t=r;if(t.split(":").length>1){var o=r.split(":");t=o.shift(),e=JSON.parse(o)}("required"==t&&(m.validations.required=!0),"phone"==t&&m.validations.required)&&(t="matches",e=[d.pattern?new RegExp(d.pattern):/^\(\d{3}\) \d{3}\-\d{2}\-\d{2}$/,__("auth.validation.phone")]);"array"!=t&&e.push(__("auth.validation."+t));try{var n;if("booleanTrue"==t)h=p.mixed.apply(p,j(e)).oneOf([!0],d.validationLabel?d.validationLabel:__("auth.validation.boolean"));else h=(n=h)[t].apply(n,j(e))}catch(r){}})),i[s]=h}d.condition&&("true"!==d.condition[1]&&"false"!==d.condition[1]||(d.condition[1]="true"===d.condition[1]),m.condition=function(r){return r[d.condition[0]]===d.condition[1]},i[s]=p.mixed().when(d.condition[0],{is:d.condition[1],then:i[s]})),null!==(e=window.extraFormValidators)&&void 0!==e&&e[s]&&(i[s]=window.extraFormValidators[s]),["mask","placeholder","description","type","list","model","store","default","hidden"].forEach((function(r){d[r]&&(m[r]=d[r])})),n[s]=m},u=0,l=Object.entries(e.form);u<l.length;u++)a();return{schema:n,model:o,validation:p.object().shape(i)}},nl2p:function(r){return null==r?"":"<p>"+(r+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1</p><p>$2")+"</p>"},numberFormat:function(r){return r?r.toString().replace(/\B(?=(\d{3})+(?!\d))/g," "):"0"}};module.exports=A;
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../src/helpers/modules/formParse.js","../src/helpers/index.js","../src/helpers/modules/pluralize.js","../src/helpers/modules/nl2p.js","../src/helpers/modules/numberFormat.js"],"sourcesContent":["import { markRaw } from 'vue';\nimport * as yup from 'yup';\n\nimport FormCheckbox from '@perevorot/shop/dist/forms/FormCheckbox';\nimport FormCheckboxes from '@perevorot/shop/dist/forms/FormCheckboxes';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport FormRadio from '@perevorot/shop/dist/forms/FormRadio';\nimport FormRating from '@perevorot/shop/dist/forms/FormRating';\nimport FormSection from '@perevorot/shop/dist/forms/FormSection';\nimport FormSelect from '@perevorot/shop/dist/forms/FormSelect';\nimport FormSwitch from '@perevorot/shop/dist/forms/FormSwitch';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormTextarea from '@perevorot/shop/dist/forms/FormTextarea';\n\nyup.addMethod(yup.string, 'minOrEmpty', function (min, msg) {\n return this.test({\n name: 'minOrEmpty',\n exclusive: true,\n message: msg,\n params: {\n min: min,\n },\n test: (value) => value == '' || value.length >= min,\n });\n});\n\nyup.addMethod(yup.string, 'numberFilled', function (min, msg) {\n return this.test({\n name: 'numberFilled',\n exclusive: true,\n message: __('auth.validation.number'),\n params: {\n min: min,\n },\n test: (value) => !(value == '' || isNaN(value)),\n });\n});\n\nexport default function formParse(json) {\n let components = {\n FormCheckbox: FormCheckbox,\n FormCheckboxes: FormCheckboxes,\n FormPassword: FormPassword,\n FormRadio: FormRadio,\n FormRating: FormRating,\n FormSection: FormSection,\n FormSelect: FormSelect,\n FormSwitch: FormSwitch,\n FormText: FormText,\n FormTextarea: FormTextarea,\n };\n\n if (window.extraFormFields) {\n components = {\n ...components,\n ...window.extraFormFields,\n };\n }\n\n let model = {};\n let schema = {};\n let validation = {};\n\n if (json.form) {\n for (const [field, element] of Object.entries(json.form)) {\n if (field.charAt(0) != '_') {\n let value;\n\n switch (element.component) {\n case 'FormCheckbox':\n case 'FormSwitch':\n value = false;\n break;\n\n case 'FormCheckboxes':\n value = [];\n break;\n default:\n value = '';\n }\n\n model[field] = value;\n }\n\n const component = components[element.component];\n\n if (component) {\n markRaw(component);\n }\n\n let s = {\n component: component ? component : element.component,\n label: element.label,\n validations: {},\n };\n\n if (element.validation) {\n let v = yup;\n\n const validations = element.validation;\n\n validations.forEach((rule) => {\n let attributes = [];\n let method = rule;\n\n if (method.split(':').length > 1) {\n let ruleWithAttributes = rule.split(':');\n method = ruleWithAttributes.shift();\n\n attributes = JSON.parse(ruleWithAttributes);\n }\n\n if (method == 'required') {\n s.validations.required = true;\n }\n\n if (method == 'phone' && s.validations.required) {\n const phoneRegExp = element.pattern ? new RegExp(element.pattern) : /^\\(\\d{3}\\) \\d{3}\\-\\d{2}\\-\\d{2}$/;\n\n method = 'matches';\n\n attributes = [phoneRegExp, __('auth.validation.phone')];\n }\n\n if (method != 'array') {\n attributes.push(__('auth.validation.' + method));\n }\n\n try {\n if (method == 'booleanTrue') {\n v = yup.mixed(...attributes).oneOf([true], element.validationLabel ? element.validationLabel : __('auth.validation.boolean'));\n } else {\n v = v[method](...attributes);\n }\n } catch (error) {}\n });\n\n validation[field] = v;\n }\n\n if (element.condition) {\n if (element.condition[1] === 'true' || element.condition[1] === 'false') {\n element.condition[1] = element.condition[1] === 'true';\n }\n\n s.condition = (model) => model[element.condition[0]] === element.condition[1];\n\n validation[field] = yup.mixed().when(element.condition[0], {\n is: element.condition[1],\n then: validation[field],\n });\n }\n\n if (window.extraFormValidators) {\n validation = {\n ...validation,\n ...window.extraFormValidators,\n };\n }\n\n ['mask', 'placeholder', 'description', 'type', 'list', 'model', 'store', 'default', 'hidden'].forEach((f) => {\n if (element[f]) {\n s[f] = element[f];\n }\n });\n\n schema[field] = s;\n }\n }\n\n return {\n schema: schema,\n model: model,\n validation: yup.object().shape(validation),\n };\n}\n","import pluralize from './modules/pluralize';\nimport formParse from './modules/formParse';\nimport nl2p from './modules/nl2p';\nimport numberFormat from './modules/numberFormat';\n\nexport default {\n pluralize,\n formParse,\n nl2p,\n numberFormat,\n};\n","export default function pluralize(count, words) {\n let cases = [2, 0, 1, 1, 1, 2];\n\n const countClear = Number(String(count).replace(/\\D/g, ''));\n\n return count + ' ' + words[countClear % 100 > 4 && countClear % 100 < 20 ? 2 : cases[Math.min(countClear % 10, 5)]];\n}\n","export default function nl2p(str) {\n if (typeof str === 'undefined' || str === null) {\n return '';\n }\n\n return '<p>' + (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + '</p><p>' + '$2') + '</p>';\n}\n","export default function numberFormat(value) {\n return value ? value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ') : '0';\n}\n"],"names":["yup","addMethod","string","min","msg","this","test","name","exclusive","message","params","value","length","__","isNaN","pluralize","count","words","countClear","Number","String","replace","Math","formParse","json","components","FormCheckbox","FormCheckboxes","FormPassword","FormRadio","FormRating","FormSection","FormSelect","FormSwitch","FormText","FormTextarea","window","extraFormFields","model","schema","validation","form","field","element","charAt","component","markRaw","s","label","validations","v","forEach","rule","attributes","method","split","ruleWithAttributes","shift","JSON","parse","required","pattern","RegExp","push","mixed","oneOf","validationLabel","error","condition","when","is","then","extraFormValidators","f","Object","entries","object","shape","nl2p","str","numberFormat","toString"],"mappings":"kyEAcAA,EAAIC,UAAUD,EAAIE,OAAQ,cAAc,SAAUC,EAAKC,UAC5CC,KAAKC,KAAK,CACbC,KAAM,aACNC,WAAW,EACXC,QAASL,EACTM,OAAQ,CACJP,IAAKA,GAETG,KAAM,SAACK,SAAmB,IAATA,GAAeA,EAAMC,QAAUT,QAIxDH,EAAIC,UAAUD,EAAIE,OAAQ,gBAAgB,SAAUC,EAAKC,UAC9CC,KAAKC,KAAK,CACbC,KAAM,eACNC,WAAW,EACXC,QAASI,GAAG,0BACZH,OAAQ,CACJP,IAAKA,GAETG,KAAM,SAACK,WAAqB,IAATA,GAAeG,MAAMH,UC7BhD,MAAe,CACXI,UCNW,SAAmBC,EAAOC,OAG/BC,EAAaC,OAAOC,OAAOJ,GAAOK,QAAQ,MAAO,YAEhDL,EAAQ,IAAMC,EAAMC,EAAa,IAAM,GAAKA,EAAa,IAAM,GAAK,EAJ/D,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAIyDI,KAAKnB,IAAIe,EAAa,GAAI,MDE/GK,UD+BW,SAAmBC,OAC1BC,EAAa,CACbC,aAAcA,UACdC,eAAgBA,UAChBC,aAAcA,UACdC,UAAWA,UACXC,WAAYA,UACZC,YAAaA,UACbC,WAAYA,UACZC,WAAYA,UACZC,SAAUA,UACVC,aAAcA,WAGdC,OAAOC,kBACPZ,mBACOA,EACAW,OAAOC,sBAIdC,EAAQ,GACRC,EAAS,GACTC,EAAa,MAEbhB,EAAKiB,0CACOC,OAAOC,UACQ,KAAnBD,EAAME,OAAO,GAAW,KACpBjC,SAEIgC,EAAQE,eACP,mBACA,aACDlC,GAAQ,YAGP,iBACDA,EAAQ,iBAGRA,EAAQ,GAGhB2B,EAAMI,GAAS/B,MAGbkC,EAAYpB,EAAWkB,EAAQE,WAEjCA,GACAC,UAAQD,OAGRE,EAAI,CACJF,UAAWA,GAAwBF,EAAQE,UAC3CG,MAAOL,EAAQK,MACfC,YAAa,OAGbN,EAAQH,WAAY,KAChBU,EAAIlD,EAEY2C,EAAQH,WAEhBW,SAAQ,SAACC,OACbC,EAAa,GACbC,EAASF,KAETE,EAAOC,MAAM,KAAK3C,OAAS,EAAG,KAC1B4C,EAAqBJ,EAAKG,MAAM,KACpCD,EAASE,EAAmBC,QAE5BJ,EAAaK,KAAKC,MAAMH,IAGd,YAAVF,IACAP,EAAEE,YAAYW,UAAW,GAGf,SAAVN,GAAqBP,EAAEE,YAAYW,YAGnCN,EAAS,UAETD,EAAa,CAJOV,EAAQkB,QAAU,IAAIC,OAAOnB,EAAQkB,SAAW,kCAIzChD,GAAG,2BAGpB,SAAVyC,GACAD,EAAWU,KAAKlD,GAAG,mBAAqByC,iBAI1B,eAAVA,EACAJ,EAAIlD,EAAIgE,YAAJhE,IAAaqD,IAAYY,MAAM,EAAC,GAAOtB,EAAQuB,gBAAkBvB,EAAQuB,gBAAkBrD,GAAG,iCAElGqC,KAAIA,GAAEI,aAAWD,IAEvB,MAAOc,QAGb3B,EAAWE,GAASQ,EAGpBP,EAAQyB,YACqB,SAAzBzB,EAAQyB,UAAU,IAA0C,UAAzBzB,EAAQyB,UAAU,KACrDzB,EAAQyB,UAAU,GAA8B,SAAzBzB,EAAQyB,UAAU,IAG7CrB,EAAEqB,UAAY,SAAC9B,UAAUA,EAAMK,EAAQyB,UAAU,MAAQzB,EAAQyB,UAAU,IAE3E5B,EAAWE,GAAS1C,EAAIgE,QAAQK,KAAK1B,EAAQyB,UAAU,GAAI,CACvDE,GAAI3B,EAAQyB,UAAU,GACtBG,KAAM/B,EAAWE,MAIrBN,OAAOoC,sBACPhC,mBACOA,EACAJ,OAAOoC,uBAIjB,OAAQ,cAAe,cAAe,OAAQ,OAAQ,QAAS,QAAS,UAAW,UAAUrB,SAAQ,SAACsB,GAC/F9B,EAAQ8B,KACR1B,EAAE0B,GAAK9B,EAAQ8B,OAIvBlC,EAAOG,GAASK,SAtGW2B,OAAOC,QAAQnD,EAAKiB,+BA0GhD,CACHF,OAAQA,EACRD,MAAOA,EACPE,WAAYxC,EAAI4E,SAASC,MAAMrC,KCrKnCsC,KERW,SAAcC,UACrB,MAAOA,EACA,GAGJ,OAASA,EAAM,IAAI1D,QAAQ,gCAAiC,eAA2B,QFI9F2D,aGTW,SAAsBrE,UAC1BA,EAAQA,EAAMsE,WAAW5D,QAAQ,wBAAyB,KAAO"}
1
+ {"version":3,"file":"helpers.js","sources":["../src/helpers/modules/formParse.js","../src/helpers/index.js","../src/helpers/modules/pluralize.js","../src/helpers/modules/nl2p.js","../src/helpers/modules/numberFormat.js"],"sourcesContent":["import { markRaw } from 'vue';\nimport * as yup from 'yup';\n\nimport FormCheckbox from '@perevorot/shop/dist/forms/FormCheckbox';\nimport FormCheckboxes from '@perevorot/shop/dist/forms/FormCheckboxes';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport FormRadio from '@perevorot/shop/dist/forms/FormRadio';\nimport FormRating from '@perevorot/shop/dist/forms/FormRating';\nimport FormSection from '@perevorot/shop/dist/forms/FormSection';\nimport FormSelect from '@perevorot/shop/dist/forms/FormSelect';\nimport FormSwitch from '@perevorot/shop/dist/forms/FormSwitch';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormTextarea from '@perevorot/shop/dist/forms/FormTextarea';\n\nyup.addMethod(yup.string, 'minOrEmpty', function (min, msg) {\n return this.test({\n name: 'minOrEmpty',\n exclusive: true,\n message: msg,\n params: {\n min: min,\n },\n test: (value) => value == '' || value.length >= min,\n });\n});\n\nyup.addMethod(yup.string, 'numberFilled', function (min, msg) {\n return this.test({\n name: 'numberFilled',\n exclusive: true,\n message: __('auth.validation.number'),\n params: {\n min: min,\n },\n test: (value) => !(value == '' || isNaN(value)),\n });\n});\n\nexport default function formParse(json) {\n let components = {\n FormCheckbox: FormCheckbox,\n FormCheckboxes: FormCheckboxes,\n FormPassword: FormPassword,\n FormRadio: FormRadio,\n FormRating: FormRating,\n FormSection: FormSection,\n FormSelect: FormSelect,\n FormSwitch: FormSwitch,\n FormText: FormText,\n FormTextarea: FormTextarea,\n };\n\n if (window.extraFormFields) {\n components = {\n ...components,\n ...window.extraFormFields,\n };\n }\n\n let model = {};\n let schema = {};\n let validation = {};\n\n if (json.form) {\n for (const [field, element] of Object.entries(json.form)) {\n if (field.charAt(0) != '_') {\n let value;\n\n switch (element.component) {\n case 'FormCheckbox':\n case 'FormSwitch':\n value = false;\n break;\n\n case 'FormCheckboxes':\n value = [];\n break;\n default:\n value = '';\n }\n\n model[field] = value;\n }\n\n const component = components[element.component];\n\n if (component) {\n markRaw(component);\n }\n\n let s = {\n component: component ? component : element.component,\n label: element.label,\n validations: {},\n };\n\n if (element.validation) {\n let v = yup;\n\n const validations = element.validation;\n\n validations.forEach((rule) => {\n let attributes = [];\n let method = rule;\n\n if (method.split(':').length > 1) {\n let ruleWithAttributes = rule.split(':');\n method = ruleWithAttributes.shift();\n\n attributes = JSON.parse(ruleWithAttributes);\n }\n\n if (method == 'required') {\n s.validations.required = true;\n }\n\n if (method == 'phone' && s.validations.required) {\n const phoneRegExp = element.pattern ? new RegExp(element.pattern) : /^\\(\\d{3}\\) \\d{3}\\-\\d{2}\\-\\d{2}$/;\n\n method = 'matches';\n\n attributes = [phoneRegExp, __('auth.validation.phone')];\n }\n\n if (method != 'array') {\n attributes.push(__('auth.validation.' + method));\n }\n\n try {\n if (method == 'booleanTrue') {\n v = yup.mixed(...attributes).oneOf([true], element.validationLabel ? element.validationLabel : __('auth.validation.boolean'));\n } else {\n v = v[method](...attributes);\n }\n } catch (error) {}\n });\n\n validation[field] = v;\n }\n\n if (element.condition) {\n if (element.condition[1] === 'true' || element.condition[1] === 'false') {\n element.condition[1] = element.condition[1] === 'true';\n }\n\n s.condition = (model) => model[element.condition[0]] === element.condition[1];\n\n validation[field] = yup.mixed().when(element.condition[0], {\n is: element.condition[1],\n then: validation[field],\n });\n }\n\n if (window.extraFormValidators?.[field]) {\n validation[field] = window.extraFormValidators[field];\n }\n\n ['mask', 'placeholder', 'description', 'type', 'list', 'model', 'store', 'default', 'hidden'].forEach((f) => {\n if (element[f]) {\n s[f] = element[f];\n }\n });\n\n schema[field] = s;\n }\n }\n\n return {\n schema: schema,\n model: model,\n validation: yup.object().shape(validation),\n };\n}\n","import pluralize from './modules/pluralize';\nimport formParse from './modules/formParse';\nimport nl2p from './modules/nl2p';\nimport numberFormat from './modules/numberFormat';\n\nexport default {\n pluralize,\n formParse,\n nl2p,\n numberFormat,\n};\n","export default function pluralize(count, words) {\n let cases = [2, 0, 1, 1, 1, 2];\n\n const countClear = Number(String(count).replace(/\\D/g, ''));\n\n return count + ' ' + words[countClear % 100 > 4 && countClear % 100 < 20 ? 2 : cases[Math.min(countClear % 10, 5)]];\n}\n","export default function nl2p(str) {\n if (typeof str === 'undefined' || str === null) {\n return '';\n }\n\n return '<p>' + (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + '</p><p>' + '$2') + '</p>';\n}\n","export default function numberFormat(value) {\n return value ? value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ') : '0';\n}\n"],"names":["yup","addMethod","string","min","msg","this","test","name","exclusive","message","params","value","length","__","isNaN","pluralize","count","words","countClear","Number","String","replace","Math","formParse","json","components","FormCheckbox","FormCheckboxes","FormPassword","FormRadio","FormRating","FormSection","FormSelect","FormSwitch","FormText","FormTextarea","window","extraFormFields","model","schema","validation","form","field","element","charAt","component","markRaw","s","label","validations","v","forEach","rule","attributes","method","split","ruleWithAttributes","shift","JSON","parse","required","pattern","RegExp","push","mixed","oneOf","validationLabel","error","condition","when","is","then","extraFormValidators","_window$extraFormVali","f","Object","entries","object","shape","nl2p","str","numberFormat","toString"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perevorot/shop",
3
- "version": "3.0.4",
3
+ "version": "3.0.5",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist/*"