UNPKG

@grafana/ui

Version:
1 lines 2.86 kB
{"version":3,"file":"MarkdownCell.cjs","sources":["../../../../../../src/components/Table/TableNG/Cells/MarkdownCell.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport memoize from 'micro-memoize';\n\nimport { renderMarkdown } from '@grafana/data';\n\nimport { MaybeWrapWithLink } from '../components/MaybeWrapWithLink';\nimport { getActiveCellSelector, isTableCellStylesKeyEqual } from '../styles';\nimport { type MarkdownCellProps, type TableCellStyles } from '../types';\n\nexport function MarkdownCell({ field, rowIdx, disableSanitizeHtml }: MarkdownCellProps) {\n const rawValue = field.values[rowIdx];\n if (rawValue == null) {\n return null;\n }\n\n const renderValue = field.display!(rawValue);\n\n return (\n <MaybeWrapWithLink field={field} rowIdx={rowIdx}>\n <div\n className=\"markdown-container\"\n dangerouslySetInnerHTML={{\n __html: renderMarkdown(renderValue.text, { noSanitize: disableSanitizeHtml }).trim(),\n }}\n />\n </MaybeWrapWithLink>\n );\n}\n\nexport const getStyles: TableCellStyles = memoize(\n (theme, { maxHeight }) =>\n css({\n [`&, ${getActiveCellSelector(Boolean(maxHeight))}`]: {\n whiteSpace: 'normal',\n },\n\n '.markdown-container': {\n width: '100%',\n // for elements like `p`, `h*`, etc. which have an inherent margin,\n // we want to remove the bottom margin for the last one in the container.\n '> *:last-child': {\n marginBottom: 0,\n },\n },\n\n 'ol, ul': {\n paddingLeft: theme.spacing(2.5),\n },\n p: {\n whiteSpace: 'pre-line',\n },\n }),\n { isMatchingKey: isTableCellStylesKeyEqual }\n);\n"],"names":["jsx","MaybeWrapWithLink","renderMarkdown","memoize","css","getActiveCellSelector","isTableCellStylesKeyEqual"],"mappings":";;;;;;;;;;;;;;;;AASO,SAAS,YAAA,CAAa,EAAE,KAAA,EAAO,MAAA,EAAQ,qBAAoB,EAAsB;AACtF,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,MAAA,CAAO,MAAM,CAAA;AACpC,EAAA,IAAI,YAAY,IAAA,EAAM;AACpB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,OAAA,CAAS,QAAQ,CAAA;AAE3C,EAAA,uBACEA,cAAA,CAACC,mCAAA,EAAA,EAAkB,KAAA,EAAc,MAAA,EAC/B,QAAA,kBAAAD,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,oBAAA;AAAA,MACV,uBAAA,EAAyB;AAAA,QACvB,MAAA,EAAQE,oBAAe,WAAA,CAAY,IAAA,EAAM,EAAE,UAAA,EAAY,mBAAA,EAAqB,CAAA,CAAE,IAAA;AAAK;AACrF;AAAA,GACF,EACF,CAAA;AAEJ;AAEO,MAAM,SAAA,GAA6BC,wBAAA;AAAA,EACxC,CAAC,KAAA,EAAO,EAAE,SAAA,OACRC,OAAA,CAAI;AAAA,IACF,CAAC,MAAMC,4BAAA,CAAsB,OAAA,CAAQ,SAAS,CAAC,CAAC,EAAE,GAAG;AAAA,MACnD,UAAA,EAAY;AAAA,KACd;AAAA,IAEA,qBAAA,EAAuB;AAAA,MACrB,KAAA,EAAO,MAAA;AAAA;AAAA;AAAA,MAGP,gBAAA,EAAkB;AAAA,QAChB,YAAA,EAAc;AAAA;AAChB,KACF;AAAA,IAEA,QAAA,EAAU;AAAA,MACR,WAAA,EAAa,KAAA,CAAM,OAAA,CAAQ,GAAG;AAAA,KAChC;AAAA,IACA,CAAA,EAAG;AAAA,MACD,UAAA,EAAY;AAAA;AACd,GACD,CAAA;AAAA,EACH,EAAE,eAAeC,gCAAA;AACnB;;;;;"}