UNPKG

directus-interface-french-company-identifier

Version:

Directus interface for handling french company identifiers (SIRET, SIREN & VAT number)

11 lines 5.61 kB
parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"../node_modules/@directus/extension-toolkit/mixins/interface.js":[function(require,module,exports) { module.exports={props:{id:{type:String,required:!0},name:{type:String,required:!0},value:{type:null,default:null},type:{type:String,required:!0},length:{type:[String,Number],default:null},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},newItem:{type:Boolean,default:!1},relation:{type:Object,default:null},fields:{type:Object,default:null},values:{type:Object,default:null}}}; },{}],"../node_modules/vat-siren-siret/index.js":[function(require,module,exports) { "use strict";const t={SIRET:/^\d{14}$/,SIREN:/^\d{9}$/,VAT:/^FR\d{11}$/,formatSIRET:/^(\d{3})(\d{3})(\d{3})(\d{5})$/g,formatSIREN:/(\d\d\d\B)/g,formatVAT:/^([A-Z]{2})(\d{2})(\d{3})(\d{3})(\d{3})$/};function r(t){let r,n,e=0,o=!1;for(n=t.length-1;n>=0;n-=1)r=parseInt(t[n],10),o&&(r+=r)>9&&(r-=9),e+=r,o=!o;return e%10==0}function n(t){return(12+parseInt(t,10)%97*3)%97}function e(t){const e=t.substr(4);return n(e)===parseInt(t.substr(2,2),10)&&r(e)}function o(n){return"string"==typeof n&&t.SIREN.test(n)&&r(n)}function u(n){return"string"==typeof n&&t.SIRET.test(n)&&r(n)}function f(r){return"string"==typeof r&&t.VAT.test(r)&&e(r)}function s(t){return u(t)?t.substr(0,9):f(t)?t.substr(4):!!o(t)&&t}function i(t){let r=t;if(u(t))r=s(t);else{if(f(t))return r;if(!o(t))return!1}const e=n(r);return`FR${e<10?"0":""}${e}${r}`}function c(r){return u(r)?r.replace(t.formatSIRET,"$1 $2 $3 $4"):r}function $(r){return o(r)?r.replace(t.formatSIREN,"$1 "):r}function I(r){return f(r)?r.replace(t.formatVAT,"$1 $2 $3 $4 $5"):r}module.exports={isSIREN:o,isSIRET:u,isVAT:f,toSIREN:s,toVAT:i,formatSIRET:c,formatSIREN:$,formatVAT:I}; },{}],"french-company-identifier-types.js":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=e(require("vat-siren-siret"));function e(t){return t&&t.__esModule?t:{default:t}}var a={SIRET:{mask:"### ### ### #####",placeholder:"123 456 789 00015",validationFunction:t.default.isSIRET,formatFunction:t.default.formatSIRET},SIREN:{mask:"### ### ###",placeholder:"123 456 789",validationFunction:t.default.isSIREN,formatFunction:t.default.formatSIREN},VAT:{mask:"XX ## ### ### ###",placeholder:"FR 12 345 678 901",validationFunction:t.default.isVAT,formatFunction:t.default.formatVAT}};exports.default=a; },{"vat-siren-siret":"../node_modules/vat-siren-siret/index.js"}],"input.vue":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=i(require("@directus/extension-toolkit/mixins/interface")),e=i(require("./french-company-identifier-types"));function i(t){return t&&t.__esModule?t:{default:t}}var n={mixins:[t.default],data:function(){return{formattedValue:this.value}},computed:{mask:function(){return e.default[this.options.type].mask},placeholder:function(){return e.default[this.options.type].placeholder},isValid:function(){return this.validate(this.rawValue)},rawValue:function(){return(this.formattedValue||"").replace(/\s/g,"")},iconRight:function(){return this.isValid?this.options.performValidation?"check":null:"close"}},methods:{onInput:function(){this.$emit("input",this.isValid?this.rawValue:null)},validate:function(t){return!this.options.performValidation||!this.required&&!this.formattedValue||e.default[this.options.type].validationFunction(t)}}};exports.default=n; (function(){var e,i=exports.default||module.exports;"function"==typeof i&&(i=i.options),Object.assign(i,((e=function(){var e=this,i=e.$createElement,t=e._self._c||i;return t("div",{staticClass:"siret-interface"},[t("span",[t("v-input",{staticClass:"siret-interface__input",class:{"siret-interface__input--invalid":!e.isValid,"siret-interface__input--valid":e.options.performValidation&&e.isValid},attrs:{id:e.id,name:e.name,mask:e.mask,placeholder:e.placeholder,disabled:e.readonly,required:e.required,"icon-right":e.iconRight,"icon-right-color":e.isValid?"accent":"danger"},on:{input:e.onInput},model:{value:e.formattedValue,callback:function(i){e.formattedValue=i},expression:"formattedValue"}})],1),e._v(" "),t("br")])})._withStripped=!0,{render:e,staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0}));})(); },{"@directus/extension-toolkit/mixins/interface":"../node_modules/@directus/extension-toolkit/mixins/interface.js","./french-company-identifier-types":"french-company-identifier-types.js"}]},{},["input.vue"], "__DirectusExtension__") //# sourceMappingURL=/input.js.map