domelemjs 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -27,24 +27,26 @@ const createDOMElem = ({
27
27
  */
28
28
 
29
29
  attrs &&
30
- Object.keys(attrs).forEach((attr) => {
31
- if (attr === "checked") {
32
- elem.checked = attrs[attr];
33
- } else if (attr === "dataset") {
34
- makeThatArray(attrs[attr]).map((data) =>
35
- Object.keys(data).forEach((d) => (elem.dataset[d] = data[d]))
36
- );
37
- } else if (attr === "class" || attr === "id") {
38
- elem.setAttribute(
39
- attr,
40
- makeThatArray(attrs[attr])
41
- .map((a) => noSpecChars(a))
42
- .join(" ")
43
- );
44
- } else {
45
- elem.setAttribute(attr, makeThatArray(attrs[attr]).join(" "));
46
- }
47
- });
30
+ makeThatArray(attrs).forEach((atts) =>
31
+ Object.keys(atts).forEach((attr) => {
32
+ if (attr === "checked") {
33
+ elem.checked = atts[attr];
34
+ } else if (attr === "dataset") {
35
+ makeThatArray(atts[attr]).map((data) =>
36
+ Object.keys(data).forEach((d) => (elem.dataset[d] = data[d]))
37
+ );
38
+ } else if (attr === "class" || attr === "id") {
39
+ elem.setAttribute(
40
+ attr,
41
+ makeThatArray(atts[attr])
42
+ .map((a) => noSpecChars(a))
43
+ .join(" ")
44
+ );
45
+ } else {
46
+ elem.setAttribute(attr, makeThatArray(atts[attr]).join(" "));
47
+ }
48
+ })
49
+ );
48
50
 
49
51
  /*
50
52
  * Adding stye is possible as:
package/index.min.js CHANGED
@@ -1,2 +1,2 @@
1
- const createDOMElem=({tag:tag,content:content,text:text,attrs:attrs,style:style,children:children,parent:parent,handleEvent:handleEvent})=>{let elem=document.createElement(tag);return content&&(elem.innerHTML=content),text&&(elem.textContent=text),attrs&&Object.keys(attrs).forEach(attr=>{"checked"===attr?elem.checked=attrs[attr]:"dataset"===attr?makeThatArray(attrs[attr]).map(data=>Object.keys(data).forEach(d=>elem.dataset[d]=data[d])):"class"===attr||"id"===attr?elem.setAttribute(attr,makeThatArray(attrs[attr]).map(a=>noSpecChars(a)).join(" ")):elem.setAttribute(attr,makeThatArray(attrs[attr]).join(" "))}),style&&makeThatArray(style).map(styleElem=>"object"==typeof styleElem?Object.keys(styleElem).map(styleTxt=>`${styleTxt}: ${styleElem[styleTxt]}`).join("; "):makeThatArray(styleElem).join("; ")).join("; ").split(";").forEach(styleTxts=>{let[styleTxt,val]=styleTxts.split(":").map(c=>c.trim());elem.style[makeCamelCase(styleTxt)]=val}),children&&makeThatArray(children).map(child=>{let childElem=child;"object"==typeof child&&(childElem=createDOMElem(child)),elem.appendChild(childElem)}),handleEvent&&makeThatArray(handleEvent).forEach(newEvent=>{elem.addEventListener(newEvent.event,newEvent.cb)}),parent?"string"==typeof parent&&(parent=[".","#"].map(prep=>document.querySelector(prep+parent)).filter(pe=>null!==pe)[0]):parent=document.querySelector("body"),parent.appendChild(elem),elem},DOMElem={Create:createDOMElem},noSpecChars=(text,lowercase=!1)=>{function replaceAll(string,search,replace){return string.split(search).join(replace)}let specialChars={"é":"e","á":"a","ó":"o","ö":"o","ő":"o","ú":"u","ü":"u","ű":"u","í":"i","É":"E","Á":"A","Ó":"O","Ö":"O","Ő":"O","Ú":"U","Ü":"U","Ű":"U","Í":"I"," ":"-","/":"-",":":"-",";":"-","=":"-"};for(let char in specialChars)text=replaceAll(text,char,specialChars[char]);return lowercase?text.toLowerCase():text},makeThatArray=arr=>Array.isArray(arr)?arr:[arr];function makeCamelCase(s){return s.split("-").map((ss,i)=>i>0?ss.charAt(0).toUpperCase()+ss.slice(1):ss).join("")}
1
+ const createDOMElem=({tag:tag,content:content,text:text,attrs:attrs,style:style,children:children,parent:parent,handleEvent:handleEvent})=>{let elem=document.createElement(tag);return content&&(elem.innerHTML=content),text&&(elem.textContent=text),attrs&&makeThatArray(attrs).forEach(atts=>Object.keys(atts).forEach(attr=>{"checked"===attr?elem.checked=atts[attr]:"dataset"===attr?makeThatArray(atts[attr]).map(data=>Object.keys(data).forEach(d=>elem.dataset[d]=data[d])):"class"===attr||"id"===attr?elem.setAttribute(attr,makeThatArray(atts[attr]).map(a=>noSpecChars(a)).join(" ")):elem.setAttribute(attr,makeThatArray(atts[attr]).join(" "))})),style&&makeThatArray(style).map(styleElem=>"object"==typeof styleElem?Object.keys(styleElem).map(styleTxt=>`${styleTxt}: ${styleElem[styleTxt]}`).join("; "):makeThatArray(styleElem).join("; ")).join("; ").split(";").forEach(styleTxts=>{let[styleTxt,val]=styleTxts.split(":").map(c=>c.trim());elem.style[makeCamelCase(styleTxt)]=val}),children&&makeThatArray(children).map(child=>{let childElem=child;"object"==typeof child&&(childElem=createDOMElem(child)),elem.appendChild(childElem)}),handleEvent&&makeThatArray(handleEvent).forEach(newEvent=>{elem.addEventListener(newEvent.event,newEvent.cb)}),parent?"string"==typeof parent&&(parent=[".","#"].map(prep=>document.querySelector(prep+parent)).filter(pe=>null!==pe)[0]):parent=document.querySelector("body"),parent.appendChild(elem),elem},DOMElem={Create:createDOMElem},noSpecChars=(text,lowercase=!1)=>{function replaceAll(string,search,replace){return string.split(search).join(replace)}let specialChars={"é":"e","á":"a","ó":"o","ö":"o","ő":"o","ú":"u","ü":"u","ű":"u","í":"i","É":"E","Á":"A","Ó":"O","Ö":"O","Ő":"O","Ú":"U","Ü":"U","Ű":"U","Í":"I"," ":"-","/":"-",":":"-",";":"-","=":"-"};for(let char in specialChars)text=replaceAll(text,char,specialChars[char]);return lowercase?text.toLowerCase():text},makeThatArray=arr=>Array.isArray(arr)?arr:[arr];function makeCamelCase(s){return s.split("-").map((ss,i)=>i>0?ss.charAt(0).toUpperCase()+ss.slice(1):ss).join("")}
2
2
  //# sourceMappingURL=index.min.js.map
package/index.min.js.map CHANGED
@@ -18,12 +18,13 @@
18
18
  "createElement",
19
19
  "innerHTML",
20
20
  "textContent",
21
+ "makeThatArray",
22
+ "forEach",
23
+ "atts",
21
24
  "Object",
22
25
  "keys",
23
- "forEach",
24
26
  "attr",
25
27
  "checked",
26
- "makeThatArray",
27
28
  "map",
28
29
  "data",
29
30
  "d",
@@ -94,6 +95,6 @@
94
95
  "toUpperCase",
95
96
  "slice"
96
97
  ],
97
- "mappings": "AAAA,MAAMA,cAAgB,EACpBC,IAAAA,IACAC,QAAAA,QACAC,KAAAA,KACAC,MAAAA,MACAC,MAAAA,MACAC,SAAAA,SACAC,OAAAA,OACAC,YAAAA,gBAKA,IAAIC,KAAOC,SAASC,cAAcV,KA0GlC,OArGAC,UAAYO,KAAKG,UAAYV,SAI7BC,OAASM,KAAKI,YAAcV,MAM5BC,OACEU,OAAOC,KAAKX,OAAOY,QAASC,OACb,YAATA,KACFR,KAAKS,QAAUd,MAAMa,MACH,YAATA,KACTE,cAAcf,MAAMa,OAAOG,IAAKC,MAC9BP,OAAOC,KAAKM,MAAML,QAASM,GAAOb,KAAKc,QAAQD,GAAKD,KAAKC,KAEzC,UAATL,MAA6B,OAATA,KAC7BR,KAAKe,aACHP,KACAE,cAAcf,MAAMa,OACjBG,IAAKK,GAAMC,YAAYD,IACvBE,KAAK,MAGVlB,KAAKe,aAAaP,KAAME,cAAcf,MAAMa,OAAOU,KAAK,QAa9DtB,OACEc,cAAcd,OACXe,IAAKQ,WACqB,iBAAdA,UACFd,OAAOC,KAAKa,WAChBR,IAAKS,UAAa,GAAGA,aAAaD,UAAUC,aAC5CF,KAAK,MAEDR,cAAcS,WAAWD,KAAK,OAGxCA,KAAK,MACLG,MAAM,KACNd,QAASe,YACR,IAAKF,SAAUG,KAAOD,UAAUD,MAAM,KAAKV,IAAKa,GAAMA,EAAEC,QACxDzB,KAAKJ,MAAM8B,cAAcN,WAAaG,MAG5C1B,UACEa,cAAcb,UAAUc,IAAKgB,QAC3B,IAAIC,UAAYD,MACK,iBAAVA,QAAoBC,UAAYrC,cAAcoC,QACzD3B,KAAK6B,YAAYD,aASrB7B,aACEW,cAAcX,aAAaQ,QAASuB,WAClC9B,KAAK+B,iBAAiBD,SAASE,MAAOF,SAASG,MAY/CnC,OACoB,iBAAXA,SACTA,OAAS,CAAC,IAAK,KACZa,IAAKuB,MACGjC,SAASkC,cAAcD,KAAOpC,SAEtCsC,OAAQC,IACO,OAAPA,IACN,IAEFvC,OAASG,SAASkC,cAAc,QAEvCrC,OAAO+B,YAAY7B,MAKZA,MAIHsC,QAAU,CACdC,OAAQhD,eAQJ0B,YAAc,CAACvB,KAAM8C,WAAY,KACrC,SAASC,WAAWC,OAAQC,OAAQC,SAClC,OAAOF,OAAOrB,MAAMsB,QAAQzB,KAAK0B,SAGnC,IAAIC,aAAe,CACjBC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KAEP,IAAK,IAAIC,QAAQxB,aACfnD,KAAO+C,WAAW/C,KAAM2E,KAAMxB,aAAawB,OAE7C,OAAO7B,UAAY9C,KAAK4E,cAAgB5E,MAIpCgB,cAAiB6D,KACjBC,MAAMC,QAAQF,KACTA,IAEA,CAACA,KAKZ,SAAS7C,cAAcgD,GACrB,OAAOA,EACJrD,MAAM,KACNV,IAAI,CAACgE,GAAIC,IACDA,EAAI,EAAID,GAAGE,OAAO,GAAGC,cAAgBH,GAAGI,MAAM,GAAKJ,IAE3DzD,KAAK",
98
+ "mappings": "AAAA,MAAMA,cAAgB,EACpBC,IAAAA,IACAC,QAAAA,QACAC,KAAAA,KACAC,MAAAA,MACAC,MAAAA,MACAC,SAAAA,SACAC,OAAAA,OACAC,YAAAA,gBAKA,IAAIC,KAAOC,SAASC,cAAcV,KA4GlC,OAvGAC,UAAYO,KAAKG,UAAYV,SAI7BC,OAASM,KAAKI,YAAcV,MAM5BC,OACEU,cAAcV,OAAOW,QAASC,MAC5BC,OAAOC,KAAKF,MAAMD,QAASI,OACZ,YAATA,KACFV,KAAKW,QAAUJ,KAAKG,MACF,YAATA,KACTL,cAAcE,KAAKG,OAAOE,IAAKC,MAC7BL,OAAOC,KAAKI,MAAMP,QAASQ,GAAOd,KAAKe,QAAQD,GAAKD,KAAKC,KAEzC,UAATJ,MAA6B,OAATA,KAC7BV,KAAKgB,aACHN,KACAL,cAAcE,KAAKG,OAChBE,IAAKK,GAAMC,YAAYD,IACvBE,KAAK,MAGVnB,KAAKgB,aAAaN,KAAML,cAAcE,KAAKG,OAAOS,KAAK,SAc/DvB,OACES,cAAcT,OACXgB,IAAKQ,WACqB,iBAAdA,UACFZ,OAAOC,KAAKW,WAChBR,IAAKS,UAAa,GAAGA,aAAaD,UAAUC,aAC5CF,KAAK,MAEDd,cAAce,WAAWD,KAAK,OAGxCA,KAAK,MACLG,MAAM,KACNhB,QAASiB,YACR,IAAKF,SAAUG,KAAOD,UAAUD,MAAM,KAAKV,IAAKa,GAAMA,EAAEC,QACxD1B,KAAKJ,MAAM+B,cAAcN,WAAaG,MAG5C3B,UACEQ,cAAcR,UAAUe,IAAKgB,QAC3B,IAAIC,UAAYD,MACK,iBAAVA,QAAoBC,UAAYtC,cAAcqC,QACzD5B,KAAK8B,YAAYD,aASrB9B,aACEM,cAAcN,aAAaO,QAASyB,WAClC/B,KAAKgC,iBAAiBD,SAASE,MAAOF,SAASG,MAY/CpC,OACoB,iBAAXA,SACTA,OAAS,CAAC,IAAK,KACZc,IAAKuB,MACGlC,SAASmC,cAAcD,KAAOrC,SAEtCuC,OAAQC,IACO,OAAPA,IACN,IAEFxC,OAASG,SAASmC,cAAc,QAEvCtC,OAAOgC,YAAY9B,MAKZA,MAIHuC,QAAU,CACdC,OAAQjD,eAQJ2B,YAAc,CAACxB,KAAM+C,WAAY,KACrC,SAASC,WAAWC,OAAQC,OAAQC,SAClC,OAAOF,OAAOrB,MAAMsB,QAAQzB,KAAK0B,SAGnC,IAAIC,aAAe,CACjBC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KAEP,IAAK,IAAIC,QAAQxB,aACfpD,KAAOgD,WAAWhD,KAAM4E,KAAMxB,aAAawB,OAE7C,OAAO7B,UAAY/C,KAAK6E,cAAgB7E,MAIpCW,cAAiBmE,KACjBC,MAAMC,QAAQF,KACTA,IAEA,CAACA,KAKZ,SAAS7C,cAAcgD,GACrB,OAAOA,EACJrD,MAAM,KACNV,IAAI,CAACgE,GAAIC,IACDA,EAAI,EAAID,GAAGE,OAAO,GAAGC,cAAgBH,GAAGI,MAAM,GAAKJ,IAE3DzD,KAAK",
98
99
  "file": "index.js"
99
100
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "domelemjs",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "With the help of this package the rendering of HTML elements form JavaScript become a easy job.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -27,10 +27,14 @@
27
27
  text: "It's amazing",
28
28
  parent: app,
29
29
  style: { color: "red", backgroundColor: "pink" },
30
- attrs: {
31
- id: "title2",
32
- dataset: [{ text: "redText" }, { bg: "greenBG" }],
33
- },
30
+ attrs: [
31
+ {
32
+ id: "title2",
33
+ },
34
+ {
35
+ dataset: [{ text: "redText" }, { bg: "greenBG" }],
36
+ },
37
+ ],
34
38
  });
35
39
  createDOMElem({
36
40
  tag: "h3",