{"version":3,"file":"index.es.min.js","sources":["../../../packages/helpers/src/props.helpers.js","../../../packages/components/src/rating/rating.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 Rating extends HTMLElement {\n    constructor() {\n        super()\n        this.props = {}\n    }\n\n    connectedCallback() {\n        this.props = createProps(this.attributes)\n        this.render()\n    }\n\n    render() {\n        let { stars, hide_star_number = 'false' } = this.props\n        stars = parseFloat(stars).toFixed(2)\n        this.classList.add('nb-rating')\n        const spanStars = new Array(5).fill(`<nb-icon icon=\"32/symbol/star\"></nb-icon>`).join('')\n        this.innerHTML = `\n        <div class=\"stars\">\n            <span class=\"top\" style=\"width: ${stars * 2 * 10}%\">${spanStars}</span>\n            <span class=\"bottom\">${spanStars}</span>\n            <span class=\"sr-only\">${stars} stars</span>\n        </div>${hide_star_number === 'true' ? '' : `<p class=\"t-xs-500-sl\">${stars}</p>`}\n    `\n    }\n}\n\ncustomElements.get('nb-rating') || customElements.define('nb-rating', Rating)\n\nexport default Rating\n"],"names":["isNil","obj","Rating","HTMLElement","constructor","this","props","connectedCallback","attributes","data","find","attribute","nodeName","getData","filter","reduce","all","attr","nodeValue","JSON","parse","error","console","log","createProps","render","stars","hide_star_number","parseFloat","toFixed","classList","add","spanStars","Array","fill","join","innerHTML","customElements","get","define"],"mappings":"AAAA,MAqBMA,EAAQC,GAAoC,MAARA,ECnB1C,MAAMC,UAAeC,YACjBC,WAAAA,WAEIC,KAAKC,MAAQ,EACjB,CAEAC,iBAAAA,GACIF,KAAKC,MDPOE,CAAAA,IACVC,MAAAA,EAHMD,CAAAA,GAAcA,EAAWE,MAAKC,GAAoC,SAAvBA,EAAUC,WAGpDC,CAAQ,IAAIL,IACnBF,EAAQ,IAAIE,GACbM,QAAOH,GAAoC,SAAvBA,EAAUC,WAC9BG,QAAO,CAACC,EAAKC,KACH,IAAKD,EAAK,CAACC,EAAKL,UAAWK,EAAKC,aACxC,CAAE,GAET,GAAIlB,EAAMS,GACCH,OAAAA,EAGP,IACO,MAAA,IAAKA,KAAUa,KAAKC,MAAMX,EAAKS,WACzC,OAAQG,GACLC,QAAQC,IAAI,iBAAkBF,EAAOZ,GAAMS,UAC/C,GCTiBM,CAAYnB,KAAKG,YAC9BH,KAAKoB,QACT,CAEAA,MAAAA,GACQ,IAAEC,MAAAA,EAAOC,iBAAAA,EAAmB,SAAYtB,KAAKC,MACjDoB,EAAQE,WAAWF,GAAOG,QAAQ,GAClCxB,KAAKyB,UAAUC,IAAI,aACbC,MAAAA,EAAY,IAAIC,MAAM,GAAGC,KAAK,6CAA6CC,KAAK,IACtF9B,KAAK+B,UAAY,8EAE6B,EAARV,EAAY,QAAQM,8CAC/BA,+CACCN,iCACC,SAArBC,EAA8B,GAAK,0BAA0BD,eAEzE,EAGJW,eAAeC,IAAI,cAAgBD,eAAeE,OAAO,YAAarC"}