sate-lib
Version:
A lightweight and modular React component library designed for modern web interfaces. **SATE Lib** powers the [sate.menu](https://sate.menu) platform with reusable, scalable, and themeable UI components.
1 lines • 1.09 kB
JavaScript
import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Icon as a}from"../icon/icon.js";import{Badge as r}from"../badge/badge.js";import c from"./menu-item.styles.module.js";function s({active:s,photo:n,name:l,description:m,badges:t,prices:o}){return i("div",{className:[c.root,s&&c.active].filter(Boolean).join(" "),children:[i("div",{className:c.content,children:[n&&e(a,{className:c.icon,name:"Eye-fill",size:12}),i("div",{className:c.header,children:[e("div",{className:c.name,children:l}),e("div",{className:c.badges,children:t?.map((i,a)=>e(r,{...i},`badge-${i.label??i.icon??a}-${a}`))}),e("span",{className:c.dots})]}),e("div",{className:c.description,children:m})]}),e("div",{className:c.prices,children:o?.map(({label:a,value:r},s)=>i("div",{className:c.priceItem,children:[a&&e("span",{className:c.priceLabel,children:a}),e("span",{className:c.priceValue,children:function(e){let i="string"==typeof e?parseFloat(e):e;return new Intl.NumberFormat("en-GB",{style:"currency",currency:"GBP",minimumFractionDigits:2}).format(i)}(r)})]},`price-${a??r}-${s}`))})]})}export{s as MenuItem};