Join our webinar on Wednesday, June 26, at 1pm EDTHow Chia Mitigates Risk in the Crypto Industry.Register
Socket
Socket
Sign inDemoInstall

@jspreadsheet/validations

Package Overview
Dependencies
2
Maintainers
3
Versions
36
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.2 to 4.0.0

45

dist/index.js

@@ -9,28 +9,19 @@ if (!lemonade && typeof(require) === 'function') {

(function(a,h){const b=a0_0x3fd3;for(a=a();;)try{if(parseInt(b(315))/1*(-parseInt(b(311))/2)+parseInt(b(212))/3*(parseInt(b(372))/4)+-parseInt(b(255))/5*(-parseInt(b(304))/6)+-parseInt(b(321))/7*(-parseInt(b(377))/8)+parseInt(b(346))/9*(parseInt(b(256))/10)+-parseInt(b(369))/11*(-parseInt(b(319))/12)+-parseInt(b(297))/13===h)break;else a.push(a.shift())}catch(m){a.push(a.shift())}})(a0_0x4dcc,435678);
function a0_0x4dcc(){const a=["current","isOpen",'</option>\n <option value="reject">',"element","create","valid email","config","jtoolbar-disabled","div",'</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="all">\n <div class="row" style="{{self.action === \'format\' && \'display: none;\'}}">\n <div class="column f1">\n <div class="form-group">\n <label class="label">',
"style","460px","version","less than","Save",'<div @ready="self.createModal(this)">\n <div @ref="self.listContainer">\n <div>\n <div class="p6">{{self.message}}</div><br/>\n <div><List @loop="self.data" /></div>\n </div>\n <p><input type="button" value="',"textLength","formatBackgroundColor","open","11bxKgji","Format style","block","2220212aIDFuw","ends with","createModal","criteria",
"</p>\n </div>","32xOjjCj","startDate","No validation found for this selection","on or before","3fbXdCR","toolbar","notEmpty","Add new validation","data","bigger than","all","value","Add a custom CSS className","valid url","valid date","settings","createPicker","type","append","number","classList","Date","Action","end","className",'</option>\n <option value="format">',"modal","exports","contains","children","Number","setPlugins","error","between","rules","onevent",
"close","setData","picker","settingsContainer","text","action","Cell is empty","List","start","parent","includes","1614175OSpwGP","10qwCXxR","jss_object",'</button>\n </div>\n </div>\n </div>\n </div>\n <p onclick="self.parent.closeForm()" class="cursor">',"object","innerText","not between","italic","call","All validations found for this selection","is not between","font-style","scope","getRange",'<div>\n <div class="validations">\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">',
"translate","getWorksheetName",'<input class="jss_object" @ready="self.create(this)" @bind="self.value" style="width: 100%;" />',"range","is a valid email","oninit","push","length","listContainer","display","label","begins with","Back","bigger than or equal to","instance","items","warning",'</label>\n <div @ready="self.createType(this)" @bind="self.type"></div>\n </div>\n </div><div class="column f1" data-visible="{{self.criteriaVisibility}}">\n <div class="form-group">\n <label class="label">',
"removeValidation","rule","before","bold","Background color","criteriaVisibility","not contains","allowBlank","Cell is not empty","22066785AyTDAO","Cell range","remove","none","format","tools","Value is included in the options","6GUsKEx","font-weight",'</label>\n <input type="text" @bind="self.text" class="jss_object w100">\n </div>\n </div>\n </div>\n </div>\n\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">',
"undefined",'<div>\n <div class="row middle p8">\n <div class="column f1 cursor" onclick="self.parent.openForm(self.index, self.rules)">\n <div class="p2"><b>{{self.label}}</b> <span>({{self.rules.range}})</span></div>\n <div class="p2" data-visible="{{self.rules.criteria?true:false}}">{{self.rules.criteria}}: {{self.rules.value}}</div>\n </div><div>\n <div><i class=\'material-icons cursor\' onclick="self.parent.removeValidation(self.index)">delete</i></div>\n </div>\n </div>\n </div>',
"color","background-color","166bigPax","index",'" onclick="self.openForm(null, {})" class="jbutton dark" /></p>\n </div>\n <div @ref="self.settingsContainer" style="display: none;"><Settings @ref="self.settings" /></div>\n </div>',"isEditable","5053lnuidp","header","different to","getSelection","4249020YLoBic",'</label>\n <input @ready="self.createColorPicker(this)" @bind="self.formatColor" class="jss_object w100">\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">',
"1476769kQIPbv","message","Validations","formatColor","onselection","validations",'</label>\n <input @ready="self.createColorPicker(this)" @bind="self.formatBackgroundColor" class="jss_object w100">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <input type="text" placeholder="',
"openForm","equal to","indexOf","function","forEach","empty",'" @bind="self.className" class="jss_object">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch label" style="margin-bottom: 6px;">\n <input name="bold" type="checkbox" @bind="self.bold"> <i></i> <span class="f1 ml1">Bold</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\'row all\'>\n <div class=\'column f1\'>\n <div class=\'form-group center\'>\n <button type="button" class="jbutton dark w100" onclick="self.close(true)">',
"tags","status","Text","createType","620px","add","date","license","The type is mandatory","resetValidations","amd","4290129vkkqoO","updateDataFromSelection","endDate","Type"];a0_0x4dcc=function(){return a};return a0_0x4dcc()}function a0_0x3fd3(a,h){const b=a0_0x4dcc();return a0_0x3fd3=function(m,n){return b[m-211]},a0_0x3fd3(a,h)}
(function(a,h){const b=a0_0x3fd3;typeof exports===b(259)&&typeof module!==b(307)?module[b(235)]=h():typeof define===b(331)&&define[b(345)]?define(h):a[b(326)]=h()})(this,function(){const a=a0_0x3fd3;let h=null,b=jSuites[a(270)];const m=function(){let c="";8===this[a(336)]?this[a(267)]&&-1!==this[a(267)][a(330)](a(326))||(c="This extension is not included on the scope of this license"):c="License required";if(!c){let e=h.version();(!e||!e.version||10>parseInt(e[a(362)]))&&(c="The validation extension requires Jspreadsheet Pro v10+")}return c},
n={number:[{text:b("between"),value:a(241)},{text:b(a(265)),value:"not between"},{text:b("less than"),value:"<"},{text:b("less than or equal to"),value:"<="},{text:b(a(217)),value:">"},{text:b(a(283)),value:">="},{text:b(a(329)),value:"="},{text:b(a(317)),value:"!="}],text:[{text:b(a(236)),value:"contains"},{text:b(a(294)),value:a(294)},{text:b(a(281)),value:a(281)},{text:b(a(373)),value:"ends with"},{text:b(a(329)),value:"="},{text:b(a(274)),value:a(355)},{text:b("is a valid url"),value:a(221)}],
date:[{text:b("is a valid date"),value:a(222)},{text:b("equal to"),value:"="},{text:b(a(290)),value:"<"},{text:b(a(211)),value:"<="},{text:b("after"),value:">"},{text:b("on or after"),value:">="},{text:b("between"),value:a(241)},{text:b(a(261)),value:"not between"}],textLength:[{text:b(a(241)),value:"between"},{text:b(a(265)),value:a(261)},{text:b(a(363)),value:"<"},{text:b("less than or equal to"),value:"<="},{text:b(a(217)),value:">"},{text:b(a(283)),value:">="},{text:b(a(329)),value:"="},{text:b("different to"),
value:"!="}]},v=function(){let c=this;return c[a(354)]=function(e){c.instance=jSuites.calendar(e,this)},a(272)},t=function(){"list"===this[a(242)][a(225)]&&(this[a(242)].criteria=b(a(303)));this.label=this.rules[a(225)];"empty"===this[a(280)]?this[a(280)]=a(250):this[a(280)]===a(214)&&(this[a(280)]=a(296));return a(308)},w=function(){let c=this,e=null;c[a(293)]=!0;c[a(338)]=function(d){jSuites.dropdown(d,{data:[{value:a(227),text:b(a(238))},{value:a(248),text:b(a(337))},{value:a(341),text:b(a(229))},
{value:"list",text:b(a(251))},{value:a(366),text:b("Text length")},{value:a(333),text:b(a(250))},{value:a(214),text:b(a(296))}],onchange:function(f,g,l,k){c[a(375)]="";c.start="";c[a(231)]="";n[k]?(e[a(245)](n[k]),c[a(293)]=!0):(e[a(245)](null),c.criteriaVisibility=!1);f=c.el[a(237)][0][a(237)];for(g=0;g<f[a(277)];g++)f[g][a(228)].contains(a(218))||f[g][a(228)][a(236)](k)?f[g].style[a(279)]="":f[g][a(360)].display=a(300)},onload:function(f,g){g[a(316)][a(228)][a(340)]("jss_object")}})};c.createCriteria=
function(d){e=jSuites.dropdown(d,{data:n[a(227)],autocomplete:!0,onload:function(f,g){g[a(316)][a(228)][a(340)](a(257))}})};c[a(224)]=function(d){h[a(246)](d,function(){-1===d[a(260)][a(330)]("!")?d[a(260)]=h[a(350)].getWorksheetName()+"!"+d[a(260)]:d.innerText=d.innerText;c[a(273)]=d.innerText;jSuites.focus(d)})};c.createColorPicker=function(d){jSuites[a(309)](d)};c.createList=function(d){jSuites[a(335)](d,{placeholder:"List of valid values"})};c[a(244)]=function(d){d&&(c.range?c[a(225)]?c[a(293)]&&
!c.criteria?alert(b("The criteria is mandatory")):(-1===c[a(273)][a(330)]("!")&&(c.range=c.instance[a(271)]()+"!"+c.range),d={range:c[a(273)],action:c[a(249)],type:c[a(225)],criteria:c.criteria,text:c[a(248)],className:c[a(232)],allowBlank:c[a(295)]},c[a(225)]===a(341)?d[a(375)][a(254)]("between")?d[a(219)]=[c[a(378)],c[a(348)]]:d[a(219)]=[c.startDate]:d.criteria[a(254)](a(241))?d.value=[c[a(252)],c.end]:d[a(219)]=[c[a(252)]],d[a(249)]===a(301)&&(d.format={},c[a(324)]&&(d.format[a(309)]=c[a(324)]),
c.formatBackgroundColor&&(d.format[a(310)]=c[a(367)]),c[a(291)]&&(d.format["font-weight"]=a(291)),c[a(262)]&&(d.format[a(266)]=a(262))),d={value:d},null!==c.index&&(d[a(312)]=c[a(312)]),c.instance.setValidations(d)):alert(b(a(343))):alert(b("The range is mandatory")))};var p=a(269)+b(a(298))+'</label>\n <div @ready="self.createPicker(this)" @bind="self.range"></div>\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">'+
b(a(230))+'</label>\n <select style="padding: 8px;" @bind="self.action">\n <option value="warning">'+b("Warning message")+a(352)+b("Reject entry")+a(233)+b(a(370))+a(359)+b("Warning message")+a(306)+b(a(349))+a(287)+b("Criteria")+'</label>\n <div name="criteria" @ready="self.createCriteria(this)" @bind="self.criteria"></div>\n </div>\n </div>\n </div>\n\n \x3c!-- Number input options --\x3e\n <div class="row number textLength middle" style="display: none">\n <div class="column f1">\n <div class="form-group">\n <input type="text" @bind="self.start" class="jss_object" placeholder="5">\n </div>\n </div>\n <div class="column f1" style="{{!self.criteria.includes(\'between\') && \'display: none;\'}}">\n <div class="form-group">\n <input type="text" @bind="self.end" class="jss_object" placeholder="10">\n </div>\n </div>\n </div>\n\n \x3c!-- Text input options --\x3e\n <div class="row text" style="display: none;">\n <div class="column f1" style="{{self.criteria.includes(\'valid\') && \'display: none;\'}}">\n <div class="form-group">\n <input type="text" @bind="self.start" placeholder="Value..." class="jss_object">\n </div>\n </div>\n </div>\n\n \x3c!-- Date input options --\x3e\n <div class="row middle date" style="display: none;">\n <div class="column f1" style="{{self.criteria.includes(\'valid\') && \'display: none;\'}}">\n <div class="form-group">\n <Calendar @bind="self.startDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n <div class="column f1" style="{{! self.criteria.includes(\'between\') && \'display: none;\'}}">\n <div class="form-group">\n <Calendar @bind="self.endDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n </div>\n\n \x3c!-- List input options --\x3e\n <div class="row list" style="display: none;">\n <div class="column f1">\n <div class="form-group">\n <div @ready="self.createList(this)" @bind="self.start" class="jss_object"></div>\n </div>\n </div>\n </div>\n\n <div class="row number text date list textLength">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch" style="margin-bottom: 6px;">\n <input name="allowBlank" type="checkbox" @bind="self.allowBlank"> <i></i> <span class="f1 ml1">Allow blank</span>\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- FORMAT STYLING OPTIONS --\x3e\n <div class="all">\n <div class="row" style="{{self.action !== \'format\' && \'display: none;\'}}">\n <div class="column f1" style="border-top: 1px solid #eee;margin-top: 10px">\n <div class="form-group">\n <h4 style="color: #2c2d2e; margin: 10px; margin-left: 5px;"><b>Formatting Options</b></h4>\n\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="label">'+
b("Color")+a(320)+b(a(292))+a(327)+b(a(220))+a(334)+b(a(364))+a(258)+b(a(282))+a(376);return lemonade[a(353)](p,c,{Calendar:v,List:t})},x=function(c){let e={};e[a(347)]=function(d){if((d=this[a(318)]())&&e[a(234)][a(351)]()){if(d[a(277)]&&this[a(253)][a(356)].validations){let f=new Map;for(let l=d[1];l<=d[3];l++)for(let k=d[0];k<=d[2];k++){let u=this.loadValidations(this.records[l][k]);for(let q=0;q<u.length;q++)f.set(u[q],!0)}e[a(322)]=b(a(264));let g=[];f[a(332)](function(l,k){g.push({index:k[a(312)],
rules:Object.assign({},k[a(242)])})});e[a(216)]=g}else e[a(216)]=[];!e.data.length&&(e.message=b(a(379)));e.closeForm()}};e[a(213)]=function(d){return d[a(285)][a(276)]({content:a(289),type:"i",tooltip:b(a(215)),onclick:function(){e.open(h[a(350)])},updateState:function(f,g,l,k){k[a(314)]()?l[a(228)][a(299)](a(357)):l.classList[a(340)](a(357))}}),d};e[a(368)]=function(d){e[a(223)][a(284)]=d;e[a(234)][a(368)]();e.updateDataFromSelection[a(263)](d)};e[a(243)]=function(d,f){d!==a(325)&&"onvalidation"!==
d||e.updateDataFromSelection[a(263)](f)};e[a(374)]=function(d){e[a(234)]=jSuites[a(234)](d,{title:a(323),closed:!0,width:a(361),height:a(339),icon:a(289),backdrop:!1})};e[a(328)]=function(d,f){!f[a(219)]&&(f[a(219)]=[]);!f[a(301)]&&(f[a(301)]={});e[a(223)][a(312)]=d;e[a(223)][a(273)]=f[a(273)]||e.settings[a(284)][a(268)]();e.settings[a(249)]=f[a(249)]||a(286);e[a(223)][a(225)]=f[a(225)]||a(227);e[a(223)][a(375)]=f[a(375)]||"";e[a(223)][a(248)]=f[a(248)]||"";e.settings[a(232)]=f.className||"";e[a(223)][a(295)]=
f[a(295)]||"";e[a(223)].formatColor=f[a(301)][a(309)]||"";e[a(223)][a(367)]=f[a(301)][a(310)]||"";e.settings[a(262)]=f[a(301)][a(266)]||"";e[a(223)][a(291)]=f[a(301)][a(305)]||"";"undefined"===typeof f[a(219)][0]&&(f[a(219)][0]="");"undefined"===typeof f[a(219)][1]&&(f[a(219)][1]="");f[a(225)]===a(341)?(e[a(223)][a(378)]=f[a(219)][0],e.settings[a(348)]=f[a(219)][1]):(e.settings[a(252)]=f[a(219)][0],e[a(223)][a(231)]=f[a(219)][1]);e[a(278)][a(360)][a(279)]=a(300);e.settingsContainer.style[a(279)]=
a(371)};e.closeForm=function(){e.listContainer[a(360)].display=a(371);e[a(247)].style.display="none"};e[a(288)]=function(d){e.settings[a(284)][a(344)](d)};let p=document.createElement(a(358));return c[a(302)][a(226)](p),lemonade.render(function(){let d=a(365)+b("Add new validation")+a(313);return lemonade.element(d,e,{Settings:w,List:t})},p),e},r=function(){return!0};return r[a(275)]=function(c,e){(e=m[a(263)](c))?console[a(240)](e):c[a(239)]({validations:x})},r[a(342)]=function(c){null===h&&(h=this)},
r});
function a0_0x5772(){const a='startDate,display,setAttribute,config,criteriaVisibility,listContainer,Value is included in the options,Save,isEditable,<div :ready="self.createModal">\n <div :ref="self.listContainer">\n <div>\n <div class="p6">{{self.message}}</div><br/>\n <div><List @loop="self.data" /></div>\n </div>\n <p><input type="button" value=",action,less than or equal to,end,editValidation,</label>\n <div :ready="self.createPicker" :bind="self.range"></div>\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">,</button>\n </div>\n </div>\n </div>\n </div>\n <p onclick="self.parent.closeForm" class="cursor">,version,4384683EfQUaP,children,Cell is empty,rules," :bind="self.className" class="jss_object">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch label" style="margin-bottom: 6px;">\n <input name="bold" type="checkbox" :bind="self.bold"> <i></i> <span class="f1 ml1">Bold</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\'row all\'>\n <div class=\'column f1\'>\n <div class=\'form-group center\'>\n <button type="button" class="jbutton dark w100" onclick="self.close">,date,onvalidation,exports,calendar,validations,valid url,visible,createModal,on or after,setData,empty,indexOf,valid,background-color,jtoolbar-disabled,71072dIHsMG,different to,Background color,dropdown,list,element,Text length,Warning message,object,index,bigger than or equal to,instance,start,number,settings,set,createColorPicker,updateDataFromSelection,The range is mandatory,Criteria,font-style,addValidation,onevent,label,criteria,none,range,style,460px,formatBackgroundColor,856009FfZBjN,createPicker,after,Validations,No validation found for this selection,append,30lHOvLH,on or before,querySelectorAll,color,less than,Add a custom CSS className,block,2482052QjRDgL,close,createCriteria,18Qnkrfp,Format style,data,The criteria is mandatory,closeForm,remove,List,15rSbRQa,add,Reject entry,length,data-visible,openForm,notEmpty,getWorksheetName,translate,Add new validation,message,4002050XAFrXd,text,Date,jss_object,call,items,createType,current,endDate,before,is a valid date,not contains,59482weDkUA," onclick="self.addValidation" class="jbutton dark" /></p>\n </div>\n <div :ref="self.settingsContainer" style="display: none;"><Settings :ref="self.settings" /></div>\n </div>,license,removeValidation,rule,all,onselection,textLength,</label>\n <div :ready="self.createType" :bind="self.type"></div>\n </div>\n </div>\n <div class="column f1" data-control="criteria">\n <div class="form-group">\n <label class="label">,forEach,The validation extension requires Jspreadsheet Pro v10+,not between,Action,Cell is not empty,The type is mandatory,push,amd,List of valid values,equal to,between,is a valid email,value,contains,status,formatColor,</label>\n <div name="criteria" :ready="self.createCriteria" :bind="self.criteria"></div>\n </div>\n </div>\n </div>\n\n \x3c!-- Number input options --\x3e\n <div class="row number textLength middle" data-control="valid">\n <div class="column f1">\n <div class="form-group">\n <input type="text" :bind="self.start" class="jss_object" placeholder="5">\n </div>\n </div>\n <div class="column f1" data-control="end">\n <div class="form-group">\n <input type="text" :bind="self.end" class="jss_object" placeholder="10">\n </div>\n </div>\n </div>\n\n \x3c!-- Text input options --\x3e\n <div class="row text" data-control="valid">\n <div class="column f1">\n <div class="form-group">\n <input type="text" :bind="self.start" placeholder="Value..." class="jss_object">\n </div>\n </div>\n </div>\n\n \x3c!-- Date input options --\x3e\n <div class="row middle date" data-control="valid">\n <div class="column f1">\n <div class="form-group">\n <Calendar :bind="self.startDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n <div class="column f1" data-control="end">\n <div class="form-group">\n <Calendar :bind="self.endDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n </div>\n\n \x3c!-- List input options --\x3e\n <div class="row list">\n <div class="column f1">\n <div class="form-group">\n <div :ready="self.createList(this)" :bind="self.start" class="jss_object"></div>\n </div>\n </div>\n </div>\n\n <div class="row number text date list textLength">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch" style="margin-bottom: 6px;">\n <input name="allowBlank" type="checkbox" :bind="self.allowBlank"> <i></i> <span class="f1 ml1">Allow blank</span>\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- FORMAT STYLING OPTIONS --\x3e\n <div class="all" data-control="format">\n <div class="row">\n <div class="column f1" style="border-top: 1px solid #eee;margin-top: 10px">\n <div class="form-group">\n <h4 style="color: #2c2d2e; margin: 10px; margin-left: 5px;"><b>Formatting Options</b></h4>\n\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="label">,includes,focus,className,</label>\n <select style="padding: 8px;" :bind="self.action">\n <option value="warning">,</option>\n <option value="reject">,</label>\n <input type="text" :bind="self.text" class="jss_object w100">\n </div>\n </div>\n </div>\n </div>\n\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">,records,</p>\n </div>,modal,License required,allowBlank,[data-control],undefined,settingsContainer,Number,render,format,scope,bigger than,</option>\n <option value="format">,italic,createElement,12174808weRflt,innerText,classList,</label>\n <input :ready="self.createColorPicker(this)" :bind="self.formatColor" class="jss_object w100">\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">,open,ends with,is not between,<input class="jss_object" :ready="self.create" :bind="self.value" style="width: 100%;" />,</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="all" data-control="message">\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="label">,font-weight,setValidations,All validations found for this selection,isOpen,Color,This extension is not included on the scope of this license,loadValidations,valid date,type,header'.split(",");
a0_0x5772=function(){return a};return a0_0x5772()}(function(a,h){const b=a0_0x1849;for(a=a();;)try{if(parseInt(b(555))/1+-parseInt(b(451))/2*(-parseInt(b(608))/3)+-parseInt(b(598))/4+parseInt(b(619))/5+parseInt(b(601))/6*(parseInt(b(585))/7)+parseInt(b(499))/8+-parseInt(b(535))/9*(parseInt(b(591))/10)===h)break;else a.push(a.shift())}catch(m){a.push(a.shift())}})(a0_0x5772,826825);function a0_0x1849(a,h){const b=a0_0x5772();return a0_0x1849=function(m,n){return b[m-441]},a0_0x1849(a,h)}
(function(a,h){const b=a0_0x1849;typeof exports===b(563)&&typeof module!==b(489)?module[b(542)]=h():"function"===typeof define&&define[b(467)]?define(h):a[b(544)]=h()})(this,function(){const a=a0_0x1849;let h=null,b=jSuites[a(616)];const m=function(){let c="";8===this[a(474)]?this.scope&&-1!==this[a(494)][a(551)](a(544))||(c=a(513)):c=a(486);if(!c){let d=h[a(534)]();(!d||!d.version||10>parseInt(d[a(534)]))&&(c=a(461))}return c},n={number:[{text:b(a(470)),value:a(470)},{text:b("is not between"),value:"not between"},
{text:b(a(595)),value:"<"},{text:b("less than or equal to"),value:"<="},{text:b(a(495)),value:">"},{text:b(a(565)),value:">="},{text:b(a(469)),value:"="},{text:b(a(556)),value:"!="}],text:[{text:b("contains"),value:a(473)},{text:b(a(450)),value:a(450)},{text:b("begins with"),value:"begins with"},{text:b(a(504)),value:a(504)},{text:b(a(469)),value:"="},{text:b(a(471)),value:"valid email"},{text:b("is a valid url"),value:a(545)}],date:[{text:b(a(449)),value:a(515)},{text:b(a(469)),value:"="},{text:b(a(448)),
value:"<"},{text:b(a(592)),value:"<="},{text:b(a(587)),value:">"},{text:b(a(548)),value:">="},{text:b("between"),value:a(470)},{text:b(a(462)),value:a(462)}],textLength:[{text:b("between"),value:a(470)},{text:b(a(505)),value:a(462)},{text:b("less than"),value:"<"},{text:b(a(529)),value:"<="},{text:b(a(495)),value:">"},{text:b("bigger than or equal to"),value:">="},{text:b("equal to"),value:"="},{text:b("different to"),value:"!="}]},u=function(){let c=this;return c.create=function(d){c.instance=jSuites[a0_0x1849(543)](d,
this)},a(506)},v=function(){"list"===this[a(538)][a(516)]&&(this[a(538)][a(579)]=b(a(524)));this[a(578)]=this[a(538)][a(516)];this[a(578)]===a(550)?this.label=a(537):this[a(578)]===a(614)&&(this[a(578)]=a(464));return'<div>\n <div class="row middle p8">\n <div class="column f1 cursor" onclick="self.parent.editValidation">\n <div class="p2"><b>{{self.label}}</b> <span>({{self.rules.range}})</span></div>\n <div class="p2" data-visible="self.rules.criteria">{{self.rules.criteria}}: {{self.rules.value}}</div>\n </div><div>\n <div><i class=\'material-icons cursor\' onclick="self.parent.removeValidation">delete</i></div>\n </div>\n </div>\n </div>'},
w=function(){let c=this,d=null;c[a(445)]=function(f){jSuites[a(558)](f,{data:[{value:a(568),text:b(a(491))},{value:a(620),text:b("Text")},{value:"date",text:b(a(441))},{value:a(559),text:b(a(607))},{value:a(458),text:b(a(561))},{value:a(550),text:b(a(537))},{value:a(614),text:b(a(464))}],onchange:function(e,g,l,k){c.criteria="";c[a(567)]="";c[a(530)]="";n[k]?d.setData(n[k]):d[a(549)](null);e=c.el[a(536)][0][a(536)];for(g=0;g<e[a(611)];g++)e[g][a(501)][a(473)](a(456))||e[g][a(501)].contains(k)?e[g].style[a(519)]=
"":e[g].style[a(519)]="none"},onload:function(e,g){g[a(517)][a(501)][a(609)](a(442))}})};c[a(600)]=function(f){d=jSuites.dropdown(f,{data:n[a(568)],autocomplete:!0,onload:function(e,g){g.header.classList.add("jss_object")}})};c[a(586)]=function(f){h.picker(f,function(){const e=a0_0x1849;-1===f.innerText[e(551)]("!")?f[e(500)]=h.current[e(615)]()+"!"+f.innerText:f[e(500)]=f[e(500)];c[e(581)]=f[e(500)];jSuites[e(478)](f)})};c[a(571)]=function(f){jSuites[a(594)](f)};c.createList=function(f){jSuites.tags(f,
{placeholder:a(468)})};c[a(599)]=function(){if(c.range)if(c[a(516)])if(c[a(522)]&&!c[a(579)])alert(b(a(604)));else{-1===c.range[a(551)]("!")&&(c[a(581)]=c[a(566)].getWorksheetName()+"!"+c[a(581)]);var f={range:c[a(581)],action:c.action,type:c.type,criteria:c[a(579)],text:c.text,className:c[a(479)],allowBlank:c.allowBlank};c[a(516)]===a(540)?f[a(579)].includes(a(470))?f[a(472)]=[c[a(518)],c[a(447)]]:f[a(472)]=[c[a(518)]]:f[a(579)].includes(a(470))?f[a(472)]=[c[a(567)],c.end]:f[a(472)]=[c.start];f[a(528)]===
a(493)&&(f[a(493)]={},c[a(475)]&&(f.format[a(594)]=c[a(475)]),c[a(584)]&&(f[a(493)][a(553)]=c[a(584)]),c.bold&&(f[a(493)]["font-weight"]="bold"),c[a(497)]&&(f[a(493)][a(575)]=a(497)));f={value:f};null!==c.index&&(f[a(564)]=c[a(564)]);c[a(566)][a(509)](f)}else alert(b(a(465)));else alert(b(a(573)))};c.visible=function(){c.el[a(593)](a(488))[a(460)](function(f){let e=f.getAttribute("data-control"),g;e===a(579)?g=d&&d.options[a(603)].length?!0:!1:"message"===e?g=c[a(528)]===a(493)?!1:!0:e===a(530)?g=
c[a(579)][a(477)]("between")?!0:!1:"valid"===e?g=c.criteria[a(477)](a(552))?!1:!0:e===a(493)&&(g="format"===c[a(528)]);f[a(520)](a(612),g)})};c.onchange=function(){setTimeout(function(){c.visible()})};c.onload=function(){c[a(546)]()};const p='<div>\n <div class="validations">\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">'+b("Cell range")+a(532)+b(a(463))+
a(480)+b(a(562))+a(481)+b(a(610))+a(496)+b(a(602))+a(507)+b("Warning message")+a(482)+b("Type")+a(459)+b(a(574))+a(476)+b(a(512))+a(502)+b(a(557))+'</label>\n <input :ready="self.createColorPicker(this)" :bind="self.formatBackgroundColor" class="jss_object w100">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <input type="text" placeholder="'+
b(a(596))+a(539)+b(a(525))+a(533)+b("Back")+a(484);return lemonade[a(560)](p,c,{Calendar:u})},x=function(c){let d={};d[a(572)]=function(f){if((f=this.getSelection())&&d[a(485)][a(511)]()){if(f[a(611)]&&this.parent[a(521)][a(544)]){let e=new Map;for(let l=f[1];l<=f[3];l++)for(let k=f[0];k<=f[2];k++){let t=this[a(514)](this[a(483)][l][k]);for(let q=0;q<t.length;q++)e[a(570)](t[q],!0)}d[a(618)]=b(a(510));let g=[];e[a(460)](function(l,k){g[a(466)]({index:k.index,rules:Object.assign({},k.rules)})});d[a(603)]=
g}else d[a(603)]=[];!d[a(603)][a(611)]&&(d[a(618)]=b(a(589)));d[a(605)]()}};d.toolbar=function(f){return f[a(444)][a(466)]({content:a(455),type:"i",tooltip:b(a(617)),onclick:function(){d[a(503)](h[a(446)])},updateState:function(e,g,l,k){k[a(526)]()?l[a(501)][a(606)]("jtoolbar-disabled"):l[a(501)].add(a(554))}}),f};d[a(503)]=function(f){d[a(569)][a(566)]=f;d[a(485)][a(503)]();d.updateDataFromSelection.call(f)};d[a(577)]=function(f,e){f!==a(457)&&f!==a(541)||d[a(572)].call(e)};d[a(547)]=function(f){d[a(485)]=
jSuites.modal(f,{title:a(588),closed:!0,width:a(583),height:"620px",icon:a(455),backdrop:!1})};d[a(613)]=function(f,e){!e&&(e={});!e[a(472)]&&(e[a(472)]=[]);!e[a(493)]&&(e[a(493)]={});d[a(569)][a(564)]=f;d[a(569)][a(581)]=e[a(581)]||d[a(569)][a(566)].getRange();d[a(569)][a(528)]=e[a(528)]||"warning";d[a(569)][a(516)]=e[a(516)]||a(568);d[a(569)][a(579)]=e[a(579)]||"";d[a(569)].text=e[a(620)]||"";d[a(569)].className=e[a(479)]||"";d[a(569)].allowBlank=e[a(487)]||"";d.settings[a(475)]=e[a(493)][a(594)]||
"";d.settings.formatBackgroundColor=e.format[a(553)]||"";d[a(569)][a(497)]=e[a(493)][a(575)]||"";d[a(569)].bold=e[a(493)][a(508)]||"";"undefined"===typeof e.value[0]&&(e[a(472)][0]="");typeof e.value[1]===a(489)&&(e.value[1]="");"date"===e[a(516)]?(d[a(569)][a(518)]=e.value[0],d.settings.endDate=e[a(472)][1]):(d.settings[a(567)]=e[a(472)][0],d[a(569)][a(530)]=e[a(472)][1]);d.listContainer.style[a(519)]=a(580);d[a(490)][a(582)][a(519)]=a(597)};d[a(605)]=function(){d[a(523)][a(582)][a(519)]=a(597);
d[a(490)][a(582)][a(519)]=a(580)};d[a(454)]=function(f,e){d[a(569)].instance.resetValidations(e[a(564)])};d[a(576)]=function(f,e){d.openForm(null,{})};d[a(531)]=function(f,e){d[a(613)](e[a(564)],e.rules)};let p=document[a(498)]("div");return c.tools[a(590)](p),lemonade[a(492)](function(){let f=a(527)+b(a(617))+a(452);return lemonade[a(560)](f,d,{Settings:w,List:v})},p),d},r=function(){return!0};return r.oninit=function(c,d){(d=m[a(443)](c))?console.error(d):c.setPlugins({validations:x})},r[a(453)]=
function(c){null===h&&(h=this)},r});

6

package.json

@@ -30,8 +30,8 @@ {

"dependencies": {
"jsuites": "^5.0.26",
"lemonadejs": "^3.3.2"
"jsuites": "^5.0.27",
"lemonadejs": "^4.0.1"
},
"main": "dist/index.js",
"types": "dist/index.d.ts",
"version": "3.0.2",
"version": "4.0.0",
"bugs": "https://github.com/jspreadsheet/pro/issues",

@@ -38,0 +38,0 @@ "homepage": "https://github.com/jspreadsheet/pro",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc