{ "version": 3, "sources": ["../../../server/chat-jsx.tsx"], "sourcesContent": ["/**\n * PS custom HTML elements and Preact handling.\n * By Mia and Zarel\n */\nimport preact from 'preact';\nimport render from 'preact-render-to-string';\nimport {Utils} from '../lib';\n\n/** For easy concenation of Preact nodes with strings */\nexport function html(\n\tstrings: TemplateStringsArray, ...args: (preact.VNode | string | number | null | undefined)[]\n) {\n\tlet buf = strings[0];\n\tlet i = 0;\n\twhile (i < args.length) {\n\t\tbuf += typeof args[i] === 'string' || typeof args[i] === 'number' ?\n\t\t\tUtils.escapeHTML(args[i] as string | number) :\n\t\t\trender(args[i] as preact.VNode);\n\t\tbuf += strings[++i];\n\t}\n\treturn buf;\n}\n\n/** client-side custom elements */\nexport interface PSElements extends preact.JSX.IntrinsicElements {\n\tyoutube: {src: string};\n\ttwitch: {src: string, width?: number, height?: number};\n\tspotify: {src: string};\n\tusername: {name?: string, class?: string, children?: preact.VNode | string};\n\tpsicon: {pokemon: string} | {item: string} | {type: string} | {category: string};\n\tcenter: {class?: string};\n}\n\nexport {render};\n\nexport type VNode = preact.VNode;\n\nexport const h = preact.h;\nexport const Fragment = preact.Fragment;\nexport const Component = preact.Component;\n\nexport class FormatText extends preact.Component<{isTrusted?: boolean, replaceLinebreaks?: boolean}> {\n\trender() {\n\t\tconst child = this.props.children;\n\t\tif (typeof child !== 'string') throw new Error(`Invalid props.children type: ${!child ? child : typeof child}`);\n\t\treturn ;\n\t}\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAAA;AAAA;AAAA;AAIA,oBAAmB;AACnB,qCAAmB;AACnB,iBAAoB;AAGb,SAAS,KACf,YAAkC,MACjC;AACD,MAAI,MAAM,QAAQ,CAAC;AACnB,MAAI,IAAI;AACR,SAAO,IAAI,KAAK,QAAQ;AACvB,WAAO,OAAO,KAAK,CAAC,MAAM,YAAY,OAAO,KAAK,CAAC,MAAM,WACxD,iBAAM,WAAW,KAAK,CAAC,CAAoB,QAC3C,+BAAAA,SAAO,KAAK,CAAC,CAAiB;AAC/B,WAAO,QAAQ,EAAE,CAAC;AAAA,EACnB;AACA,SAAO;AACR;AAgBO,MAAM,IAAI,cAAAC,QAAO;AACjB,MAAM,WAAW,cAAAA,QAAO;AACxB,MAAM,YAAY,cAAAA,QAAO;AAEzB,MAAM,mBAAmB,cAAAA,QAAO,UAA8D;AAAA,EACpG,SAAS;AACR,UAAM,QAAQ,KAAK,MAAM;AACzB,QAAI,OAAO,UAAU;AAAU,YAAM,IAAI,MAAM,gCAAgC,CAAC,QAAQ,QAAQ,OAAO,OAAO;AAC9G,WAAO,uBAAC,UAAK,yBACZ,EAAC,QAAQ,KAAK,WAAW,OAAO,KAAK,MAAM,WAAW,KAAK,MAAM,iBAAiB,EAAC,GAClF;AAAA,EACH;AACD;", "names": ["render", "preact"] }