import { ParseSourceSpan } from "angular-html-parser"; // https://css-tricks.com/how-to-create-an-ie-only-stylesheet /** @import {Ast} from "angular-html-parser"; */ const parseFunctions = [ { // regex: /^(?\[if(?[^\]]*)\]>)(?.*?) regex: /^\[if(?[^\]]*)\]> regex: /^ { try { return [true, parseHtml(data, contentStartSpan).children]; } catch { const text = { kind: "text", value: data, sourceSpan: new ParseSourceSpan(contentStartSpan, contentEndSpan), }; return [false, [text]]; } })(); return { kind: "ieConditionalComment", complete, children, condition: condition.trim().replaceAll(/\s+/gu, " "), sourceSpan: node.sourceSpan, startSourceSpan: new ParseSourceSpan( node.sourceSpan.start, contentStartSpan, ), endSourceSpan: new ParseSourceSpan(contentEndSpan, node.sourceSpan.end), }; } /** @param {Ast.Comment} node */ function parseIeConditionalStartComment(node, match /* , parseHtml */) { const { condition } = match.groups; return { kind: "ieConditionalStartComment", condition: condition.trim().replaceAll(/\s+/gu, " "), sourceSpan: node.sourceSpan, }; } function parseIeConditionalEndComment(node /* , match, parseHtml */) { return { kind: "ieConditionalEndComment", sourceSpan: node.sourceSpan, }; } export { parseIeConditionalComment };