{"version":3,"file":"index.es.min.js","sources":["../../../packages/helpers/src/props.helpers.js","../../../packages/design-system/src/components/list/list.js"],"sourcesContent":["const getData = attributes => attributes.find(attribute => attribute.nodeName === 'data')\n\nconst createProps = attributes => {\n const data = getData([...attributes])\n const props = [...attributes]\n .filter(attribute => attribute.nodeName !== 'data')\n .reduce((all, attr) => {\n return { ...all, [attr.nodeName]: attr.nodeValue }\n }, {})\n\n if (isNil(data)) {\n return props\n }\n\n try {\n return { ...props, ...JSON.parse(data.nodeValue) }\n } catch (error) {\n console.log('ERROR: No data', error, data?.nodeValue)\n }\n}\n\nconst isNil = obj => obj === undefined || obj === null\n\nexport const parseBool = value => (!value || value === 'false' ? false : true)\n\nexport default createProps\n","import createProps from '@kissui/helpers/src/props.helpers'\n\nclass List extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n this.props = createProps(this.attributes)\n\n this.classes = this.createClasses()\n this.render()\n }\n\n createClasses() {\n const baseClass = 'nb-list'\n return {\n base: baseClass,\n heading: `${baseClass}__heading t-sm-700-sl`,\n items: `${baseClass}__items`,\n item: {\n base: `${baseClass}__item`,\n single: `${baseClass}__item--single`,\n icon: `${baseClass}__item-icon`,\n label: `${baseClass}__item-label t-2xs-500-sl`\n }\n }\n }\n\n render() {\n const { heading = '' } = this.props\n\n this.innerHTML = `\n <div class=\"${this.classes.base}\">\n <div class=\"${this.classes.heading}\">${heading}</div>\n ${this.renderItems()}\n </div>\n `\n }\n\n renderItems() {\n const { items = [] } = this.props\n const isSingle = items.length === 1\n\n if (isSingle) {\n const first = items.find(Boolean)\n return this.renderItem(first, isSingle)\n }\n\n const renderedItems = items.reduce(\n (output, item) => `${output}${this.renderItem(item)}`,\n ''\n )\n\n return `<div class=\"${this.classes.items}\">${renderedItems}</div>`\n }\n\n renderItem({ icon, label, size }, single = false) {\n const modifier = single ? this.classes.item.single : ''\n\n return `\n <div class=\"${this.classes.item.base} ${modifier}\">\n <div class=\"${this.classes.item.icon}\">\n <nb-icon icon=\"${icon}\"></nb-icon>\n </div>\n <div class=\"${this.classes.item.label}\">\n ${label}\n ${size ? `<br>${size}` : ''}\n </div>\n </div>\n `\n }\n}\n\ncustomElements.get('nb-list') || customElements.define('nb-list', List)\n\nexport default List\n"],"names":["getData","attributes","find","attribute","nodeName","createProps","data","props","filter","reduce","all","attr","nodeValue","isNil","JSON","parse","error","console","log","obj","List","HTMLElement","constructor","connectedCallback","classes","createClasses","render","baseClass","base","heading","items","item","single","icon","label","innerHTML","renderItems","isSingle","length","first","Boolean","renderItem","renderedItems","output","size","modifier","customElements","get","define"],"mappings":"AAAA,MAAMA,IAAUC,CAAAA,MAAcA,EAAWC,KAAKC,CAAAA,MAAaA,EAAUC,aAAa,MAAM,GAElFC,IAAcJ,CAAAA,MAAc;AAC9B,QAAMK,IAAON,EAAQ,CAAC,GAAGC,CAAU,CAAC,GAC9BM,IAAQ,CAAC,GAAGN,CAAU,EACvBO,OAAOL,CAAAA,MAAaA,EAAUC,aAAa,MAAM,EACjDK,OAAO,CAACC,GAAKC,OACH;AAAA,IAAE,GAAGD;AAAAA,IAAK,CAACC,EAAKP,QAAQ,GAAGO,EAAKC;AAAAA,MACxC,CAAE,CAAA;AAET,MAAIC,EAAMP,CAAI;AACV,WAAOC;AAGX,MAAI;AACA,WAAO;AAAA,MAAE,GAAGA;AAAAA,MAAO,GAAGO,KAAKC,MAAMT,EAAKM,SAAS;AAAA;EAClD,SAAQI,GAAO;AACZC,YAAQC,IAAI,kBAAkBF,GAAOV,GAAMM,SAAS;AAAA,EACxD;AACJ,GAEMC,IAAQM,CAAAA,MAA4BA,KAAQ;ACnBlD,MAAMC,UAAaC,YAAY;AAAA,EAC3BC,cAAc;AACV;EACJ;AAAA,EAEAC,oBAAoB;AAChB,SAAKhB,QAAQF,EAAY,KAAKJ,UAAU,GAExC,KAAKuB,UAAU,KAAKC,iBACpB,KAAKC,OAAM;AAAA,EACf;AAAA,EAEAD,gBAAgB;AACZ,UAAME,IAAY;AAClB,WAAO;AAAA,MACHC,MAAMD;AAAAA,MACNE,SAAU,GAAEF,CAAU;AAAA,MACtBG,OAAQ,GAAEH,CAAU;AAAA,MACpBI,MAAM;AAAA,QACFH,MAAO,GAAED,CAAU;AAAA,QACnBK,QAAS,GAAEL,CAAU;AAAA,QACrBM,MAAO,GAAEN,CAAU;AAAA,QACnBO,OAAQ,GAAEP,CAAU;AAAA,MACxB;AAAA;EAER;AAAA,EAEAD,SAAS;AACL,UAAM;AAAA,MAAEG,SAAAA,IAAU;AAAA,QAAO,KAAKtB;AAE9B,SAAK4B,YAAa;AAAA,0BACA,KAAKX,QAAQI,IAAK;AAAA,8BACd,KAAKJ,QAAQK,OAAQ,KAAIA,CAAQ;AAAA,kBAC7C,KAAKO,aAAc;AAAA;AAAA;AAAA,EAGjC;AAAA,EAEAA,cAAc;AACV,UAAM;AAAA,MAAEN,OAAAA,IAAQ,CAAA;AAAA,QAAO,KAAKvB,OACtB8B,IAAWP,EAAMQ,WAAW;AAElC,QAAID,GAAU;AACV,YAAME,IAAQT,EAAM5B,KAAKsC,OAAO;AAChC,aAAO,KAAKC,WAAWF,GAAOF,CAAQ;AAAA,IAC1C;AAEA,UAAMK,IAAgBZ,EAAMrB,OACxB,CAACkC,GAAQZ,MAAU,GAAEY,CAAO,GAAE,KAAKF,WAAWV,CAAI,CAAE,IACpD,EACJ;AAEA,WAAQ,eAAc,KAAKP,QAAQM,KAAM,KAAIY,CAAc;AAAA,EAC/D;AAAA,EAEAD,WAAW;AAAA,IAAER,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOU,MAAAA;AAAAA,EAAK,GAAGZ,IAAS,IAAO;AAC9C,UAAMa,IAAWb,IAAS,KAAKR,QAAQO,KAAKC,SAAS;AAErD,WAAQ;AAAA,0BACU,KAAKR,QAAQO,KAAKH,IAAK,IAAGiB,CAAS;AAAA,8BAC/B,KAAKrB,QAAQO,KAAKE,IAAK;AAAA,qCAChBA,CAAK;AAAA;AAAA,8BAEZ,KAAKT,QAAQO,KAAKG,KAAM;AAAA,sBAChCA,CAAM;AAAA,sBACNU,IAAQ,OAAMA,CAAK,KAAI,EAAG;AAAA;AAAA;AAAA;AAAA,EAI5C;AACJ;AAEAE,eAAeC,IAAI,SAAS,KAAKD,eAAeE,OAAO,WAAW5B,CAAI;"}