@grafana/ui
Version:
Grafana Components Library
1 lines • 2.22 kB
Source Map (JSON)
{"version":3,"file":"AbstractList.mjs","sources":["../../../../src/components/List/AbstractList.tsx"],"sourcesContent":["import { cx, css } from '@emotion/css';\nimport { PureComponent } from 'react';\n\nimport { stylesFactory } from '../../themes/stylesFactory';\n\nexport interface ListProps<T> {\n items: T[];\n renderItem: (item: T, index: number) => JSX.Element;\n getItemKey?: (item: T) => string;\n className?: string;\n}\n\ninterface AbstractListProps<T> extends ListProps<T> {\n inline?: boolean;\n}\n\nconst getStyles = stylesFactory((inlineList = false) => ({\n list: css({\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n }),\n\n item: css({\n display: (inlineList && 'inline-block') || 'block',\n }),\n}));\n\nexport class AbstractList<T> extends PureComponent<AbstractListProps<T>> {\n constructor(props: AbstractListProps<T>) {\n super(props);\n }\n\n render() {\n const { items, renderItem, getItemKey, className, inline } = this.props;\n const styles = getStyles(inline);\n\n return (\n <ul className={cx(styles.list, className)}>\n {items.map((item, i) => {\n return (\n <li className={styles.item} key={getItemKey ? getItemKey(item) : i}>\n {renderItem(item, i)}\n </li>\n );\n })}\n </ul>\n );\n }\n}\n"],"names":[],"mappings":";;;;;AAgBA,MAAM,SAAY,GAAA,aAAA,CAAc,CAAC,UAAA,GAAa,KAAW,MAAA;AAAA,EACvD,MAAM,GAAI,CAAA;AAAA,IACR,aAAe,EAAA,MAAA;AAAA,IACf,MAAQ,EAAA,CAAA;AAAA,IACR,OAAS,EAAA;AAAA,GACV,CAAA;AAAA,EAED,MAAM,GAAI,CAAA;AAAA,IACR,OAAA,EAAU,cAAc,cAAmB,IAAA;AAAA,GAC5C;AACH,CAAE,CAAA,CAAA;AAEK,MAAM,qBAAwB,aAAoC,CAAA;AAAA,EACvE,YAAY,KAA6B,EAAA;AACvC,IAAA,KAAA,CAAM,KAAK,CAAA;AAAA;AACb,EAEA,MAAS,GAAA;AACP,IAAA,MAAM,EAAE,KAAO,EAAA,UAAA,EAAY,YAAY,SAAW,EAAA,MAAA,KAAW,IAAK,CAAA,KAAA;AAClE,IAAM,MAAA,MAAA,GAAS,UAAU,MAAM,CAAA;AAE/B,IAAA,uBACG,GAAA,CAAA,IAAA,EAAA,EAAG,SAAW,EAAA,EAAA,CAAG,MAAO,CAAA,IAAA,EAAM,SAAS,CAAA,EACrC,QAAM,EAAA,KAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,CAAM,KAAA;AACtB,MAAA,uBACG,GAAA,CAAA,IAAA,EAAA,EAAG,SAAW,EAAA,MAAA,CAAO,IACnB,EAAA,QAAA,EAAA,UAAA,CAAW,IAAM,EAAA,CAAC,CADY,EAAA,EAAA,UAAA,GAAa,UAAW,CAAA,IAAI,IAAI,CAEjE,CAAA;AAAA,KAEH,CACH,EAAA,CAAA;AAAA;AAGN;;;;"}