@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 1.1 kB
JavaScript
import{jsx as d}from"react/jsx-runtime";import{observer as u}from"mobx-react-lite";import{uiState as l}from"../store";import v from"../ui/EntityItem";import{t as o}from"../utils/i18n";import{isNumericLevel as h}from"../utils/isNumericLevel";const b={booth:{typeColor:"var(--color-booth)"},exhibitor:{typeColor:"var(--color-exhibitor)"},event:{typeColor:"var(--color-event)",hasDatetime:!0},speaker:{typeColor:"var(--color-speaker)",variant:"person"},category:{typeColor:"var(--color-category)",hasTitleBadge:!0,hasSubtitleLabel:!0}},y=e=>e.type==="location"?{...e,showLevelLabel:h(e.level)}:e,f=u(({kind:e,itemsCount:i,date:r,time:a,additionalInfo:s,...n})=>{const t=b[e],p=t.hasDatetime&&(r||a)?{date:r,time:a}:void 0,c=l.list.type==="search"?l.list.text:void 0,m={...n,additionalInfo:s?.map(y),typeColor:t.typeColor,iconClassName:`icon-${e}-solid`,variant:t.variant??"default",titleBadge:t.hasTitleBadge?i:void 0,datetime:p,subtitleLabel:t.hasSubtitleLabel?o("Category"):void 0,highlight:c,featuredLabel:o("Featured"),hallLabel:o("Hall"),levelLabel:o("Level")};return d(v,{...m})});export default f;