import { htmlDecode } from '@slickgrid-universal/utils'; import { createDocumentFragmentOrElement } from '../services/utilities.js'; import { type Formatter } from './../interfaces/index.js'; /** Display a decoded HTML string (e.g. "<div>Hello</div>" => "
Hello
") */ export const htmlDecodeFormatter: Formatter = (_row, _cell, value, _col, _item, grid) => { const decodedVal = htmlDecode(value); if (decodedVal) { const containerElm = createDocumentFragmentOrElement(grid.getOptions()); containerElm.textContent = decodedVal; // use textContent to avoid XSS return { html: containerElm }; } return decodedVal; };